دیتابیس ( Database ) چیست و چه کار میکند؟

اگر در دنیای IT تازهوارد هستید و میخواهید بدانید پایگاه اطلاعات داده یا دیتابیس ( Database ) چیست؟ پس باید با یک مثال ساده شروع کنیم. تصور کنید اتاقتان هیچ کمدی ندارد و شما مجبورید هربار در میان انبوهی از لباسهایتان راه بروید. نه لباسهایی که برای بیرون رفتن میپوشید، جای مشخصی دارد و نه لباسهای راحتیتان! لباسهای مجلسی و رسمی هم زیر بقیهی لباسها مدفون شدهاند.
حالا اگر یک کمد بیاورید، همهی لباسها را دستهبندی کنید و با نظم و ترتیب توی کمد بچینید، دیگر میتوانید بهراحتی هر لباسی را که میخواهید پیدا کنید. دراینصورت اگر لباسهایتان را «داده» فرض کنید، کمد لباس میشود پایگاه داده (Database)!
اگر میخواهید دربارهی مفهوم پایگاه داده چیزهای بیشتر، دقیقتر و علمیتری بدانید، پس ادامهی این مقاله را از بخوانید. چون میخواهیم به زبان ساده، پایگاه داده را برایتان تعریف کنیم و از عناصر و کاربردهای پایگاه داده بگوییم. پس اگر برای سرک کشیدن به دنیای دادهها آمادهاید، با ادامهی این مقاله همراه ما باشید.
تعریف دیتابیس (پایگاه داده) به زبان تخصصی
«پایگاه داده مجموعهای از دادههای ذخیرهشده و ثابت است که بهصورت یک سیستم، بر پایهی یک ساختار مشخص و به شکل صوری (با حداقل افزونگی) تعریف شده است. یک سیستم کنترل متمرکز این مجموعه را مدیریت میکند و ممکن است یک یا چند کاربر بهطور همزمان از این مجموعهی اطلاعاتی استفاده کنند.»
در یک تعریف ساده میتوان گفت:
«دیتابیس یا پایگاه داده یا همان بانک اطلاعات، مجموعهای از دادههاست که در جدولهایی با ساختار منظم دستهبندی شدهاند. این جدولها همگی با هم ارتباط دارند، هرچند میتوانند مستقل از یکدیگر هم عمل کنند.»
پایگاه داده فقط در دنیای IT کاربرد ندارد، ما روزانه بارها و بارها با بانکهای اطلاعاتی مختلفی سروکار داریم. اصلاً چرا راه دور برویم؟! همین لیست شماره تلفن گوشیتان خودش یکپا بانک اطلاعاتی است!
مثالهای زیر هم نمونههایی از بانکهای اطلاعاتی هستند که دوروبرمان زیاد میبینیم:
آرشیو فایلها
مجموعه اطلاعات دانشآموزان یک مدرسه یا دانشجویان یک دانشگاه
ذخیرهی اطلاعات مشتریهای یک سازمان
ذخیرهی گزارشهای فروش یک شرکت
بنابراین میتوان گفت هر سیستمی که حجمی از اطلاعات را بهصورت منظم و دستهبندیشده نگهداری کند یک دیتابیس به حساب میآید.
چطور میتوان به اطلاعات موجود در پایگاه داده (دیتابیس) دسترسی پیدا کرد؟
همانطورکه گفتیم یک دیتابیس، بسته به حجم اطلاعات از چندین و چند جدول تشکیل شده است. هر جدول هم سطر و ستونهایی دارد. یعنی هر داده دقیقاً در یک جایگاه مشخص قرار میگیرد که در صورت نیاز میتوان بهراحتی آن را پیدا کرد. به همین دلیل با کمک دیتابیس، دسترسی به اطلاعات بسیار سادهتر میشود.
درواقع در این دنیایی که شب و روز انواع و اقسام اطلاعات از سر و کولمان بالا میرود، استفاده از دیتابیسها به یک ضرورت تبدیل شده است، آن هم به دو دلیل بسیار مهم:
نظم و یکپارچگی اطلاعات
دسترسی آسان به اطلاعات
در یک پایگاه داده (دیتابیس) با چه مفاهیمی سروکار داریم؟
شما با هر دیتابیسی که کار کنید از ساده تا پیچیده، با یک سری مفاهیم مشترک سروکار دارید. ما در این قسمت شما را با مفاهیم اساسی دیتابیس Database آشنا میکنیم.
داده (Data): دادهها نمودی از مفاهیم، معلومات، وقایع و پدیدهها هستند که از طریق مشاهده یا تحقیق بهدست میآیند.
اطلاعات (Information): اطلاعات درواقع همان مفهمومی است که بعد از پردازش بهصورت داده ذخیره میشوند.
موجودیت (Entity): موجودیت همان فرد، شی یا پدیدهای است که دربارهاش اطلاعات جمعآوری شده است.
صفت خاصه (attribute): هر ویژگیای که یک موجودیت را از موجودیت دیگر جدا کند، یک صفت خاصه محسوب میشود.
حالا همهی این مفاهیم تخصصی بدقلق را در یک مثال ساده حل میکنیم تا مثل یک لیوان شربت شیرین، آن را سربکشید.
بانک اطلاعات یک دانشگاه را در نظر بگیرید. مفاهیم دیتابیس در این سیستم، به این صورت است:
موجودیت: دانشجو، استاد، درس
صفت خاصه: نام، نام خانوادگی، سال تولد، نام درس، کد درس، تعداد واحد هر درس و …
داده: کلمات و اعدادی که این اطلاعات را نشان میدهند.
اطلاعات: ثبتنام دانشجوها، انتخاب واحد و نمرات هر دانشجو
چند نوع دیتابیس وجود دارد؟
به نظر میرسد که بعد از این همه مثال و تعریف وقتش رسیده که از دنیای ملموس اطرافمان وارد دنیای صفرویکها شویم و ببینیم دیتابیسها به چه زبانی حرف میزنند.
درحقیقت، دیتابیسها با استفاده از زبانهای مختلفی ایجاد میشوند. این وسط زبان SQL(Structured Query Language) از همه معروفتر و رایجتر است.
زبان SQL تنوع بسیار زیادی دارد و به شما این امکان را میدهد تا انواع دادهها را مدیریت کنید. نمونههای زیر شناختهشدهترین انواع پایگاه داده از نوع SQL هستند.
Oracle: شرکت اوراکل، در سال ۱۹۷۹ یک دیتابیس بزرگ تجاری به نام Oracle RDBMS ایجاد کرد. این دیتابیس که به Oracle شهرت پیدا کرده، معمولاً در بانکها و سازمانهای بزرگ مورد استفاده قرار میگیرد.
MySQL: MySQL یک سیستم مدیریت داده رایگان، ساده و کاربردی است که معمولاً برای طراحی وب از آن استفاده میشود. این سیستم هم از سال ۲۰۰۸ در اختیار شرکت اوراکل قرار گرفته است.
SQLite: SQLite یک سیستم مدیریت دادهای است که امکان ساخت اپلیکیشن موبایل و همینطور وبسایتهای دینامیک را فراهم میکند.
Microsoft SQL Server: سیستم SQL Server را شرکت مایکروسافت طراحی کرده است. این سیستم یک دیتابیس تجاری است که در سیستمهای مبتنی بر ویندوز از آن استفاده میشود.
Sybase ASE: سیستم Sybase ASE را شرکت SAP ارائه کرده است. دیتابیسی که در زمینهی ساخت اپلیکیشنهای بزرگ خصوصاً اپلیکیشنهای تجاری و صنعتی کاربرد دارد.
Microsoft Access/ Excell: اکسل و اکسس هم از برنامههای نامآشنای شرکت مایکروسافت هستند که احتمالاً خیلیهایمان برای ذخیره و پردازش دادههایمان از این برنامهها استفاده کردهایم.
خوب است بدانید که انواع دیگری از پایگاههای داده وجود دارد که با استفاده از زبان NoSQL ساخته و مدیریت میشوند. Foundation DB، OrientDB، RavenDB و MongoDB از معروفترین پایگاه دادههای NoSQL هستند. شرکتهای بزرگی مثل گوگل، فیسبوک، آمازون، لینکدین، سورس فورژ و اوبونتو از این نوع پایگاه داده استفاده میکنند. در این نوع دیتابیسها، به جای استفاده از زبان SQL، از زبانهای JSON و XML استفاده میشود.
اجزای اصلی دیتابیس چیست؟
هر دیتابیس Database از اجزای مختلفی تشکیل شده است. این اجزا باید در کنار هم قرار بگیرند تا یک پایگاه به درستی کار کند. در ادامه این اجزا را یکی یکی بررسی میکنیم.
سختافزار: سختافزارها از عناصر پردازشی به حساب میآیند. هر بانک اطلاعاتی بسته به نیازش ممکن است از سختافزارهای متفاوتی استفاده کند؛ از جمله سختافزارهای ذخیرهسازی داده، سختافزارهای ارتباطی، سختافزارهای جانبی و …
نرمافزار: نرمافزارها به کاربر این امکان را میدهند تا با دیتابیس ارتباط برقرار کند؛ درست مثل یک پل ارتباطی. سیستمعامل، نرمافزارهای ارتباطی شبکه، نرمافزار مدیریت دیتابیس و اپلیکیشنها در این دسته قرار میگیرند.
کاربر: کاربران افرادی هستند که به روشهای مختلفی با دیتابیس ارتباط دارند.
– برنامهنویسها (DBP): افرادی که ساختار دیتابیس را طراحی میکنند.
– طراحان دیتابیس (DBD): افرادی که به کمک زبانهای مختلف از جمله SQL دیتابیسها را میسازند.
– مدیر پایگاه داده (DBA): افرادی که تخصصشان، «دانش مدیریت اطلاعات» است و دیتابیس را مدیریت میکنند.
– کاربران نهایی (End users): کسانی که از دادهها استفاده میکنند.
کاربرد دیتابیس چیست؟
در واقع میشود گفت دیتابیسها بر پایهی چهار اصل عمل میکند:
دریافت
ذخیره
جستجو
گزارشدهی
به همین دلیل دیتابیسها در زمینههای مختلف کاربردهای متنوعی دارند، ازجمله:
انجام انواع ترکنشهای بانکداری
رزرو و زمانبندی پرواز خطوط هوایی
ثبتنام دانشجویان، انتخاب واحد و ثبت نمره در دانشگاه و مراکز آموزشی
ثبت اطلاعات مشتریها، محصولات و فاکتورهای خریدوفروش
ثبت و محاسبهی حقوق کارمندان بههمراه کسورات مالیاتی در شرکتها وسازمانهای مختلف
علاوهبر سرویسهای مختلف، دیتایسها در سایتها و نرمافزارها هم کاربرد دارند، برای مثال:
سایت آمازون دارای یک پایگاه دادهی بزرگ از اطلاعات کتابهاست.
نرمافزار تپسی، دارای دیتابیسی از اطلاعات رانندههاست.
سایت آپارات، دیتابیسی عظیم از فایلهای ویدیویی دارد.
مزایای دیتابیس ها در دنیای مدرن چیست؟
حالا که با مفاهیم اساسی دیتابیس و کاربردهایش آشنا شدید، بهتر میتوانید مزایای استفاده از پایگاه داده را درک کنید. در ادامه تعدادی از این مزایا را با هم مرور میکنیم.
حذف بایگانی کاغذی: دیتابیسها هزینههای نگهداری اسناد و مدارک کاغذی را بهطور کامل حذف کردهاند.
دسترسی آسان به اطلاعات: ساختار مشخص و منظم دیتابیس ها دسترسی به دادهها و اطلاعات را بسیار ساده کرده است.
اشترکگذاری آسان اطلاعات: دیتابیس ها امکانات مختلفی را برای اشتراکگذاری دادهها در اختیار کاربران قرار میدهد.
ذخیرهسازی اصولی دادهها: در بانکهای اطلاعاتی امکان ذخیرهسازی یکپارچهی کل دادهها بهراحتی فراهم شده است و خیلی ساده میتوان تمامی دادهها و اطلاعات مربوط به یک موجودیت (entity) را در یک ساختار مشخص ذخیره کرد.
پردازش سریع و آسان دادهها: بهدلیل یکپارچه بودن دادهها در دیتابیس، پردازش اطلاعات و انجام تراکنشها بسیار سریعتر و آسانتر انجام میشود.
بهبود کارایی: سازماندهی اطلاعات در دیتابیس ها، بازده کار را افزایش میدهد.
کاهش احتمال خطا: یکپارچهسازی و سادهسازی دادهها کمک میکند تا کاربر با دقت بالاتر و خطای کمتری به هدف موردنظرش دست پیدا کند.
تمامی این موارد دست به دست هم میدهند تا دادهها بهخوبی مدیریت شوند. بهاینترتیب هم فرآیند گزارشگیری سادهتر میشود و هم گزارشهای حاصل، از نظر صحت اطلاعات مطمئنتر خواهند بود.
معایب دیتابیس Database چیست؟
دیتابیسها باوجود داشتن مزایای فراوان، معایبی هم دارند. در این قسمت معایب استفاده از دیتابیس را مرور میکنیم.
طراحی و ساخت سیستمهای دیتابیس، فرآیندی پیچیده، دشوار و زمانبر است.
ایجاد دیتابیس و استفاده از آن به آموزش و تخصص احتیاج دارد.
آموزش برنامهنویسان، طراحان و کاربران متخصص هزینهبر است.
درصورتیکه دیتابیس آسیب ببیند، تمام نرمافزارهایی که با آن در ارتباطند تحت تاثیر قرار خواهند گرفت. به همین دلیل توصیه میشود که همیشه از دادهها حتماً یک پشتیبان (Backup) تهیه کنید.
تبدیل سیستم قدیمی فایلی به سیستم مدرن دیتابیس هزینهبر است.
برای استفاده از دیتابیسها ممکن است به سختافزارهای اضافه نیاز باشد.
البته امروزه استفاده از بانکهای اطلاعاتی آنقدر ضروری و مهم شده است که هیچکدام از این موارد نمیتواند ما را از استفاده از دیتابیسها منصرف کند.