CHƯ Ơ NG 3
MƠ HÌNH QUAN HỆ
Phiên bả n 2013
Tài liệ u tham khả o
[ 1] Đỗ Phúc, Nguyễ n Đăng Tỵ .
Giáo trình cơ sở dữ liệ u.
Đạ i họ c Quố c gia Tp.HCM.
[ 2] Đồ ng Thị Bích Thủ y.
Giáo trình cơ sở dữ liệ u.
Đạ i họ c Quố c gia Tp.HCM.
[ 3] Trầ n Ngọ c Bả o.
Slide bài giả ng CSDL
Đạ i họ c Sư Phạ m TP.HCM
[ 4] Lê Minh Triế t.
Slide bài giả ng CSDL
Đạ i họ c Sư Phạ m TP.HCM
3/ 5/ 2013
2
Nộ i dung
1. Giớ i thiệ u về mơ hình quan hệ
2. Các khái niệ m củ a mơ hình quan hệ
3. Ràng buộ c toàn vẹ n
4. Các đặ c trư ng củ a quan hệ
5. Chuyể n lư ợ c đồ E/ R sang quan hệ
3/ 5/ 2013
3
1. Giớ i thiệ u về mơ hình quan hệ
Đư ợ c đề xuấ t bở i Dr. E F Codd năm 1970.
“A Relation Model for Large Shared Data Banks”,
Communications of ACM, 6/ 1970
Cung cấ p cấ u trúc dữ
liệ u đơ n giả n, đồ ng bộ
Khái niệ m “Quan hệ ”
Nề n tả ng lý thuyế t vữ ng chắ c:
Lý thuyế t tậ p hợ p
Là cơ sở củ a hầ u hế t DBMS thư ơ ng mạ i
Oracle, DB2, SQL Server, ...
3/ 5/ 2013
4
2. Các khái niệ m củ a mơ hình quan hệ
Quan hệ ( Relation)
Thuộ c tính ( Attribute)
Lư ợ c đồ ( Schema)
Bộ ( Tuple)
Miề n giá trị ( Domain)
3/ 5/ 2013
5
2. Các khái niệ m củ a mơ hình quan hệ
Các thông tin lư u trữ trong CSDL đư ợ c tổ
chứ c thành bả ng ( table) gọ i là quan hệ
Quan hệ
1 cộ t là 1 thuộ c tính củ a nhân viên
TENNV
HONV
NS
DI ACHI
GT
LUONG
PHG
Tung
Nguyen
12/ 08/ 1955
638 NVC Q5
Nam
40000
5
Hang
Bui
07/ 19/ 1968
332 NTH Q1
Nu
25000
4
Nhu
Le
06/ 20/ 1951
291 HVH QPN
Nu
43000
4
Hung
Nguyen
09/ 15/ 1962
Ba Ria VT
Nam
38000
5
1 dòng là 1 nhân viên
Tên quan hệ là NHANVI EN
3/ 5/ 2013
6
2. Các khái niệ m củ a mơ hình quan hệ
Quan hệ r gồ m:
Quan hệ
– Tên
– Tậ p hợ p các cộ t
• Cố đị nh
• Đư ợ c đặ t tên
• Có kiể u dữ
liệ u
– Tậ p hợ p các dịng
• Thay đổ i theo thờ i gian
• Sự thay đổ i phụ thuộ c vào ngư ờ i sử
Mỗ i dòng ~ Mộ t thự c thể ( đố
dụ ng
i tư ợ ng ở thế giớ i thự c)
Quan hệ ~ Tậ p các thự c thể
3/ 5/ 2013
7
2. Các khái niệ m củ a mơ hình quan hệ
Thuộ c tính
Tên các cộ t củ a quan hệ
Mơ tả ý nghĩa cho các giá trị tạ i cộ t đó
Thuộ c tính
TENNV
HONV
NS
DI ACHI
GT
LUONG
PHG
Tung
Nguyen
12/ 08/ 1955
638 NVC Q5
Nam
40000
5
Hang
Bui
07/ 19/ 1968
332 NTH Q1
Nu
25000
4
Nhu
Le
06/ 20/ 1951
291 HVH QPN
Nu
43000
4
Hung
Nguyen
09/ 15/ 1962
Ba Ria VT
Nam
38000
5
Tấ t cả các dữ liệ u trong cùng 1 mộ t cộ t đề u
có dùng kiể u dữ liệ u
3/ 5/ 2013
8
2. Các khái niệ m củ a mơ hình quan hệ
Lư ợ c đồ quan hệ R
Tên củ a quan hệ
Tên củ a tậ p thuộ c tính
Lư ợ c đồ quan hệ
NHANVI EN( MANV, TENNV, HONV, NS, DI ACHI , GT, LUONG, PHG)
Là tậ p hợ p
3/ 5/ 2013
9
2. Các khái niệ m củ a mơ hình quan hệ
Lư ợ c đồ CSDL
Gồ m nhiề u lư ợ c đồ quan hệ
Lư ợ c đồ CSDL
NHANVI EN( MANV, TENNV, HONV, NS, DI ACHI , GT, LUONG, PHG)
PHONGBAN( MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DI ADI EM_PHG( MAPHG, DI ADI EM)
THANNHAN( MA_NVI EN, TENTN, GT, NS, QUANHE)
DEAN( TENDA, MADA, DDI EM_DA, PHONG)
3/ 5/ 2013
10
2. Các khái niệ m củ a mơ hình quan hệ
Bộ (Tuple)
Là các dòng củ a quan hệ ( trừ
dòng tiêu đề -
tên củ a các thuộ c tính)
Thể
hiệ n dữ
liệ u cụ
thể
củ a các thuộ c tính
trong quan hệ
< Tung, Nguyen, 12/ 08/ 1955, 638 NVC, Q5, Nam, 40000, 5>
Dữ liệ u cụ thể
củ a thuộ c tính
3/ 5/ 2013
11
2. Các khái niệ m củ a mơ hình quan hệ
Là tậ p các giá trị nguyên tố gắ n liề n vớ i mộ t
thuộ c tính
– Kiể u dữ
Miề n giá trị
liệ u cơ sở
• Chuỗ i ký tự ( string)
• Số ( integer)
– Các kiể u dữ
•
•
•
•
liệ u phứ c tạ p
Tậ p hợ p ( set)
Danh sách ( list)
Mả ng ( array)
Bả n ghi ( record)
Không đư ợ c chấ p nhậ n
Ví dụ
– TENNV: string
– LUONG: integer
3/ 5/ 2013
12
2. Các khái niệ m củ a mơ hình quan hệ
Đị nh nghĩa hình thứ c: Lư ợ c đồ quan hệ
Cho A1, A2, …, An là các thuộ c tính
Có các miề n giá trị D1, D2, …, Dn tư ơ ng ứ ng
Ký hiệ u R( A1:D1, A2:D2, …, An:Dn) là mộ t lư ợ c đồ quan hệ
Bậ c củ a lư ợ c đồ quan hệ là số lư ợ ng thuộ c tính trong lư ợ c đồ
NHANVI EN( MANV:integer, TENNV:string, HONV:string,
NGSI NH:date, DCHI :string, GT:string, LUONG:integer,
DONVI :integer)
– NHANVI EN là mộ t lư ợ c đồ bậ c 8 mô tả đố i tư ợ ng nhân viên
– MANV là mộ t thuộ c tính có miề n giá trị là số ngun
– TENNV là mộ t thuộ c tính có miề n giá trị là chuỗ i ký tự
3/ 5/ 2013
13
2. Các khái niệ m củ a mơ hình quan hệ
Đị nh nghĩa hình thứ c: quan hệ
Mộ t quan hệ r củ a lư ợ c đồ quan hệ R( A1, A2, …, An) ,
ký hiệ u r( R) , là mộ t tậ p các bộ r = { t1, t2, …, tk}
Trong đó mỗ i ti là 1 danh sách có thứ
tự
củ a n
giá trị ti= < v1, v2, …, vn>
Mỗ i vj là mộ t phầ n tử
củ a miề n giá trị DOM( Aj) hoặ c giá trị rỗ ng
TENNV
HONV
NGSI NH
DCHI
PHAI
LUONG
PHG
t1
Tung
Nguyen
12/ 08/ 1955
638 NVC Q5
Nam
40000
5
t2
Hang
Bui
07/ 19/ 1968
332 NTH Q1
Nu
25000
4
t3
Nhu
Le
06/ 20/ 1951
291 HVH QPN
Nu
43000
4
t4
Hung
Nguyen
09/ 15/ 1962
null
Nam
38000
5
vi
3/ 5/ 2013
14
2. Các khái niệ m củ a mơ hình quan hệ
Lư ợ c đồ quan hệ R bậ c n
– R( A1, A2, …, An)
Tậ p thuộ c tính củ a R
– R+ = { A1, A2 ,… , An}
Quan hệ ( thể hiệ n quan hệ )
– R, S, P, Q
Bộ
– t, u, v
Miề n giá trị củ a thuộ c tính A
– DOM( A) hay MGT( A)
Giá trị tạ i thuộ c tính A củ a bộ thứ
t
– t.A hay t[ A]
3/ 5/ 2013
15
3. Ràng buộ c tồn vẹ n
Siêu khóa ( Super key)
Khóa
Khóa chính ( Primary key)
Tham chiế u
Khóa ngoạ i ( Foreign key)
3/ 5/ 2013
16
3. Ràng buộ c toàn vẹ n
RBTV ( I ntegrity Constraint)
– Là nhữ ng qui tắ c, điề u kiệ n, ràng buộ c
cầ n đư ợ c thỏ a mãn trong mộ t thể
hiệ n
củ a CSDL quan hệ
RBTV đư ợ c mô tả khi đị nh nghĩa lư ợ c đồ
quan hệ
RBTV đư ợ c kiể m tra khi các quan hệ
có
thay đổ i
3/ 5/ 2013
17
3. Ràng buộ c toàn vẹ n
Các bộ
trong quan hệ
Siêu Khóa
phả i khác nhau từ ng
đơi mộ t
Siêu khóa ( Super Key)
– Gọ i SK là mộ t tậ p con khác rỗ ng các thuộ c tính
củ a R
– SK là siêu khóa khi
∀r, ∀ t1,t2∈r,
t1 ≠ t2
⇒
t1[ SK]
≠ t2[ SK]
– Siêu khóa là tậ p các thuộ c tính dùng để
xác đị nh
tính duy nhấ t củ a mỗ i bộ trong quan hệ
– Mọ i lư ợ c đồ quan hệ có tố i thiể u mộ t siêu khóa
3/ 5/ 2013
18
3. Ràng buộ c tồn vẹ n
Đị nh nghĩa
Khóa
– Gọ i K là mộ t tậ p con khác rỗ ng các thuộ c tính củ a R
– K là khóa nế u thỏ a đồ ng thờ i 2 điề u kiệ n
• K là mộ t siêu khóa củ a R
• ∀ K’ ⊂ K , K’ ≠ K , K’ khơng phả i là siêu khóa củ a R
Nhậ n xét
– Giá trị củ a khóa dùng để nhậ n biế t mộ t bộ trong
quan hệ
– Khóa là mộ t đặ c trư ng củ a lư ợ c đồ quan hệ , không
phụ thuộ c vào thể hiệ n quan hệ
– Khóa đư ợ c xây dự ng dự a vào ý nghĩa củ a mộ t số
thuộ c tính trong quan hệ
– Lư ợ c đồ quan hệ có thể có nhiề u khóa
3/ 5/ 2013
19
3. Ràng buộ c tồn vẹ n
Xét quan hệ
Khóa chính – Primary Key
NHANVI EN( MANV, TENNV, HONV, NS, DCHI , GT, LUONG, PHG)
– Có 2 khóa
• MANV
• HONV, TENNV, NS
– Khi cài đặ t quan hệ thành bả ng ( table)
• Chọ n 1 khóa làm cơ sở để nhậ n biế t các bộ
– Khóa có ít thuộ c tính hơ n
• Khóa đư ợ c chọ n gọ i là khóa chính
( PK - primary key)
– Các thuộ c tính khóa chính phả i có giá trị khác null
– Các thuộ c tính khóa chính thư ờ ng đư ợ c gạ ch dư ớ i
NHANVI EN( MANV, TENNV, HONV, NS, DCHI , GT, LUONG, PHG)
3/ 5/ 2013
20
3. Ràng buộ c toàn vẹ n
Mộ t bộ trong quan hệ R, tạ i thuộ c tính A
nế u nhậ n mộ t giá trị từ mộ t thuộ c tính B
củ a quan hệ S, ta gọ i R tham chiế u S
Bộ đư ợ c tham chiế u phả i tồ n tạ i trư ớ c
Tham chiế u
S
R
TENPHG
MAPHG
Nghien cuu
5
Dieu hanh
4
Quan ly
1
TENNV
HONV
NS
DCHI
GT
LUONG
PHG
Tung
Nguyen
12/ 08/ 1955
638 NVC Q5
Nam
40000
5
Hang
Bui
07/ 19/ 1968
332 NTH Q1
Nu
25000
4
Nhu
Le
06/ 20/ 1951
291 HVH QPN
Nu
43000
4
Hung
Nguyen
09/ 15/ 1962
Ba Ria VT
Nam
38000
5
3/ 5/ 2013
21
3. Ràng buộ c toàn vẹ n
Xét 2 lư ợ c đồ R và S
Khóa ngoạ i
– Gọ i FK là tậ p thuộ c tính khác rỗ ng củ a R
– FK là khóa ngoạ i ( Foreign Key) củ a R khi
• Các thuộ c tính trong FK phả i có cùng miề n giá trị vớ i
các thuộ c tính khóa chính củ a S
• Giá trị tạ i FK củ a mộ t bộ t1∈R
– Hoặ c bằ ng giá trị tạ i khóa chính củ a mộ t bộ t2 ∈S
– Hoặ c bằ ng giá trị rỗ ng
Ví dụ
Quan hệ tham chiế u
Khóa ngoạ i
NHANVI EN( MANV, TENNV, HONV, NS, DCHI , GT, LUONG, PHG)
PHONGBAN( TENPHG, MAPHG)
Quan hệ bị
tham chiế u
3/ 5/ 2013
Khóa chính
22
3. Ràng buộ c tồn vẹ n
Khóa ngoạ i – Nhậ n xét
Trong mộ t lư ợ c đồ quan hệ , mộ t thuộ c tính
vừ a có thể tham gia vào khóa chính, vừ a
tham gia vào khóa ngoạ i
Khóa ngoạ i có thể tham chiế u đế n khóa
chính trên cùng 1 lư ợ c đồ quan hệ VD: ?
Có thể có nhiề u khóa ngoạ i tham chiế u đế n
cùng mộ t khóa chính. VD: ??
Ràng buộ c tham chiế u = Ràng buộ c khóa
ngoạ i
3/ 5/ 2013
23
3. Ràng buộ c toàn vẹ n
3/ 5/ 2013
24
4. Các đặ t trư ng củ a quan hệ
Thứ
tự
HONV
các bộ trong quan hệ là không quan trọ ng
TENNV
Nguyen
Tung
NGSI NH
12/ 08/ 1955
DCHI
PHAI
LUONG
PHG
638 NVC Q5
Nam
40000
5
Bui
Hang
07/ 19/ 1968
332 NTH Q1
Nu
25000
4
Le
Nhu
06/ 20/ 1951
291 HVH QPN
Nu
43000
4
Nam
38000
5
Nguyen
Thứ
Hung
tự
09/ 15/ 1962
null
giữ a các giá trị trong mộ t bộ là quan trọ ng
Bộ < Nguyen, Tung, 12/ 08/ 1955, 638 NVC Q5, Nam, 40000, 5>
khác
Bộ < Nguyen, Tung, 12/ 08/ 1955, 638 NVC Q5, 40000, Nam, 5>
3/ 5/ 2013
25