Ơ Ở Ữ Ệ
Ệ
MÔ HÌNH C S D LI U QUAN H
ệ
ơ ở ữ ệ Mô hình c s d li u quan h
Thuộc tính
SV
hoten
lop
mas v
1 thể hiện của quan hệ (tập các bộ)
S1
Hoàng
TO
S2
Nhân
TO
1 dòng dữ liệu hay là 1 bộ
S3
Vân
TH
S4
Hương
TH
Giá trị
S5
Linh
TO
ệ
ơ ở ữ ệ Mô hình c s d li u quan h ướ ộ ố (M t s quy c)
ệ
ơ ở ữ ệ Mô hình c s d li u quan h (Khóa và siêu khóa)
ệ
ơ ở ữ ệ Mô hình c s d li u quan h (Khóa và siêu khóa)
ệ
ượ ồ ơ ở ữ ệ
ơ ở ữ ệ Mô hình c s d li u quan h c đ c s d li u) (L
ệ
ượ ồ ơ ở ữ ệ
ơ ở ữ ệ Mô hình c s d li u quan h c đ c s d li u) (L
sv
ma
ten
lop maLop Tenlop
lop
TO
Toán
S1
Hoàng
TO
QT
S2
Nhân
TO
Quản trị
S3
Vân
TH
TH
Tin học
S4
Hương
TH
S5
Linh
TO
ệ
ẹ
ơ ở ữ ệ Mô hình c s d li u quan h ộ (Ràng bu c toàn v n)
ơ ở ữ ệ ữ
ồ ạ ủ ơ ở ữ ệ ợ ắ ượ ọ c g i là ổ ể ả i nh ng quy t c không đ i đ đ m ộ ràng bu c toàn
Trong c s d li u, luôn t n t ả b o tính h p lý c a c s d li u, đây đ v nẹ .
ộ
ả ượ ả ử ưở ườ ẹ ừ ả ọ ng lên các ràng bu c toàn v n t ộ ả i ta dùng m t b ng g i là các tác ầ ả b ng t m nh
ể Đ mô t c nh h đ ộ đ ng thêm xóa s a, ng ngưở . h
ị ồ ơ ở ữ ệ ủ ượ
ẹ ả
ữ ườ ờ ộ nh ng ràng bu c toàn v n, nh ng khóa thì không bao gi c đ c s d li u đã bao ư ràng bu c khóa ộ ự ặ ạ i trong có s l p l
ộ ả B n thân trong các đ nh nghĩa c a l ồ g m các mô t ị ủ (các giá tr c a tr ể ệ m t th hi n)
ữ ẹ ộ
ệ ơ ở ữ ệ ệ ố ữ Chính nh ng ràng bu c toàn v n liên quan gi a các quan h trong ơ ở ữ ệ ẽ ạ c s d li u s t o nên m i quan h có nghĩa trong c s d li u.
ệ
ơ ở ữ ệ Mô hình c s d li u quan h ệ ộ ẹ ộ (Ràng bu c toàn v n trên m t quan h )
ả ộ ộ ộ ổ : M t thu c tính nào đó có bu c ph i có giá
ộ ổ ị Ràng bu c khác r ng tr khác r ng.
ề ữ ộ ề i h n v giá
ị: Đây là m t trong nh ng gi ố ớ ạ ủ ơ ở ữ ệ ộ ộ ị ủ ừ Ràng bu c mi n giá tr tr c a thu c tính (tùy theo t ng tình hu ng c a c s d li u)
ộ ữ : Đây là nh ng quy t c đ t ra mà có liên
ộ ộ ế ắ ặ Ràng bu c liên thu c tính ệ ữ quan đ n nh ng thu c tính khác nhau trong quan h .
ắ ặ ề ộ Đây là quy t c đ t ra cho nhi u dòng. ộ Ràng bu c liên b :
ệ
ơ ở ữ ệ Mô hình c s d li u quan h ệ ộ ẹ ộ (Ràng bu c toàn v n trên m t quan h )
ẹ
ệ ơ ở ữ ệ Mô hình c s d li u quan h ệ ề ộ (Ràng bu c toàn v n trên nhi u quan h )
ể ệ ủ ụ ộ ồ ạ : vi c xu t hi n c a m t th hi n này ph
ệ ể ệ ự ấ ấ ộ ộ ộ ệ i Ràng bu c t n t ệ ủ thu c vào s xu t hi n c a m t th hi n khác.
ề ộ ộ
ộ ộ ị ủ ả ồ ạ c đ đang xét bu c ph i t n t ộ ạ Xét v giá tr c a m t hay m t vài thu c i trong m t hay m t vài
ượ ồ ộ Ràng bu c khóa ngo i: ồ ủ ượ tính c a l ộ thu c tính trong l ộ c đ khác.
ắ : đây là quy t c có liên
ộ ề ệ ớ ề ộ ở Ràng bu c liên quan h , liên thu c tính quan nhi u thu c tính ộ ệ nhi u quan h v i nhau.
ệ
ộ ở ộ: đây là quy t c có liên quan ắ ề ệ ớ ộ ộ ề ề ớ Ràng bu c liên quan h , liên b nhi u thu c tính v i nhi u b nhi u quan h v i nhau.
ẹ
ệ ơ ở ữ ệ Mô hình c s d li u quan h ệ ề ộ (Ràng bu c toàn v n trên nhi u quan h )
ệ
ơ ở ữ ệ Mô hình c s d li u quan h
ộ
ố
ữ
ệ
ạ
ộ ị ơ ở ữ ệ
ệ
ả
ự
ệ
ạ Chính nh ng ràng bu c đã t o nên m i quan h có nghĩa ơ ở ữ ệ trong c s d li u. Trong đó ràng bu c khóa ngo i ế ượ ầ c h u h t các H qu n tr c s d li u (HQTCSDL) đ ả ư ầ ứ (g n nh ph i ệ ư ộ quan h chính th c ể ệ th hi n nh m t ộ ượ ồ ơ ở ữ ệ ệ ữ có) gi a các quan h khi hi n th c m t l c đ c s d li u trên HQTCSDL.
ể ấ
ộ
ộ
ụ ề ơ ở ữ ệ Xem xét m t vài ví d v c s d li u đ th y các ràng bu c liên quan.
Ộ
Ụ
PH THU C HÀM
ụ
ộ Ph thu c hàm
ớ
ữ
ể
ộ
ộ ấ ự ụ
ộ ẫ
ề ữ
ệ ộ
V i nh ng ràng bu c liên thu c tính có th trên 1 hay nhi u quan h cho chúng ta th y s ph thu c l n nhau gi a các thu c tính.
ộ
ự ụ
ễ ẫ
ể ỏ
ự
ễ ẫ
ả
ặ
S ph thu c này có th l ng (không có s suy di n l n nhau) hay ch t (có kh năng tính toán và suy di n l n nhau).
ấ ụ ệ ớ ộ
ệ ặ ộ
L y ví d : trong quan h sinh viên v i hai thu c tính là ngày sinh ổ và tu i. Gi a hai thu c tính này có quan h ràng bu c ch t và tu i ượ đ ộ ngày sinh. ữ ổ ừ c tính t
ệ
ệ
ạ
ộ
ọ
ụ
ộ
ặ Chính quan h ràng bu c ch t này t o nên khái ni m g i . là ph thu c hàm
ụ
ộ Ph thu c hàm
ụ
ộ Ph thu c hàm
ệ ệ ạ
tuoi
ma hoten malop tenlop
i là 2015, chúng ta tác ra làm 3 quan h ngaysinh
Toán
1/1/1995
20
TO
S1 Hoàn g
Toán
18/1/1995
20
S2 Nhân
TO
Tinhoc 25/6/1994
21
S3 Vân
TH
Tinhoc 17/9/1994
21
TH
S4 Hươn g
sv ma
hoten malop ngaysinh
L malop Tenlo
t ns
t
S5 Linh
TO
Toan
20/4/1993
22
p
S1 Hoàng TO
1/1/1995
1/1/1995
20
TO
Toán
S2 Nhân
TO
18/1/1995
18/1/1995 20
TH
S3
Vân
TH
25/6/1994
25/6/1994 21
Tinho c
TH
17/9/1994
17/9/1994 21
S4 Hươn g
20/4/1993 22
S5
Linh
TO
20/4/1993
Năm hi n t s v
ụ
ộ Ph thu c hàm
ụ ị
ế
ộ Ph thu c hàm (Đ nh nghĩa – Lý thuy t)
ề
ộ ụ Ph thu c hàm ệ ậ ẫ (Lu t d n H tiên đ Armstrong)
ề
ộ ụ Ph thu c hàm ệ ậ ẫ (Lu t d n H tiên đ Armstrong)
ụ
ộ Ph thu c hàm (Bao đóng)
ộ ụ Ph thu c hàm ự ư ừ (S d th a)
ụ ủ
ủ ố ể
ộ Ph thu c hàm (Ph Ph t
i ti u)
ụ
ụ
ụ
ộ Ph thu c hàm ầ ủ ộ (ví d : ph thu c hàm đ y đ )
ụ
ụ
ụ
ộ Ph thu c hàm ầ ủ ộ (ví d : ph thu c hàm đ y đ )
ụ
ụ
ụ
ộ Ph thu c hàm ầ ủ ộ (ví d : ph thu c hàm đ y đ )
ụ
ậ
ủ ố ể
ộ Ph thu c hàm (Thu t toán tìm ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ
ụ
ủ ố ể
ộ Ph thu c hàm (ví d : ph t
i ti u)
ụ ủ
ủ ố ể
ộ Ph thu c hàm (Ph Ph t
i ti u)
Ẩ
Ạ
D NG CHU N
ẩ
ạ
D ng chu n
ạ
c đ t ra
ể ố
ướ ượ ặ c đ ơ ư ừ i đa nguy c d th a trong
ệ ư
ộ ậ ẩ Đó là m t t p các quy D ng chu n: ệ ể ả trên quan h đ gi m thi u t ử vi c l u tr .
ộ
ồ ạ
ộ
ấ ỳ i 1 trong b t k
Thu c tính khóa: khóa nào c a l
là thu c tính t n t ủ ượ ồ c đ .
ộ
ề ồ ạ
i
ấ ỳ
ộ ủ ượ ồ
Là thu c tính không h t n t ộ ượ c thu c tính
c đ (ng
Thu c tính không khóa: trong b t k khóa nào c a l khóa)
ẩ
ạ
D ng chu n 1
ộ
ộ
ị
ư ọ ả
ậ
ượ ọ ố Tính nguyên tố: M t thu c tính đ c g i là nguyên t ị ủ ộ ề ế n u nh m i giá tr trong mi n giá tr c a thu c tính đó ị ứ ợ ị không ph i là t p giá tr hay là giá tr ph c h p.
ượ ọ
ạ
ẩ
c g i là đ t
ệ đ c đ quan h ộ
ư ọ
ề ượ ọ
ượ ồ 1. L ế n u nh m i thu c tính đ u đ
ạ d ng chu n 1 ố . c g i là nguyên t
c g i là đ t
2. L
ư ọ ượ ồ
ạ
ượ ồ ơ ở ữ ệ đ c đ c s d li u ế n u nh m i l
ượ ọ ạ d ng ạ ệ c đ quan h trong nó đ t
chu n 1 ẩ chu n 1.ẩ
ụ
ị ứ
ộ
ộ
ổ ợ
h p 3 giá
ị
Ví d : Thu c tính ngày sinh là thu c tính có giá tr ph c, là t không là nguyên tố tr ngày tháng năm
ư
ộ
ệ ố ẻ ủ
ậ
ạ
ộ Cho quan h khachhang(makh, sothevisa,…) thu c tính sothevisa l u m t ậ không nguyên t .ố ậ t p các s th c a khác hàng đó, v y nó là d ng t p
ẩ
ạ
D ng chu n 2
ẩ
ạ
D ng chu n 3
ẩ
ạ D ng chu n 3 (Ví d )ụ
ẩ
ạ
D ng chu n BC (BoyceCodd)
ậ Nh n xét
ệ
ể
ữ ệ
ị
ụ ụ ơ ở ữ ệ ữ ệ
ữ ự ư ừ
ữ ệ
ế ố
• Nh ng khái ni m này mang ý nghĩa đ ph c v cho ể vi c ki m tra hay đ nh hình nh ng c s d li u sao ạ i đa s d th a d li u, d li u cho h n ch t ợ không h p lý.
ẩ
ữ
ữ
ả
ạ • H n n a, qua nh ng d ng chu n và cách r 1 l ượ ồ ơ ở ữ ệ ồ ượ ơ ở ữ ệ
ộ
ượ c ể ạ c đ c s d li u đ đ t ộ ệ c đ quan h con là m t ợ ướ ng t p h p ừ đó
ượ ồ ơ ở ữ ệ
ệ ẫ ợ
ơ ệ ồ đ quan h ra thành l ẩ ở ừ ạ t ng l d ng chu n ậ ự ể cách đ xây d ng c s d li u theo h ọ m i thu c tính và các quan h l n nhau và t ự c đ c s d li u phù h p. d ng l
ự
ươ
ả ự ọ
• Sinh viên t
xem ph
ng pháp phân r (t
h c)
Phân rả
Phân rả
ươ
Ph
ng pháp:
ạ
ộ
ồ
ụ ộ
ạ ạ
ụ
ạ
ẩ
ẩ B1: Tìm các ph thu c hàm vi ph m d ng chu n 3 r i ế đ n các ph thu c hàm vi ph m d ng chu n 2
ớ ừ
ạ
ộ
ụ B11: V i t ng ph thu c hàm vi ph m
ả ả
ụ
ộ
Phân r b o toàn thông tin và ph thu c hàm
ượ ồ
ệ
B12: Làm l
ạ ướ i b
ớ c B1 v i các l
c đ quan h sau
phân rả
ả ượ
ư
ể
ậ
Thu t toán ng ng khi không th phân r đ
c
Phân rả Cho R={masv,tensv,malop,tenlop,mamon,diem}
→ → → F={masv tensv,malop; malop tenlop; mamon,masv diem}
ị Xác đ nh khóa masv,mamon
→ ắ ầ ạ ọ Ch n malop tenlop (Vi ph m b c c u) ta có
→ R1={malop,tenlop} F1={malop tenlop}
R2={masv,tensv,malop,mamon,diem}
→ → F2={masv tensv,malop; mamon,masv diem}
ế ụ ẫ ớ Ti p t c làm v i R2 và khóa v n là masv,mamon
→ ắ ầ ọ Ch n masv tensv,malop vì không còn pth b c c u. Ta có:
→ R21={masv,tensv,malop} F21={masv tensv,malop}
→ R22={masv,mamon,diem} F22= {mamon,masv diem}
ứ ấ ậ Ch m d t thu t toán
Phân rả
→ ế ả ả ọ Ch n masv tensv,malop ta có k t qu không b o toàn pth
→ R1(masv,tensv,malop) {masv tensv,malop}
→ R2(masv,tenlop,mamon,diem) {mamon,masv diem}
ủ ố ư ướ ả L u ý: nên tìm ph t ể i thi u tr ắ ầ c khi b t đ u phân r