یکی از رایجترین اصطلاحات در دنیای کامپیوتر، پایگاه داده (Database) است. امروزه میتوان گفت تقریباً تمام اپلیکیشنهای کاربردی از پایگاه داده استفاده میکنند. چنانچه میخواهید در مورد پایگاه داده، کاربردهای آن و همچنین SQL بیشتر بدانید، شما را به مطالعه این مقاله دعوت میکنیم.
قبل از شرح مفهوم پایگاه داده، ابتدا باید اطلاعاتی را در مورد اینکه داده چیست، ارائه دهیم.
داده چیست؟
اگر بخواهیم بطور ساده بیان کنیم؛ داده، واقعیتهای مربوط به هر شی را بیان میکند. به عنوان مثال، نام، سن، قد و وزن شما برخی از دادههای مربوط به شما هستند. یک تصویر، فایل و pdf را نیز میتوان داده در نظر گرفت.
پایگاه داده چیست؟
پایگاه داده، مجموعهای منظم از دادهها است که از ذخیره سازی و تغییر دادهها پشتیبانی مینماید. پایگاههای داده، مدیریت دادهها را آسان میکنند.
به عنوان مثال، یک مجموعه تلفنی آنلاین، از یک پایگاه داده برای ذخیره اطلاعات افراد، شماره تلفنها و سایر اطلاعات تماس استفاده مینماید. ارائه دهنده خدمات برق، از یک پایگاه داده برای مدیریت صورت حساب، مسائل مربوط به مشتری، رسیدگی به دادههای خطا و غیره استفاده میکند.
فیسبوک را نیز در نظر بگیرید. این شبکه بزرگ، نیاز به ذخیره، تغییر و ارائه دادههای مربوط به اعضا، دوستان آنها، فعالیت اعضا، پیامها، تبلیغات و موارد دیگر دارد. تعداد بیشماری از این نمونهها نیز در استفاده از پایگاه داده وجود دارد.
SQL چیست؟
SQL، یک زبان استاندارد برای ارتباط با پایگاه دادههای ارتباطی است. از SQL میتوان برای افزودن، جستجو، به روزرسانی و حذف رکوردهای پایگاه داده استفاده کرد. SQL میتواند بسیاری از عملیاتهای دیگر از جمله بهینه سازی و نگهداری پایگاههای داده را انجام دهد. SQL مخفف Structured Query language است که به صورت "S-Q-L" یا گاهی به صورت "See-Quel" تلفظ میشود. پایگاه دادههای رابطهای مانند MySQL Database ،Oracle ،MS SQL Server ،Sybase و ... از ANSI SQL استفاده میکنند.
نحوه استفاده از SQL
مثال SQL زیر را در نظر بگیرید:
SELECT * FROM Members WHERE Age > 30
ساختار دستورات SQL مورد استفاده در پایگاه دادههای مختلف تقریباً مشابه هستند و تعداد کمی از RDBMSها از چندین دستور متفاوت و حتی نحوهای اختصاصی SQL استفاده مینمایند.
سیستم مدیریت پایگاه داده (DBMS) چیست؟
Database Management System (یا DBMS)، مجموعهای از برنامهها است که به کاربران آن امکان دسترسی به پایگاه داده، تغییر دادهها، گزارش دهی و نمایش دادهها را میدهد. علاوهبراین، به کنترل دسترسی به پایگاه داده نیز کمک میکند.سیستمهای مدیریت پایگاه داده مفهوم جدیدی نیستند و به همین صورت کنونی برای اولین بار در دهه 1960 اجرا شدند.
گفته میشود، پایگاه داده یکپارچه Charles Bachman، اولین DBMS در تاریخ است. با گذشت زمان، به همراه پیشرفت بسیار فناوریهای پایگاه داده، کاربرد و ویژگیهای مورد انتظار پایگاه دادهها نیز افزایش یافتند.
انواع DBMS
بیایید ببینیم که چگونه خانواده DBMS با گذشت زمان متحول شد. نمودار زیر تکامل دستههای DBMS را نشان میدهد.
4 نوع عمده DBMS وجود دارد که در ادامه شرح داده شده است.
DBMS سلسله مراتبی: این نوع DBMS، از رابطه "والد و فرزند" در ذخیره سازی دادهها استفاده میکند. امروزه به ندرت از این نوع DBMS استفاده میشود. ساختار آن، مانند درختی است که گرهها نشاندهنده رکوردها و شاخهها نشاندهنده فیلدها هستند. رجیستری ویندوز که در ویندوز XP استفاده میشود، نمونهای از پایگاه داده سلسله مراتبی است. تنظیمات پیکربندی در آن، به صورت ساختارهای درختی با گرهها ذخیره میشوند.
DBMS شبکه: این نوع DBMS، از روابط چند به چند پشتیبانی مینماید و معمولاً منجر به ساختارهای پیچیده پایگاه داده میشود. RDM Server، نمونهای از سیستم مدیریت پایگاه داده است که مدل شبکه را پیاده سازی میکند.
DBMS رابطهای: این نوع DBMS، روابط پایگاه داده را به صورت جداول (که به آنها روابط نیز گفته میشود) تعریف مینماید. برخلاف DBMS شبکه، RDBMS، روابط چند به چند را پشتیبانی نمیکند. DBMS رابطهای معمولاً انواع دادههای از پیش تعریف شده ای دارد که میتواند پشتیبانی نماید. RDBMS، محبوبترین نوع DBMS در بازار است. نمونههایی از سیستمهای مدیریت پایگاه داده رابطهای شامل MySQL ،Oracle و Microsoft SQL Server وجود دارد.
DBMS رابطهای مبتنی بر شیء: Object-Oriented Relation DBMS، از ذخیره انواع دادههای جدید پشتیبانی میکند. دادههای ذخیره شده در این نوع DBMS به صورت شیء است. اشیایی که باید در پایگاه داده ذخیره شوند، دارای ویژگی و روشهای کار با دادهها هستند. PostgreSQL مثالی از DBMS رابطهای شیء گرا است.
NoSQL چیست؟
NoSQL دسته بعدی سیستمهای مدیریت پایگاه داده است. ویژگی اصلی آن عدم پایبندی به مفاهیم پایگاه داده رابطهای است. NoSQL به معنای “Not only SQL” است. مفهوم پایگاه دادههای NoSQL با شرکتهای بزرگ اینترنتی مانند Google، Facebook ،Amazon و غیره که با حجم عظیمی از دادهها سرو کار دارند، بوجود آمده و رشد کرد.
وقتی از یک پایگاه داده رابطهای برای حجم عظیم داده استفاده میکنید، سیستم از نظر زمان پاسخگویی کند میشود. برای غلبه بر این مشکل، میتوان سیستمهای خود را با به روزرسانی سخت افزار موجود "مقیاس بندی" کرد. گزینه دیگر برای رفع مشکل فوق، توزیع بار پایگاه داده بر روی چندین هاست همزمان با افزایش بار است. این با عنوان "scaling out" معروف است.
پایگاه داده NoSQL، یک پایگاه داده های غیر رابطهای است که مقیاس آن بهتر از پایگاه داده رابطهای است و برای برنامههای وب طراحی شدهاست. آنها از SQL برای کوئری به دادهها استفاده نمیکنند و از طرحهای دقیق مانند مدلهای رابطهای پیروی نمینمایند. با NoSQL، ویژگیهای ACID (تجزیهناپذیری، سازگاری، ایزوله بودن، ماندگاری) همیشه تضمین نمیشوند.
چرا یادگیری SQL بعد از NoSQL همچنان منطقی است؟
با استفاده از مزایای پایگاه دادههای NoSQL در مقیاس پذیری بهتر نسبت به مدلهای رابطهای، ممکن است فکر کنید، دیگر چه نیازی به کسب اطلاعات در مورد پایگاه داده SQL است؟ پاسخ معلوم است، پایگاههای داده NoSQL سیستمهای کاملاً تخصصی هستند و کاربرد و محدودیتهای ویژه خود را دارند. NoSQL بیشتر مناسب کاربردهایی است که حجم زیادی از دادهها را کنترل مینمایند. اکثر برنامهها از پایگاه دادههای رابطهای و ابزارهای مرتبط استفاده میکنند.
پایگاههای داده رابطهای نسبت به پایگاههای NoSQL دارای مزایای زیر هستند.
- پایگاه دادههای SQL (رابطهای) از یک مدل ذخیره سازی و مدیریت داده کامل برخوردار هستند. این برای کاربران سازمانی بسیار مهم است.
- پایگاه دادههای SQL مفهوم مشاهده (view) را پشتیبانی مینمایند که به کاربران اجازه میدهد، تنها دادههایی را که مجاز به مشاهده آنها هستند، ببینند. بنابراین، دادههایی که مجاز به دیدن آنها نیستند، از دیدشان پنهان میماند.
- پایگاه دادههای SQL از روش ذخیره شده SQL پشتیبانی میکنند که به توسعه دهندگان پایگاه داده اجازه پیاده سازی بخشی از منطق تجارت را در پایگاه داده میدهد.
- پایگاههای داده SQL در مقایسه با پایگاههای NoSQL مدلهای امنیتی بهتری دارند.
این مطلب نیز ممکن است برای شما مفید باشد: فعال سازی دسترسی از راه دور به سرور پایگاه داده MySQL
نه تنها جهان، همچنان از استفاده از پایگاههای داده رابطهای بهره میبرد؛ بلکه تقاضای فزایندهای برای متخصصانی وجود دارد که میتوانند پایگاه دادههای رابطهای را مدیریت کنند. بنابراین، یادگیری پایگاه داده و SQL هنوز کاربردی و مفید است.
منبع:
guru99
0 دیدگاه
نوشتن دیدگاه