آموزش پایگاه داده ها - بخش یکم
TRANSCRIPT
هاپایگاه داده
faradars.org/fvsft105
:مدرسفرشید شیرافکن
دکتری دانشگاه تهران دانشجوی (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )
پایگاه داده هانرمالتر سازی رابطه ها: فصل هفتم
Normalisation
1
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
بهنگاموحذف،درجعملیاتدراستممکننیزنرمالچندهررابطههر
.باشدداشتهمشکالتیسازی
.کردترنرمالامکانحدتارانرمالرابطهیکاستبهتربنابراین
2
نرمال تر سازی
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
.گویندمیآنومالیراغیرعادیوضعودشواری
رمقدایا.شودحذفنیزایناخواستهاطالعاتآنآمدپیوکنیممیحذفراسطریکهوقتیمثالا
.باشدهداشتتغییربهنیازهمدیگرسطرهایدرحالیکهدردهیممیتغییرسطریکبرایراصفتی
3
آنومالی
:شودمیگفتهزیرحالتسهازیکهربهسازیذخیرهعملیاتدرآنومالی
عملیکانجامازبعدبد،پیامدبروز-1
عملیکانجامامکانعدم-2
عملیکانجامدرکاریاضافهبروز-3
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
شودانجامنیزداردوجودS1کهسطرهاییتمامدربایدعملایندهیم،تغییرراS1شهراگر،زیررابطهدر
.(فزونکاری)
.شودانجامشوندهمنتشرسازیبهنگامباید،ناسازگاریازجلوگیریبرایواقعدر
QTYP#CITYSTATUSS#300200300200400
P1P2P1P2P5
TehranTehran
kishyazd
Tehran
2020101020
S1S1S2S3S4
4
آنومالی در بهنگام سازی
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
S3کهاطالعاین"استکردهتهیهتا200تعدادبهP2ازS3“اطالعحذفبا،زیررابطهدر
.شودمیحذفنیزاستyazdساکن
QTYP#CITYSTATUSS#300200300200400
P1P2P1P2P5
TehranTehran
kishyazd
Tehran
2020101020
S1S1S2S3S4
5
آنومالی در حذف
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
.کرددرجرا"استساکنهمدانشهردرS5کنندهتهیه"اطالعتواننمی،زیررابطهدر
.استکردهتهیهراایقطعهچهبدانیمبایدچون
#S)اصلیکلید , P#)باشدتهینبایداصلیکلیدجزءهیچموجودیتیجامعیتقاعدهطبقواست.
QTYP#CITYSTATUSS#300200300200400
P1P2P1P2P5
C2C2C3C3C2
2020101020
S1S1S2S3S4
6
آنومالی در درج
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
تجزیه مطلوب
7
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
یکدیگرازمستقلR2وR1اگراست،مطلوبR2وR1رابطهدوبهRرابطهتجزیه
:باشندبرقرارزیرشرایطوباشند
.باشدکاندیدکلیدآنهاازیکیدرحداقلرابطه،دودرمشتركصفت-1
ازیا،باشندموجودR2وR1هایFDمجموعهدرRدرموجودهایFDتمام-2
.باشنداستنتاجقابلمنطقااهاFDمجموعهاین
8
مطلوب ضوابط ریسانن برای تجزیه
فرادرس
FaraDars.org
هاپایگاه داده
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
هاپایگاه داده
faradars.org/fvsft105
.استمفروضهستند،صفاتازمجموعهسهCوBوAآندرکهR(A,B,C)رابطه
R1:بااستبرابرخوبتجزیهآنگاه،ABاگر (A,B)وR2 (A,C)
R1:بااستبرابرخوبتجزیهآنگاهBCوABاگر (A,B)وR2 (B,C)
10
هیثقضیه
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
فرم های نرمال
(NORMAL FORMS)
11
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
:ازعبارتندنرمالهایفرم
12
فرم های نرمال
1NF
2NF
3NF
BCNF
4NF
5NF
.هستندنرمالترقبلیفرمازنرمال،هایفرمازیکهر
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
1NF ،باشدتک مقداری هر صفت خاصه در هر تاپل .
2NF1NF ه باشدنداشتجزئیوابستگی تابعی با کلید اصلی، ،غیرکلیدصفت خاصه هر باشد و.
3NF2NF باشدداشته نواسطهبا وابستگی تابعی با کلید اصلی، ،کلیدصفت خاصه غیر هر باشد و.
BCNF کلید کاندید باشددترمینانهر ،.
4NFغیر بدیهی تابعی چند مقداری وابستگی اگرA->->B دارد، آنگاهAابر کلید باشد.
5NF باشدداشته وابستگی پیوندیفقط به کلیدهای کاندیدش.
نرمالفرم های تعریف
13
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
14
1NFتبدیل به
1NFنیست.1NF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
15
RefNo Name Address AccNo
345 Date 23, High Street 120768,348973
543 Rolland 45, The Ash 987654
RefNo Name Address AccNo345 Date 23, High Street 120768
345 Date 23, High Street 348973
543 Rolland 45, The Ash 987654
1NFتبدیل به
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
16
.است2NF، نداردجزئیوابستگی ای که 1NFرابطه
1NF2بهNF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
17
S# CityS1 LondonS2 ParisS4 Hamedan
S# P# QuantityS1 P1 1000S1 P2 1500S1 P3 3400S1 P4 2100S2 P2 3400S2 P3 1000S4 P1 5S4 P4 7
S# P# City QuantityS1 P1 London 1000S1 P2 London 1500S1 P3 London 3400S1 P4 London 2100S2 P2 Paris 3400S2 P3 Paris 1000S4 P1 Hamedan 5S4 P4 Hamedan 7
1NF2بهNF
وابستگی جزئیحذف
S# City
(S# ,P#) City
(S# ,P#) Quantity
:ها وابستگی
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
18
1NF2بهNF
وابستگی جزئیحذف
(item,color) price
item price فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
19
2NF3بهNFفرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
20
2NF3بهNF
انتقالیوابستگی حذف
price
tax
itemفرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
CITY
STATUS
S#
21
CITY STATUS
CITYS#
2NF3بهNF
انتقالیوابستگی حذف
city status
فرادرس
FaraDars.org
هاپایگاه داده
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)
:هاوابستگی
AD:جزئی
(رسیممیدوهربهکلیداز)EF:انتقالی
1NF 3بهNF
فرادرس
FaraDars.org
هاپایگاه داده
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)
:هاوابستگی
AD:جزئی
(رسیممیدوهربهکلیداز)EF:انتقالی
1NF 3بهNF
فرادرس
FaraDars.org
هاپایگاه داده
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 3بهNF
فرادرس
FaraDars.org
هاپایگاه داده
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 3بهNF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
قبلمثالوابستگینمودار
26
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
27
1NF 3بهNF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
d
ca
b
آیا رابطه وابستگی جزئی دارد؟
28
سئوال
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
BCNF
29
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
Aدر:تعریف B،گوییممیAاستدترمینان.
کلیدآن،دترمینانهراگرفقطواگراستBCNF(کاد-بایس)سطحدرایرابطه
.باشدکاندید
30
BCNFرابطه
:دترمینان است ولی کلید کاندید نیستCصفت
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
هايتگيوابسمجموعهدروباشدداشتهكاندیدكليدیکتنها،3NFرابطهیکاگر
كليدازناشيهايوابستگيازغيردیگريتابعيوابستگيآن،ناپذیركاهشتابعي
.هستهمBCNFرابطهآنگاه،باشدنداشتهوجودكاندید
31
نکات
.استBCNF، تمام کلید رابطه
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
D
CA
B
Bصفاتچون-بله:حل , Aکاندیدکلیدهمهستند،دترمینانهم.
32
مثال
؟استBCNFفرمدر،مقابل3NFرابطهآیا
فرادرسBوA: شامل دو کلید کاندید
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
R ( A, B, C)
R2 ( A , C)
R1 (C , B )
33
C:وابستگی B
3NF بهBCNF
(A,B)و(A,C): کلید کاندیددارای دو
Cباشدنمیکاندیدکلیدکهحالیدر،استدترمینان.
.نباشدBCNFاماباشد3NFاستممکنرابطهکاندید،کلیددوبیندرمشتركصفتوجودحالتدر:نکته
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
R ( A, B, C,D, E, F,G,H)
R1 ( A , D)
R2 (A,B,C,E,F,G,H)
34
(B,C,G)و(A,B):کاندیدکلیدهای , (B,C,H)
R21 (F,G)
R22(A,B,C,E,F,H)
:هاوابستگی
AD:جزئی
(رسیممیدوهربهکلیداز)FG:انتقالی
(B,F):نیستکاندیدکهدترمینان H
R221(B,F,H)
R222(A,B,C,E,F)
1NF بهBCNF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
35
:کلیدهای کاندید(propertyNo , iDate)(iDate , iTime , carReg)(iDate , iTime , staffNo)
: کلید اصلی
(propertyNo , iDate)
مثال واقعی با توجه به اسالید قبل
فرادرس
FaraDars.org
هاپایگاه داده
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
هاپایگاه داده
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
هاپایگاه داده
faradars.org/fvsft105
. دترمینان است، اما کلید کاندید نیستcچون نیست ، BCNFداده شده، 3NFرابطه
ca
b
38
R1رابطهدوبهرارابطهایناگر (a , c ) , R2 (c , b وابستگیکنیم،تجزیههستندBCNFدوهرکه(
(a,b) cنشودانجامتجزیهعملاستبهتربنابراین.رودمیبیناز.
عدم نیاز به تجزیه
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
39
ضوابط،BCNFرابطهدوبه3NFرابطهیکتجزیهگاهی
یوابستگتجزیه،اثردراگرعلتهمینبه.نداردراریسانن
وکندمیکفایت3NFهمانصورتایندرشود،حذفهایی
.کردتجزیهنبایدرارابطه
نکته
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
4NF
40
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
41
4NFرابطه
بدیهیغیر تابعی چند مقداری وابستگی است اگر 4NFرابطه ای
.باشدابر کلید Aدر آن وجود داشته باشد، آنگاه
باشد، یا ستون دیگری به Aزیر مجموعه Bبدیهی است اگر وابستگی : تعریف.نداشته باشدBو Aغیر از
A→→ B
A→→ B
فرادرس
FaraDars.org
هاپایگاه داده
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 )
وجودعلتبهامااست،BCNFسطحدرحداقلواستکلیدتمامRرابطه
فرادرس.باشدمیهاییآنومالیدارایافزونگی
FaraDars.org
هاپایگاه داده
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 4بهNF
فرادرس
FaraDars.org
هاپایگاه داده
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)
BCNF4بهNF
F ={ A →→B , B→→HI , CG →→H }
A→→B and B→→HI : A→→HI A→→HI : A→→I
. نیست ابر کلید A، صفت A→→Bنیست، چون با وجود وابستگی چند مقداری 4NFدر فرم Rرابطه
R= ( A, B, C, G , H , I )
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
45
5NF فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
در آن اینپیوندیوابستگیاست که در صورت وجود 5NFسطحای در رابطه
.وابستگی ها ناشی از کلیدهای کاندید باشند
.دداشته باشوابستگی پیوندی به عبارتی فقط به کلیدهای کاندیدش
ه طه 5NFب دPJNFراب ن ز می گ وب ی .ب
46
5NF
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
)SPJدکلیتمامرابطه S# , P# , J#)5فرمدرNFناشیکهاستپیوندیوابستگیدارایچون،باشندنمی
.نداردحضوررابطهاینپرتوهایهمهدرکاندیدکلیدیعنی.باشدنمیرابطهکاندیدکلیداز
47
مثال
:بااستبرابررابطهایندرپیوندیوابستگی
(SP , PJ , JS)
SPرابطهسهبهراSPJرابطهاگریعنی , PJ , JSا مثالتجزیهدووسپسکنیمتجزیه SPوPJهمبارا
تاپلیاینکهبدونبود،خواهدSPJهمانحاصلآنگاه،بزنیمپیوندJSبارانتیجهنهایتدروکنیمپیوند
.باشدشدهکمیااضافه
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
کارمراحل
48
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
Sرابطه (S# , SNAME , STATUS , CITY)5سطحدرNFاست.
.استکاندیدازکلیدناشیرابطهایندرموجودپیوندیهایوابستگیچون
.داردوجودرابطهپرتوهایهمهدرکاندیدکلیدیعنی
:است#Sکاندیدکلیدازناشیزیروابستگی
( (S# , SNAME , STATUS , CITY ) , ( S# , CITY) )
:استSNAMEیا#Sکاندیدکلیدازناشیزیروابستگی
( (S# , SNAME ) , ( S# , STATUS ) , ( SNAME , CITY) )
49
مثال
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
50
وباشند4NFیاونباشند4NFاماباشندBCNFكههایيرابطه
5NF،نادرندنباشند.
ادهسصفاتآنكاندیدكليدهايتماموباشد3NFرابطهاگر
.است5NFرابطهاینصورتدرباشند،
نکات
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
کاهش بعضی از آنومالی ها -1
کاهش بعضی از انواع افزونگی-2
جامعیتتسهیل اعمال بعضی از قواعد -3
51
مزایای نرمالترسازی
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
بروز فزونکاری در سیستم در عمل بازیابی-1
ایجاد نوعی افزونگی -2
زمانگیر بودن فرایند نرمالترسازی-3
مشکل شدن تصمیم گیری ها در تعدد تجزیه ها در مواردی -4
52
معایب نرمالترسازی
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
53
Lecturer RoomA 121B 666C 343D 876
CourseNo Lecturer Time1 A 92 B 105 C 16 D 114 C 33 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
هاپایگاه داده
faradars.org/fvsft105
54
2تمرین
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
55
RefNo Name Address Status AccNo345 C.J. Date 23, High Street Business 120768345 C.J. Date 23, High Street Business 348973543 F.D. Rolland 45, The Ash Domestic 987654675 D.R. Howe 17, Low Street Business 745363675 D.R. Howe 17, Low Street Business 678453675 D.R. Howe 17, Low Street Business 348973
RefNo AccNo345 120768345 348973543 987654675 745363675 678453675 348973
RefNo Name Address Status345 C.J. Date 23, High Street Business543 F.D. Rolland 45, The Ash Domestic675 D.R. Howe 17, Low Street Business
3تمرین
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
مروری بر عناوین تدریس شده
اولیهمفاهیم:1فصل
ایرابطهمدل:2فصل
ERنمودار:3فصل
ایرابطهجبر:4فصل
SQL: 5فصل
وابستگی ها: 6فصل
نرمال تر سازی: 7فصل
09121972028: مدرس شیرافکن با مشاوره
56
فرادرس
FaraDars.org
هاپایگاه داده
faradars.org/fvsft105
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« پایگاه داده ها»
.شده استتهیه
برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید
faradars.org/fvsft105
هاپایگاه داده
faradars.org/fvsft105
فرادرس
FaraDars.org