際際滷

際際滷Share a Scribd company logo
Never stop improving quality www.elarion.com
M畛c 鱈ch ch畉n h坦a CSDL Bi畛u di畛n  動 畛c m畛i quan h畛 trong CSDL
Tr叩nh sai s坦t khi th棚m, x坦a, s畛a d畛 li畛u
Tr叩nh ph畉i x但y d畛ng l畉i c畉u tr炭c c畛a c叩c quan h畛 khi c畉n   畉n c叩c ki畛u d畛 li畛u m畛i
Gi畛i thi畛u C叩c d畉ng chu畉n : C坦 4 d畉ng chu畉n c董 b畉n. D畉ng chu畉n1 (1 Normal Form - 1NF)
D畉ng chu畉n 2 (2 Normal Form - 2NF
D畉ng chu畉n 3 (3 Normal Form - 3NF)
D畉ng chu畉n Boyce-Codd
D畉ng chu畉n 1  (1/3) 畛nh ngh挑a:  M畛t l動畛c 畛 quan h畛 Q 動畛c g畛i l 畉t chu畉n 1 n畉u m畛i thu畛c t鱈nh c畛a Q 畛u l  thu畛c t鱈nh 董n .
M畛t l動畛c 畛 CSDL 動畛c g畛i l 畉t chu畉n 1 n畉u m畛i l動畛c 畛 quan h畛 con Qi c畛a n坦 畛u 畉t d畉ng chu畉n 1.
Thu畛c t鱈nh 董n :  Gi畉 s畛 c坦 l動畛c 畛 quan h畛 Q.
M畛t thu畛c t鱈nh A 動畛c g畛i l thu畛c t鱈nh 董n  n畉u n坦 kh担ng ph畉i l s畛 t鱈ch h畛p c畛a nhi畛u thu畛c t鱈nh kh叩c.
D畉ng chu畉n 1  (2/3) V鱈 d畛: Ta c坦 quan h畛 sau : Phan_Cong( MaNV , MaPhong) MaPhong kh担ng l thu畛c t鱈nh 董n.
Quan h畛 Phan_Cong kh担ng 畉t chu畉n 1.
C叩ch kh畉c ph畛c :  Phan_Cong( MaNV, MaPhong )
D畉ng chu畉n 1 (3/3) Quan h畛 Phan_Cong 達 畉t chu畉n 1.
D畉ng chu畉n 2  (1/3) 畛nh ngh挑a :  M畛t l動畛c 畛 quan h畛 Q 動畛c g畛i l 畉t chu畉n 2 n畉u : Q 畉t chu畉n 1
M畛i thu畛c t鱈nh kh担ng kh坦a c畛a Q i畛u ph畛 thu畛c 畉y 畛 vo c叩c kh坦a c畛a Q. M畛t l動畛c 畛 CSDL 動畛c g畛i l 畉t chu畉n 2 n畉u m畛i l動畛c 畛  con Qi c畛a n坦 畛u 畉t chu畉n 2.
D畉ng chu畉n 2  (2/3) V鱈 d畛 : Ta c坦 quan h畛 Q sau : NhanVien_DuAn ( MaNV, MaDA  , TenNV, TenDA, DiaDiemDA, SoGio). V畛i c叩c ph畛 thu畛c hm: F1  : MaNV, MaDU   SoGio
F2  : MaNV   TenNV
F3  : MaDA   TenDA, DiaDiemDA. L動畛c 畛 quan h畛 Q ny ch動a 畉t chu畉n 2 v狸 : MaDA   TenDA, DiaDiemDA ch動a 畉t chu畉n 2
MaNV   TenNV ch動a 畉t chu畉n 2.
D畉ng chu畉n 2  (3/3) C叩ch kh畉c ph畛c : T叩ch l動畛c 畛 quan h畛 Q ny thnh c叩c l動畛c 畛 quan h畛 sau :  Q1 ( MaNV ,TenNV)
Q2 ( MaDA , TenDA, DiaDiemDA)

More Related Content

Phan6

  • 1. Never stop improving quality www.elarion.com
  • 2. M畛c 鱈ch ch畉n h坦a CSDL Bi畛u di畛n 動 畛c m畛i quan h畛 trong CSDL
  • 3. Tr叩nh sai s坦t khi th棚m, x坦a, s畛a d畛 li畛u
  • 4. Tr叩nh ph畉i x但y d畛ng l畉i c畉u tr炭c c畛a c叩c quan h畛 khi c畉n 畉n c叩c ki畛u d畛 li畛u m畛i
  • 5. Gi畛i thi畛u C叩c d畉ng chu畉n : C坦 4 d畉ng chu畉n c董 b畉n. D畉ng chu畉n1 (1 Normal Form - 1NF)
  • 6. D畉ng chu畉n 2 (2 Normal Form - 2NF
  • 7. D畉ng chu畉n 3 (3 Normal Form - 3NF)
  • 9. D畉ng chu畉n 1 (1/3) 畛nh ngh挑a: M畛t l動畛c 畛 quan h畛 Q 動畛c g畛i l 畉t chu畉n 1 n畉u m畛i thu畛c t鱈nh c畛a Q 畛u l thu畛c t鱈nh 董n .
  • 10. M畛t l動畛c 畛 CSDL 動畛c g畛i l 畉t chu畉n 1 n畉u m畛i l動畛c 畛 quan h畛 con Qi c畛a n坦 畛u 畉t d畉ng chu畉n 1.
  • 11. Thu畛c t鱈nh 董n : Gi畉 s畛 c坦 l動畛c 畛 quan h畛 Q.
  • 12. M畛t thu畛c t鱈nh A 動畛c g畛i l thu畛c t鱈nh 董n n畉u n坦 kh担ng ph畉i l s畛 t鱈ch h畛p c畛a nhi畛u thu畛c t鱈nh kh叩c.
  • 13. D畉ng chu畉n 1 (2/3) V鱈 d畛: Ta c坦 quan h畛 sau : Phan_Cong( MaNV , MaPhong) MaPhong kh担ng l thu畛c t鱈nh 董n.
  • 14. Quan h畛 Phan_Cong kh担ng 畉t chu畉n 1.
  • 15. C叩ch kh畉c ph畛c : Phan_Cong( MaNV, MaPhong )
  • 16. D畉ng chu畉n 1 (3/3) Quan h畛 Phan_Cong 達 畉t chu畉n 1.
  • 17. D畉ng chu畉n 2 (1/3) 畛nh ngh挑a : M畛t l動畛c 畛 quan h畛 Q 動畛c g畛i l 畉t chu畉n 2 n畉u : Q 畉t chu畉n 1
  • 18. M畛i thu畛c t鱈nh kh担ng kh坦a c畛a Q i畛u ph畛 thu畛c 畉y 畛 vo c叩c kh坦a c畛a Q. M畛t l動畛c 畛 CSDL 動畛c g畛i l 畉t chu畉n 2 n畉u m畛i l動畛c 畛 con Qi c畛a n坦 畛u 畉t chu畉n 2.
  • 19. D畉ng chu畉n 2 (2/3) V鱈 d畛 : Ta c坦 quan h畛 Q sau : NhanVien_DuAn ( MaNV, MaDA , TenNV, TenDA, DiaDiemDA, SoGio). V畛i c叩c ph畛 thu畛c hm: F1 : MaNV, MaDU SoGio
  • 20. F2 : MaNV TenNV
  • 21. F3 : MaDA TenDA, DiaDiemDA. L動畛c 畛 quan h畛 Q ny ch動a 畉t chu畉n 2 v狸 : MaDA TenDA, DiaDiemDA ch動a 畉t chu畉n 2
  • 22. MaNV TenNV ch動a 畉t chu畉n 2.
  • 23. D畉ng chu畉n 2 (3/3) C叩ch kh畉c ph畛c : T叩ch l動畛c 畛 quan h畛 Q ny thnh c叩c l動畛c 畛 quan h畛 sau : Q1 ( MaNV ,TenNV)
  • 24. Q2 ( MaDA , TenDA, DiaDiemDA)
  • 25. Q3 ( MaDA,MaNV ,SoGio) L動畛c 畛 quan h畛 Q 達 畉t chu畉n 2.
  • 26. Nh畉n x辿t: N畉u l動畛c 畛 quan h畛 Q ch畛 c坦 1 kh坦a K v K ch畛 c坦 m畛t thu畛c t鱈nh th狸 Q 畉t d畉ng chu畉n 2
  • 27. M畛t l動畛c d畛 quan h畛 Q 畛 chu畉n 2 v畉n c坦 th畛 ch畛a 畛ng s畛 tr湛ng l畉p th担ng tin
  • 28. D畉ng chu畉n 3 (1/3) 畛nh ngh挑a : M畛t l動畛c 畛 quan h畛 Q 動畛c g畛i l 畉t chu畉n 3 n畉u: Q 畉t chu畉n 2
  • 29. M畛i thu畛c t鱈nh kh担ng kh坦a c畛a Q 畛u kh担ng ph畛 thu畛c b畉c c畉u vo m畛t kh坦a no c畛a Q. M畛t l動畛c 畛 CSDL 動畛c g畛i l 畉t chu畉n 3 n畉u m畛i l動畛c 畛 con Qi c畛a n坦 畛u 畉t chu畉n 3.
  • 30. D畉ng chu畉n 3 (2/3) V鱈 d畛 : X辿t l動畛c 畛 quan h畛 sau : NhanVien_DonVi ( MaNV , HoTen, NgaySinh, DiaChi, MADV, TenDV, DiaDiemDV). V畛i c叩c ph畛 thu畛c hm: F1 : MaNV HoTen, NgaySinh, DiaChi, MaDV, TenDV, DiaDiemDV.
  • 31. F2 : MaDV TenDV, DiaDiemDV. Q ch動a 畉t chu畉n 3 v狸 c叩c thu畛c t鱈nh TenDV, DiaDiemDV ph畛 thu畛c b畉c c畉u vo kh坦a ch鱈nh.
  • 32. D畉ng chu畉n 3 (3/3) C叩ch kh畉c ph畛c : T叩ch l動畛c 畛 Q thnh c叩c l動畛c 畛 con sau : Q1 ( MaNV , HoTen, NgaySinh, DiaChi, MaDV).
  • 33. Q2 ( MADV , TenDV, DiaDiemDV). Q 畉t chu畉n 3
  • 34. Nh畉n x辿t: Ch鱈nh ph畛 thu畛c hm b畉c c畉u l nguy棚n nh但n d畉n 畉n t狸nh tr畉ng tr湛ng l畉p th担ng tin.
  • 35. D畉ng chu畉n 3 l ti棚u chu畉n t畛i thi畛u trong thi畉t k畉 c董 s畛 d畛 li畛u.
  • 36. D畉ng chu畉n Boyce-Codd (BCNF) (1/2) L d畉ng chu畉n c坦 t鱈nh 畉n t畉t c畉 c叩c kh坦a 畛ng vi棚n n棚n c坦 nhi畛u rng bu畛c h董n d畉ng chu畉n 3
  • 37. BCNF - M畛t quan h畛 畛 d畉ng chu畉n BCNF n畉u v ch畛 n畉u m畛i ph畉n t畛 quy畉t 畛nh c畛a c叩c ph畛 thu畛c hm (n畉m b棚n tr叩im滴i t棚n) l c叩c kh坦a 畛ng vi棚n.
  • 38. Nh畉n x辿t: N畉u 1 l 動 畛c 畛 quan h畛 Q 畉t d畉ng chu畉n BC th狸 c滴ng 畉t d畉ng chu畉n 3 .
  • 39. Trong 1 l 動 畛c 畛 quan h畛 Q 畉t d畉ng chu畉n BC, vi畛c ki畛m tra ph畛 thu畛c hm ch畛 y畉u l ki畛m tra kh坦a n畛i.
  • 40. D畉ng chu畉n Boyce-Codd (BCNF) (2/2) V鱈 d畛: 畉T_HNG ( S畛H , NgyH, M達KH ) F1 = { S畛H NgyH, M達KH } CHITI畉T_H ( S畛H, M達HH , S畛L 動 畛ng ) F2 = { S畛H, M達HH S畛L 動 畛ng } 2 quan h畛 畛u 畉t d畉ng chu畉n Boyce-Codd.
  • 41. Ph動董ng ph叩p ph但n r達 (1/10) Qu叩 tr狸nh chu畉n h坦a 1 l 動 畛c 畛 CSDL: Nh畉m m畛c 鱈ch n但ng cao ch畉t l 動 畛ng thi畉t k畉
  • 42. 動 a c叩c l 動 畛c 畛 quan h畛 con t畛 d畉ng chu畉n th畉p l棚n d畉ng chu畉n cao h 董 n m t畛i thi畛u ph畉i l d畉ng chu畉n 3. Ph 動董 ng ph叩p ph但n r達 l 1 ph 動董 ng ph叩p d湛ng 畛 chu畉n h坦a 1 l 動 畛c 畛 CSDL
  • 43. Vi畛c chu畉n h坦a 1 l 動 畛c 畛 quan h畛 hay 1 l 動 畛c 畛 CSDL ph畉i b畉o 畉m y棚u c畉u: b畉o ton th担ng tin
  • 44. Ph辿p ph但n r達 Q thnh Q 1 , Q 2 , 動 畛c g畛i l b畉o ton th担ng tin n畉u: T Q : T Q = T Q [Q1] |><| T Q [Q2] |><| Ph動董ng ph叩p ph但n r達 (2/10)
  • 45. 畛nh l箪 Delobel Cho l 動 畛c 畛 quan h畛 Q(XYZ) v t畉p PTH F
  • 46. N畉u X Y F + th狸 ph辿p ph但n r達 Q thnh 2 l 動 畛c 畛 quan h畛 con: Q 1 (XY) v Q 2 (XZ) l b畉o ton th担ng tin Ph動董ng ph叩p ph但n r達 (3/10)
  • 47. Begin
  • 48. F* = F { f F + / VT(t) VP(t) Q + }
  • 49. IF (F* ) Then
  • 50. Begin
  • 51. B1.Ch畛n 1 f 0 : X Y F
  • 52. B2.T畉o c叩c l 動 畛c 畛 quan h畛 con Q 1 v Q 2 :
  • 53. Q 1 = X Y
  • 54. F 1 ={ f F + / VT(f) VP(f) Q 1 + }
  • 55. Q 2 = Q + Y
  • 56. F 2 = { f F + / VT(f) VP(f) Q 2 + }
  • 57. B3.Ph但n r達 畛 quy Q 1 v Q 2
  • 58. End
  • 59. End Ph動董ng ph叩p ph但n r達 (4/10)
  • 60. V鱈 d畛: Q (ABCDEG) ;
  • 61. F = { AE C, CG A, BD G, GA E } Nh畉n x辿t: Kh坦a c畛a Q l {BDA}
  • 62. BD G kh担ng 畉t d畉ng chu畉n 2 S畛 d畛ng ph 動董 ng ph叩p ph但n r達 Ph動董ng ph叩p ph但n r達 (5/10)
  • 64. f 0 : BD G
  • 65. Q 1 (BDG) Q 2 (BDACE)
  • 66. F 1 ={BD G} F 2 = {AE C}
  • 67. Q 21 (AEC) Q 22 (BDAE)
  • 68. F 21 ={AE C} F 22 ={BDA E} Ph動董ng ph叩p ph但n r達 (6/10)
  • 69. Nh畉n x辿t: Thu畉t to叩n ph但n r達 nh 動 tr棚n l b畉o ton th担ng tin ( 畛nh l箪 Delobel)
  • 70. C叩c l 動 畛c 畛 quan h畛 con cu畛i c湛ng (n炭t l叩 trong c但y ph但n r達) 畛u 畉t 鱈t nh畉t l d畉ng chu畉n 3
  • 71. Thu畉t to叩n ph但n r達 c坦 th畛 t畉o ra c叩c l 動 畛c 畛 quan h畛 con kh担ng c坦 nhi畛u ng畛 ngh挑a trong th畛c t畉 Ph動董ng ph叩p ph但n r達 (7/10)
  • 72. Nh畉n x辿t: Ch畉t l 動 畛ng c畛a CSDL k畉t qu畉 c坦 ph畛 thu畛c vo vi畛c ch畛n pth f 0 畛 t畛ng b 動 畛c ph但n r達.
  • 73. Th担ng th 動 畛ng PTH 動 畛c ch畛n l PTH g但y ra ch畉t l 動 畛ng x畉u c畛a l 動 畛c 畛 quan h畛. (pth kh担ng 畉y 畛, pth b畉c c畉u). Ph動董ng ph叩p ph但n r達 (8/10)
  • 74. V鱈 d畛: X辿t quan h畛 SANXUAT
  • 75. Quan h畛 SANXUAT: C坦 th畛 g但y d畛 li畛u x畉u khi c畉p nh畉t.
  • 76. V鱈 d畛 nh 動 khi 1 nh m叩y 畛i t棚n c坦 th畛 lm cho d畛 li畛u thi畉u nh畉t qu叩n. Ph動董ng ph叩p ph但n r達 (9/10)
  • 77. T叩ch thnh 2 quan h畛 NHAMAY
  • 78. NHAMAY_SANPHAM 畉t 畉ng chu畉n BC Ph動董ng ph叩p ph但n r達 (10/10)