CÔ SÔÛ DÖÕ LIEÄU
Chöông 3
MOÂ HÌNH QUAN HEÄ
(Relational Data Model)
1
Chöông 3 MOÂ HÌNH QUAN HEÄ
I. Moät soá khaùi nieäm Khoaù chính Ñònh nghóa quan heä Sieâu khoaù
Khoaù öùng vieân Khoùa cuûa quan heä
Khoaù chæ ñònh
Khoaù ngoaïi
2
II. Caùch chuyeån töø moâ hình ER sang moâ hình quan heä
1
Chöông 3 MOÂ HÌNH QUAN HEÄ
ÑÒNH NGHÓA QUAN HEÄ
Cho taäp R = {A1, A2, …, An} goïi laø taäp caùc thuoäc tính. ÖÙng vôùi moãi Ai coù moät taäp laø dom(Ai) goïi laø mieàn giaù trò cuûa Ai. U ñöôïc ñònh nghóa:
U
dom
(
A
)
n i
i
= U
1 = Moät quan heä r treân taäp caùc thuoäc tính R laø taäp hôïp caùc aùnh xaï r = {t1, t2, …, tm}
i = 1,n tj : R→ U Vôùi haïn cheá tj(Ai) ∈ dom(Ai)
3
j = 1,m
Chöông 3 MOÂ HÌNH QUAN HEÄ
ÑÒNH NGHÓA QUAN HEÄ
• Lược đồ quan hệ (relation scheme) R(A1, A2, ...,
An):
– Trong đó R là tên của lược đồ quan hệ.
– A1, A2, …, An là các thuộc tính của lược đồ quan hệ.
• Một quan hệ (relation) r của lược đồ quan hệ R(A1,
A2, ..., An) ký hiệu là r(R), là một tập hợp các bộ ti, r
= {t1, t2, …, tm}. Mỗi bộ t là một danh sách có thứ tự
n giá trị t =
• Một quan hệ thực ra là một bảng dữ liệu hai chiều được đặt tên, có một số cột và một số dòng dữ liệu.
4
2
Chöông 3 MOÂ HÌNH QUAN HEÄ
Moät soá khaùi nieäm
+ Khi chæ ñeà caäp ñeán thuoäc tính cuûa quan heä thì ngöôøi ta goïi quan heä laø löôïc ñoà quan heä.
Kyù hieäu: R (A1, A2,…, An)
Moät löôïc ñoà CSDL goàm coù nhieàu löôïc ñoà quan heä.
+ R (A1, A2,…, An) laø löôïc ñoà quan heä caáp n. + Kyù hieäu moät quan heä r treân moät löôïc ñoà R cho tröôùc laø r(R).
5
+ Ta dùng khái niệm “lược đồ quan hệ” để đề cập đến cấu trúc của một quan hệ trong khi khái niệm “quan hệ” đề cập đến thành phần dữ liệu của quan hệ đó.
Chöông 3 MOÂ HÌNH QUAN HEÄ
Moät ví duï veà quan heä
SINHVIEN(MSSV, HOTEN, NGAYSINH, PHAI, DIACHI, MSLOP)
MSSV
HOTEN
NGAYSINH
PHAI
DIACHI
MSLOP
0012001
Traàn Vaân Anh
1/1/1982
Nam
120 THÑ, QI
CNTT00
0012002
Nguyeãn Hoàng Anh
2/3/1980
Nöõ
12 TBT, QI
CNTT00
0112003
Traàn Thanh Vaân
3/4/1982
Nöõ
1/20 NTMK, Q3
CNTT01
0122122
Nguyeãn Thaønh Hieáu
3/2/1980
Nam
3 LHP, Q3
CNTT02
Quan hệ SINHVIEN có 5 thuộc tính là MSSV, HOTEN, NGAYSINH, PHAI, DIACHI, MSLOP và 4 bộ dữ liệu.
6
Moät doøng döõ lieäu coøn ñöôïc goïi laø 1 boä döõ lieäu cuûa quan heä.
3
Chöông 3 MOÂ HÌNH QUAN HEÄ
Khoùa chính (Primary key)
Cho moät taäp R = {A1, A2, …, An} vaø r(R). Khoùa chính cuûa quan heä R laø taäp caùc thuoäc tính X ⊆ R coù tính chaát sau:
(i) Khoâng coù hai boä döõ lieäu coù cuøng giaù trò treân X.
7
(ii) Khoâng toàn taïi moät taäp X’ ⊂ X maø cuøng coù tính chaát i.
Chöông 3 MOÂ HÌNH QUAN HEÄ
Sieâu khoaù (Supper key)
Laø moät taäp caùc thuoäc tính sao cho neáu coù 2 boä coù cuøng giaù trò treân taäp thuoäc tính naøy thì cuõng coù cuøng giaù trò treân caùc thuoäc tính coøn laïi.
8
Taäp hôïp taát caû caùc thuoäc tính cuûa moät quan heä luoân laø sieâu khoùa.
4
Chöông 3 MOÂ HÌNH QUAN HEÄ
Khoaù öùng vieân (Candidate key)
Khoaù öùng vieân laø moät sieâu khoaù maø khoâng toàn taïi taäp con naøo cuûa noù cuõng laø sieâu khoaù.
Khoùa chính laø moät khoùa öùng vieân.
Ví duï:
Trong quan heä SINHVIEN thì X = {MSSV} laø khoùa öùng vieân
9
X = {HOTEN, NGAYSINH, PHAI, DIACHI, MSLOP} cuõng laø khoùa öùng vieân.
Chöông 3 MOÂ HÌNH QUAN HEÄ
Khoaù chæ ñònh (Designated key)
10
Khi thieát keá vaø caøi ñaët thaät ngöôøi ta choïn moät khoùa naøo ñoù trong caùc khoùa öùng vieân cuûa quan heä ñeå laøm vieäc. Khoùa naøy goïi laø khoaù chæ ñònh vaø ñöôïc kyù hieäu baèng caùch gaïch döôùi caùc thuoäc tính khoùa trong löôïc ñoà quan heä. Keå töø ñoù ta goïi taäp caùc thuoäc tính naøy laø khoaù chính cuûa quan heä.
5
Chöông 3 MOÂ HÌNH QUAN HEÄ
Khoaù ngoaïi (Foreign key)
Cho 2 löôïc ñoà quan heä: R1(A1, A2, …An) vaø R2(B1, B2, … Bm)
Giaû söûPK ⊆ {A1, …,An} vaø laø khoaù chính cuûa R1, FK ⊆ {B1, …,Bn}
Taäp FK laø khoùa ngoaïi cuûa R2 neáu vaø chæ neáu:
(i)Caùc thuoäc tính thuoäc taäp FK töông öùng coù cuøng mieàn giaù trò vôùi caùc thuoäc tính trong taäp PK. (ii)Vôùi moïi boä t2 cuûa R2, luoân toàn taïi 1 boä t1 thuoäc R1 sao cho t2[FK] = t1[PK].
11
Raøng buoäc tham chieáu töø FK cuûa R2 ñeán R1 coù nghóa laø FK laø moät khoùa ngoaïi tham chieáu ñeán khoùa chính cuûa R1.
Chöông 3 MOÂ HÌNH QUAN HEÄ
Khoaù ngoaïi (foreign key)
SINHVIEN(MSSV, HOTEN, NGAYSINH, PHAI, DIACHI, MSLOP)
LOP (MSLOP, TENLOP)
MSLOP laø khoaù ngoaïi cuûa löôïc ñoà quan heä SINHVIEN
MSLOP tham chieáu MSLOP cuûa löôïc ñoà quan heä LOP
12
Taäp thuoäc tính laø khoaù ngoaïi khoâng caàn töông öùng cuøng teân vôùi taäp thuoäc tính ñoùng vai troø khoaù chính maø noù tham chieáu.
6
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 1. Moãi loaïi thöïc theå Quan heä
TENLOT
TENNV
HONV
DIACHI
LUONG
PHAI
TEN
NGAYSINH
MANV
NHANVIEN
NHANVIEN(MANV, HONV, TENLOT, TENNV, PHAI, LUONG, DIACHI, NGAYSINH
13
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Keát quaû ñaït ñöôïc sau khi öùng duïng böôùc 1
NHANVIEN(MANV,HONV,TENLOT,TENNV,PHAI,LUONG,DIACHI, NGAYSINH
PHONGBAN (MAPB, TENPB)
DEAN (MADA, TENDA, DIADIEM_DA)
14
7
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 2. Loaïi thöïc theå yeáu MANV
NHANVIEN
THANNHAN(
MANV,
TENTN,PHAI,NGSINH,QUANHE)
COTHAN NHAN
THANNHAN
15
NGSINH
PHAI
TENTN
QUANHE
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Caùc löôïc ñoà quan heä coù ñöôïc töø caùc loaïi thöïc theå
NHANVIEN (MANV, HONV, TENLOT, TENNV, PHAI, LUONG, DIACHI, NGAYSINH)
PHONGBAN (MAPB, TENPB)
DEAN (MADA, TENDA, DIADIEM_DA)
THANNHAN(MANV, TENTN,PHAI,NGSINH,QUANHE)
16
8
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 3. Loïai moái keát hôïp (1, 1) – (1, 1)
TENLOT
TENNV
HONV
DIACHI
LUONG
DIADIEM
PHAI
TENPB
MAPB
NGAYSINH
TEN
MANV
PHONGBAN
NHANVIEN
X
(0,1)
(1,1)
QUANLY
NHANVIEN (MANV, HONV, TENLOT, TENNV, PHAI, LUONG, DIACHI, NGAYSINH)
T
S
PHONGBAN (MAPB, TENPB, TRPHG)
17
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 4. Loaïi keát hôïp (1,1)- (1,n) khoâng coù thuoäc tính rieâng
MAPB
TRUCTHUOC
(1,n)
(1,1)
PHONGBAN
NHANVIEN
PHONGBAN (MAPB, TENPB, TRPHG)
NHANVIEN (MANV, HONV, TENLOT, TENNV, PHAI, LUONG, DIACHI, NGAYSINH, PHG)
18
9
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 5. Moái keát hôïp (1,1) – (1,n) coù thuoäc tính rieâng.
TENPB
DIADIEM
MAPB
PHONGBAN
(0,n)
Ngaøy BÑ
Phuï traùch
DEAN (MADA, TENDA, PHONG, DIADIEM_DA, NGAYBÑ)
(1,1)
DEAN
MADA
19
TENDA
DIADIEM_DA
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 6. Moái keát hôïp (1,n) – (1,n)
MANV
NHANVIEN
(1,n)
THOIGIAN
PHANCONG (MANV, MADA, THOIGIAN)
PHANCONG
(1,n)
MADA
DEAN
TENDA
DDIEM_DA
20
10
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Böôùc 7. Thuoäc tính ña trò
DIADIEM
MAPB
TENPB
PHONGBAN
DIADIEM_PHG (MAPB, DIADIEM)
21
Chöông 3 MOÂ HÌNH QUAN HEÄ
II. Chuyeån moâ hình ER sang moâ hình quan heä
Löôïc ñoà CSDL sau khi chuyeån ñoåi
NHANVIEN (MANV, HONV, TENLOT, TENNV, PHAI, LUONG, DIACHI, NGAYSINH, MANQL, PHG
PHONGBAN (MAPB, TENPB, TRPHG, NGAYBÑ)
DIADIEM_PHG (MAPB, DIADIEM)
DEAN (MADA, TENDA, NGAYBD, PHONG, DIADIEM_DA)
PHANCONG (MANV, MADA, THOIGIAN)
THANNHAN(MANV, TENTN,PHAI,NGSINH,QUANHE)
22
11
Löu yù
1. ÔÛ möùc quan nieäm (theå hieän qua ER):
(cid:131) Moãi thöïc theå chæ mang thuoäc tính cuûa rieâng noù maø khoâng bao giôø mang thuoäc tính cuûa loaïi thöïc theå khaùc.
(cid:131) Moái quan heä giöõa caùc thöïc theå ñöôïc theå hieän qua hình veõ (hình thoi).
2. ÔÛ möùc logic (theå hieän qua moâ hình quan heä):
(cid:131) Moãi loaïi thöïc theå ôû möùc quan nieäm seõ coù 1 quan heä ñöôïc taïo ra, goàm caùc thuoäc tính ñôn cuûa loaïi thöïc theå, tröø thuoäc tính ña trò. (cid:131) Moãi thuoäc tính ña trò coù 1 quan heä ñöôïc taïo ra.
(cid:131) Vôùi moãi loaïi moái keát hôïp ôû möùc quan nieäm, tuøy vaøo raøng
23
buoäc tæ leä löïc löôïng: (cid:131) Coù 1 khoùa ngoaïi ñöôïc taïo ra ôû quan heä lieân quan hoaëc (cid:131) Coù 1 quan heä môùi ñöôïc taïo ra.
12