مقدمه ای بر پایگاه داده ها
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
مقدمهای بر پایگاه دادهها
در جلسه قبل با سیستمهای فایلینگ و مقایسه آنها نسبت به سیستم مدیریت پایگاه داده آشنا شدیم. در این جلسه میخواهیم مقدمهای بر پایگاه دادهها داشته باشیم و درباره یکسری دیگر از اصطلاحات که دانستن آنها اهمیت بسیاری در شناخت یک پایگاه داده دارد، بپردازیم. اما قبل از هر چیز باید با انواع مدلهای پایگاه داده آشنا شوید.
انواع مدلهای پایگاه داده:
-
پايگاه داده سلسله مراتبی
یکی از قدیمیترین مدلهای پایگاه داده است که دادهها و ارتباط بین آنها توسط اشارهگرهایی با یکدیگر مرتبط میشوند.
بله درست حدس زدید این مدل براساس ساختار درخت پیاده میشود؛ یعنی دارای یک گره ریشه و N گره فرزند است که ارتباط بین گرهها به صورت بالا به پایین میباشد و هیچ مسیری از گرههای پایینی به گرههای بالایی وجود ندارد. گره ریشه یا همان پدر میتواند چندین فرزند داشته باشد اما هر گره فرزند تنها یک گره پدر میتواند داشته باشد. بخاطر وجود مشکلاتی که در ساختار پیادهسازی داشت، این مدل عملا منسوخ شده است.
-
پايگاه داده شبکهای
مدل پایگاه داده شبکهای براساس دو مفهوم مهم، یعنی مجوعهها و رکوردها در سال 1969 ارائه شد. جالب است بدانیم پیادهسازی آن توسط گراف صورت میگیرد و مزیت آن نسبت به مدل سلسله مراتبی، برقراری ارتباط بیشتر بین موجودیتها میباشد. اگر قصد پیادهسازی این مدل به روش درخت را داشته باشید، میتوانید برای هر گره فرزند بیش از یک گره پدر در نظر بگیرید.
-
پايگاه داده رابطهای
اما سومین مدل پایگاه داده که مبحث اصلی دوره آموزشی ما نیز هست مدل رابطهای پایگاه داده است. در این روش ارتباطات تعریف شده در پایگاه داده به وسیله مجموعهای از جدولها و رابطههای مستقل صورت میگیرد.
این نوع مدلهای پایگاه داده چند ویژگی دارند:
-
وجود نداشتن ردیفهای تکراری
-
اهمیت نداشتن ترتیب ردیفها در ساختار مدل
-
اهمیت نداشتن ترتیب ستونها در ساختار مدل
-
غیر قابل تجزیه بودن مقادیر هر فیلد
اجزاء مختلف یک پایگاه داده رابطهای:
دوستان ما در این دوره میخواهیم به پایگاه داده رابطهای بپردازیم و بعد از شناخت مفاهیم مهم و کاربردی در پایگاه داده رابطهای، طی جلسات بعدی به تحلیل یک پایگاه داده به صورت جزئیتر و در نهایت آموزش سیستم مدیریت پایگاه داده معروف بنا بر ساختار مدل رابطهای یعنی sql server بپردازیم. پس تا پایان مسیر همراه ما باشید.
یک پایگاه داده رابطهای تشکیل شده از:
-
محیط عملیاتی
به سازمان، نهاد و یا هر موسسهای که قصد داریم برای آن یک بانک اطلاعاتی ایجاد کنیم. پس به آن سازمان، نهاد یا موسسه محیط عملیاتی گفته میشود مانند: کتابخانه، مدرسه، دانشگاه، هتل و ....
-
موجودیت
موجودیت یعنی هر پدیده، شی یا مفهوم که میخواهیم درباره آن اطلاعاتی داشته باشیم. پس میتوان گفت در هر محيط عملياتی با توجه به نياز، تعدادی از اجزای آن به عنوان موجوديت انتخاب میشوند. مثلا در محيط مدرسه، موجوديتهايی با عنوان دانشآموز، معلم و درس داريم.
-
صفات خاصه برای موجودیتها
بعد از شناخت موجودیتها باید بدانید که هر کدام از آنها دارای یکسری از صفات هستند. در واقع صفات خاصه وجه تمایز یک موجودیت از موجودیت دیگر بشمار میرود. مثلا در سیستم دانشگاه که دانشجو یکی از موجودیتهای آن است، صفاتی مانند نام، نام خنوادگی، سن، سال تولد، رشته تحصیلی، سال ورود و ... آن را از موجودیت درس که دارای صفتهای خاص كد درس، نام درس، تعداد واحد است، متمایز میکند.
-
ارتباط بین موجودیت ها
حالا میرسیم به یکی از اصلیترین مراحل کار در بانکهای اطلاعاتی یعنی ارتباط بین موجودیتها. بله در هر محیط عملیاتی موجودیتها با یکدیگر در ارتباط هستند. تعیین این ارتباطها به سه روش انجام میشود که در ادامه آنها را معرفی میکنیم.
انواع ارتباط بین موجودیتها:
-
ارتباط 1 به 1
ارتباط 1 به 1 یعنی يک نمونه از موجوديت اول با يک نمونه از موجوديت دوم ارتباط دارد. به عنوان مثال هر مدرسه يک مدير میتواند داشته باشد. به این شکل رابطه، رابطه یک به یک گفته میشود.
-
ارتباط 1 به چند
در این نوع از ارتباط ، يک نمونه از موجوديت اول با چند نمونه از موجوديت دوم ارتباط دارد. در مقابل نیز هر نمونه از موجوديت دوم با يک نمونه از موجوديت اول در ارتباط است. اگر بخواهیم مثالی از این نوع ارتباط برای درک بهتر داشته باشیم ارتباط ارائه دروس و اساتید در محیط دانشگاه است به این صورت که هر استاد به یک عنوان درسی تعلق دارد اما هر عنوان درسی میتواند توسط اساتید مختلف تدریس شود. ارتباط یک به چند از مهمترین و کاربردیترین روابط موجود در بین جدولها به حساب میآید.
-
ارتباط چند به چند
این نوع ارتباط جزء پیچیدهترین انواع رابطه در یک پایگاه داده محسوب میشود. در رابطه چند به چند، يک نمونه از موجوديت اول با چند نمونه از موجوديت دوم ارتباط دارد. همچنين يک نمونه از موجوديت دوم با چند نمونه از موجوديت اول نیز مرتبط است.
به عنوان مثال هر دانشآموز در هر دوره تحصيلی چند درس را انتخاب میكند و يک درس توسط چند دانشآموز اخذ میشود. لذا نوع ارتباط بين درس-دانشآموز چند به چند است.
-
در نهایت ساخت جداول
پس تا اینجای کار با مفهوم موجویت، صفات خاصه و همچنین روابط بین جداول آشنا شدیم. اما مهمترین ساختار دادهای در یک پایگاه داده رابطهای، جدولها هستند.
هر جدول نیز از چندین سطر و ستون تشکیل شده که مقادیر ذخیره شده در آنها به مرور زمان تغییر خواهد کرد. پس نتیجه میگیریم جداول، ساختار بنیادی رابطهها هستند. با توضیحاتی که تا الان داشتیم در علم پایگاه داده، به سطرهای موجود در یک جدول رکورد و به ستونهای آن فیلد گفته میشود. حالا معنی این دو واژه یعنی چه؟
به بیان ساده رکورد یعنی یک ساختار تشکیل شده از مجموعهای فیلد که هر کدام از آنها مشخصات خاص خود را دارند درست بر خلاف آرایهها که تمام عناصر آن نشاندهنده نوع یکسانی از دادههاست و تعریفی که درباره فیلد میتوانیم داشته باشیم، این است: یک محل ذخیره برای انواع خاصی از دادههای یک رکورد.
فرض کنید میخواهیم یک جدول برای کارمندان بسازیم. رکورد این جداول ممکن است شامل اطلاعاتی از قبیل: نامخانوادگی، نام، نشانی، مدرك تحصیل و .... باشد اما فیلدهای آن را مجموعهای از انواع دادهها مثل کاراکتر، عدد، تاریخ و ... تشکیل میدهد.
خلاصه مطالب
خب دوستان ما سعی کردیم تا مقدمه ای بر پایگاه داده داشته باشیم و شما را با مفاهیم اصلی یک پایگاه داده داشته باشیم. حالا قصد داریم تا تمامی آنچه را که تا الان گفتیم به طور خلاصه برای شما بیان کنیم:
-
پايگاه داده مجموعهای سازمان يافته از اطلاعات است كه میتواند به صورت ركوردهای ذخيره شده در جداول باشد و با يک روش اصولی و از طريق فرمها، گزارشها و ... میتواند به درخواستهای كاربران پاسخ دهد.
-
مدلهای پايگاه داده، طرح و الگوی كاری برای كاربران پايگاه داده را در سطح منطقی مشخص میكنند.
-
مدل سلسله مراتبی توسط گراف پيادهسازی میشود كه ارتباط بين گرهها از بالا به پايين صورت میگيرد و مسيری از گرههای پايينتر به گرههای بالاتر وجود ندارد.
-
مدل شبكهای شباهت زيادی به سلسله مراتبی دارد اما به دليل وجود ارتباط از پايين به بالا پيادهسازی آن راحتتر است.
-
مدل رابطهای يكی از بهترين و سريعترين مدلهای پايگاه داده است و اطلاعات در قالب جدولهای مجزا مشخص میشوند.
-
مدل رابطهای بهترين مدل پيادهسازی سيستمهای بانک اطلاعاتی است. در اين مدل، پايگاه داده از ديد كاربران شامل مجموعهای از جداول است كه هر جدول دارای سطرها و ستونهايی میباشد.
-
تعيين ماهيت ارتباط در مدل رابطهای يكی از مهمترين مراحل طراحی بانک اطلاعاتی است و پس از تحليل موجوديتها و بررسی ماهيت ارتباط آنها، بايد رابطهها را به صورت جدول پيادهسازی كرد.
برای یاد گرفتن بهتر این مفاهیم پیشنهاد میکنیم از ویدئو آموزشی ما که در اینباره برای شما عزیزان تهیه کردهایم، استفاده کنید. اما در صورت سوال و یا مشکل میتوانید به انجمن پرسش و پاسخ درسمن مراجعه کنید. همچنین خوشحال میشویم تا پیشنهادات و انتقادات خود را در بخش نظرات با ما به اشتراک بگذارید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.