***2
نرمالترسازی رابطه ( ابزار طراحی پایگاه رابطه ای ; آشنایی با تئوری وابستگی )
ایده اصلی : رابطه هر چند نرمال ، ممکن است بازهم آنومالی هایی(Anomalies) داشته باشد .
یادآوری : رابطه نرمال رابطه ای است که مقادیر تمام صفات خاصه اش اتومیک باشند .
یادآوری :
عدم امکان انجام یک عمل
بروز تبعات نامطلوب روی انجام یک عمل
بروز فزونکاری در سیستم در انجام یک عمل
***3
مثال : رابطه SPc مفروض است .
در درج : این رابطه در درج آنومالی دارد . درج کن این اطلاع را
درج ناممکن است تا ندانیم چه قطعه ای تهیه کرده است زیرا کلید اصلی رابطه SPC ، (S# و P# ) است و درج تاپل بدون داشتن آنها ناممکن است .
در حذف :
حذف کن < S3 , P1 , 90 > . انجام شدنی است ، اما اطلاع ناخواسته حذف می شود ( اینکه S3 ساکن C1 است) .
***4
نرمال بودن ( نرمالیتی ) درجات یا سطوح یا صور دارد .
CODD در آغاز سه صورت تعرِیف کرده است که به آنها صور کلاسیک کادی می گوییم
1NF
2NF
3NF
صور دیگر
(Boyce/Codd Normal Form ) BCNF
4NF
(Projection-Join Normal Form) ( PJ/NP) 5NF
( Domain-Key Normal Form) DKNF
***5
در بهنگام سازی : شهر S1 را عوض کن .
UPDATE S
SET CITY = ‘C1’
WHERE S# = ‘S1’ ;
عمل منطقا تاپلی تبدیل به عمل منطقا مجموعه ای و منجر به بروز فزونکاری در سیستم می شود.
رابطه SPC آنومالی دارد . دلیل غیر تئوریک این آنومالی اینست که در رابطه SPc پدیده اختلاط اطلاعاتی وجود دارد.ِیعنی اطلاعات در مورد شی یا موجودیت محموله با اطلاعات در مورد تهیه کننده مخلوط شده است . شهراز صفات خاصه تهیه کننده است و با صفات خاصه محموله ترکیب شده است ، همین اختلاط اطلاعاتی سبب بروز پدیده افزونگی هم شده است .
رابطه SPc خوش طرح (well design) نیست و خواهیم دید که این طراحی باید عوض شود .
***9
نکته : FD ها در “ خرد جهان واقع “ ( محیط عملیاتی ) تفسیر دارند . در واقع بیانگر قواعد معنایی محیط عملیاتی هستند ( قوانین Semantic ناظر بر محیط عملیاتی ) .
S# CITY
قاعده Semantic : هر تهیه کننده در یک شهر دفتر دارد .
S# STATUS
قاعده Semantic : هر تهیه کننده یک مقدار وضعیت دارد .
مثال : در یک محیط آموزشی :
PR # CO#
1- یعنی یک استاد فقط یک درس را تدریس می کند .
2 – یک درس توسط اساتید مختلف تدریس می شود.
CO# PR#
(جداول در فایل اصلی موجود است.)