Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

آموزش پایگاه داده ها - بخش یکم

463 vues

Publié le

پایگاه داده ها یکی از دروسی است که دانشجویان رشته کامپیوتر باید در مقطع کارشناسی بگذرانند. در این مجموعه ابتدا مفاهیم اولیه در پایگاه داده تدریس می شود. سپس در فصل دوم مدل رابطه ای و در فصل سوم نمودار ER تدریس می شود.

سرفصل هایی که در این آموزش به آن پرداخته شده است:

درس یکم: تعاریف اولیه سیستم پایگاه داده
درس دوم: ساختار داده ای رابطه ای
درس سوم: مدل ER
درس چهارم: جبر رابطه ایی
...

برای توضیحات بیشتر و تهیه این آموزش لطفا به لینک زیر مراجعه بفرمائید:
http://faradars.org/courses/fvsft105

Publié dans : Formation
  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

آموزش پایگاه داده ها - بخش یکم

  1. 1. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫مدرس‬: ‫شیرافکن‬ ‫فرشید‬ ‫دانشجوی‬‫تهران‬ ‫دانشگاه‬ ‫دکتری‬ (‫ارشد‬ ‫کارشناسی‬ ‫و‬ ‫کارشناسی‬:‫افزار‬ ‫نرم‬ ‫کامپیوتر‬( )‫دکتری‬:‫انفورماتیک‬ ‫بیو‬) ‫ها‬ ‫داده‬ ‫پایگاه‬ ‫هفتم‬ ‫فصل‬:‫ها‬ ‫رابطه‬ ‫سازی‬ ‫نرمالتر‬ Normalisation 1 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  2. 2. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫هر‬‫رابطه‬‫هر‬‫چند‬‫نرمال‬‫نیز‬‫ممکن‬‫است‬‫در‬‫عملیات‬‫درج‬،‫حذف‬‫و‬‫بهنگام‬ ‫سازی‬‫مشکالتی‬‫داشته‬‫باشد‬. ‫بنابراین‬‫بهتر‬‫است‬‫یک‬‫رابطه‬‫نرمال‬‫را‬‫تا‬‫حد‬‫امکان‬‫نرمال‬‫تر‬‫کرد‬. 2 ‫سازی‬ ‫تر‬ ‫نرمال‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  3. 3. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫دشواری‬‫و‬‫وضع‬‫غیرعادی‬‫را‬‫آنومالی‬‫می‬‫گویند‬. ‫ا‬‫ال‬‫مث‬‫وقتی‬‫که‬‫سطری‬‫را‬‫حذف‬‫می‬‫کنیم‬‫و‬‫پی‬‫آمد‬‫آن‬‫اطالعات‬‫ناخواسته‬‫ای‬‫نیز‬‫حذف‬‫شود‬.‫یا‬‫مقدا‬‫ر‬ ‫صفتی‬‫را‬‫برای‬‫یک‬‫سطر‬‫تغییر‬‫می‬‫دهیم‬‫در‬‫حالیکه‬‫در‬‫سطرهای‬‫دیگر‬‫هم‬‫نیاز‬‫به‬‫تغییر‬‫داشت‬‫ه‬‫باشد‬. 3 ‫آنومالی‬ ‫آنومالی‬‫در‬‫عملیات‬‫ذخیره‬‫سازی‬‫به‬‫هر‬‫یک‬‫از‬‫سه‬‫حالت‬‫زیر‬‫گفته‬‫می‬‫شود‬: 1-‫بروز‬‫پیامد‬،‫بد‬‫بعد‬‫از‬‫انجام‬‫یک‬‫عمل‬ 2-‫عدم‬‫امکان‬‫انجام‬‫یک‬‫عمل‬ 3-‫بروز‬‫اضافه‬‫کاری‬‫در‬‫انجام‬‫یک‬‫عمل‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  4. 4. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫در‬‫رابطه‬‫زیر‬،‫اگر‬‫شهر‬S1‫را‬‫تغییر‬،‫دهیم‬‫این‬‫عمل‬‫باید‬‫در‬‫تمام‬‫سطرهایی‬‫که‬S1‫وجود‬‫دارد‬‫نیز‬‫انجام‬‫شود‬ (‫فزونکاری‬). ‫در‬‫واقع‬‫برای‬‫جلوگیری‬‫از‬‫ناسازگاری‬،‫باید‬‫بهنگام‬‫سازی‬‫منتشر‬‫شونده‬‫انجام‬‫شود‬. QTYP#CITYSTATUSS# 300 200 300 200 400 P1 P2 P1 P2 P5 Tehran Tehran kish yazd Tehran 20 20 10 10 20 S1 S1 S2 S3 S4 4 ‫سازی‬ ‫بهنگام‬ ‫در‬ ‫آنومالی‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  5. 5. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫در‬‫رابطه‬‫زیر‬،‫با‬‫حذف‬‫اطالع‬“S3‫از‬P2‫به‬‫تعداد‬200‫تا‬‫تهیه‬‫کرده‬‫است‬"‫این‬‫اطالع‬‫که‬S3 ‫ساکن‬yazd‫است‬‫نیز‬‫حذف‬‫می‬‫شود‬. QTYP#CITYSTATUSS# 300 200 300 200 400 P1 P2 P1 P2 P5 Tehran Tehran kish yazd Tehran 20 20 10 10 20 S1 S1 S2 S3 S4 5 ‫حذف‬ ‫در‬ ‫آنومالی‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  6. 6. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫در‬‫رابطه‬‫زیر‬،‫نمی‬‫توان‬‫اطالع‬"‫تهیه‬‫کننده‬S5‫در‬‫شهر‬‫همدان‬‫ساکن‬‫است‬"‫را‬‫درج‬‫کرد‬. ‫چون‬‫باید‬‫بدانیم‬‫چه‬‫قطعه‬‫ای‬‫را‬‫تهیه‬‫کرده‬‫است‬. ‫کلید‬‫اصلی‬(S# , P#)‫است‬‫و‬‫طبق‬‫قاعده‬‫جامعیت‬‫موجودیتی‬‫هیچ‬‫جزء‬‫کلید‬‫اصلی‬‫نباید‬‫تهی‬‫باشد‬. QTYP#CITYSTATUSS# 300 200 300 200 400 P1 P2 P1 P2 P5 C2 C2 C3 C3 C2 20 20 10 10 20 S1 S1 S2 S3 S4 6 ‫درج‬ ‫در‬ ‫آنومالی‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  7. 7. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫مطلوب‬ ‫تجزیه‬ 7 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  8. 8. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫تجزیه‬‫رابطه‬R‫به‬‫دو‬‫رابطه‬R1‫و‬R2‫مطلوب‬،‫است‬‫اگر‬R1‫و‬R2‫مستقل‬‫از‬‫یکدیگر‬ ‫باشند‬‫و‬‫شرایط‬‫زیر‬‫برقرار‬‫باشند‬: 1-‫صفت‬‫مشترك‬‫در‬‫دو‬،‫رابطه‬‫حداقل‬‫در‬‫یکی‬‫از‬‫آنها‬‫کلید‬‫کاندید‬‫باشد‬. 2-‫تمام‬FD‫های‬‫موجود‬‫در‬R‫در‬‫مجموعه‬FD‫های‬R1‫و‬R2‫موجود‬‫باشند‬،‫یا‬‫از‬ ‫این‬‫مجموعه‬FD‫ها‬‫ا‬‫ا‬‫منطق‬‫قابل‬‫استنتاج‬‫باشند‬. 8 ‫تجزیه‬ ‫برای‬ ‫ریسانن‬ ‫ضوابط‬‫مطلوب‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  9. 9. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫کدام‬‫یک‬‫از‬‫تجزیه‬‫های‬‫رابطه‬R (a , b , c)‫با‬‫وابستگی‬‫های‬‫زیر‬‫مطلوب‬‫است؟‬ a b , a c , b c ‫الف‬-R1 ( a , b) , R2 (b , c) ‫ب‬-R1 ( a , b) , R2 ( a , c) ‫ج‬-R1 ( a , c) , R2 (b , c) ‫حل‬:‫تجزیه‬‫الف‬،‫هر‬‫دو‬‫شرط‬‫قضیه‬‫ریسانن‬‫را‬‫دارد‬. ‫در‬‫تجزیه‬‫ب‬،‫نمی‬‫توان‬‫وابستگی‬b c‫را‬‫از‬‫دو‬‫وابستگی‬‫موجود‬‫در‬‫روابط‬R1‫و‬R2‫ا‬‫ا‬‫منطق‬‫استنتاج‬‫کرد‬. ‫در‬‫تجزیه‬‫ج‬،‫نمی‬‫توان‬‫وابستگی‬a b‫را‬‫را‬‫از‬‫دو‬‫وابستگی‬‫موجود‬‫در‬‫روابط‬R1‫و‬R2‫ا‬‫ا‬‫منطق‬‫استنتاج‬‫کرد‬.‫همچنین‬ ‫شرط‬‫اول‬‫قضیه‬‫ریسانن‬‫را‬‫نیز‬‫ندارد‬.      9 ‫مثال‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  10. 10. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫رابطه‬R(A,B,C)‫که‬‫در‬‫آن‬A‫و‬B‫و‬C‫سه‬‫مجموعه‬‫از‬‫صفات‬،‫هستند‬‫مفروض‬‫است‬. ‫اگر‬AB،‫آنگاه‬‫تجزیه‬‫خوب‬‫برابر‬‫است‬‫با‬:R1 (A,B)‫و‬R2 (A,C) ‫اگر‬AB‫و‬BC‫آنگاه‬‫تجزیه‬‫خوب‬‫برابر‬‫است‬‫با‬:R1 (A,B)‫و‬R2 (B,C) 10 ‫قضیه‬‫هیث‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  11. 11. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫نرمال‬ ‫های‬ ‫فرم‬ (NORMAL FORMS) 11 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  12. 12. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫فرم‬‫های‬‫نرمال‬‫عبارتند‬‫از‬: 12 ‫نرمال‬ ‫های‬ ‫فرم‬ 1NF 2NF 3NF BCNF 4NF 5NF ‫هر‬‫یک‬‫از‬‫فرم‬‫های‬،‫نرمال‬‫از‬‫فرم‬‫قبلی‬‫نرمالتر‬‫هستند‬. ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  13. 13. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 1NF،‫تاپل‬ ‫هر‬ ‫در‬ ‫خاصه‬ ‫صفت‬ ‫هر‬‫مقداری‬ ‫تک‬‫باشد‬. 2NF1NF‫و‬ ‫باشد‬‫هر‬‫خاصه‬ ‫صفت‬‫غیرکلید‬،،‫اصلی‬ ‫کلید‬ ‫با‬‫تابعی‬ ‫وابستگی‬‫جزئی‬‫نداشت‬‫باشد‬ ‫ه‬. 3NF2NF‫و‬ ‫باشد‬‫هر‬‫غیر‬ ‫خاصه‬ ‫صفت‬‫کلید‬،،‫اصلی‬ ‫کلید‬ ‫با‬‫تابعی‬ ‫وابستگی‬‫با‬‫واسطه‬‫ن‬‫داشته‬‫باشد‬. BCNF‫هر‬‫دترمینان‬‫باشد‬ ‫کاندید‬ ‫کلید‬ ،. 4NF‫اگر‬‫وابستگی‬‫مقداری‬ ‫چند‬ ‫تابعی‬‫بدیهی‬ ‫غیر‬A->->B‫آنگاه‬ ،‫دارد‬A‫باشد‬ ‫کلید‬ ‫ابر‬. 5NF‫کاندیدش‬ ‫کلیدهای‬ ‫به‬ ‫فقط‬‫پیوندی‬ ‫وابستگی‬‫داشته‬‫باشد‬. ‫تعریف‬‫های‬ ‫فرم‬‫نرمال‬ 13 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  14. 14. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 14 ‫به‬ ‫تبدیل‬1NF 1NF‫نیست‬. 1NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  15. 15. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 15 RefNo Name Address AccNo 345 Date 23, High Street 120768, 348973 543 Rolland 45, The Ash 987654 RefNo Name Address AccNo 345 Date 23, High Street 120768 345 Date 23, High Street 348973 543 Rolland 45, The Ash 987654 ‫به‬ ‫تبدیل‬1NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  16. 16. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 16 ‫رابطه‬1NF‫که‬ ‫ای‬‫وابستگی‬‫جزئی‬‫ندارد‬،2NF‫است‬. 1NF‫به‬2NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  17. 17. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 17 S# City S1 London S2 Paris S4 Hamedan S# P# Quantity S1 P1 1000 S1 P2 1500 S1 P3 3400 S1 P4 2100 S2 P2 3400 S2 P3 1000 S4 P1 5 S4 P4 7 S# P# City Quantity S1 P1 London 1000 S1 P2 London 1500 S1 P3 London 3400 S1 P4 London 2100 S2 P2 Paris 3400 S2 P3 Paris 1000 S4 P1 Hamedan 5 S4 P4 Hamedan 7 1NF‫به‬2NF ‫حذف‬‫جزئی‬ ‫وابستگی‬ S# City (S# ,P#) City (S# ,P#) Quantity ‫وابستگی‬‫ها‬: ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  18. 18. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 18 1NF‫به‬2NF ‫حذف‬‫جزئی‬ ‫وابستگی‬ (item,color)  price item  price ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  19. 19. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 19 2NF‫به‬3NF‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  20. 20. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 20 2NF‫به‬3NF ‫حذف‬‫وابستگی‬‫انتقالی‬ price tax item‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  21. 21. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 CITY STATUS S# 21 CITY STATUS CITYS# 2NF‫به‬3NF ‫حذف‬‫وابستگی‬‫انتقالی‬ city  status ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  22. 22. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C,D, E, F) R1 ( A , D) R2 (A,B,C,E,F) 22 R21 (E,F) R22(A,B,C,E) ‫وابستگی‬‫ها‬: ‫جزئی‬:A D ‫انتقالی‬:EF(‫از‬‫کلید‬‫به‬‫هر‬‫دو‬‫می‬‫رسیم‬) 1NF‫به‬3NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  23. 23. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C,D, E, F) R1 ( A , D) R2 (A,B,C,E,F) 23 R21 (E,F) R22(A,B,C,E) ‫وابستگی‬‫ها‬: ‫جزئی‬:A D ‫انتقالی‬:EF(‫از‬‫کلید‬‫به‬‫هر‬‫دو‬‫می‬‫رسیم‬) 1NF‫به‬3NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  24. 24. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C,D) R1 ( A , B) R2 (A , C , D ) 24 R22 ( A , C ) R21 ( C , D) ‫وابستگی‬‫ها‬: ‫جزئی‬:A  C,D ‫انتقالی‬:C  D 1NF‫به‬3NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  25. 25. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C,D, E, F) R1 ( A , B , C , F) R2 (A , B , D , E ) 25 R21 ( B , E ) R22(A,B, D) ‫وابستگی‬‫ها‬: B  E (A,B)  D 1NF‫به‬3NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  26. 26. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫نمودار‬‫وابستگی‬‫مثال‬‫قبل‬ 26 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  27. 27. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 27 1NF‫به‬3NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  28. 28. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 d c a b ‫دارد؟‬ ‫جزئی‬ ‫وابستگی‬ ‫رابطه‬ ‫آیا‬ 28 ‫سئوال‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  29. 29. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 BCNF 29 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  30. 30. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫تعریف‬:‫در‬A  B،‫می‬‫گوییم‬A‫دترمینان‬‫است‬. ‫رابطه‬‫ای‬‫در‬‫سطح‬(‫بایس‬-‫کاد‬)BCNF‫است‬‫اگر‬‫و‬‫فقط‬‫اگر‬‫هر‬‫دترمینان‬،‫آن‬‫کلید‬ ‫کاندید‬‫باشد‬. 30 ‫رابطه‬BCNF ‫صفت‬C‫نیست‬ ‫کاندید‬ ‫کلید‬ ‫ولی‬ ‫است‬ ‫دترمینان‬: ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  31. 31. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫اگر‬‫یک‬‫رابطه‬3NF،‫تنها‬‫یک‬‫كليد‬‫كاندید‬‫داشته‬‫باشد‬‫و‬‫در‬‫مجموعه‬‫وابس‬‫تگي‬‫هاي‬ ‫تابعي‬‫كاهش‬‫ناپذیر‬،‫آن‬‫وابستگي‬‫تابعي‬‫دیگري‬‫غير‬‫از‬‫وابستگي‬‫هاي‬‫ناشي‬‫از‬‫كليد‬ ‫كاندید‬‫وجود‬‫نداشته‬‫باشد‬،‫آنگاه‬‫رابطه‬BCNF‫هم‬‫هست‬. 31 ‫نکات‬ ‫رابطه‬‫کلید‬ ‫تمام‬،BCNF‫است‬. ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  32. 32. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 D CA B ‫حل‬:‫بله‬-‫چون‬‫صفات‬B , A‫هم‬‫دترمینان‬،‫هستند‬‫هم‬‫کلید‬‫کاندید‬. 32 ‫مثال‬ ‫آیا‬‫رابطه‬3NF‫مقابل‬،‫در‬‫فرم‬BCNF‫است‬‫؟‬ ‫کاندید‬ ‫کلید‬ ‫دو‬ ‫شامل‬:A‫و‬B ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  33. 33. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C) R2 ( A , C) R1 (C , B ) 33 ‫وابستگی‬:C  B 3NF‫به‬BCNF ‫دو‬ ‫دارای‬‫کاندید‬ ‫کلید‬:(A,C)‫و‬(A,B) C‫دترمینان‬‫است‬،‫در‬‫حالی‬‫که‬‫کلید‬‫کاندید‬‫نمی‬‫باشد‬. ‫نکته‬:‫در‬‫حالت‬‫وجود‬‫صفت‬‫مشترك‬‫در‬‫بین‬‫دو‬‫کلید‬،‫کاندید‬‫رابطه‬‫ممکن‬‫است‬3NF‫باشد‬‫اما‬BCNF‫نباشد‬. ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  34. 34. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C,D, E, F,G,H) R1 ( A , D) R2 (A,B,C,E,F,G,H) 34 ‫کلیدهای‬‫کاندید‬:(A,B)‫و‬(B,C,G) , (B,C,H) R21 (F,G) R22(A,B,C,E,F,H) ‫وابستگی‬‫ها‬: ‫جزئی‬:A D ‫انتقالی‬:FG(‫از‬‫کلید‬‫به‬‫هر‬‫دو‬‫می‬‫رسیم‬) ‫دترمینان‬‫که‬‫کاندید‬‫نیست‬:(B,F) H R221(B,F,H) R222(A,B,C,E,F) 1NF‫به‬BCNF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  35. 35. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 35 ‫کاندید‬ ‫کلیدهای‬: (propertyNo , iDate) (iDate , iTime , carReg) (iDate , iTime , staffNo) ‫اصلی‬ ‫کلید‬: (propertyNo , iDate) ‫قبل‬ ‫اسالید‬ ‫به‬ ‫توجه‬ ‫با‬ ‫واقعی‬ ‫مثال‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  36. 36. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 36 R1 : Property (propertyNo, pAddress) R2 : PropertyInspection (propertyNo, iDate, iTime, comments, staffNo, sName, carReg) R21 : Staff (staffNo, sName) R22 : PropertyInspect (propertyNo, iDate, iTime, comments, staffNo, carReg) R221: taffCar (staffNo, iDate, carReg) R222: Inspection (propertyNo, iDate, iTime, comments, staffNo) R: staffPropertyInspection (propertyNo, iDate, iTime, pAddress ,comments, staffNo, sName, carReg) partial dependency (propertyNo  pAddress). (staffNo, iDate) : Determinant but not candidate key(staffNo, iDate) -> carReg Transitive dependency (staffNo sName) 1NF‫به‬BCNF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  37. 37. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 37 1NF: ORDER ( NO , SID, SNAME, DATE ) ORDER_LINE (NO , PID , PNAME , QTY , COST ) 2NF: ORDER ( NO , SID , SNAME , DATE ) PRODUCT ( PID , PNAME , COST) ORDER_LINE ( NO , PID , QTY) SNAME, in ORDER table, is transitively dependent on SID. 3NF: ORDER ( NO , SID, DATE ) SUPPLIER ( SID , SNAME ) PRODUCT ( PID , PNAME ,COST ) ORDER_LINE ( NO , PID , QTY ) All determinants are candidate keys. All relations are in BCNF. 1NF‫به‬BCNF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  38. 38. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫رابطه‬3NF،‫شده‬ ‫داده‬BCNF، ‫نیست‬‫چون‬c‫نیست‬ ‫کاندید‬ ‫کلید‬ ‫اما‬ ،‫است‬ ‫دترمینان‬. ca b 38 ‫اگر‬‫این‬‫رابطه‬‫را‬‫به‬‫دو‬‫رابطه‬R1 (a , c ) , R2 (c , b )‫که‬‫هر‬‫دو‬BCNF‫هستند‬‫تجزیه‬،‫کنیم‬‫وابستگی‬ (a,b) c‫از‬‫بین‬‫می‬‫رود‬.‫بنابراین‬‫بهتر‬‫است‬‫عمل‬‫تجزیه‬‫انجام‬‫نشود‬.  ‫تجزیه‬ ‫به‬ ‫نیاز‬ ‫عدم‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  39. 39. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 39 ‫گاهی‬‫تجزیه‬‫یک‬‫رابطه‬3NF‫به‬‫دو‬‫رابطه‬BCNF،‫ضوابط‬ ‫ریسانن‬‫را‬‫ندارد‬.‫به‬‫همین‬‫علت‬‫اگر‬‫در‬‫اثر‬،‫تجزیه‬‫وابستگ‬‫ی‬ ‫هایی‬‫حذف‬،‫شود‬‫در‬‫این‬‫صورت‬‫همان‬3NF‫کفایت‬‫می‬‫کند‬‫و‬ ‫رابطه‬‫را‬‫نباید‬‫تجزیه‬‫کرد‬. ‫نکته‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  40. 40. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 4NF 40 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  41. 41. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 41 ‫رابطه‬4NF ‫ای‬ ‫رابطه‬4NF‫اگر‬ ‫است‬‫وابستگی‬‫مقداری‬ ‫چند‬ ‫تابعی‬‫غیر‬‫بدیهی‬ ‫آنگاه‬ ،‫باشد‬ ‫داشته‬ ‫وجود‬ ‫آن‬ ‫در‬A‫کلید‬ ‫ابر‬‫باشد‬. ‫تعریف‬:‫وابستگی‬‫اگر‬ ‫است‬ ‫بدیهی‬B‫مجموعه‬ ‫زیر‬A‫به‬ ‫دیگری‬ ‫ستون‬ ‫یا‬ ،‫باشد‬ ‫از‬ ‫غیر‬A‫و‬B‫باشد‬ ‫نداشته‬. A→→ B A→→ B ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  42. 42. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 42 ‫مثال‬ bookteachercourse Silberschatzshirafkandatabase C.J. Dateshirafkandatabase Silberschatzrastidatabase C.J. Daterastidatabase Silberschatzakbaridatabase C.J. Dateakbaridatabase Stallingsshirafkanos Tanenbaumshirafkanos Stallingshasanios Tanenbaumhasanios course →→ teachercourse →→ book ‫آنومالی‬‫در‬‫درج‬:‫در‬‫اين‬‫رابطه‬‫افزودن‬‫اطالع‬‫اينکه‬sara‫استادی‬‫است‬ ‫که‬database‫درس‬‫می‬،‫دهد‬‫منجر‬‫به‬‫افزودن‬‫دو‬‫تاپل‬‫زير‬‫خواهد‬‫شد‬: (database, Sara, Silberschatz) (database, Sara, C.J. Date ) ‫رابطه‬R‫تمام‬‫کلید‬‫است‬‫و‬‫حداقل‬‫در‬‫سطح‬BCNF،‫است‬‫اما‬‫به‬‫علت‬‫وجود‬ ‫افزونگی‬‫دارای‬‫آنومالی‬‫هایی‬‫می‬‫باشد‬. ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  43. 43. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 43 teachercourse shirafkandatabase rastidatabase akbaridatabase shirafkanos hasanios bookcourse Silberschatzdatabase C.J. Datedatabase Stallingsos Tanenbaumos bookteachercourse Silberschatzshirafkandatabase C.J. Dateshirafkandatabase Silberschatzrastidatabase C.J. Daterastidatabase Silberschatzakbaridatabase C.J. Dateakbaridatabase Stallingsshirafkanos Tanenbaumshirafkanos Stallingshasanios Tanenbaumhasanios BCNF‫به‬4NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  44. 44. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 R ( A, B, C, G , H , I ) R1 ( A , B) R2 (A , C, G , H , I) 44 R21 (C , G , H) R22(A , C , G , I) R221(A , I) R222(A , C , G) BCNF‫به‬4NF F ={ A →→B , B→→HI , CG →→H } A→→B and B→→HI : A→→HI A→→HI : A→→I ‫رابطه‬R‫فرم‬ ‫در‬4NF‫مقداری‬ ‫چند‬ ‫وابستگی‬ ‫وجود‬ ‫با‬ ‫چون‬ ،‫نیست‬A→→B‫صفت‬ ،A‫کلید‬ ‫ابر‬‫نیست‬. R= ( A, B, C, G , H , I ) ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  45. 45. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 45 5NF‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  46. 46. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫رابطه‬‫در‬ ‫ای‬‫سطح‬5NF‫وجود‬ ‫صورت‬ ‫در‬ ‫که‬ ‫است‬‫وابستگی‬‫پیوندی‬‫این‬ ‫آن‬ ‫در‬ ‫باشند‬ ‫کاندید‬ ‫کلیدهای‬ ‫از‬ ‫ناشی‬ ‫ها‬ ‫وابستگی‬. ‫کاندیدش‬ ‫کلیدهای‬ ‫به‬ ‫فقط‬ ‫عبارتی‬ ‫به‬‫پیوندی‬ ‫وابستگی‬‫باش‬ ‫داشته‬‫د‬. ‫ه‬‫ب‬5NF‫ه‬‫ط‬‫ب‬‫ا‬‫ر‬PJNF‫د‬‫ن‬‫ب‬‫و‬‫گ‬‫ی‬‫م‬‫ز‬‫ی‬‫ب‬. 46 5NF ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  47. 47. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫رابطه‬‫تمام‬‫کلی‬‫د‬SPJ( S# , P# , J#)‫در‬‫فرم‬5NF‫نمی‬‫باشند‬،‫چون‬‫دارای‬‫وابستگی‬‫پیوندی‬‫است‬‫که‬‫ناشی‬ ‫از‬‫کلید‬‫کاندید‬‫رابطه‬‫نمی‬‫باشد‬.‫یعنی‬‫کلید‬‫کاندید‬‫در‬‫همه‬‫پرتوهای‬‫این‬‫رابطه‬‫حضور‬‫ندارد‬. 47 ‫مثال‬ ‫وابستگی‬‫پیوندی‬‫در‬‫این‬‫رابطه‬‫برابر‬‫است‬‫با‬:  (SP , PJ , JS) ‫یعنی‬‫اگر‬‫رابطه‬SPJ‫را‬‫به‬‫سه‬‫رابطه‬SP , PJ , JS‫تجزیه‬‫کنیم‬‫وسپس‬‫دو‬‫تجزیه‬‫مثال‬‫ا‬SP‫و‬PJ‫را‬‫با‬‫هم‬ ‫پیوند‬‫کنیم‬‫و‬‫در‬‫نهایت‬‫نتیجه‬‫را‬‫با‬JS‫پیوند‬‫بزنیم‬،‫آنگاه‬‫حاصل‬‫همان‬SPJ‫خواهد‬،‫بود‬‫بدون‬‫اینکه‬‫تاپلی‬ ‫اضافه‬‫یا‬‫کم‬‫شده‬‫باشد‬. ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  48. 48. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫مراحل‬‫کار‬ 48 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  49. 49. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫رابطه‬S (S# , SNAME , STATUS , CITY)‫در‬‫سطح‬5NF‫است‬. ‫چون‬‫وابستگی‬‫های‬‫پیوندی‬‫موجود‬‫در‬‫این‬‫رابطه‬‫ناشی‬‫ازکلید‬‫کاندید‬‫است‬. ‫یعنی‬‫کلید‬‫کاندید‬‫در‬‫همه‬‫پرتوهای‬‫رابطه‬‫وجود‬‫دارد‬. ‫وابستگی‬‫زیر‬‫ناشی‬‫از‬‫کلید‬‫کاندید‬S#‫است‬:  ( (S# , SNAME , STATUS , CITY ) , ( S# , CITY) ) ‫وابستگی‬‫زیر‬‫ناشی‬‫از‬‫کلید‬‫کاندید‬S#‫یا‬SNAME‫است‬:  ( (S# , SNAME ) , ( S# , STATUS ) , ( SNAME , CITY) ) 49 ‫مثال‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  50. 50. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 50 ‫رابطه‬‫هایي‬‫كه‬BCNF‫باشند‬‫اما‬4NF‫نباشند‬‫و‬‫یا‬4NF‫باشند‬‫و‬ 5NF،‫نباشند‬‫نادرند‬. ‫اگر‬‫رابطه‬3NF‫باشد‬‫و‬‫تمام‬‫كليدهاي‬‫كاندید‬‫آن‬‫صفات‬‫س‬‫اده‬ ،‫باشند‬‫در‬‫اینصورت‬‫رابطه‬5NF‫است‬. ‫نکات‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  51. 51. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 1-‫ها‬ ‫آنومالی‬ ‫از‬ ‫بعضی‬ ‫کاهش‬ 2-‫افزونگی‬ ‫انواع‬ ‫از‬ ‫بعضی‬ ‫کاهش‬ 3-‫قواعد‬ ‫از‬ ‫بعضی‬ ‫اعمال‬ ‫تسهیل‬‫جامعیت‬ 51 ‫نرمالترسازی‬ ‫مزایای‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  52. 52. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 1-‫بازیابی‬ ‫عمل‬ ‫در‬ ‫سیستم‬ ‫در‬ ‫فزونکاری‬ ‫بروز‬ 2-‫افزونگی‬ ‫نوعی‬ ‫ایجاد‬ 3-‫نرمالترسازی‬ ‫فرایند‬ ‫بودن‬ ‫زمانگیر‬ 4-‫مواردی‬ ‫در‬ ‫ها‬ ‫تجزیه‬ ‫تعدد‬ ‫در‬ ‫ها‬ ‫گیری‬ ‫تصمیم‬ ‫شدن‬ ‫مشکل‬ 52 ‫نرمالترسازی‬ ‫معایب‬ ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  53. 53. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 53 Lecturer Room A 121 B 666 C 343 D 876 CourseNo Lecturer Time 1 A 9 2 B 10 5 C 1 6 D 11 4 C 3 3 B 4 CourseNo Lecturer Time Room 1 A 9 121 2 B 10 666 5 C 1 343 6 D 11 876 4 C 3 343 3 B 4 666 ‫تمرین‬1 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  54. 54. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 54 ‫تمرین‬2 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  55. 55. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 55 RefNo Name Address Status AccNo 345 C.J. Date 23, High Street Business 120768 345 C.J. Date 23, High Street Business 348973 543 F.D. Rolland 45, The Ash Domestic 987654 675 D.R. Howe 17, Low Street Business 745363 675 D.R. Howe 17, Low Street Business 678453 675 D.R. Howe 17, Low Street Business 348973 RefNo AccNo 345 120768 345 348973 543 987654 675 745363 675 678453 675 348973 RefNo Name Address Status 345 C.J. Date 23, High Street Business 543 F.D. Rolland 45, The Ash Domestic 675 D.R. Howe 17, Low Street Business ‫تمرین‬3 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  56. 56. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫شده‬ ‫تدریس‬ ‫عناوین‬ ‫بر‬ ‫مروری‬ ‫فصل‬1:‫مفاهیم‬‫اولیه‬ ‫فصل‬2:‫مدل‬‫رابطه‬‫ای‬ ‫فصل‬3:‫نمودار‬ER ‫فصل‬4:‫جبر‬‫رابطه‬‫ای‬ ‫فصل‬5:SQL ‫فصل‬6:‫ها‬ ‫وابستگی‬ ‫فصل‬7:‫سازی‬ ‫تر‬ ‫نرمال‬ ‫مشاوره‬‫با‬‫شیرافکن‬ ‫مدرس‬:09121972028 56 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org
  57. 57. ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫فرادرس‬ ‫در‬ ‫شده‬ ‫مطرح‬ ‫نکات‬ ‫مبنای‬ ‫بر‬ ‫ها‬ ‫اسالید‬ ‫این‬ «‫ها‬ ‫داده‬ ‫پایگاه‬» ‫تهیه‬‫است‬ ‫شده‬. ‫نمایید‬ ‫مراجعه‬ ‫زیر‬ ‫لینک‬ ‫به‬ ‫آموزش‬ ‫این‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫کسب‬ ‫برای‬ faradars.org/fvsft105 ‫داده‬ ‫پایگاه‬‫ها‬ faradars.org/fvsft105 ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬ FaraDars.org

×