علیرضا احمدی

پایگاه داده چیست؟ ( تعریف DBMS )

پایگاه داده چیست

Database یا پایگاه داده چیست ؟

برای سوال ” پایگاه داده چیست ” هم میتوان پاسخی سخت داد و هم میتوان پاسخی ساده و عامیانه را بیان کرد. به زبان ساده و عامیانه پایگاه داده مکانی در هارد سیستم کامپیوتری برای نگهداری دائمی از اطلاعات مورد استفاده در نرم افزار است. اطلاعاتی همچون نام و نام خانوادگی کاربران و یا عکس پروفایل آنها که نیازمند ذخیره سازی برای نمایش مجدد به کاربر خواهند بود. بدون پایگاه داده، ذخیره سازی اطلاعات بسیار سخت و طاقت فرسا میشود.

دلیل استفاده از پایگاه داده چیست ؟

در زمینه های مختلف برنامه نویسی تا زمانی که از متغیر ها برای ذخیره سازی داده ها و نمایش آنی اطلاعات به کاربران استفاده میکنید، مشکلی نخواهید داشت. اما متغیر ها بلافاصله پس از بسته شدن برنامه توسط کاربر، از حافظه رم پاک شده و از بین میروند. ( طریقه کارکرد رم در سیستم ) اینجاست که شما نیازمند سیستمی برای ذخیره سازی دائمی اطلاعات خواهید بود. این سیستم، پایگاه داده یا Database نام دارد.

شاید در ابتدا بگویید که میتوان از فایل های متنی مانند فایل TXT یا word برای ذخیره کردن اطلاعات استفاده کرد. در صورتی که ذخیره سازی اطلاعات در چنین قالب هایی بسیار سخت و مشکل ساز خواهد بود. ما برای ذخیره داده ها به سیستمی نیاز داریم که ویژگی هایی نظیر پشتیبانی از انواع داده ها، امنیت بالا و ذخیره سازی سازماندهی شده را داشته باشد. این ویژگی ها برای دسترسی راحت به اطلاعات، حیاتی و لازم خواهند بود.

پایگاه داده چیست

مهمترین ویژگی پایگاه داده چیست ؟

شاید بتوان امنیت را مهمترین ویژگی در پایگاه داده تلقی کرد؛ زیرا هنگام ذخیره سازی اطلاعات در پایگاه داده بیشترین چیزی که مدنظرمان خواهد بود، امنیت اطلاعات و داده های کاربران است. البته امنیت فقط به معنای هک نشدن اطلاعات و نفوذ ناپذیری نیست. گاهی اوقات همین که از حذف نشدن ناگهانی اطلاعات و مفقود نشدن داده ها اطمینان داشته باشیم، خود بزرگترین امنیت محسوب میشود. در ادامه مهترین ویژگی های پایگاه داده را مورد بررسی قرار میدهیم :

  • امنیت اطلاعات : نفوذ ناپذیری پایگاه داده در مقابل تلاش هکران و افراد سودجو
  • پایداری پایگاه داده : یک پایگاه داده خوب بایستی پایدار و قابل اطمینان باشد ( اطلاعات آن حذف و مفقود نشوند )
  • سرعت بالا : دسترسی به اطلاعات پایگاه داده نباید موجب افت سرعت در نرم افزار و سیستم شود
  • ذخیره سازی ساختار یافته : ساختار ذخیره سازی باید منظم باشد تا خواندن اطلاعات به آسانی میسر شود
  • پشتیبانی از انواع داده : انواع داده نظیر موسیقی، فیلم، تصویر و متن را باید بتوان در پایگاه داده ذخیره کرد
  • فشرده سازی قوی : یک پایگاه داده خوب باید اطلاعات را به صورت فشرده ذخیره سازی کند

پایگاه داده چیست، سیر تکامل پایگاه داده و انواع آن :

در ابتدای مطلب ” پایگاه داده چیست ” بیان کردیم که ذخیره سازی اطلاعات در یک فایل متنی بسیار سخت و دشوار است. اما پایگاه داده های اولیه از همین روش ذخیره سازی در فایل استفاده میکردند. پس تکامل پایگاه داده نیز قدم به قدم بوده و از همان ابتدای خلقت، دیتابیس ها این چنین پیشرفته و سازمان یافته نبودند. در ادامه به معرفی انواع پایگاه داده و بیان سیر تکامل پایگاه های داده خواهیم پرداخت :

پایگاه داده های مبتنی بر فایل :

اولین پایگاه داده ها در سال 1968 به صورت Filed Based یا همان مبتنی بر فایل معرفی شدند. در این نوع پایگاه های داده، ذخیره سازی فایل ها صرفا در یک فایل متنی یا Flat صورت میگرفت. ذخیره سازی انبوهی از داده ها در یک فایل متنی کاری بسیار دشوار بود که با زبان های پیشرفته ای نظیر کوبول (Cobol) انجام میشد. پیچیدگی این نوع ذخیره سازی موجب شد تا متخصصین به فکر ایجاد نوع دیگری از پایگاه داده باشند.

پاگاه داده های سلسله مراتبی :

منظور از سلسه مراتب در پایگاه داده چیست؟ مدل سلسله مراتبی عینا مانند مدل تجزیه درختی اعداد در ریاضیات میباشد. در این مدل از پایگاه داده، موجودیت ها به صورت سلسله مراتبی به یکدیگر مرتبط میشوند. مثلا یک معلم میتواند دو یا چند دانش آموز به عنوان زیر مجموعه خود داشته باشد و هر دانش آموز میتواند دو یا چند کتاب درسی به عنوان دروس خود انتخاب کند. حال اگر دانش آموز بخواهد زیر مجموعه کلاس شماره 301 هم باشد، دیگر ساختار پایگاه داده بهم ریخته و در ایجاد ارتباطات چند به چند، سیستم به درستی کار نخواهد کرد.

پایگاه داده های رابطه ای :

پایگاه داده رابطه ای نوعی از پایگاه داده است که از سال 1970 تا به امروز کاربرد داشته و همچنان مورد استفاده وسیع کاربران قرار میگیرد. در این نوع پایگاه داده تعدادی جدول بر اساس موجودیت ها تعریف میشوند. مثلا برای معلم جدولی با نام Teacher و برای دانش آموز جدولی به نام Student ایجاد میکنیم. حال هر کدام از این جداول دارای خصوصیاتی هستند که مختص به همان موجودیت است.

دوره جامع آموزش sql به همراه کتاب PDF

به عنوان مثال برای دانش آموز، خصوصیاتی نظیر نام، نام خانوادگی، سن، نام معلم و کد ملی را در نظر میگیریم. در پایگاه داده های رابطه ای هر جدول یک کلید اصلی داشته که با استفاده از آن میتوان بین موجودیت ها ارتباط برقرار کرد. دقت کنید که مدل پایگاه داده رابطه ای، مرسوم ترین و پر استفاده‌ترین مدل پایگاه داده تا به امروز بوده است. در این مدل پایگاه داده از زبان SQL برای ارتباط با دیتابیس استفاده میشود.

پایگاه داده چیست

پایگاه داده های NOSQL :

فهمیدیم که پایگاه داده رابطه ای پر استفاده‌ترین نوع Database است که از زبان SQL برای مدیریت آن استفاده میشود. اما استفاده از نوع رابطه ای برای نرم افزار هایی نظیر تلگرام و اینستاگرام که حجم انبوهی از اطلاعات توزیع شده را باید ذخیره سازی و مدیریت کنند، سخت و دشوار است. چراکه ایجاد رابطه در چنین حجمی از اطلاعات سبب سردرگمی و اتلاف زمان زیاد خواهد شد.

مهندسین نرم افزار برای جلوگیری از مشکلات به وجود آمده به فکر پیاده سازی پایگاه داده های NOSQL افتادند. اما معنی NOSQL در پایگاه داده چیست؟ عبارت NOSQL مخفف کلمات NOT ONLY SQL بوده که در آن دیگر خبری از ارتباطات سخت و پیچیده نیست. اکثر پایگاه داده های NOSQL با مدل شی گرایی کار میکنند. یعنی داده ها در قالب اشیا و کلاس ها ( دقیقا مانند زبان های برنامه نویسی شی گرا ) ذخیره سازی و مدیریت میشوند.

منظور از DBMS در پایگاه داده چیست ؟

کلمه DBMS مخفف کلمات Database Management System به معنای سیستم مدیریت پایگاه داده میباشد. برای مدیریت داده ها در Database از سیستم مدیریت پایگاه داده استفاده میکنیم. DBMS ها دارای انواع متفاوت و مختلفی هستند که هر کدام از آنها در زمینه های خاص خود مورد استفاده قرار میگیرند. به عنوان مثال از MySQL در توسعه سایت و از SQLite در برنامه نویسی اندروید برای مدیریت پایگاه داده استفاده میشود.

تفاوت DBMS و پایگاه داده چیست ؟

دقت کنید که پایگاه داده یک مفهوم است؛ یعنی به هر سیستمی که روشی برای ذخیره سازی اطلاعات و دسترسی به آنها را در یک نرم افزار برای ما ایجاد کند، پایگاه داده گفته میشود. اما DBMS وجود خارجی داشته و یک نرم افزار یا لایه نرم افزاری بوده که عملیات ذخیره سازی و مدیریت داده را برای ما انجام میدهد. بگذارید با ذکر یک مثال قضیه را روشن تر کنیم. 

کلمه “رانندگی” یک مفهوم است که به انجام کاری مشخص اطلاق میشود. حال ممکن است شما با موتور سیکلت رانندگی کنید یا با دوچرخه یا حتی با یک ماشین مرسدس بنز؛ اما ماشین مرسدس بنز و موتور سیکلت و دوچرخه وسایلی هستند که بدون استفاده از آنها نمیتوانید به رانندگی بپردازید. پس پایگاه داده یک مفهوم است ولی سیستم مدیریت پایگاه داده ابزاری برای ایجاد دیتابیس محسوب میشود.

دلیل تنوع DBMS ها در ایجاد پایگاه داده چیست ؟

در مطلب ” پایگاه داده چیست ” بارها عنوان شد که بر اساس شیوه ذخیره سازی و مدیریت اطلاعات، پایگاه های داده به انواع مختلفی دسته بندی میشوند. انواعی نظیر مدل رابطه ای، سلسله مراتبی، فایل متنی و غیره. پس کاملا قابل درک است که در هر نوع ذخیره سازی، ما نیازمند یک DBMS مختص به همان نوع خواهیم بود. به عنوان مثال سیستم مدیریت پایگاه داده MySQL یک سیستم ایجاد پایگاه داده رابطه ای بوده که هیچ ربطی به مدل سلسله مراتبی ندارد.

البته متنوع بودن پایگاه های داده تنها دلیل ایجاد DBMS های مختلف نیست؛ بلکه تنوع زبان های برنامه نویسی نیز یکی از دلایل این امر میباشد. به عنوان مثال در برنامه نویسی اندروید ما باید از سیستم مدیریت پایگاه داده ای استفاده کنیم که بیشترین هماهنگی را با سیستم عامل اندروید داشته باشد. پس بهترین انتخاب برای اندروید، سیستم مدیریت پایگاه داده SQLite خواهد بود. 

بهترین سیستم های مدیریت پایگاه داده رابطه ای :

سیستم های مدیریت پایگاه داده رابطه ای از زبان SQL برای ایجاد و مدیریت پایگاه داده استفاده میکنند. این بدان معناست که شما برای ارتباط برقرار کردن با این سیستم ها نیازمند یادگیری زبان SQL خواهید بود. بهترین پایگاه داده های مبتنی بر SQL عبارتنداز :

  • SQL Server : مورد استفاده در asp.net و سایر محصولات مایکروسافت 
  • MySQL : قابل استفاده در توسعه سایت
  • پایگاه داده اوراکل : بیشترین استفاده در نرم افزار های نوشته شده به زبان جاوا
  • SQLite : مورد استفاده در برنامه نویسی اندروید

بهترین سیستم های مدیریت پایگاه داده NOSQL :

از زمان معرفی پایگاه داده های NOSQL شرکت های نرم افزاری زیادی شروع به توسعه و معرفی سیستم های مدیریت پایگاه داده مبتنی بر NOSQL کردند. اکثر این سیستم ها به صورت شی گرا به ذخیره سازی و مدیریت داده ها میپردازند. برخی از این DBMS ها عبارتند از :

  • MongoDB
  • Elasticsearch
  • DynamoDB
  • HBase
  • Cassandra

موارد استفاده از پایگاه داده چیست ؟

شاید اکنون این سوال برای شما پیش آمده باشد که در چه مواردی ما از پایگاه داده استفاده میکنیم؟ دقت کنید که پایگاه های داده صرفا در وبسایت ها و نرم افزارهای بزرگ مورد استفاده قرار نمیگیرند؛ بلکه در نرم افزار های ساده و حتی زندگی روزمره هم کاربرد دارند. به عنوان مثال نرم افزار پیام رسان گوشی شما یا حتی نرم افزاری که برای ذخیره سازی مخاطبین خود از آن بهره میبرید، همگی از پایگاه داده برای ذخیره سازی اطلاعات استفاده میکنند.

خوب امیدوارم که حال دلتون خوب باشه.

به امید روزای بهتر…

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *