Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

جلسه يازدهم نرمال سازی قسمت دوم.

Liknende presentasjoner


Presentasjon om: "جلسه يازدهم نرمال سازی قسمت دوم."— Utskrift av presentasjonen:

1 جلسه يازدهم نرمال سازی قسمت دوم

2 آنچه در اين جلسه مي خوانيد:
I) تبديل جداول غیر نرمال به صورتهاي نرمال اصلی

3 آنچه در اين جلسه مي خوانيد:
II) نوشتن دستورات SQL در .Net - اجرای دستورات Insert و Update و Delete - نحوه ذخيره و بازیابی فایل در DB

4 نرمال سازي رابطه‌ها يعني شكستن يك رابطه غير نرمال به چند رابطه كوچكتر با هدف مقابله با: افزونگی داده (redundancy) آنومالي عمليات درج، حذف و بهنگام‌سازي وجود مقادير زياد Null

5 فرم نرمال 1NF جدولي در فرم نرمال 1NF است كه هيچ فيلد مركب نداشته باشد.
از آنجا كه هيچيك از نرم افزارهاي بانك اطلاعات رابطه اي (مانند Access، Sql Server و ...) اجازه تعريف فيلدهاي چندمقداري را نمي دهند، پس هر جدولي كه ما می سازيم می دانیم که حداقل 1NF هست.

6 فرم نرمال 2NF جدولي در فرم نرمال 2NF است كه
ثانيا تمام فيلدهاي غير كليد اصلي با كليد اصلي وابستگي تابعي كامل داشته باشند. (یعنی فیلدها به اجزای تشکیل دهنده کلید اصلی وابسته نباشند) اگر کلید اصلی يک جدول ترکیبی نباشد (یک فیلد تک باشد)، آن جدول حتما 2NF هم هست.

7 مثال: فرض كنيم نمودار وابستگيها در جدول R(A,B,C,D,E) بصورت زير باشد.
تنها فيلدي كه وابستگي آن به كليد ، كامل نيست D است. پس D بايد از اين جدول جدا شود. A B C D E

8 روش تبديل جدول از فرم 1NF به فرم 2NF
جدول را بصورت زير مي شكنيم: فيلدهايي را كه به اجزائي از كليد اصلي وابسته هستند را از جدول جدا كرده، به همراه آن اجزا در يك جدول قرار مي دهيم. كل كليد اصلي به همراه ساير فيلدها در جدول ديگر

9 مثال: تبديل جدول مثال قبل به فرم 2NF
A B C D E A B C D E A B C E B D A B C E B D ديگر در هيچيك از دو جدول، وابستگي تابعي غير كامل بين فيلدها با كليد اصلي نداريم.

10 مثالي ديگر: A B C D E A B C D E A B C B D A E A B C B D A E

11 فرم نرمال 3NF جدولي در فرم نرمال 3NF است كه اولا 2NF باشد.
ثانيا فيلدهاي غير كليد اصلي به هم وابستگي نداشته باشند. (بعبارت ديگر هر فيلد فقط بطور مستقيم (و نه با رابطه تعدي) به كليد اصلي وابسته باشد.)

12 مثال: فرض كنيم نمودار وابستگيها در جدول R(A,B,C,D,E) بصورت زير باشد. جدول در چه سطح نرمالي قرار دارد؟ اگر 3NF نيست آنرا به فرم 3NF تبديل كنيد. جدول در سطح 1NF است. براي تبديل به 3NF بايد اول آنرا به 2NF و سپس به 3NF تبديل كنيم. A B C D E

13 روش تبديل جدول از فرم 2NF به فرم 3NF
جدول را بصورت زير مي شكنيم: فيلدهايي (مثل Y) را كه به فيلد غير كليد اصلي (مثل X) وابسته هستند را از جدول جدا كرده، به همراه X در يك جدول قرار مي دهيم. كليد اصلي به همراه تمام فيلدها بجز Y در جدول ديگر

14 مثال: تبديل جدول مثال قبل به فرم 3NF
T A B C D E A B C D E C B T1 A E D B T2 1) مرحله اول: تبديل جدول Tبه 2NF A B D E B C T1 در سطح 3NF است T2 در سطح 2NF است

15 ادامه A B D E E 1) مرحله دوم: تبديل جدول T2به 3NF D E A B D
پس جدول T به سه جدول T1، T2_1 و T2_2 شكسته شد.

16 مثال: فرض کنيم جدولی مشابه جدول STC با اسکيمای زیر طراحی کرده ايم. میخواهیم در صورت لزوم آنرا نرمالسازی کنيم. برای بررسی سطح نرمال جدول، بعنوان طراح وظيفه داريم لیست وابستگی های موجود در جدول را بنویسیم: Cid → Cname Cid → Units ClgId → Manager (Cid , Sec , term) → Cname (Cid , Sec , term) → Units (Cid , Sec , term) → ClgId (Cid , Sec , term) → manager (Cid , Sec , term) → tId (Sid , Cid , Sec , term) → همه فیلدها Cname Units ClgId Manager tId SId Mark Term Sec CId شماره گروه درسی دانشکده ارائه دهنده مدیر دانشکده

17 ادامه نمودار وابستگی ها:
از نمودار مشخص می شود که جدول در سطح 1NF قرار دارد. برای اينکه 2NF شود باید وابستگی های آبی و سبز از جدول حذف شوند. با وابستگی های سبز رنگ کار را شروع می کنيم چون که دترمينان آنها (سمت چپ وابستگی) بزرگتر است. SId CId Sec term Cname Units ClgId Manager tId Mark

18 ادامه مرحله اول: تبديل T به 2NF (شکستن به دو جدول T1 و T2)
T1 در سطح 2NF و حتی 3NF است اما T2 هنوز 1NF است (بدليل وجود وابستگی های آبی). پس باید اول T2 2NF شود. SId Mark term Sec CId T1 SId CId Sec Term mark ClgId Units Cname Manager tId term Sec CId T2 CId Sec Term Cname Units clgId Manager tId

19 ادامه مرحله دوم: تبديل T2 به 2NF
T2_1 در سطح 2NF و حتی 3NF است. T2_2 هم در سطح 2NF است اما بدليل وجود وابستگی سياه رنگ 3NF نیست. پس T2_2 تنها جدولی است که باید 3NF شود. Cname Units CId T2_1 CId Cname Units ClgId Manager tId term Sec CId T2_2 CId Sec Term clgId Manager tId

20 ادامه مرحله سوم: تبديل T2_2 به 3NF اکنون تمام جدولها در سطح 3NF هستند.
clgId Manager clgId Manager T2_2_2 CId Sec Term clgId tId CId Sec term ClgId tId

21 جمع بندی مثال: جدول نمرات دانشجويان جدول لیست تمام دروس
جدول اوليه جهت نرمالسازی تا سطح 3NF به 4 جدول زير شکسته شد. T1 SId CId Sec Term mark جدول نمرات دانشجويان T2_1 CId Cname Units جدول لیست تمام دروس T2_2_1 clgId Manager جدول لیست تمام دانشکده ها T2_2_2 CId Sec Term clgId tId جدول لیست گروههای درسی ارائه شده

22 فرم نرمال BCNF جدولي در فرم نرمال BCNF است كه
این حالت زمانی مطرح می شود که: جدول دارای چند کلید کاندید باشد. کلید کاندید ترکیبی داشته باشیم. کلیدهای کاندید در اجزایشان با هم اشتراک داشته باشند. مثلا (A,B)و(A,C) اگر در جدولی این 3 شرط برقرار باشد نیاز به نرمالسازی BCNF دارد. جدولي در فرم نرمال BCNF است كه اولا 3NF باشد. ثانيا اجزای کلیدهای کاندید مختلف به هم وابستگی نداشته باشند.

23 مثال: با توجه به نمودار وابستگی ها (که فرضی است) جدول زیر در چه سطح نرمالی قرار دارد؟ در صورت لزوم آنرا نرمالتر کنید. از شکل مشخص است که (sId,term) و (sname,term) هردو کلید کاندید هستند. جدول در سطح 3NF است اما BCNF نیست (بدليل وجود وابستگی بین اجزای دو کلید کاندید). پس باید BCNF شود؛ بصورت زیر: SId term Sname City SId City Sname term SId Sname SId term City

24 برنامه نويسي پايگاه داده در .Net

25 عملیات Insert

26

27

28

29

30 عملیات Update می خواهیم روی هر رکورد از گرید که کلیک می کنیم اطلاعاتش در پایین بیاید. سپس هرکدام را که خواستیم در پایین تغییر دهیم و با کلیک روی دکمه ثبت ، تغییرات ثبت شوند.

31 زمانی که خانه انتخاب شده در گرید عوض شود این دستورات اجرا می شود
زمانی که خانه انتخاب شده در گرید عوض شود این دستورات اجرا می شود. یعنی اطلاعات رکورد انتخاب شده در پایین فرم می آیند.

32

33


Laste ned ppt "جلسه يازدهم نرمال سازی قسمت دوم."

Liknende presentasjoner


Annonser fra Google