آموزش پایگاه داده
درس پایگاه داده یکی از مهمترین و امنترین دروس کنکور ارشد کامپیوتر و فناوری اطلاعات است که بهترین منبع و بهترین کتاب پایگاه داده از نگاه دانشجویان و رتبههای برتر کنکور ارشد کامپیوتر کتاب پایگاه داده انتشارات راهیان ارشد تالیف استاد خلیلیفر است. آموزش پایگاه داده اهمیت و تاثیر زیادی در کنکور کامپیوتر دارد. درس پایگاه داده یکی از دروس تخصصی رشتهی مهندسی کامپیوتر با ضریب 3 در گرایشهای نرم افزار، رایانش امن و بیوانفورماتیک و ضریب 2 در گرایشهای معماری سیستمهای کامپیوتری، هوش مصنوعی و رباتیکز، شبکههای کامپیوتری، الگوریتمها و محاسبات و قرآن کاوی رایانشی است. همچنین یکی از دروس تخصصی رشته مهندسی فناوری اطلاعات با ضریب 2 است که 6 سوال از آن مطرح میشود.
توجه: برای شنیدن دیدگاه دانشجوی عزیز خانواده صمیمی بابان در قسمت نظرات کتاب و کلاس پایگاه داده به صورت صوتی روی دکمه پلی کلیک کنید.
کتب مرجع درس پایگاه داده:
از سوی وزارت علوم، تحقیقات و فناوری منبع درس پایگاه داده کتابهای سه نویسنده مشهور این درس یعنی آبراهام سیلبرشاتز، راما کریشنان و رامز المصری معرفی شدهاست.
سرفصلهای درس پایگاه داده:
سرفصلهای درس پایگاه داده شامل فصول مفاهیم پایگاه دادهها، مدل نهاد و رابطه، مدل رابطهای، جبر رابطهای، حساب رابطهای، زبان SQL دستورات DML، زبان SQL دستورات DDL، وابستگی تابعی، نرمال سازی و شاخصگذاری اطلاعات است. به صورت زیر:
فصل اول: مفاهیم پایگاه دادهها
فصل دوم: مدل نهاد و رابطه
فصل سوم: مدل رابطهای
فصل چهارم: جبر رابطهای
فصل پنجم: حساب رابطهای
فصل ششم: SQL دستورات DML
فصل هفتم: SQL دستورات DDL , DCL , TCL
فصل هشتم: وابستگی تابعی
فصل نهم: نرمالسازی
فصل دهم: شاخصگذاری اطلاعات Indexing
تغییرات و مباحث جدید آموزش پایگاه داده:
- صفت ممیزه یا کلید جزئی، رابطه مستتر در جدول و موجودیت ضعیف و قوی و نگاشت رابطه درجه سوم یا ارتباط سهگانی، رابطه درجه دوم یا ارتباط دوگانی
- شاخصگذاری اطلاعات و کاربرد مفاهیم درخت و گراف در پایگاه داده
- رشته اتصال یا connection string
- مبحث نگاشت مدل ER به مدل رابطهای
- مبحث disjoint در مدل رابطهای
- مبحث overlap در مدل رابطهای
- مبحث زیر نوع اجتماع (U-Type) یا دسته (Category) در مدل رابطهای، نگاشت رابطه زیر نوع U-Type ناقص و زبر نوعها به مدل رابطهای و نگاشت IS-A-PART-OF به مدل رابطهای
- دید (Veiw) پذیرای تئوری و عملی
- مبحث min و max در شمارش تعداد گره و فرزندان در درخت B PLUS TREE به کتاب و ویدیوها اضافه شدهاست.
- Indexing
- Clustered
- Non-UNIQUE, Non-Clustered
- UNIQUE, Non-Clustered
- Ascending
- Descending
- B PLUS tree
- Equality query
- Range query
- Hash
- Indexing
- Dense Index
- Sparse Index
- Bitmap Index
- Covering Index
توجه: تمامی مطالب و سرفصلهای فوق در کتاب و ویدیوهای پایگاه داده بابان و راهیان ارشد تحلیل و بررسی شده است.
توجه: به تمام سرفصلهای فوق برای کنکور ارشد کامپیوتر باید مسلط باشید.
جزوه کنکوری درس پایگاه داده:
دانلود بهترین جزوه نتیجهگرا و امن این درس جزوه درس پایگاه داده استاد خلیلیفر است.
دانلود بهترین جزوه نتیجهگرا و امن این درس جزوه نکته و تست پایگاه داده استاد خلیلیفر است.
کتاب کنکوری درس پایگاه داده:
بهترین کتاب نتیجهگرا و امن این درس کتاب درس پایگاه داده انتشارات راهیان ارشد تالیف استاد ارسطو خلیلیفر است.
بهترین کتاب نتیجهگرا و امن این درس کتاب نکته و تست پایگاه داده انتشارات راهیان ارشد تالیف استاد ارسطو خلیلیفر است.
کلاس آنلاین درس پایگاه داده:
بهترین کلاس آنلاین نتیجهگرا و امن آموزش پایگاه داده، کلاس آنلاین پایگاه داده گروه بابان استاد ارسطو خلیلی فر است.
کلاس آفلاین درس پایگاه داده:
بهترین کلاس آفلاین نتیجهگرا و امن آموزش پایگاه داده، کلاس آفلاین پایگاه داده گروه بابان استاد ارسطو خلیلی فر است.
مفاهیم پایگاه داده
یک محصول نرمافزاری به واسطهی فرآیند تولید نرمافزار که شامل فعالیتهای مدل تحلیل، مدل طراحی، پیادهسازی و تست میباشد، ایجاد میگردد.
به طور کلی هر محصول نرمافزاری از دو وجه اساسی زیر تشکیل شده است:
1- ساختار داده: محل نگهداری دادههای محیط عملیاتی به شکل جداول.
2- عملکرد: شامل برنامهها و دستورالعملها یا همان برنامه کاربردی
مراحل ایجاد یک برنامه کاربردی به همراه بانک اطلاعات آن مطابق روال زیر میباشد:
مدل نهاد و رابطه (ERD)
نرمافزار، دادهها را به اطلاعات مفید برای کابر تبدیل میکند و این کار را از طریق مجموعهای از پردازشها انجام میدهد، بنابراین در مدلسازی دادهای در پایگاه داده، تلاش میشود تا مدل دقیقی از دادهها، موجودیتها و روابط مابین موجودیتهای موجود در محیط عملیاتی نرمافزار ایجاد شود.
توجه: مدلسازی دادهای، موجودیتها و روابط مابین موجودیتهای موجود در محیط عملیاتی سیستم را، مستقل از روند پردازش آنها در داخل نرمافزار مدل میکند.
توجه: ERD یا Entity Relationship Diagram یا نمودار نهاد و رابطه جهت مدلسازی دادهای مورد استفاده قرار میگیرد.
مدل ER
برای شناسایی هر مدل یا ساختاری ابتدا باید به بررسی بخشهای مختلف آن مدل یا ساختار بپردازیم.
در مدل ER، سه مفهوم معنایی وجود دارد و معنای دادههای هر محیط عملیاتی (محیطی که میخواهیم در مورد آن اطلاع کسب کنیم) به کمک همین سه مفهوم نمایش داده میشود:
1- موجودیت یا نهاد (Entity)
2- صفت (Attribute)
3- ارتباط یا رابطه (Relationship)
توجه: در مدل تحلیل منظور از رابطه، ارتباط بین موجودیتهاست، اما در مدل طراحی منظور از رابطه، جداول مدل رابطهای میباشد.
1- نهاد (موجودیت)
موجودیت عبارتند از مفهوم کلی «شیء»، «چیز»، «پدیده» و به طور کلی هر آنچه که میخواهیم در موردش «اطلاع» داشته باشیم.
مثال: در محیط عملیاتی دانشگاه، انواع موجودیتهای دانشجو، درس، استاد، گروه آموزشی و غیره وجود دارد.
توجه: در کتب مختلف گاهاً به نهاد، مجموعه نهادی (Entity Set) نیز گفته میشود.
توجه: خروجی مدلسازی یک سیستم به کمک مدل ER، نموداری است که آن را ERD مینامند.
توجه: برای نمایش یک موجودیت (مجموعه نهادی) در نمودار ER از یک مستطیل نامدار استفاده میگردد.
مثال: موجودیتهای درس و دانشجو در محیط عملیاتی دانشگاه.
توجه: توصیه میشود در تشخیص مجموعههای نهادی و تحلیل سیستم به دنبال اسامی عام بگردیم. معمولاً اسامی عام یک موجودیت یا مجموعه نهادی را نشان میدهند (مانند دانشجو) و اسامی خاص اعضای یک مجموعه نهادی را نشان میدهند (مانند دانشجو احمدی)
توجه: از آنجا که نمادهای گرافیکی نمیتوانند تمامی جزئیات مربوط به موجودیتها یا اشیاء دادهای را بیان کنند، جهت تشریح شرح حال موجودیتها یا اشیاء دادهای از مستنداتی به نام شرح حال موجودیتها یا اشیاء دادهای یا فرهنگ دادهها (دیکشنری داده) استفاده میشود. فرهنگ دادهها، به بیان جزئیات مربوط به موجودیتها یا اشیاء دادهای مورد نظر میپردازد.
براي مثال بر روی نماد مستطیل شکل موجودیتها اسم برده ميشود، اما اينكه دقيقاً اين موجودیتها یا اشیاء دادهای چه هستند مشخص نميشود. براي اين منظور از فرهنگ دادهها استفاده میشود كه موجودیتها یا اشیاء دادهای را به صورت دقيق تشریح میكند.
2- صفت
صفت در واقع خصیصه یا ویژگی یک نوع موجودیت است و هر نوع موجودیت مجموعهای از صفات(موسوم به مجموعه صفات موجودیت) را دارد. هر صفت از نظر کاربران یک نام، یک نوع و یک معنای مشخص دارد. به عنوان مثال، موجودیت درس را در نظر بگیرید. صفات درس عبارتند از: شماره درس، عنوان درس، تعداد واحد درس، نوع درس (پایه، تخصصی، اختیاری و غیره)، ماهیت درس (نظری، عملی و غیره)، سطح درس (کاردانی، کارشناسی و غیره).
توجه: هر صفتی از یک مجموعه مقادیر معتبر و مجاز مقدار میگیرد که به این مجموعه مقادیر، اصطلاحاً دامنه یا میدان (Domain) مقادیر آن صفت میگویند.
انواع صفات در مدل ER
هر موجودیت دارای مجموعهای از صفات است که در نمودار ER با بیضی نشان داده میشود.
صفت کلید
کلید عبارتند از یک یا چند صفت خاصه که در یک موجودیت منحصر به فرد باشد. به عبارت دقیقتر هر ترکیبی از صفت یا صفات که اگر بر اساس آن جستجو انجام گردد فقط و فقط یک مقدار را بازگرداند. بر اساس کدملی جستجو انجام دهید، واضح است که فقط و فقط یک مقدار را باز میگرداند. به عنوان مثالی دیگر در موجودیت دانشجو، شماره دانشجویی کلید است، چون هر دانشجو شمارهای یکتا دارد. ولی نام نمیتواند کلید باشد.
توجه: گاهی یک صفت به تنهایی نمیتواند کلید باشد بلکه مجموعهای از دو یا چند صفت، تشکیل کلید را میدهند.
توجه: صفت کلید نمیتواند مقدار NULL بگیرد.
توجه: در نمودار ER زیر صفت یا صفات کلیدی یک خط میکشند.
صفت ساده و مرکب
صفت ساده صفتی است که مقدار آن از لحاظ معنایی ساده یا اتومیک یا تجزیه نشدنی باشد، به این معنا که اگر مقدار آن را به اجزایی تجزیه کنیم، مقادیر جزیی حاصله فاقد معنا باشد. برای مثال صفت درس و شماره دانشجویی یک صفت ساده است. صفت مرکب صفتی است که از چند صفت ساده تشکیل شده باشد به گونهای که تجزیه شدنی باشند و اجزاء حاصله خود صفات ساده باشند. مانند صفت آدرس که از اجزاء نام استان، نام شهر، نام خیابان، نام کوچه، شماره پلاک و کدپستی تشکیل شده است.
توجه: برای نشان دادن صفت مرکب در نمودار ER اجزای صفت مرکب خود به عنوان صفت برای صفت مذکور نشان داده میشود.
توجه: در بانک اطلاعاتی مبتنی بر مدل رابطهای (جدولی) صفت مرکب نداریم.
صفت تک مقداری و چند مقداری
بعضی از صفات چه ساده و چه مرکب فقط میتوانند یک مقدار را بگیرند که به این صفات، صفت تک مقداری میگویند. مانند شماره دانشجویی که نمیتواند بیش از یک مقدار داشته باشد. این صفات در نمودار ER بصورت معمول نمایش داده میشوند.
صفاتی وجود دارند که میتوانند چندین مقدار را بگیرند مانند صفت مدرک در موجودیت استاد که میتواند مقادیر لیسانس، فوق لیسانس و یا دکتری را در خود بگیرد.
مثال:
توجه: به مثالهای زیر توجه کنید.
صفت ساده تک مقداری: مانند کدملی
صفت ساده چند مقداری: مانند مدرک تحصیلی
صفت مرکب تک مقداری: مانند تاریخ تولد
صفت مرکب چند مقداری: مانند آدرس
توجه: در بانک اطلاعاتی مبتنی بر مدل رابطهای (جدولی) صفت چندمقداری نداریم.
صفت مشتق (پویا)
صفتی است که در موجودیت وجود خارجی ندارد ولی در صورت لزوم میتوان آنرا بدست آورد. صفتی که مقادیر آن مدام در حال تغییر و تحول باشد، صفت پویا یا مشتق محسوب میگردد. بنابراین به دلیل تغییرات مداوم، توصیه میگردد صفت پویا در جداول بانک اطلاعات مورد استفاده قرار نگیرد و مقدار آن از طریق صفت مرتبط با آن محاسبه گردد. برای مثال برای محاسبه صفت سن، میتوان صفت تاریخ تولد را در نظر گرفت و از روی این صفت، سن را محاسبه نمود.
توجه: صفت مشتق را در نمودار ER با نقطه چین به موجودیت مورد نظر متصل میکنند.
مثال:
3- رابطه (ارتباط)
ارتباط، وابستگی بین دو مجموعه نهادی (موجودیت) را نشان میدهد.
توجه: در هنگام استخراج رابطهها در مدل تحلیل، به دنبال افعال میگردیم.
توجه: برای نمایش یک رابطه در ER از یک لوزی استفاده میکنیم.
در نمودار ER فوق، رابطه تهیه، مابین موجودیت تولیدکننده و قطعه برقرار است.
خواص رابطه
بطور کلی خواص رابطه به سه شکل زیر بررسی میگردد:
الف) درجه ارتباط
ب) کاردینالیتی ارتباط یا کمیت ارتباط
ج) اجباری و اختیاری بودن ارتباط یا مودالیتی ارتباط یا کیفیت ارتباط
توجه: همه روابط سه خصیصه فوق را به طور همزمان دارند، اما مقادیر این خصیصهها در روابط مختلف، متفاوت است.
الف) درجه ارتباط
به تعداد موجودیتهایی که در یک رابطه مشارکت دارند، درجه ارتباط گفته میشود. درجه در مدل ER عددی صحیح و کوچکتر از 5 است. ارتباطهای درجه 1، 2 و 3 معمول، ارتباط درجه 4 کمیاب و غیر معمول است و ارتباط بالاتر از درجه 4 قابل رسم کردن نیست.
ارتباط درجه 1
مثال:
فقط یک موجودیت در هر یک از شکلهای فوق وجود دارد. دقت کنید که موجودیت یک نوع است و عضوهای آن، یک مجموعه را تشکیل میدهند. بنابراین در ارتباط یکتایی، عضوهایی از یک مجموعه در ارتباط با عضوهایی دیگر از همان مجموعه قرار میگیرند. برای مثال درسی پیش نیاز درس دیگر است، یا دانشجویی همکلاسی دانشجوی دیگری است، در حالیکه همه دروس به یک موجودیت و همه دانشجویان نیز به یک موجودیت تعلق دارند.
توجه: وقتی یک ارتباط بین یک نوع موجودیت و خودش برقرار باشد، آنرا ارتباط با خود (Self-Relationship) یا بازگشتی (Recursive) میگویند.
ارتباط درجه 2
مثال:
در این ارتباط دو موجودیت استاد و دانشجو مشارکت دارند.
ارتباط درجه 3
مثال:
در این ارتباط سه موجودیت استاد، درس و دانشجو مشارکت دارند.
ارتباط درجه 4
مثال:
در این ارتباط چهار موجودیت پدر، مادر، پسر و دختر مشارکت دارند.
ب) کاردینالیتی ارتباط یا کمیت ارتباط
کاردینالیتی ارتباط بر سه نوع است: یک به یک، یک به چند، چند به چند.
1- یک به یک (1-1)
یعنی هر نمونه موجودیت از A با حداکثر با یک نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با حداکثر یک نمونه موجودیت از A ارتباط دارد.
مثال:
بدین معنی که هر استاد حداکثر یک درس ارائه میکند و هر درس حداکثر یک استاد برای ارائه دارد.
توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.
2- یک به چند (1:n)
یعنی هر نمونه موجودیت از A با صفر یا بیشتر نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با حداکثر یک نمونه موجودیت از A ارتباط دارد.
مثال:
بدین معنی که هر استاد صفر یا بیشتر درس ارائه میکند و هر درس حداکثر یک استاد برای ارائه دارد.
توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.
3- چند به چند (m:n)
یعنی هر نمونه موجودیت از A با صفر یا بیشتر نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با صفر یا بیشتر نمونه موجودیت از A ارتباط دارد.
مثال:
بدین معنی که هر استاد صفر یا بیشتر درس ارائه میکند و هر درس صفر یا بیشتر استاد برای ارائه دارد.
توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.
توجه: در ارتباط، شرکت موجودیتها در ارتباط به طور پیشفرض اختیاری است. برای مثال ممکن است استادی درسی ارائه نکند و یا درسی این ترم ارائه نشود. در ادامه ارتباط اجباری را مورد بررسی قرار خواهیم داد.
حد
مشخصه دیگر ارتباط، حد آن است که بیانگر حداقل و حداکثر تعداد نمونه موجودیتهای شرکتکننده در ارتباط است. این مقادیر در پایین خط ارتباط، توسط پرانتز نشان داده میشود.
مثال:
در شکل بالا حد (10و0) نشان میدهد که یک استاد ممکن است راهنمای هیچ دانشجویی نباشد و یا حداکثر 10 دانشجو را راهنمایی کند. همچنین حد (1و0) نشان میدهد که یک دانشجو ممکن است استاد راهنما نداشته باشد و یا حداکثر توسط یک استاد راهنمایی شود.
ج) اجباری و اختیاری بودن ارتباط یا مودالیتی ارتباط یا کیفیت ارتباط
این نوع رابطه به دو دسته کلی زیر تقسیم میشود:
1- اجباری یا کلی (Total)
یک رابطه اجباری است، اگر و تنها اگر تمام نمونههای موجودیت در رابطه شرکت کرده باشند. اجباری بودن در نمودار ER با نماد خط مضاعف افقی یا نماد | به معنی یک و الزام شرکت در رابطه نشان داده میشود.
توجه: نماد خط مضاعف افقی نشانه اجباری بودن موجودیت چسبیده به آن است، اما نماد | به معنی یک و الزام شرکت در رابطه نشانه اجباری بودن موجودیت طرف مقابل است.
مثال: در نظام آموزشی وزارت آموزش و پرورش حضور معلم و دانش آموز در محیط عملیاتی مدرسه اجباری است. زیرا مفاهیمی همچون مرخصی برای دانشآموز و یا پژوهش بهجای تدریس برای معلم معنا ندارد.
قید (1,m) نشان میدهد که یک معلم حداقل یک و حداکثر m دانشآموز دارد و قید (1 , n) نشان میدهد که یک دانشآموز حداقل یک و حداکثر n معلم دارد.
2- اختیاری یا جزئی (Partial)
یک رابطه اختیاری است، اگر و تنها اگر حداقل یکی از نمونههای موجودیت در رابطه شرکت نکرده باشد. اختیاری بودن در نمودار ER با نماد خط افقی یا نماد دایره کوچک توخالی به معنی صفر و عدم الزام شرکت در رابطه نشان داده میشود.
توجه: نماد خط افقی نشانه اختیاری بودن موجودیت چسبیده به آن است، اما نماد دایره کوچک توخالی به معنی صفر و عدم الزام شرکت در رابطه نشانه اختیاری بودن موجودیت طرف مقابل است.
مثال: در نظام آموزشی وزارت علوم، تحقیقات و فناوری حضور استاد و دانشجو اختیاری است. زیرا مفاهیمی همچون مرخصی برای دانشجو و پژوهش بهجای تدریس برای استاد معنا دارد.
قید (0,m) نشان میدهد که یک استاد حداقل هیچ و حداکثر m دانشجو دارد و قید (0,n) نشان میدهد که یک دانشجو حداقل هیچ و حداکثر n استاد دارد.
توجه: از آنجا که حضور استاد اختیاری است، پس میتواند هیچ دانشجویی نداشته باشد. همین معنا برای دانشجو نیز صادق است.
مثال: نمودار ER زیر چه روابطی را نشان میدهد؟
شکل زیر گویای نمودار ER است:
توجه: نماد | به معنی یک و الزام شرکت در رابطه نشانه اجباری بودن موجودیت طرف مقابل است.
توجه: نماد دایره کوچک توخالی به معنی صفر و عدم الزام شرکت در رابطه نشانه اختیاری بودن موجودیت طرف مقابل است.
با توجه به ارتباط یک به چند پروژه با کارمند و اجباری بودن حضور نمونه موجودیتهای پروژه، قید (1,m) برای پروژه در نظر گرفته میشود، بدین معنیکه، یک پروژه حداقل یک و حداکثر m کارمند دارد.
همچنین با توجه به ارتباط چند به یک کارمند با پروژه و اختیاری بودن حضور نمونه موجودیتهای کارمند، قید (1و0) برای پروژه در نظر گرفته میشود، بدین معنیکه، یک کارمند حداقل هیچ و حداکثر یک پروژه دارد.
شکل زیر گویای مطلب است:
صفت در ارتباط
ارتباطها نیز میتوانند صفت داشته باشند (اغلب در ارتباطات n:m)
برای مثال صفت تعداد قطعات (QTY) در نمودار بانک اطلاعات تولیدکنندگان قطعات میتواند صفت در ارتباط، رابطه تهیه باشد.
شاید تصور شود که تعداد قطعات مربوط به موجودیت قطعه است. ولی این تصور غلط است زیرا یک تولیدکننده چند قطعه و یک قطعه نیز توسط چند تولیدکننده، تهیه میگردد. بنابراین صفت تعداد قطعات (QTY) را باید به ارتباط تولیدکه دو موجودیت قطعه و تولیدکننده را به هم مرتبط میکند نسبت داد.
توجه: چنین ارتباطاتی با یک لوزی درون یک مستطیل نشان داده میشود و کلید آنها کلیدهای همه موجودیتهای مربوطه را شامل میشود.
نگاشت رابطه چند به چند بین دو موجودیت (مدل تحلیل) به مدل رابطهای (مدل طراحی)
مستقل از اختیاری یا اجباری بودن موجودیتها، هر موجودیت به یک جدول تبدیل میگردد و یک جدول پُل (Bridge) نیز به عنوان ارتباط دهنده دو جدول مورد استفاده قرار میگیرد. همچنین کلید کاندید جدول پُل از ترکیب کلید کاندید دو جدول دیگر ايجاد ميگردد. روال کلی به صورت زیر است:
مدل تحلیل
مدل طراحی
مثال: ارتباط تولیدکنندگان و قطعات
مدل تحلیل
توجه: صفت QTY، به عنوان یک صفت در ارتباط، تعداد قطعات را مشخص میکند.
مدل طراحی