پایگاه داده چیست؟ (Database) | کاربرد دیتابیس و انواع آن
پایگاه داده یا Database، یکی از اصطلاحات رایج در برنامه نویسی است. شاید برای شما نیز سوال باشد که پایگاه داده چیست؟ بدون پایگاه داده نمیتوان نرمافزاری را تولید کرد. چون کاری بسیار سخت و طاقت فرسا است و در برخی موارد نشدنی است. در این مقاله با کاربرد پایگاه داده آشنا خواهیم شد و انواع دیتابیس را بررسی خواهیم نمود.
موضوعاتی که در این مقاله بررسی خواهیم کرد:
- پایگاه داده چیست؟
- کاربرد پایگاه داده چیست؟
- داده در پایگاه داده چیست؟ (Data)
- اصطلاحات رایج در پایگاه داده
- انواع پایگاه داده
- سیستم مدیریت پایگاه داده چیست؟ (DBMS)
- سوالات متداول درباره پایگاه داده و انواع آن
پایگاه داده چیست؟
کلمه «Database» در فارسی به معنی «پایگاه داده» است. برخی آن را در فارسی «دیتابیس» میگویند. در واقع دیتابیس مجموعهای منظم و سازمان یافته از دادههای ذخیره شده و الکترونیکی از سیستم کامپیوتری است. تمام اطلاعاتی که روی یک نرمافزار، سایت و... مشاهده میکنید، در پایگاه داده ذخیره میشوند.
کاربرد پایگاه داده چیست؟
بعد از اینکه دانستیم پایگاه داده چیست؟ به سراغ کاربرد پایگاه داده میرویم. اگر بخواهیم یک مثال از کاربرد دیتابیس بزنیم، یک سایت را در نظر بگیرید. تمام اطلاعات یک سایت مانند متنها، اطلاعات کاربران، تراکنشهای بانکی، محصولات سایت، مقالات، دورهها و... در پایگاه داده ذخیره شدهاند.
داده در پایگاه داده چیست؟ (Data)
بعد از پاسخ به سوال پایگاه داده چیست؟ به سراع تعریف داده در پایگاه داده میرویم. هر آن چیزی که در پایگاه داده ذخیره شده است، Data یا داده نام دارد. مانند: نام کاربر، ایمیل، رمز عبور، محصولات خریداری شده و...
اصطلاحات رایج در پایگاه داده
در قسمت بالا دانستیم که پایگاه داده چیست و چه کاربردی دارد؟ اکنون 5 اصطلاح رایج در پایگاه داده را بررسی میکنیم.
- جدول (Table)
- ستون (Column)
- سطر یا ردیف (Row)
- نوع (Type)
- موجودیت (Entity)
جدول (Table)
یک دیتابیس میتواند یک یا چندین جدول داشته باشد. هر جدول گروهی از داده را در خود ذخیره میکند. برای مثال: جدول کاربران اطلاعات کاربران را ذخیره میکند و جدول محصولات، اطلاعات محصولات را در خود ذخیره میکند.
ستون (Column)
هر جدول از دیتابیس، میتواند یک یا چندین ستون داشته باشد. هر ستون، وظیفه نگهداری ویژگی یا مقداری خاص از یک متغیر را بر عهده دارد. برای مثال: جدول کاربران میتوان یک ستون نام، یک ستون نام خانوادگی، ایمیل، رمز عبور و... را داشته باشد.
سطر یا ردیف (Row)
همچنین هر جدول از دیتابیس میتواند چندین سطر یا ردیف داشته باشد. اگر دادهای در این ردیف ذخیره شود، به آن رکورد (Record) گویند. مثلا وقتی کاربری در سایت ثبت نام میکند، نام، نام خانوادگی، ایمیل و رمز عبور او در یک سطر ذخیره میشود که به آن یک رکورد (Record) میگویند.
نوع (Type)
هر ستون میتواند فرمت خاصی داشته باشد که به آن نوع (Type) میگویند. مثلا ستون نام میتواند رشته (String) باشد و ستون شماره موبایل باید عدد صحیح (Integer) باشد.
موجودیت (Entity)
موجودیت یک مفهوم کلی از چیزی است که میخواهیم اطلاعات یا ویژگیهای آن را در دیتابیس ذخیره کنیم. مثلا یک شی، انسان، دانشجو و… هر کدام یک موجودیت (Entity) هستند مه هر کدام ویژگیهای خاص خودش را دارد.
انواع پایگاه داده
بعد از پاسخ دادن به سوال پایگاه داده چیست؟ به سراغ انواع پایگاه داده میرویم. پایگاههای داده به طور کلی به دو دسته تقسیمبندی میشوند:
- پایگاه داده رابطهای (Relational): به این نوع پایگاه داده SQL نیز میگویند.
- پایگاه داده غیر رابطهای (non-Relational): که به آن، پایگاه داده NoSQL نیز میگویند.
پایگاه داده SQL چیست؟
SQL مخفف کلمات «Structured Query Language» به معنی «زبان جستجوی ساختار یافته» است. بنابراین SQL به خودی خود پایگاه داده نیست بلکه زبانی برای تعامل با پایگاه دادهی رابطهای است. با استفاده از SQL میتوانید با سیستم مدیریت پایگاه داده رابطهای (Relational Database Management Systems) ارتباط برقرار کنید که به اختصار RDBMS گفته میشود.
در پایگاه داده رابطهای، دادهها در جدول بهصورت ساختار یافته و سازماندهی شده در سطر و ستون ذخیره میشوند. همچنین جدولها با یکدیگر رابطه دارند. برای مثال یک جدول با ستونهای نام، نام خانوادگی، ایمیل و رمز عبور داریم که این جدول میتواند با جدول دیگر به نام محصولات که در آن ستونهای نام محصول، قیمت محصول و... دارد رابطه برقرار کند.
پایگاه داده NoSQL چیست؟
NoSQL مخفف کلمات «Not Only SQL» است. در پایگاه داده غیر رابطهای، دادهها ساختار مشخصی ندارند و رابطهای بین آنها وجود ندارد. دادهها در این نوع پایگاه داده بهصورت Collection (معادل جدول در SQL) ذخیره میشوند و ردیفها با نام Document (معادل Record در SQL) شناخته میشوند.
مزایای پایگاه داده SQL
- دارای ساختار مشخصی است که صحت دادهها را تضمین میکند.
- داشتن رابطه بین جداول باعث میشود دادههای تکراری ایجاد نشود.
معایب پایگاه داده SQL
- انعطافپذیری به دلیل ساختار از پیش تعیین شده کم است و تغییر ساختار جداول در آینده بسیار سخت و دشوار است.
- دستورات Join (اتصال) بین جداولی که باهم رابطه دارند، ممکن است پیچیده باشد.
- مقیاسدهی افقی (اضافه کردن سرورهای جدید و تقسیم کار بین آنها) در SQL سخت است و اکثر مواقع مقیاسدهی بهصورت عمودی (بالا بردن منابع سختافزاری مثل CPU و...) است و اگر دادهها زیادتر شود به حد نصاب خواهید رسید.
مزایای پایگاه داده NoSQL
- عدم وجود ساختار از پیش تعیین شده باعث میشود، برنامه شما انعطافپذیری بیشتری داشته باشد.
- دادهها در قالبی ذخیره میشود که برنامه به آن نیاز دارد. بنابراین سرعت خواندن دادهها از روی این پایگاه داده بیشتر است.
- مقیاسپذیری افقی (اضافه کردن سرورهای جدید و تقسیم کار بین آنها) و عمودی (بالا بردن منابع سختافزاری مثل CPU و...) به راحتی قابل انجام است بنابراین حد نصابی برای درخواستهای پایگاه داده وجود ندارد.
معایب پایگاه داده NoSQL
- انعطافپذیری بیش از حد باعث میشود که کاربر آن را به دلیل تنبلی نادیده بگیرد و ساختاری مشخص برای پایگاه داده در نظر نگیرد.
- به دلیل عدم وجود رابطه، دادههای تکراری وجود خواهد داشت.
- وجود دادههای تکراری باعث میشوند که برای انجام عملیاتی مانند بهروزرسانی مجبور شویم چندین دستور مختلف، برای چندین مقدار مختلف اجرا کنیم.
سیستم مدیریت پایگاه داده چیست؟ (DBMS)
DBMS مخفف کلمات «Database Management System» به معنی «سیستم مدیریت پایگاه داده» است. دسترسی به دادههای پایگاه داده از طریق DBMS انجام میشود.
در حقیقت DBMS یک نرمافزار واسط بین برنامهها و پایگاه داده است. برای مثال: DBMS بین محیط کد نویسی (برنامه) و پایگاه داده، ارتباط برقرار میکند تا از اطلاعات پایگاه داده در کدهای خود استفاده کنیم.
انواع سیستم مدیریت پایگاه داده (DBMS)
لیست 10 نمونه از DBMSهای معروف:
DBMS از نوع SQL
- MySQL
- Maria DB
- Oracle
- PostgreSQL
- MSSQL Server
DBMS از نوع NoSQL
- MongoDB
- Redis
- Cassandra
- Elasticsearch
- Firebase
مدیریت دادهها در DBMS چگونه است؟
سیستم مدیریت پایگاه داده (DBMS)، دادهها را به 4 صورت زیر مدیریت میکند که به آن عملیات CRUD نیز میگویند:
- ایجاد (Create): برای ایجاد یا ذخیره داده در پایگاه داده.
- خواندن (Read): برای واکشی یا خواندن اطلاعات ذخیره شده در پایگاه داده.
- بهروزرسانی (Update): برای بهروزرسانی یا ویرایش داده در پایگاه داده.
- حذف (Delete): برای حذف داده از پایگاه داده.
مزایای استفاده از DBMS
- امکان دسترسی سریع به اطلاعات.
- اطمینان از صحت دادهها و اتصال همزمان.
- پشتیبانی از قابلیت تراکنش.
- استاندارد سازی اطلاعات.
- مقیاس پذیر، منعطف و قابل توسعه.
- پردازش و بررسی دادهها.
- امنیت بالا.
معایب استفاده از DBMS
- پیچیدگی در طراحی پايگاه داده.
- نیاز به تهیه سخت افزار و نصب نرم افزار.
- متمرکز بودن اطلاعات ذخیره شده.
- وابستگی نرم افزارها.
سوالات متداول درباره پایگاه داده و انواع آن
در قسمتهای بالا دانستیم که دیتابیس یا پایگاه داده چیست؟ و سپس با کاربرد پایگاه داده و انواع آن آشنا شدیم. در این قسمت به سوالات پر تکرار درباره پایگاه داده پاسخ میدهیم:
زبان SQL چیست؟
SQL مخفف کلمات «Structured Query Language» به معنی «زبان جستجوی ساختار یافته» است. در حقیقت SQL یک زبان درخواست به پایگاههای داده است و به عبارتی دیگر زبان مشترک در میان DBMSها است که با آن میتوان عملیات CRUD برای ایجاد، خواندن، بهروزرسانی و حذف اطلاعات از دیتابیس را انجام داد.
تفاوت سرور و هاست با پایگاه داده چیست؟
هاست بخش کوچکی از سرور است. در حقیقت یک سرور به چند قسمت تقسیم میشود و به هر قسمت هاست میگویند. اما پایگاه داده یک برنامهای است که روی سرور و هاست قرار میگیرد و اطلاعات مربوط به سایت مانند: متنها، اطلاعات کاربران، اطلاعات محصولات، مقالات و... در آن ذخیره میشود.
اما تصاویر و ویدئوها که حجم بالایی دارند، در پوشههایی داخل سرور یا هاست ذخیره میشوند تا پایگاه داده را سنگین نکنند. اما لینک دسترسی به تصاویر و ویدئوها در جداول پایگاه داده ذخیره میشوند. برای آشنایی بیشتر با هاست و سرور مقالات زیر را مطالعه کنید:
چه موقع از پایگاهدادههای رابطهای (SQL) استفاده کنیم؟
اگر دادههای مختلفی دارید که باید در برنامه استفاده کنید، از پایگاه داده SQL استفاده کنید. اگر از NoSQL استفاده کنید، باید دائما قسمتهای مختلف آن را بهروزرسانی کنید. همچنین اگر ساختار ثابتی دارید و احتمال تغییرات آن در آینده کم است از نوع SQL استفاده کنید.
چه موقع از پایگاهدادههای غیر رابطهای (NoSQL) استفاده کنیم؟
اگر در آینده احتمال اینکه ساختار را تغییر دهید زیاد است بهتر است از NoSQL استفاده کنید. اگر درخواست خواندن داده (Read) زیاد است اما دادهها را زیاد تغییر نمیدهید، بهتر است برای افزایش سرعت از NoSQL استفاده کنید.
جمعبندی
در این مقاله با دیتابیس چیست؟ آشنا شدیم. سپس کاربرد دیتابیس و مزایا و معایب آنها را بررسی کردیم. بدون پایگاه داده نمیتوانیم نرمافزار یا سایت داینامیک ایجاد کنیم. هرگونه سوالی در مورد مقاله Database چیست؟ دارید، لطفا و در قسمت نظرات با ما به اشتراک بگذارید.