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 = trong đó, từng giá trị vj (1 ≤ j ≤ n) thuộc tập hợp các phần tử mà thuộc tính Aj có thể nhận lấy hoặc bằng rỗng (null).

• 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