CÔ SÔÛ DÖÕ LIEÄU

Chöông 2

MOÂ HÌNH ER (ENTITY RELATIONSHIP)

GV: Phaïm Thò Baïch Hueä

Email: ptbhue@fit.hcmus.edu.vn

1

Nhaéc laïi noäi dung

− Chöông 1: Toång quan veà CSDL − Chöông 2: Moâ hình Thöïc theå - Keát hôïp (ER - Entity Relationship)

2

− Chöông 3: Moâ hình dữ liệu quan heä (Relational data Model) − Chöông 4: Ngoân ngöõ ñaïi soá quan heä (Relational Algebra) − Chöông 5: Ngoân ngöõ SQL (Structured Query Language) − Chöông 6: Ngoân ngöõ pheùp tính quan heä (Relational Calculus) − Chöông 7: Raøng buoäc toaøn veïn (Integrity Constraints) − Chöông 8: Toái öu hoùa caâu vaán tin − Chöông 9: Phuï thuoäc haøm vaø daïng chuaån

1

Muïc tieâu chöông 2

− Hieåu caùch moâ hình hoùa döõ lieäu möùc quan

nieäm.

3

NOÄI DUNG TRÌNH BAØY

I. Caùc giai ñoaïn thieát keá CSDL

II. Moät ví duï

III. Caùc khaùi nieäm veà moâ hình Thöïc theå – Keát hôïp

IV. Caùc kyù hieäu trong moâ hình ER

4

V. Hoaøn chænh thieát keá cho ví duï

2

Theá giôùi thöïc caàn tin hoïc hoaù

I. Caùc giai ñoaïn

PHAÂN TÍCH VAØ CHOÏN LOÏC YEÂU CAÀU

thieát keá

Caùc yeâu caàu sau khi phaân tích

CSDL

THIEÁT KEÁ QUAN NIEÄM

Moâ hình quan nieäm döõ lieäu

Ñoäc laäp vôùi DBMS

THIEÁT KEÁ LOGIC

Phuï thuoäc vaøo moät DBMS cuï theå

Moâ hình döõ lieäu ôû möùc logic

THIEÁT KEÁ VAÄT LYÙ

5

Moâ hình döõ lieäu ôû möùc vaät lyù

II. Tin hoïc hoùa vieäc QUAÛN LYÙ PHAÂN COÂNG ÑEÀ AÙN

taïi moät coâng ty

6

(cid:131) Coâng ty coù nhieàu phoøng ban: teân, maõ soá vaø moät nhaân vieân laøm tröôûng phoøng. Ngaøy maø nhaân vieân ñoù baét ñaàu laøm tröôûng phoøng cuõng ñöôïc quan taâm. Moät phoøng ban coù theå ñònh vò ôû nhieàu ñòa ñieåm khaùc nhau. (cid:131) Moät phoøng ban phuï traùch moät soá ñeà aùn. Moãi ñeà aùn coù teân, maõ soá vaø nôi thöïc hieän ñeà aùn. (cid:131) Veà nhaân vieân, caàn quan taâm: maõ, teân, ñòa chæ, möùc löông, giôùi tính vaø ngaøy sinh. Moãi nhaân vieân thuoäc moät phoøng ban nhöng coù theå laøm vieäc cho nhieàu ñeà aùn. Moãi ñeà aùn do moät phoøng ban phuï traùch.

3

II. Tin hoïc hoùa vieäc QUAÛN LYÙ PHAÂN COÂNG ÑEÀ AÙN

taïi moät coâng ty

7

(cid:131) Caàn löu laïi giôø laøm vieäc cuûa moät nhaân vieân laøm cho moät ñeà aùn. Ngoaøi ra cuõng caàn bieát ñöôïc ngöôøi phuï traùch tröïc tieáp cuûa moät nhaân vieân. (cid:131) Ñeå quaûn lyù caùc thoâng tin coù lieân quan ñeán baûo hieåm, ngöôøi söû duïng cuõng coù nhu caàu veà thoâng tin cuûa moái quan heä thaân nhaân (vôï, choàng, con) cuûa nhaân vieân. Caùc thoâng tin maø ngöôøi söû duïng quan taâm bao goàm teân thaân nhaân, giôùi tính vaø moái quan heä vôùi nhaân vieân.

Thöïc theå & Thuoäc tính

Thöïc theå (Entity) Laø 1 ñoái töôïng toàn taïi trong theá giôùi thöïc, coù theå laø cuï theå hoaëc tröøu töôïng vaø coù theå nhaän bieát.

Ví duï: 1 nhaân vieân coù maõ laø NV010, 1 sinh vieân coù maõ laø TH98020

Thuoäc tính (Attribute) Moãi thöïc theå coù nhieàu ñaëc tröng, moãi ñaëc tröng ñöôïc goïi laø moät thuoäc tính.

Ví duï: Maõ NV, Teân, Ñòa chæ, Naêm sinh, Ñieän thoaïi laø caùc thuoäc tính cuûa thöïc theå nhaân vieân, duøng ñeå nhaän bieát moät ñoái töôïng nhaân vieân cuï theå.

8

Töøng thöïc theå rieâng bieät coù giaù trò cho moãi thuoäc tính.

4

Thuoäc tính ñôn & Thuoäc tính hôïp

− Thuoäc tính ñôn (Single attribute): ta khoâng

quan taâm thaønh phaàn con cuûa thuoäc tính ñôn.

• Ví duï: Maõ PB, Teân PB laø caùc thuoäc tính ñôn. − Thuoäc tính hôïp (Composite attribute): goàm

caùc thuoäc tính thaønh phaàn. (cid:131) Ví duï: Teân NV laø thuoäc tính hôïp, goàm caùc thaønh

phaàn: Hoï, Teân loùt, Teân NV.

9

Giaù trò cuûa thuoäc tính

− Ñôn trò (single-valued): vôùi moät thöïc theå cuï theå, giaù trò cuûa thuoäc tính laø giaù trò ñôn.

− Ña trò (multi-valued): vôùi moät thöïc theå cuï theå, giaù trò cuûa thuoäc tính laø moät taäp hôïp caùc giaù trò. (cid:131) Ví duï: Thuoäc tính Ñòa ñieåm cuûa moät thöïc theå

phoøng ban.

− Null: chöa bieát hoaëc khoâng aùp duïng.

10

5

Thuoäc tính daãn xuaát

− Laø thuoäc tính maø giaù trò cuûa noù ñöôïc suy ra töø

(nôi khaùc cuûa) CSDL.

− Ví duï: Giaû söû moãi phoøng ban caàn löu laïi thuoäc tính soá löôïng NV. Soá löôïng NV laø thuoäc tính daãn xuaát, vì ta coù theå ñeám töø baûng NHANVIEN ñeå bieát moãi phoøng coù bao nhieâu nhaân vieân.

11

Loaïi thöïc theå (Entity set) − Loaïi thöïc theå laø taäp hôïp caùc thöïc theå coù cuøng

caùc thuoäc tính. (cid:131) Ví duï: Loïai thöïc theå NHAN VIEN, loïai thöïc theå

ÑEAN.

− Khoùa cuûa loaïi thöïc theå

(cid:131) Taäp hôïp (goàm moät hoaëc nhieàu) nhỏ nhất thuoäc

tính cuûa moät loaïi thöïc theå maø giaù trò cuûa taäp hôïp naøy laø duy nhaát ñoái vôùi moïi thöïc theå. (cid:131) Khoùa duøng ñeå nhaän bieát töøng thöïc theå.

Thieát keá sô löôïc ví duï ñaõ cho.

12

6

Nhaän dieän loaïi thöïc theå

− Coù caùc loaïi thöïc theå:

1. NHANVIEN: MANV, HONV, TENLOT, TENNV,

DIACHI, LUONG, PHAI, NGAYSINH 2. PHONGBAN: MAPB, TENPB, DIADIEM 3. DEAN: MADA, TENDA, DDIEM_DA 4. THANNHAN: TENTN, PHAI, NGAYSINH,

QUANHE

13

Loaïi moái keát hôïp

− Moái keát hôïp

(cid:131) Moät moái keát hôïp (relationship) laø moái quan heä giöõa hai hay nhieàu thöïc theå mang moät yù nghóa naøo ñoù.

− Loaïi moái keát hôïp

(cid:131) Ví duï: Nguyeãn Vaên A tröïc thuoäc phoøng Nghieân cöùu. (cid:131) Traàn Thò B tröïc thuoäc phoøng Kinh doanh.

(cid:131) Moät loaïi moái keát hôïp laø taäp taát caû caùc moái keát hôïp cuøng loaïi.

14

(cid:131) Ví duï: Taäp taát caû nhöõng moái quan heä tröïc_thuoäc treân ñöôïc dieãn ñaït bôûi loaïi moái keát hôïp TRUC_THUOC.

7

Baäc cuûa loaïi moái keát hôïp − Laø soá löôïng loaïi thöïc theå tham gia vaøo moái keát hôïp. Loaïi moái keát hôïp baäc 2 coøn goïi laø moái keát hôïp nhò phaân. Haàu heát caùc loaïi moái keát hôïp trong CSDL laø nhò phaân. − Thuoäc tính cuûa loaïi moái keát hôïp

(cid:131) Giôø laøm vieäc cuûa nhaân vieân khi nhaân vieân tham

gia laøm ñeà aùn.

(cid:131) Giôø laøm vieäc laø thuoäc tính cuûa moái keát hôïp giöõa

NHANVIEN vaø DEAN.

15

Caùc raøng buoäc treân loaïi moái keát hôïp

− Coù 2 loaïi

(cid:131) Raøng buoäc tæ leä löïc löôïng (Cardinality ratio

constraints ) • Kyù hieäu (min, max) cho caùc raøng buoäc thuoäc loaïi naøy

(cid:131) Raøng buoäc tham gia (Participation constraints)

treân loaïi moái keát hôïp.

16

• Toaøn phaàn. • Baùn phaàn.

8

Raøng buoäc tham gia

NHANVIEN

QUANLY

PHONGBAN

QUANLY laø moät loaïi moái keát hôïp, NHANVIEN tham gia baùn phaàn vaø PHONGBAN tham gia toaøn phaàn vaøo moái keát hôïp naøy.

17

Loïai thöïc theå yeáu

(cid:131) Loïai thöïc theå khoâng coù taäp thuoäc tính khoùa goïi laø

loaïi thöïc theå yeáu (weak entity type).

(cid:131) Loïai thöïc theå yeáu phaûi tham gia trong moät loïai moái keát hôïp xaùc ñònh (Identifying relationship type) trong ñoù coù moät loïai thöïc theå chuû hay loïai thöïc theå xaùc ñònh (Identifying entity).

(cid:131) THANNHAN thuoäc loaïi loaïi thöïc theå yeáu.

18

9

Khoùa cuûa loaïi TT yeáu

− Moät thöïc theå yeáu ñöôïc xaùc ñònh baèng söï keát

hôïp cuûa: (cid:131) Khoùa rieâng phaàn (partial key) cuûa moät thöïc theå

yeáu.

(cid:131) Khoùa cuûa moät thöïc theå xaùc ñònh thöïc theå yeáu naøy.

19

IV. CAÙC KYÙ HIEÄU DUØNG TRONG MOÂ HÌNH ER

Kyù hieäu YÙ nghóa

Loïai thöïc theå

Loïai thöïc theå yeáu

Loïai moái keát hôïp

20

Loïai moái keát hôïp xaùc ñònh

10

IV. CAÙC KYÙ HIEÄU DUØNG TRONG MOÂ HÌNH ER

Kyù hieäu YÙ nghóa

Thuoäc tính

Thuoäc tính khoaù

Thuoäc tính ña trò

21

Thuoäc tính ña hôïp

IV. CAÙC KYÙ HIEÄU DUØNG TRONG MOÂ HÌNH ER

Kyù hieäu YÙ nghóa

E1

R

E2

Thuoäc tính daãn xuaát

(min, max)

E

R

E2 tham gia toøan phaàn vaøo moái keát hôïp R

22

E tham gia vaøo R theo tæ leä laø min:max

11

TENLOT

TENNV

HONV

DIACHI

LUONG

DIADIEM

PHAI

MAPB

TENPB

NGAYSINH

TEN

TRUCTHUOC

MANV

(1,n)

(1,1)

NGAYBD

PHONGBAN

NHANVIEN

(0,1)

(1,1)

(0,1)

QUANLY

(0,n)

(0,n)

THOIGIAN

(0,n)

GIAMSAT

PHANCONG

PHUTRACH

(0,n)

COTHAN NHAN

(1,n)

(1,1)

MADA

(1,1)

DEAN

TENDA

THANNHAN

DDIEM_DA

23

TENTN

PHAI

NGSINH

QUANHE

12