1 / 133

بنام خدا اصول و طراحی پایگاه داده ها مهندس فرشته امیری 1391-1392

بنام خدا اصول و طراحی پایگاه داده ها مهندس فرشته امیری 1391-1392. مراجع. Database Systems Principles and Design, Talin Sahakian اصول و طراحی پایگاه داده ها(تالیف مهندس تالین ساهاکیان) An Introduction to database systems, 8 th ed , 2003, C.J.Date

chaela
Download Presentation

بنام خدا اصول و طراحی پایگاه داده ها مهندس فرشته امیری 1391-1392

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. بنام خدااصول و طراحی پایگاه داده هامهندس فرشته امیری1391-1392

  2. مراجع • Database Systems Principles and Design, TalinSahakian اصول و طراحی پایگاه داده ها(تالیف مهندس تالین ساهاکیان) • An Introduction to database systems, 8thed, 2003, C.J.Date مقدمه ای بر پایگاه داده ها برداشت و نگارش محمد تقی رانکوهی • ایجاد بانک های اطلاعاتی در SQL Server 2005 ، محمدرضا جعفری

  3. سرفصل • مفاهیم پایه ای(Basic Concepts) • معماری پایگاه داده ها(Databases Architecture) • شیوه های مختلف بانک اطلاعاتی(سلسله مراتبی، شبکه ای و رابطه ای) • جبر رابطه ای (Relational Operators) • زبان پرس و جوی ساخت یافته (SQL) • نرمال سازی (Normalizing) • مدلسازی داده ها با استفاده ازERD

  4. ارزیابی • تمرین 15 • میانترم 35 • پایانترم 50 • -------------- • 100

  5. فصل 1: مفاهیم پایه

  6. مفاهیم مربوط به پایگاه داده ها • Data: عبارت است از حقیقتی خام که هیچ مفهوم خاصی ندارد و نمی تواند هیچ تاثیری در تصمیم گیریهای سیستم داشته باشد.(مثل 123) • Information:مفهوم داده است که از تفسیر داده بدست می آید و مبنای تصمیم گیری در سازمانها است (دو تفسیراز 123:{کد درس: 123یا کد استاد 123}) • Knowledge: دانشی است که از تجزیه و تحلیل اطلاعات بدست می آید مثلا: چه دانشجویانی درس 123 را گرفته اند؟

  7. مفاهیم مربوط به پایگاه داده ها • :Data Managementبرای تولید، ذخیره و بازیابی صحیح داده ها مکانیزم موثری مورد نیاز است. چنین مکانیزمی مدیریت داده ها نامیده میشود • Integrated: یکپارچگی داده ها را Integrate می گویند به عنوان مثال پایگاه داده یک ساختار کامپیوتری یکپارچه شامل داده های مورد نیاز کاربران است. • Metadata:داده هائی که ساختار داده اصلی را توصیف میکنند Data: 123 Metadata:( (name=student code , length= 10 , type =char,…

  8. مفاهیم مربوط به سیستم های فایل • داده (:(Data عبارتی است از حقیقتی خام که هیچ مفهوم خاصی ندارد • فیلد (Field): گروهی از کاراکترهاست که خصوصیتی از یک موجودیت را توصیف یا تفسیر میکند مثل name (اگر علی داخل فیلد name قرار گیرد نشان میدهد اسم یک موجودیت علی است) • رکورد(Record):مجموعه ای از فیلدهاست که مربوط به یک موجودیت خاص است (مثل رکورد مربوط به یک دانشجو) • فایل(File):مجموعه ای از رکوردهاست که مربوط به یک نوع موجودیت هستند(مثل فایل دانشجویان) • سیستم فایل(File System): مجموعه ای از فایلها و برنامه های لازم برای کار با آنهاست (مثل سیستم فایل یک دانشگاه)

  9. معایب سیستم های فایل • نیاز به برنامه نویسی زیاد و پیچیده: از آنجائی که در سیستم فایل ها نرم افزاری برای ذخیره وبازیابی فایلها وجود ندارد برنامه نویس باید ازجزئیات نحوه ذخیره سازی فایلها آگاه باشد بنابراین نیاز به نوشتن کدهای طولانی داشت. • وابستگی داده ای(Data Dependence): یک تغییر کوچک در داده های فایل مثل تغییر در نوع فیلد باعث میشود که کد کلیه قسمتهایی از برنامه که با فایل مرتبط میباشند را نیز تغییر دهد زیرا برنامه ها کاملا به ساختار فیزیکی فایل وابسته اند. • وابستگی ساختاری(Structural Dependence): یک تغییر کوچک در ساختار فایل مثل حذف یا اضافه یک فیلد کلیه کد برنامه هائی که به نحوی به فایل مربوط میشوند را نیزتغییر میدهد.

  10. معایب سیستم های فایل • افزونگی داده ها : وقتی یک قلم داده در چندین جای مختلف ذخیره میشود را افزونگی یا تکرار داده می نامند که مشکلات زیر را خواهد داشت • هدررفتن فضا و نیروی کار : ذخیره یک قلم داده در چند جای مختلف علاوه بر آنکه فضای حافظه زیادی را به هدر می داد باعث به هدر رفتن نیروی کار نیز می شد • ناسازگاری داده ها (Data Inconsistency) : اگر برای یک موجودیت در دو فایل مختلف دو مقدار متفاوت وجود داشته باشد ناسازگاری داده اتفاق می افتد. • بروز انواع ناهنجاری : افزونگی داده باعث بروز سه نوع ناهنجاری میشود

  11. معایب سیستم های فایل • ناهنجاری اصلاح : در سیستم فایل ها بدلیل نبودن ارتباط بین بانکهای اطلاعاتی ، اطلاعات به صورت تکراری در قسمتهای مختلف ذخیره می شود. وقتی اطلاعاتی در یک فایل اصلاح می گردد لازم است تمام اطلاعات وابسته تغییر کند. این نوع اصلاح را اصلاح منتشر شونده Propagating Modification گویند • ناهنجاری درج : در سیستم فایل ها بدلیل نبودن ارتباط بین بانکهای اطلاعاتی لازم میشد برای درج یک اطلاع ، اطلاعات وابسته دیگری نیز بصورت تکراری مجددا ثبت شود. که این امر باعث هدر رفتن فضا ، نیروی کار و خطر بروز ناسازگاری میشد. • ناهنجاری حذف : وقتی با حذف یک قلم اطلاعات ، به طور ناخواسته اطلاعات وابسته دیگری نیز حذف شود. (مثل حذف شدن استاد وقتی تنها دانشجوی مربوط به آن حذف میشود) • عدم وجود امکانات لازم برای تامین امنیت داده ها (Data Security)سیستمهای فایل فاقد امکانات لازم برای تعیین حدود اختیارات هر کاربر بودند

  12. سیستم های پایگاه داده ها • Database System : • کلیه داده ها به صورت یکپارچه و تنها در یک محل ذخیره میشوند و کلیه کاربران می توانند به صورت اشتراکی و همزمان از این داده ها استفاده کنند. • سیستمی که اطلاعات را بصورت کامپیوتری نگهداری میکند و هدف اصلی آن ذخیره و بازیابی و به هنگام سازی اطلاعات (بنا به تقاضا) می باشد • سیستم پایگاه داده ها مکانیزم هائی برای تامین جامعیت داده ها (صحت داده ها)، کنترل دسترسی به داده ها، ترمیم داده ها و ... فراهم می کند • تعریف رانکوهی: مجموعه ای است از داده های ذخیره شده، پایا(مانا)، به هم مرتبط، مجتمع، حتی المکان فاقد افزونگی، دارای معماری خاص خود مبتنی بر یک مدل داده ای تحت مدیریت یک سیستم کنترل متمرکز، مورد استفاده یک یا چند کاربر، از یک محیط(سازمان)به طور اشتراکی و همزمان

  13. سیستم های پایگاه داده ها • Database Management System(DBMS): • DBMS نقش واسط و مترجم میان کاربران یا برنامه های کاربردی ((Applicationآنها و پایگاه داده را بازی میکند • DBMS هر دستور سطح بالای کاربر یا برنامه کاربردی را به کدهای پیچیده لازم تبدیل کرده، این کدهای پیچیده را روی پایگاه داده ها اعمال کرده، نتیجه دریافتی را به فرمتی قابل فهم برای کاربر یا برنامه کاربردی وی تبدیل می کند Select name from student where age>17

  14. اجزاء یک سیستم پایگاه داده ها • سخت افزار • نرم افزار • کاربران • پروسجرها • داده ها

  15. اجزاء یک سیستم پایگاه داده ها • سخت افزار: سخت افزار یک سیستم پایگاه داده ها شامل کلیه وسایل فیزیکی است که برای ورود /خروج و ذخیره اطلاعات بکار میرود. اگر پایگاه داده در شبکه باشد کلیه تجهیزات مربوط به شبکه نیز لازم میباشد. • پروسیجرها: شامل دستوارتی که برای اجرای قوانین حاکم بر سیستم نوشته میشوند. (با صدور فاکتور ، موجودی کالاها باید به روز شود) • داده ها: داده های مورد نیاز کاربران نهائی و فراداده ها

  16. اجزاء یک سیستم پایگاه داده ها- نرم افزار • سیستم عامل : روی کلیه کامپیوترهای محیط پایگاه داده ها یک سیستم عامل مثل ویندوز یا Unix یا ... نصب میشود. • DBMS:نرم افزاری از پیش تهیه شده و پیچیده است که نسخه های مختلف آن خریداری میشود و بر روی محیط کامپیوتر نصب میگردد. از امکانات آن ایجاد و پشتیبانی از پایگاه داده ها است (مثل SQL Server، Oracle، DB2و Informix). • برنامه های کاربردی: برنامه های کاربردی توسط برنامه نویسان و مخصوص یک محیط عملیاتی نوشته میشود، این برنامه ها از طریق DBMS با پایگاه داده ها ارتباط برقرار می کند(مثل برنامه های حسابداری، حقوق دستمزدو...)

  17. اجزاء یک سیستم پایگاه داده ها- کاربران • مدیران سیستم (System Administrator): این گروه از کاربران بر عملکرد کلی سیستم پایگاه داده ها نظارت میکند. • مدیران پایگاه داده ها (Database Administrator): استفاده بهینه و درست و کارآمد از پایگاه داده ها را مورد بررسی قرار میدهد. در واقع DBAها خط مشی و سیاستهای کلی استفاده و کار با پایگاه داده ها را مشخص می کنند (مثل: چه DBMSی استفاده شود چگونه نصب گردد و چه استانداردها و مکانیزم هائی برای استفاده از پایگاه داده لازم است) • طراحان پایگاه داده ها(Database Designer): این گروه از کاربران، پایگاه داده ها را مطابق با خواسته مدیران و بر اساس نیازهای کلیه کاربران نهائی طراحی میکنند • برنامه نویسان: برنامه های کاربردی لازم برای کار با پایگاه داده را طراحی و پیاده سازی میکنند(مثل ساخت صفحات ورود داده ها و تهیه گزارشات ) • کاربران نهائی(End Users) : کاربران نهائی اپراتورها و مدیران سازمانها هستند

  18. انواع سیستم مدیریت پایگاه داده ها • از نظر تعداد کاربر • Single User: درهر لحظه یک کاربر اجازه کار با پایگاه داده ها را دارد. • Desktop Database: به DBMS تک کاربره گفته میشود که روی یک کامپیوتر PC اجرا شود . • N-User : بطورهمزمان چندین کاربربا پایگاه داده کار میکنند. • Work-group Database: به پایگاه داده ای گفته میشود که تعداد کاربران مجاز برای استفاده همزمان از آن کمتر از 50 کاربر باشد. • Enterprise Database: به پایگاه داده ای گفته میشود که توسط کل بخشهای یک سازمان مورد استفاده قرار می گیرد

  19. انواع سیستم مدیریت پایگاه داده ها • از نظر توزیع داده • Centralized DBMS: به DBMSهائی گفته میشود که اجازه نمی دهند داده ها روی چند سایت پخش شوند • Distributed DBMS: به DBMSهائی گفته میشود که اجازه می دهند داده ها روی چند سایت مختلف پخش شوند • از نظر کاربرد • Transactional: به DBMS هائی گفته میشود مبتنی بر Transaction مثل سیستم بانک، فروش و ... • Decision Support: به DBMSهائی گفته میشود که اطلاعاتی برای مدیران رده بالای سازمان برای اتخاذ تصمیمهای استراتژیک تولید می کند (مانند تعیین سرمایه گذاری بهینه، تعیین قیمت تضمینی یا پیش بینی آب و هوا و...)

  20. وظائف سیستم مدیریت پایگاه داده ها • تامین استقلال داده ای و ساختاری • مدیریت ذخیره سازی داده ها • تبدیل فرمت داده ها میان محیط فیزیکی و محیط منطقی • مدیریت امنیت • تامین امکان دسترسی مشترک چندین کاربر به پایگاه داده ها • مدیریت تهیه نسخه پشتیبان و ترمیم پایگاه داده ها • تامین جامعیت داده ای • تامین زبان پرس و جو و ابزارهای مدیریت پایگاه داده ها

  21. فصل 2: معماری پایگاه داده

  22. معماری سیستم های پایگاه داده • DBMS تبدیل کننده درخواستهای سطح بالای کاربران به کدهای پیچیده، و اعمال این کدها روی پایگاه داده ها می باشد به گونه ای که جزئیات ذخیره و بازیابی داده ها کاملا از دید کاربر پوشیده باشد. • معماری ANSI برای سیستم های پایگاه داده • لایه فیزیکی یا داخلی (Physical or Internal Layer): در این لایه داده های فیزیکی همان گونه که روی محیط فیزیکی ذخیره شده اند نمایش داده میشوند • لایه ادراکی یا انتزاعی(Conceptual Layer): لایه ادراکی شامل دید ادراکی است. دیدی که طراح پایگاه داده نسبت به کلیه موجودیتها و ارتباطات میان آنها دارد • لایه خارجی (External Layer): دید خارجی کاربران است. و دید خارجی دیدی است که هر کاربر نسبت به اطلاعات ذخیره شده دارد. دید لزوما با دید ادراکی یکسان نیست

  23. معماری سیستم های پایگاه داده • دانشجو(شماره دانشجوئی، نام، نام خانوادگی، رشته سال ورود، شماره شناسنامه، محل صدور، تاریخ تولد نوع بیمه، شغل) • درس(شماره درس، نام درس، تعداد واحد، نوع درس، قیمت هر واحد) • استاد(شماره استاد، نام، نام خانوادگی، مدرک) • نمرات(شماره دانشجوئی، شماره درس، ترم، نمره) • دید کاربران آموزش: (شماره دانشجوئی، نام، نام خانوادگی، رشته، سال ورود، معدل کل)

  24. معماری سیستم های پایگاه داده • هر برنامه کاربردی که با پایگاه داده ها سرو کار دارد از دو دسته زبان استفاده میکند: • زبان فرعی داده ای یا DSL(Data Sublanguage) • زبان تعریف داده ها یا DDL(Data Definition Language): از این دستورات برای تعریف ساختار جداول و ایندکسهاو.. استفاده میشود • زبان دستکاری داده ها یا DML (Data Manipulation Language): از این دستورات برای بازیابی، درج و حذف و اصلاح اطلاعات جداول استفاده میشود • زبان کنترل داده ها یا DCL (Data Control Language): از این دستورات برای مدیریت مجازی دسترسی به پایگاه داده ها استفاده میشود معروفترین زبان فرعی داده ای زبان SQL (Structured Query Language) • زبان میزبان یا HL (Host Language) : در هر برنامه کاربردی برای کار با داده ها از دستورات زبان فرعی داده ای و برای انجام عملیاتی که با داده ها سرو کار ندارد از دستورات یک زبان برنامه نویسی مانند دلفی استفاده میشود

  25. فصل 3: مدلهای پایگاه داده

  26. مدلهای پایگاه داده ها • مدل پایگاه داده ها مجموعه ای از ساختار منطقی داده ها و روابط میان داده ها را نمایش میدهد شامل دو دسته زیر است : • مدل انتزاعی (Conceptual Models) ساختار منطقی داده ها و روابط میان آنهاست • مدل موجودیت – رابطه(Entity Relationship Model(ERM)) • مدل شی گرا (Object Oriented Model(OOM)) • مدل پیاده سازی(Implementation Models) چگونگی پیاده سازی مدل انتزاعی است. • مدل سلسله مراتبی(Hierarchical Database Model) • مدل شبکه ای (Network Database Model) • مدل رابطه ای (Relational Database Model)

  27. مدل های پایگاه داده ها • اطلاعات فروشندگان • شماره فروشنده(S1,S2,S3,S4) • نام فروشنده(البرز، یزدقطعه،خودیاران) • شهر(اصفهان،یزد،تهران) • اطلاعات قطعات • شماره قطعه(P1,P2,P3,P4) • نام قطعه(سیمان، آلومینیم،آرماتور،تیرآهن) • رنگ(مشکی،طوسی،سفید) • اطلاعات مربوط به فروش • فروشنده S1، 10000کیلوگرم از قطعه P2 فروخته است. • فروشنده S1، 3000کیلوگرم از قطعه P4 فروخته است. • فروشنده S2، 2000کیلوگرم از قطعه P1 فروخته است. • فروشنده S2، 4000کیلوگرم از قطعه P2 فروخته است. • فروشنده S2، 3000کیلوگرم از قطعه P4 فروخته است. • فروشنده S3، 3000کیلوگرم از قطعه P4 فروخته است.

  28. مدل سلسله مراتبی • در این مدل، داده ها در گره های یک درختواره غیر چرخشی متصل ذخیره میشود که این درخت یک ریشه دارد و چند فرزند که تنها یک پدر دارند. مسیر پیمایش از بالا به پائین و از چپ به راست است • مدل سلسله مراتبی تنها برای پیاده سازی روابط یک به چند است. • مدل سلسله مراتبی برای پیاده سازی روابط چند به چند مناسب نیست از اینرو دو روش برای پیاده سازی مطرح میشود: • طرف فروشنده را یک و طرف قطعه را چند در نظر بگیرید. • طرف قطعه را یک و طرف فروشنده را چند قرار دهیم

  29. مدل سلسله مراتبی • بررسی عملیات گوناگون در مدل سلسله مراتبی با توجه به شکل سمت چپ • عملیات بازیابی: • نام فروشندگانی که قطعه P2 را می فروشند؟ کافیست در قطعات، قطعه P2 را پیدا کرده نام فروشندگان زیر قطعه را ثبت کنیم. • نام قطعاتی که توسط فروشنده S2 فروخته شده است؟ لازم است کلیه قطعات و فروشندگان مربوطه پیمایش شود. • عملیات درج: • فروشنده S3 به دلیل آنکه قطعه ای نفروخته است و در درخت پدر ندارد امکان درج آن وجود ندارد. • عملیات حذف : • فرض کنید بخواهیم قطعه P2 را حذف کنیم در این حالت به صورت ناخواسته اطلاعات S1 را نیز حذف کرده ایم. • همچنین اگر بخواهیم یک فروشنده را حذف کنیم باید تمام قطعات را جستجو کنیم تا بتوانیم یک فروشنده را حذف کنیم. • عملیات اصلاح: • برای کوچکترین اصلاح در اطلاعات فروشنده باید کل درخت را پیمایش شده و اطلاعات فرشنده تغییر کند

  30. معایب مدل سلسله مراتبی • مدل سلسله مراتبی برای طراحی و پیاده سازی روابط چند به چند مناسب نیست • تهیه گزارشات در این مدل بسیار وقتگیر است • این مدل در عملیات درج ، حذف و اصلاح ناهنجاری دارد • به دلیل استفاده از اشاره گرها و وابستگی به آدرسهای فیزیکی ذخیره سازی، مدل کاملا به محیط فیزیکی ذخیره سازی وابسته است.

  31. مدل شبکه ای • در مدل شبکه ای، اطلاعات در گره های یک گراف ذخیره میشود هر گره میتواند چند پدر و چند فرزند داشته باشد. بنابراین، مدل شبکه ای برای پیاده سازی روابط چند به چند مناسب است. • برای هر فروشنده، مقدار فروش کلیه قطعات در نظر گرفته میشود • برای هر قطعه، مقدار فروخته شده توسط یک فروشنده در نظر گرفته میشود

  32. مدل شبکه ای • عملیات بازیابی: • برای پیدا کردن فروشندگان که قطعه P2 را فروخته اند، کافیست در قطعات، قطعه شماره P2 را یافته ونام کلیه فروشندگان را پیدا کنید • برای پیداکردن نام قطعاتی که توسط فروشنده S2 فروخته شده است، کافیست در میان فروشندگان، فروشنده S2 را یافته، نام کلیه قطعات فروخته شده را پیدا می کنیم • عملیات درج: • هم قطعات و هم فروشندگان میتوانند به تنهائی درج شوند • عملیات حذف: • هم قطعات و هم فروشندگان میتوانند به تنهائی حذف شوند • عملیات اصلاح: • برای یک تغییر کوچک در یک گره لازم اصلاح تنها در یک گره انجام شود

  33. مدل شبکه ای • محاسن مدل شبکه ای : • مدل شبکه ای بر خلاف مدل سلسله مراتبی، برای پیاده سازی روابط چند به چند نیز مناسب است. • در مدل شبکه ای، ناهنجاری درج، حذف و اصلاح وجود ندارد. • معایب مدل شبکه ای: • طراحی و پیاده سازی و برنامه نویسی در مدل شبکه ای بسیار پیچیده است. • مدل شبکه ای به دلیل استفاده از اشاره گرها کاملا به محیط فیزیکی ذخیره سازی داده ها وابسته است و با انجام کوچکترین تغییر در ساختار پایگاه داده ها، طراحان و برنامه نویسان با مشکل مواجه میشوند

  34. مدل رابطه ای • اساس مدل رابطه ای • در مدل رابطه ای، داده ها در داخل جداول ذخیره می شوند. در این مدل برای هر یک از موجودیتها و یا روابط میان موجودیتها یک جدول مجزا در نظر گرفته می شود • پایگاه داده رابطه ای رایجترین پایگاه داده های مورد استفاده است

  35. مدل رابطه ای • عملیات بازیابی : • برای پیدا کردن فروشندگان که قطعه P2 را فروخته اند، کافیست در جدول SP شماره فروشندگانی را که قطعه P2را فروخته اند بدست آورد. • برای پیداکردن نام قطعاتی که توسط فروشنده S2 فروخته شده است، کافیست به جدول Part مراجعه کنیم • عملیات درج : • در جدول Supplier اطلاعات فروشندگان بودن قطعات ثبت میشود و در جدول Part اطلاعات قطعات بدون اطلاعات فروشندگان ثبت میشود • عملیات حذف : • میتوان اطلاعات فروشندگان را از جدول Supplierحذف کرد بدون آنکه اطلاعات قطعه حذف شود • عملیات اصلاح: • برای تغییر مشخصات قطعهکافیست این اصلاح تنها در یک سطر از جدول Part انجام شود

  36. مدل رابطه ای • محاسن مدل رابطه ای : • در مدل رابطه ای ، ناهنجاری درج، حذف و اصلاح وجود ندارد. (مشروط به آنکه جداول درست طراحی شده باشد) • مدل رابطه ای برای روابط یک به چند و چند به چند طراحی شده است. • طراحی و پیاده سازی آن بسیار ساده است. • به علت عدم وابستگی به آدرسهای فیزیکی، طراحان پایگاه داده ها و برنامه نویسان را از درگیر شدن با جزئیات ذخیره سازی فیزیکی داده ها معاف می کند.

  37. مفاهیم پایگاه داده های رابطه ای • جدول یا رابطه(Table or Relation): هر جدول یا رابطه، ساختاری دو بعدی شامل سطرها و ستونهاست. در پایگاه داده های رابطه ای برای هر نوع موجودیت یا ارتباط میان موجودیتها یک جدول در نظر گرفته میشود. • ویژگی (Attribute):هر یک از ستونهای(Column) یک جدول نمایانگر یکی از ویژگیهای نوع موجودیت است.(ستونهای S#، name و course) • تاپل، رکورد(Tupple):هر سطر(Row) از جدول را یک تاپل یا رکورد می نامند (کامپیوتر- آرش راد -7801) • بدنه (Body): مجموعه تاپلهای یک جدول را بدنه آن جدول نامند.

  38. مفاهیم پایگاه داده های رابطه ای • مجموعه عنوان (Header):مجموعه ویژگیهای یک جدول را مجموعه عنوان آن می نامند. • دامنه یک ویژگی (Domain): مجموعه مقادیر مجاز برای یک ویژگی را دامنه آن ویژگی نامند یا مقادیر هر ویژگی از دامنه آن ویژگی انتخاب می شوند. • درجه یک رابطه (Relation Degree): تعداد ویژگیهای یک جدول را درجه آن جدول یا رابطه نامند(برای جدول ,Student 3 است) • کاردینالیتی یک رابطه (Relation Cardinality): تعداد Tupple های یک جدول در هر لحظه از حیات آن را کاردینالیتی آن جدول یا رابطه می گویند(برای جدول student ، 4 است) • وابستگی تابعی(Functional Dependence):دریک جدول ویژگی B به ویژگی A وابستگی تابعی دارد اگر به ازاء هر مقدار برای ویژگی A حداکثر یک مقدار برای ویژگی B وجود داشته باشد. به صورت A->B نشان می دهیم

  39. مفاهیم پایگاه داده های رابطه ای- وابستگی تابعی • روابط صحیح: • St# ->name, course • St# + name -> course • St#+name+course->course, name • روابط ناصحیح : • name+course-> St# • name -> course

  40. مفاهیم پایگاه داده های رابطه ای- وابستگی تابعی Employee(emp#,name,family,Id,birthDate,birthPlace,address,SSN) (شماره ملی،آدرس،محل تولد،تاریخ تولد،شماره شناسنامه،نام خانوادگی،نام ،شماره کارمندی) • Emp#->name • Emp#+Family->Id • SSN->emp#,name,family,Id • Id+birthDate+birthplace • Name+family->Id • Id+birthplace->name • Id->name,family

  41. مفاهیم پایگاه داده های رابطه ای- وابستگی تابعی کامل • وابستگی تابعی کامل(Full Functional Dependence): در یک جدول، ویژگی B به ویژگی A وابستگی تابعی کامل دارد(A B) اگر اولا ویژگی B به ویژگی A وابستگی تابعی داشته باشد ثانیا به هیچ جزئی از آن وابستگی تابعی نداشته باشد. • وابستگی تابعی جزئی(Partial Dependence):در یک جدول، ویژگی B به ویژگی A وابستگی تابعی جزئی دارد(A B) اگر اولا ویژگی B به ویژگی A وابستگی تابعی داشته باشد ثانیا به جزئی از آن نیز وابستگی تابعی داشته باشد.

  42. مفاهیم پایگاه داده های رابطه ای- وابستگی تابعی کامل • مثال از جدول student: • St# name • Name + course st# • Name course • St# + name course St# course

  43. مفاهیم پایگاه داده های رابطه ای- وابستگی تابعی کامل • مثال از جدول student: • Emp # name, family, Id,… • SSN name, family, emp#,… • Id + birthDate + birthPlaceemp#, name, family • Emp# + name family • Id + birthPlace name • SSN + Id name • Id + birthDate + birthPlace + name family

  44. انواع کلیدها در پایگاه داده های رابطه ای • سوپر کلید(Super Key): مجموعه ای از یک یا چند ویژگی است که سایر ویژگیهای جدول به آن وابستگی تابعی دارند. • کلید کاندیدا(Candidate Key): کلید کاندیدا سوپر کلیدی است که قابل خلاصه شدن نباشد ویا سوپر کلیدی است که هیچ جزئی از آن سوپر کلید نباشد. • کلید اصلی(Primary Key): مجموعه ای از یک یا چند ویژگی است که برای شناسائی و تمایز میان موجودیتهای یک دسته مورد استفاده قرار میگیرد. اصولا یکی از کلیدهای کاندیدا به عنوان کلید اصلی در نظر گرفته میشود. • کلید ثانویه (Secondary Key): مجموعه ای از یک یا چند ویژگی است که در صورت عدم دسترسی به مقدار کلید اصلی، از مقدار آن برای تسریع جستجوی اطلاعات یک موجودیت خاص استفاده می شود که منحصر به فرد نیست. • کلید خارجی(Foreign Key):اگر ویژگی A بین جدول 1 و جدول 2 مشترک و در جدول 1 کلید اصلی باشد آنگاه ویژگی A در جدول 2، کلید خارجی نسبت به جدول 1 خواهد بود.

  45. انواع کلیدها در پایگاه داده های رابطه ای • City(city#,Cityname) • St(St#, sname, city#,field) • Course(crs#,cname.unit) • Enroll(St#,crs#,year,term,grade) • کلید اصلی؟ • کلید خارجی؟ • کلید ثانویه؟

  46. سوپرکلید(Super Key) • St# : Student سوپر کلیدهای جدول • St# + Name • St# + Course • S# + Name + Course • Emp# : Employee سوپر کلیدهای جدول • Emp#+name + … • Id+birthdate+birthplace • Id+birthdate+birthplace+name • SSN • SSN+emp#

  47. کلیدکاندیدا(Candidate Key) • کلید کاندیدا برای جدول Student به شرح زیر است: • St# • کلید کاندیدا برای جدول Employee به شرح زیر است: • Emp# • SSN • Id+BirthDate+BirthPlace

  48. کلیداصلی(Primary Key) • یکی از کلیدهای کاندیدا به عنوان کلید اصلی در نظر گرفته میشود • برای جدول student :ST# • برای جدول employee : emp# (آخرین کلید طولانی است و ممکن است همه کد ملی نداشته باشند) • در جدول city : city# • در جدول St : st# • در جدول Course : crs# • در جدول Enroll : (st#+crs#+year+term)

  49. کلید ثانویه(Secondary Key) • این کلید منحصر بفرد نیست • در جدول student: • name • name+course • در جدول employee: • Name+family • SSN • Id+BirthDate+BirthPlace

  50. کلید خارجی(Foreign Key) • City(city#,Cityname) • St(St#, sname, city#,field) • Course(crs#,cname.unit) • Enroll(St#,crs#,year,term,grade) • City# بین دو جدول city و st • St# بین دو جدول st و enroll • Crs# بین دو جدول courseو enroll

More Related