مفاهیم پایگاه داده رابطه ای مدل درس سوم: سید کاوه احمدی
مدل رابطه ای مدل رابطه ای در سال 1970 توسط کاد ابداع شد. بانک های اطالعاتی که بر اين اساس طراحی می شوند بانک اطالعات رابطه ای Database( )Relational نامیده می شود. 2
تعريف دامنه دامنه )Domain( )Attribute( مجموعه تمام ممکن مقادير برای صفت است. اين مجموعه: دارای نام است. مقاديرش نوع مشخص دارند. مقاديرش فرمت مشخص دارند. 3
تعريف رابطه رابطه )Relation( زير مجموعه ای از ضرب دکارتی دامنه است. چند )کارتزين( باشیم داشته اگر :D2 Integer و :D1 String آنگاه هر عضوهايش که مجموعه ای زوج های (D1,D2) باشند رابطه است. يک پیاده سازی و نمايش راه بهترين است جدول وسیله رابطه به D1: String Ali Reza -- D2: Integer 10 20 -- 4
تعريف رابطه تعریف رابطه D1 با فرض وجود n تا میدان R نه لزوما متمايز رابطه Dn از دو قسمت تشکیل شده است: Ai Ai:Di سرآيند :)Header( مجموعه ای نامدار از n صفت به صورت که در آن هر نام يک صفت است و هر Di نام میدان صفت است. vi پیکر/ بدنه :)Body( مجموعهای است از m تاپل t به نحوی که t خود مجموعهای است از n عنصر هريک به صورت Ai:vi که در آن مقداری است از نوع میدان. Id Name Family 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani سرآيند پیکر 5
تعريف رابطه فرمال( )تعريف عبارت است از مجموعه ای مرتب از nتايی هايی که روی n مجموعه به نام های تا S n S 1 تعريف شده اند. S n... S 2 در اين مجموعه جزء اول هر nتايی از S 1 جزء دوم از و و جزء nام از میباشد. به هر nتايی يک تاپل گفته می شود. S n يک رابطه از ضرب کارتزين S 1 می آيد. تا بدست تا 6
تعريف رابطه S1 = {1, 2} Students(ID, Name, ) S2 = {a, b} R = (S1, S2) Students ID name 1 Ali 2 Siamak Head Topels (body) 7
ويژگی های رابطه ویژگیهاي رابطه رابطه تاپل تکراری ندارد. تاپل ها نظم ندارند. صفات رابطه نظم مکانی ندارند..1.2.3 تمام صفات ساده هستند )صفات مرکب نمی توانیم داشته باشیم(..4 8
تعاريف مدل رابطه ای مفهوم تئوري مفهوم جدولي نحوه نمايش رابطه جدول Table سطر )رکورد ) Row تاپل ستون )فیلد ) Col صفت میدان درجه کاردينالیتی مجموعه مقادير ستون تعداد ستون ها تعداد سطرها توسط کليد )اصلي و خارجي ) Relationship 9
تعريف خاصیت کلیدی رابطه تمام يک کلید عضوهای آن را به صورتی منحصر به فرد مشخص می کند. در مدل مجموعه ای کلید رابطه ای از صفت ها بايد است که دو خصوصیت زير را دارا باشد: تکراری کلید وارد رابطه نشود. )جدول( تهی مقدار )NULL( وارد نشود. کلید برای 10
کلید در مدل رابطه ای در مدل رابطه ای چند مفهوم در بحث کلید داريم که عبارتند از: کلید ابر Key( )Super کانديد کلید Key( )Candidate اصلی کلید Key( )Primary بديل کلید Key( )Alternate خارجی کلید Key( )Foreign 11
کلید ابر مجموعه ای يا هر صفت از صفات که دارای يکتايی مقدار باشد. 12
کلید کانديد يک يا مجموعه ای از چند صفت که: دارای يکتايی مقدار باشد دارای خاصیت کاهش ناپذيری باشد )کمینه باشد( اگر هر يک از صفات را از آن ترکیب حذف کنیم ترکیب باقی مانده فاقد يکتايی مقدار باشد. رابطه دانشجو کد دانشجو + رشته کلید کانديد نیست 13
کلید اصلی key( )primary يکی از کلیدهای کانديد رابطه که طراح انتخاب می کند و به سیستم معرفی می شود. ضابطه های انتخاب: از نظر کاربر شناسه معمول نوع موجوديت باشد طول کوتاهتر داشته باشد. عددی بودن تعداد صفات سازنده کمتر )رايج(. بیرونی تغییرات لز محفوظ باشد در رابطه دانشجو کد ملی يا کد دانشجو 14
سوال آيا همه رابطه ها دارای کلید اصلی هستند در بدترين حالت ترکیب همه صفات به عنوان کلید اصلی انتخاب می شوند 15
کلید بديل يا فرعی key( )Alternative کلیدهای کانديد که به عنوان کلید اصلی انتخاب کاربردهای ديگر به کار گرفته شوند. نمی شوند اما ممکن است برای 16
کلید خارجی key( )Foreign صفت يا مجموعه ای از صفت هايی که در جدول اول به عنوان کلید اصلی تعريف شده اند در صورت وجود در يک جدول ديگر به عنوان کلید خارجی تعريف می شوند. کاربرد کلید اصلی و خارجی برای برقراری ارتباط بین جداول می باشد. مثال Department ( Dept #, Dname, manager - Emp #, budget ) Employee ( Emp #, Ename, Dept #, Salary ) 17
نکته کلید خارجی در مشارکت های غیر الزامی ممکن است null )بدون مقدار( باشد. مشارکت غیر الزامی استاد در گروه آموزشی دو جدول ممکن است با هم ارتباط داشته باشند اما کلید خارجی نداشته باشند. رابطه از طريق يک جدول واسط حاصل می شود رابطه استاد درس و دانشجو 18