820 likes | 1.13k Views
پايگاه دادهها. مباني نظري مدل رابطهاي. فهرست. تعاريف مدل رابطهاي انواع کليد جامعيت جبر رابطهاي. تعاريف. دامنه ( Domain ) مجموعه تمام مقادير ممکن براي صفت ( Attribute ) است. تعاريف. رابطه ( Relation ) زير مجموعهاي از ضرب دکارتي چند دامنه است.
E N D
پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پايگاه دادهها مباني نظري مدل رابطهاي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
فهرست • تعاريف مدل رابطهاي • انواع کليد • جامعيت • جبر رابطهاي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
تعاريف • دامنه (Domain) • مجموعه تمام مقادير ممکن براي صفت (Attribute) است. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
تعاريف • رابطه (Relation) • زير مجموعهاي از ضرب دکارتي چند دامنه است. • مثال: اگر داشته باشيم D2: Integer و D1: String آنگاه هر مجموعهاي که عضوهايش زوجهاي (D1,D2)باشند يک رابطه است. بهترين راه نمايش و پيادهسازي رابطه به وسيله جدول است پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
تعاريف مدل رابطهاي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
تعريف خاصيت کليدي • کليد يک رابطه، تمام عضوهاي آن را به صورتي منحصر به فرد مشخص ميکند. • در مدل رابطهاي، کليد مجموعهاي از صفتها است که بايد دو مورد زير را در مورد آنها رعايت کرد. • کليد تکراري وارد رابطه (جدول) نشود. • مقدار تهي (NULL) براي کليد وارد نشود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
انواع کليد • ابر کليد (Super key) • کليد کانديد (Candidate key) • کليد اصلي (Primary key) • کليد فرعي (Secondary key) • کليد خارجي (Foreign key) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
1- ابر کليد • هر صفت يا مجموعهاي از صفات که خاصيت کليدي داشته باشد. ئ ”لزوماً کمينيه نيست“ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
2-کليد کانديد • هر صفت يا مجموعهاي از صفات که خاصيت کليدي داشته باشد و کمينه باشد. • کمينه (Minimal): کليدي کمينه است که اگر هر يک از صفات آنرا حذف نماييم ديگر کليد نباشد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
3- کليد اصلي: يکي از کليدهاي کانديد است که توسط مدير بانک اطلاعات انتخاب شده است. 4- کليد فرعي: يکي ديگر از کليدهاي کانديد است که براي برخي کاربردها انتخاب ميشود. 5- کليد خارجي: صفتي است در يک رابطه که در رابطه ديگري کليد اصلي (يا فرعي) است و براي برقراري ارتباط بين دو رابطه (جدول) استفاده ميشود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جدول دانشجو ابرکليد کليد کانديد کليد اصلي S# پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جدول استاد کليد اصلي Pname پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
معيارهاي تعيين کليد • عدد • طول کمتري • صفات کمتر • تغييرات بيروني محفوظ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جامعيت (Integrity) انواع جامعيت در مدل رابطهاي • جامعيت دامنهاي (Domain integrity) • جامعيت درون رابطهاي (Intra-relation integrity) • جامعيت ارجاع (Referential integrity) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جامعيت دامنهاي (Domain integrity) • هر صفت بايد از نوع خودش باشد. • هر صفت بايد مقادير مجاز خود را رعايت کند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جامعيت درون رابطهاي (Intra-relation integrity) کليدهاي اصلي و فرعي نبايد مقادير تکراري داشته باشند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جامعيت ارجاع (Referential integrity) کليد خارجي نميتواند مقداري داشته باشد که در جدول مرجع وجود ندارد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جداول نمونهتصوير ادراکي بخشي از بانک اطلاعات دانشگاه در مدل رابطهاي • Stud ( s#, sname, city, ave, clg#) (شماره دانشکده، معدل کل، شهر محل تولد، نام، شماره) دانشجو • Prof ( pname, office, esp, degree,clg#) (شماره دانشکده، مدرک تحصيلي، تخصص، دفتر کار، نام) استاد • Crs ( c#, cname, unit, clg#) (شماره دانشکده ارائه دهنده، تعداد واحد، نام، شماره) درس • Sec ( sec#, c#, s#, term, pname, score) (نمره، نام استاد، ترم، شماره دانشجو، شماره درس، شماره گروه) گروهدرس • Clg ( clg#, clgname, city, pname) (نام رئيس، نام شهر، نام دانشکده، شماره) دانشکده پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
جبر رابطهاي (Relational algebra) • نوع داده (عملوند) در جبر رابطهاي فقط رابطه است. • عملگرهاي جبر رابطهاي به چهار دسته تقسيم ميشوند. • عملگرهاي ساده (П، σ) • عملگرهاي مجموعهاي (- ، ، ) • عملگرهاي پيوند (∝ , ∞ , xθ, x ) • ساير عملگرها ( ÷←ρ ) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
انواع عملگرها • عملگرهاي اصلي • عملگرهاي اضافي عملگرهاي اضافي را ميتوان با ترکيب عملگرهاي اصلي جايگزين کرد، بنابراين حالت کمکي و ساده کردن کار را دارد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر گزينش (Select با علامت σ) • σθ (نام جدول)انتخاب سطر • ورودي: يک رابطه • خروجي: يک رابطه • ستونهاي خروجي برابر با تمام ستونهاي ورودي • سطرهاي خروجي برابر با آن سطرهايي از ورودي که داراي شرط ذکر شده باشند پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: مشخصات دانشجوياني که معدل الف دارند؟σave>=17 (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: مشخصات دانشجوياني که متولد تهران هستند و معدل الف دارند؟σave>=17 ^ city=‘تهران’ (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر پرتو (Progect با علامت П) • Пcol (نام جدول ورودي)انتخاب ستون • ورودي: يک رابطه • خروجي: يک رابطه • ستونهاي خروجي: فقط آن ستونهايي از جدول ورودي، که در دستور ذکر شده است. • سطرهاي خروجي: شامل تمام سطرهاي ورودي است. نکته: اين عملگر روي سطر شرط اعمال نميکند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: شهرهايي که دانشجويان متولد آن شهرها هستند؟Пcity (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: شماره دانشجويي و نام دانشجويان؟ПS#,sname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگرهاي مجموعهاي • ورودي: دورابطه • خروجي: يکرابطه • توجه: دو رابطه بايد همتا باشند، يعني: تعداد ستونها برابر و نوع ستونها نظير به نظير يکسان باشند. • ستونهاي خروجي:همتا با ستونهاي ورودي • سطرهاي خروجي: برابر با اجتماع/اشتراک/تفاضل سطرهاي ورودي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: اسامي افرادي که يا دانشجو هستند يا استاد؟ Пpname(prof) Пsname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
مثال: ليست نام اساتيدي که رئيس دانشکده نيستند. Пpname(prof) - Пpname(clg) • مثال: ليست اسامي دانشجويان و اساتيد همنام. Пpname(prof) Пsname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگرهاي پيوند • عملگر ضرب دکارتي (cartesian product با علامت×) ترکيب جداول • ورودي: دو رابطه • خروجي: يک رابطه • ستونهاي خروجي برابر با تمام ستونهاي دو رابطه ورودي • سطرهاي خروجي برابر با همه ترکيبهاي ممکن از دو جدول پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
ضرب دکارتي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگرهاي پيوند - مثال • نام دانشکدهاي که درس شبيهسازي در آن ارايه ميشود؟ • اسامي اساتيدي که در دانشکده کامپيوتر تدريس ميکنند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر پيوند شرطي • مانند ضرب دکارتي عمل ميکند با اين تفاوت که شرط θ را نيز روي سطرها اعمال ميکند. • ورودي: دو رابطه • خروجي: يک رابطه A ×θB = σθ(A × B) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند شرطي - مثال • شماره درس، نام دروس و نام دانشکده ارايه دهنده دروس چهار واحدي؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند شرطي - مثال • شماره و نام دانشجويان به همراه شماره و نام دانشکده محل تحصيل آنها؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند شرطي - مثال • اسامي دانشجوياني که در ئرس مدار منطقي ثبت نام کردهاند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر پيوند طبيعي(natural Join با علامت ∞) • مانند عملگر پيوند شرطي عمل ميکند با اين تفاوت که شرط بطور اتوماتيک و خودبه خود اعمال مي گردد. • اين عملگر روي همه ستونهاي همنام شرط تساوي را اعمال ميکند. • ستون همنام فقط يکبار در خروجي ميآيد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند طبيعي - مثال • اسامي دروسي که در دانشکده کامپيوتر ارايه ميگردد؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند طبيعي - مثال • نام دانشکده دانشجويي به نام محمدي؟ Пclgname(σsnme=‘محمدي’ (stud∞Пclg#,chgname(clg))) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند طبيعي - مثال • اسامي دروسي که دانشجويي به نام محمدي در ترم 761 اخذ نموده است؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پيوند طبيعي - مثال Пsname(stud∞clg) اسامي دانشجوياني که در دانشکده محل تولدشان تحصيل ميکنند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر نيم پيوند (Semi Join با علامت ∝) • ورودي: دو رابطه • خروجي: يک رابطه • در خروجي فقط ستونهاي جدول اول ميآيد. • A ∝ B = ПA (A ∞ B) بيشترين کاربرد در بانک اطلاعات نامتمرکز پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
نيم پيوند - مثال • شماره و نام دانشجوياني که در دانشکده کامپيوتر درس ميخوانند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
نيم پيوند - مثال • اسامي دانشجوياني که در نيمسال 841 با رئيس دانشکده خود درس داشتهاند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
ساير عملگرها • عملگر جايگزيني (←) • عملگر نامگذاري (ρ) • عملگر تقسيم ( ÷ ) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر جايگزيني (←) • حاصل عبارت سمت راست را در رابطه سمت چپ قرار ميدهد. A ← B پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر جايگزيني- مثال • فرض کنيد جدولي به نام goodstudبا همان ساختار جدول دانشجو وجود دارد، مشخصات دانشجويان معدل الف را در آن قرار دهيد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com
عملگر نامگذاري (ρ) • با دستور ، نام b بر روي جدول a گذاشته ميشود. • نکته1: حوزه اعتبار نام جديد، فقط در آن دستور است. • نکته2: کاربرد زماني که از يک جدول دو يا چند بار در پرس و جو استفاده ميشود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com