دادگان (پایگاه دادهها) چیست؟
تعریف دادگان: فراتر از یک مجموعه ساده
به زبان ساده، دادگان1 به مجموعهای از اطلاعات مرتبط و سازمانیافته گفته میشود که به صورت سیستماتیک ذخیره شدهاند تا بتوان در آینده به راحتی به آنها دسترسی پیدا کرد، آنها را مدیریت نمود و بهروزرسانی کرد. تصور کنید یک کتابخانه بزرگ دارید. اگر کتابها را بدون نظم و فقط به صورت یک توده روی هم بریزید، پیدا کردن یک کتاب خاص بسیار سخت خواهد بود. اما اگر کتابها را بر اساس موضوع، نام نویسنده یا کد ردهبندی مرتب کنید و فهرستی از آنها داشته باشید، به راحتی میتوانید کتاب مورد نظر خود را پیدا کنید. در این مثال، کتابخانه سازمانیافته، یک دادگان است و کتابدار هم نقش سیستم مدیریت دادگان2 را ایفا میکند. دادهها میتوانند هر چیزی باشند: اعداد، متنها، تصاویر، فایلهای صوتی و تصویری و...
? مثال عینی از زندگی روزمره:
فرض کنید یک فروشگاه آنلاین راه انداختهاید. برای مدیریت محصولات، اطلاعات هر محصول (نام، قیمت، تعداد موجودی) را در یک فایل اکسل وارد میکنید. همین فایل اکسل، یک نمونه بسیار ساده از یک دادگان است. با بزرگتر شدن فروشگاه و اضافه شدن مشتریان و سفارشها، نیاز به یک سیستم حرفهایتر پیدا میکنید تا بتواند اطلاعات را بدون اشتباه و با سرعت بالایی مدیریت کند. اینجاست که به سراغ سیستمهای مدیریت دادگان قدرتمند میروید.
اجزای اصلی یک دادگان
یک دادگان تنها شامل دادهها نیست، بلکه اجزای دیگری نیز دارد که به سازماندهی و کارایی آن کمک میکنند:
- موجودیت3: یک شیء یا مفهوم در دنیای واقعی که میخواهیم اطلاعات آن را ذخیره کنیم. به عنوان مثال، "دانشآموز"، "کتاب" یا "محصول".
- ویژگی4: مشخصهها یا خصوصیات یک موجودیت. برای موجودیت "دانشآموز"، ویژگیهایی مانند "نام"، "نام خانوادگی"، "شماره دانشآموزی" و "تاریخ تولد" را داریم.
- رکورد5: مجموعهای از مقادیر مرتبط با یک موجودیت خاص. رکورد مربوط به دانشآموز "علی محمدی" با ویژگیهای "علی"، "محمدی"، "9821001" و "1385-02-10" یک رکورد است.
| مفهوم | مثال در یک کتابخانه | مثال در یک فروشگاه اینترنتی |
|---|---|---|
| موجودیت | کتاب | محصول |
| ویژگی | عنوان، نویسنده، شابک | نام، قیمت، برند |
| رکورد | "تاریخ بیهقی"، "ابوالفضل بیهقی"، "978-964-00-0001-2" | "هدفون بیسیم"، 1,250,000 تومان، "سونی" |
انواع دادگان بر اساس ساختار
دادگانها انواع مختلفی دارند که هر کدام برای کاربرد خاصی طراحی شدهاند. مهمترین آنها عبارتند از:
- دادگان رابطهای6: دادهها را در قالب جدولهایی متشکل از سطر و ستون ذخیره میکند. بین این جدولها ارتباط (رابطه) برقرار میشود. معروفترین نوع دادگان است و مثال آن MySQL و PostgreSQL هستند. (در مثال کتابخانه، یک جدول برای کتابها و جدولی دیگر برای اعضا).
- دادگان غیررابطهای (NoSQL)7: برای ذخیرهسازی دادههایی با ساختار پیچیده و متغیر (مانند اسناد، تصاویر) مناسب هستند. این دادگانها از جدول استفاده نمیکنند. برای مثال، MongoDB دادهها را به صورت سندهای JSON مانند ذخیره میکند.
زبان جستجوی ساختیافته (SQL): زبان گفتگو با دادگان
برای برقراری ارتباط با دادگانهای رابطهای و انجام عملیاتی مانند ذخیرهسازی، بازیابی، بهروزرسانی و حذف دادهها، به یک زبان نیاز داریم. این زبان، زبان جستجوی ساختیافته8 نام دارد. با استفاده از دستورات ساده SQL میتوانیم دادههای مورد نظر خود را از دادگان استخراج کنیم. برای مثال، فرض کنید میخواهیم نام و نمرات دانشآموزانی که نمره آنها بزرگتر از 18 است را از جدول "دانشآموزان" پیدا کنیم. دستور SQL آن به شکل زیر خواهد بود:
چالشهای مفهومی در دادگان
❓ اگر در یک دادگان، دو دانشآموز با نام یکسان داشته باشیم، چگونه آنها را از هم تشخیص دهیم؟
برای این منظور از کلید اصلی9 استفاده میکنیم. کلید اصلی یک ویژگی (یا مجموعهای از ویژگیها) است که مقدار آن برای هر رکورد منحصربهفرد است. به عنوان مثال، "شماره دانشآموزی" میتواند یک کلید اصلی خوب باشد، زیرا هیچ دو دانشآموزی یک شماره ندارند.
❓ چرا نمیتوانیم تمام اطلاعات را فقط در یک فایل ساده مثل اکسل ذخیره کنیم؟
برای حجم کم اطلاعات، این کار ممکن است. اما با افزایش حجم دادهها و پیچیده شدن روابط بین آنها، مشکلاتی مانند تکرار دادهها، ناهماهنگی اطلاعات و دسترسی همزمان چند کاربر به وجود میآید. سیستمهای مدیریت دادگان این مشکلات را حل میکنند.
❓ منظور از یکپارچگی دادهها چیست و چرا مهم است؟
یکپارچگی دادهها10 به معنای صحت و ثبات اطلاعات در طول زمان است. یعنی دادهها باید همواره درست و قابل اطمینان باشند. برای مثال، اگر موجودی یک کالا در دادگان 10 عدد است، هیچ فروشندهای نباید بتواند سفارشی با تعداد 15 عدد ثبت کند. دادگان با استفاده از قوانینی به نام محدودیتها این یکپارچگی را تضمین میکند.
پاورقی
1 دادگان (Database): مجموعهای سازمانیافته از اطلاعات ذخیره شده که به صورت الکترونیکی در یک سیستم کامپیوتری مدیریت میشود.
2 سیستم مدیریت دادگان (Database Management System - DBMS): نرمافزاری که برای تعریف، ایجاد، نگهداری و کنترل دسترسی به دادگان استفاده میشود.
3 موجودیت (Entity): یک شیء یا مفهوم قابل تشخیص در دنیای واقعی که دادههای مربوط به آن ذخیره میشود.
4 ویژگی (Attribute): یک مشخصه یا خصوصیت که یک موجودیت را توصیف میکند.
5 رکورد (Record): مجموعهای از مقادیر مرتبط که به یک موجودیت خاص تعلق دارد.
6 دادگان رابطهای (Relational Database): نوعی دادگان که دادهها را در جدولهایی با سطر و ستون ذخیره کرده و روابط بین آنها را تعریف میکند.
7 دادگان غیررابطهای (NoSQL Database): به انواع دادگان اطلاق میشود که از مدل جدولی دادگانهای رابطهای سنتی پیروی نمیکنند.
8 زبان جستجوی ساختیافته (Structured Query Language - SQL): زبان برنامهنویسی استاندارد برای مدیریت و دستکاری دادهها در دادگانهای رابطهای.
9 کلید اصلی (Primary Key): یک ستون یا مجموعهای از ستونها در یک جدول که مقادیر آن برای هر سطر به طور یکتا تعریف شده و قابل شناسایی است.
10 یکپارچگی دادهها (Data Integrity): صحت، ثبات و قابلیت اطمینان دادهها در طول چرخه عمر آنها.