1 / 76

پايگاه داده‌ها

پايگاه داده‌ها. مباني نظري مدل رابطه‌اي. فهرست. تعاريف مدل رابطه‌اي انواع کليد جامعيت جبر رابطه‌اي. تعاريف. دامنه ( Domain ) مجموعه تمام مقادير ممکن براي صفت ( Attribute ) است. تعاريف. رابطه ( Relation ) زير مجموعه‌اي از ضرب دکارتي چند دامنه است.

stormy
Download Presentation

پايگاه داده‌ها

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  2. پايگاه داده‌ها مباني نظري مدل رابطه‌اي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  3. فهرست • تعاريف مدل رابطه‌اي • انواع کليد • جامعيت • جبر رابطه‌اي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  4. تعاريف • دامنه (Domain) • مجموعه تمام مقادير ممکن براي صفت (Attribute) است. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  5. تعاريف • رابطه (Relation) • زير مجموعه‌اي از ضرب دکارتي چند دامنه است. • مثال: اگر داشته باشيم D2: Integer و D1: String آنگاه هر مجموعه‌اي که عضوهايش زوج‌هاي (D1,D2)‌باشند يک رابطه است. بهترين راه نمايش و پياده‌سازي رابطه به وسيله جدول است پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  6. تعاريف مدل رابطه‌اي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  7. تعريف خاصيت کليدي • کليد يک رابطه، تمام عضوهاي آن را به صورتي منحصر به فرد مشخص مي‌کند. • در مدل رابطه‌اي، کليد مجموعه‌اي از صفت‌ها است که بايد دو مورد زير را در مورد آنها رعايت کرد. • کليد تکراري وارد رابطه (جدول) نشود. • مقدار تهي (NULL) براي کليد وارد نشود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  8. انواع کليد • ابر کليد (Super key) • کليد کانديد (Candidate key) • کليد اصلي (Primary key) • کليد فرعي (Secondary key) • کليد خارجي (Foreign key) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  9. 1- ابر کليد • هر صفت يا مجموعه‌اي از صفات که خاصيت کليدي داشته باشد. ئ ”لزوماً کمينيه نيست“ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  10. 2-کليد کانديد • هر صفت يا مجموعه‌اي از صفات که خاصيت کليدي داشته باشد و کمينه باشد. • کمينه (Minimal): کليدي کمينه است که اگر هر يک از صفات آنرا حذف نماييم ديگر کليد نباشد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  11. 3- کليد اصلي: يکي از کليدهاي کانديد است که توسط مدير بانک اطلاعات انتخاب شده است. 4- کليد فرعي: يکي ديگر از کليدهاي کانديد است که براي برخي کاربردها انتخاب مي‌شود. 5- کليد خارجي: صفتي است در يک رابطه که در رابطه ديگري کليد اصلي (يا فرعي) است و براي برقراري ارتباط بين دو رابطه (جدول) استفاده مي‌شود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  12. جدول دانشجو ابرکليد کليد کانديد کليد اصلي  S# پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  13. جدول استاد کليد اصلي Pname پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  14. معيارهاي تعيين کليد • عدد • طول کمتري • صفات کمتر • تغييرات بيروني محفوظ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  15. جامعيت (Integrity) انواع جامعيت در مدل رابطه‌اي • جامعيت دامنه‌اي (Domain integrity) • جامعيت درون رابطه‌اي (Intra-relation integrity) • جامعيت ارجاع (Referential integrity) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  16. جامعيت دامنه‌اي (Domain integrity) • هر صفت بايد از نوع خودش باشد. • هر صفت بايد مقادير مجاز خود را رعايت کند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  17. جامعيت درون رابطه‌اي (Intra-relation integrity) کليدهاي اصلي و فرعي نبايد مقادير تکراري داشته باشند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  18. جامعيت ارجاع (Referential integrity) کليد خارجي نمي‌تواند مقداري داشته باشد که در جدول مرجع وجود ندارد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  19. جداول نمونهتصوير ادراکي بخشي از بانک اطلاعات دانشگاه در مدل رابطه‌اي • 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

  20. جبر رابطه‌اي (Relational algebra) • نوع داده (عملوند) در جبر رابطه‌اي فقط رابطه است. • عملگرهاي جبر رابطه‌اي به چهار دسته تقسيم مي‌شوند. • عملگرهاي ساده (П، σ) • عملگرهاي مجموعه‌اي (- ،  ، ) • عملگرهاي پيوند (∝ , ∞ , xθ, x ) • ساير عملگرها ( ÷←ρ ) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  21. انواع عملگرها • عملگرهاي اصلي • عملگرهاي اضافي عملگرهاي اضافي را مي‌توان با ترکيب عملگرهاي اصلي جايگزين کرد، بنابراين حالت کمکي و ساده کردن کار را دارد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  22. عملگر گزينش (Select‌ با علامت σ) • σθ (نام جدول)انتخاب سطر • ورودي: يک رابطه • خروجي:‌ يک رابطه • ستون‌هاي خروجي برابر با تمام ستون‌هاي ورودي • سطرهاي خروجي برابر با آن سطرهايي از ورودي که داراي شرط ذکر شده باشند پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  23. مثال: مشخصات دانشجوياني که معدل الف دارند؟σave>=17 (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  24. مثال: مشخصات دانشجوياني که متولد تهران هستند و معدل الف دارند؟σave>=17 ^ city=‘تهران’ (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  25. عملگر پرتو (Progect با علامت П) • Пcol (نام جدول ورودي)انتخاب ستون • ورودي: يک رابطه • خروجي:‌ يک رابطه • ستون‌هاي خروجي: فقط آن ستون‌هايي از جدول ورودي، که در دستور ذکر شده است. • سطرهاي خروجي: شامل تمام سطرهاي ورودي است. نکته: اين عملگر روي سطر شرط اعمال نمي‌کند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  26. مثال: شهرهايي که دانشجويان متولد آن شهرها هستند؟Пcity (stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  27. مثال: شماره دانشجويي و نام دانشجويان؟ПS#,sname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  28. عملگرهاي مجموعه‌اي • ورودي: دورابطه • خروجي: يکرابطه • توجه: دو رابطه بايد همتا باشند، يعني: تعداد ستون‌ها برابر و نوع ستون‌ها نظير به نظير يکسان باشند. • ستون‌هاي خروجي:همتا با ستون‌هاي ورودي • سطرهاي خروجي: برابر با اجتماع/اشتراک/تفاضل سطرهاي ورودي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  29. مثال: اسامي افرادي که يا دانشجو هستند يا استاد؟ Пpname(prof) Пsname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  30. مثال: ليست نام اساتيدي که رئيس دانشکده نيستند. Пpname(prof) - Пpname(clg) • مثال: ليست اسامي دانشجويان و اساتيد همنام. Пpname(prof)  Пsname(stud) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  31. عملگرهاي پيوند • عملگر ضرب دکارتي (cartesian product با علامت×) ترکيب جداول • ورودي: دو رابطه • خروجي:‌ يک رابطه • ستون‌هاي خروجي برابر با تمام ستون‌هاي دو رابطه ورودي • سطرهاي خروجي برابر با همه ترکيب‌هاي ممکن از دو جدول پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  32. ضرب دکارتي پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  33. عملگرهاي پيوند - مثال • نام دانشکده‌اي که درس شبيه‌سازي در آن ارايه مي‌شود؟ • اسامي اساتيدي که در دانشکده کامپيوتر تدريس مي‌کنند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  34. عملگر پيوند شرطي • مانند ضرب دکارتي عمل مي‌کند با اين تفاوت که شرط θ را نيز روي سطرها اعمال مي‌کند. • ورودي: دو رابطه • خروجي: يک رابطه A ×θB = σθ(A × B) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  35. پيوند شرطي - مثال • شماره درس، نام دروس و نام دانشکده ارايه دهنده دروس چهار واحدي؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  36. پيوند شرطي - مثال • شماره و نام دانشجويان به همراه شماره و نام دانشکده محل تحصيل آنها؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  37. پيوند شرطي - مثال • اسامي دانشجوياني که در ئرس مدار منطقي ثبت نام کرده‌اند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  38. عملگر پيوند طبيعي(natural Join با علامت ∞) • مانند عملگر پيوند شرطي عمل مي‌کند با اين تفاوت که شرط بطور اتوماتيک و خودبه خود اعمال مي گردد. • اين عملگر روي همه ستون‌هاي همنام شرط تساوي را اعمال مي‌کند. • ستون همنام فقط يکبار در خروجي مي‌آيد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  39. پيوند طبيعي - مثال • اسامي دروسي که در دانشکده کامپيوتر ارايه مي‌گردد؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  40. پيوند طبيعي - مثال • نام دانشکده دانشجويي به نام محمدي؟ Пclgname(σsnme=‘محمدي’ (stud∞Пclg#,chgname(clg))) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  41. پيوند طبيعي - مثال • اسامي دروسي که دانشجويي به نام محمدي در ترم 761 اخذ نموده است؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  42. پيوند طبيعي - مثال Пsname(stud∞clg) اسامي دانشجوياني که در دانشکده محل تولدشان تحصيل مي‌کنند. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  43. عملگر نيم پيوند (Semi Join با علامت ∝) • ورودي: دو رابطه • خروجي: يک رابطه • در خروجي فقط ستون‌هاي جدول اول مي‌آيد. • A ∝ B = ПA (A ∞ B) بيشترين کاربرد در بانک اطلاعات نامتمرکز پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  44. نيم پيوند - مثال • شماره و نام دانشجوياني که در دانشکده کامپيوتر درس مي‌خوانند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  45. نيم پيوند - مثال • اسامي دانشجوياني که در نيمسال 841 با رئيس دانشکده خود درس داشته‌اند؟ پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  46. ساير عملگرها • عملگر جايگزيني (←) • عملگر نامگذاري (ρ) • عملگر تقسيم ( ÷ ) پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  47. عملگر جايگزيني (←) • حاصل عبارت سمت راست را در رابطه سمت چپ قرار مي‌دهد. A ← B پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  48. عملگر جايگزيني- مثال • فرض کنيد جدولي به نام goodstud‌با همان ساختار جدول دانشجو وجود دارد، مشخصات دانشجويان معدل الف را در آن قرار دهيد. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  49. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

  50. عملگر نامگذاري (ρ) • با دستور ، نام b بر روي جدول a گذاشته مي‌شود. • نکته1: حوزه اعتبار نام جديد، فقط در آن دستور است. • نکته2: کاربرد زماني که از يک جدول دو يا چند بار در پرس و جو استفاده مي‌شود. پوپول مرجع دانشگاه ومدرسه WWW.pupuol.com

More Related