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