You are on page 1of 42

Session 2

E-R (Entity Relationship) Model and Normalization

Mc tiu bi hc

nh ngha v m t v m hnh ha d liu. Nhn bit v m t cc thnh phn m hnh E-R Nhn bit cc quan h gia cc thc th Gii thch v lc E-R, cc k hiu s dng v v th hin cc quan h M t v cc dng chun Cc ton t quan h

RDBMS and Data Management/ Session 2/2 of 15

Data Modeling

Data Model - l nhm cc cng c l thuyt m t d liu, cc mi quan h v ng ngha ca chng. M hnh d liu cng bao gm cc rng buc ton vn m d liu phi tun theo. M hnh ha d liu c th c chia lm ba bc chnh sau: Conceptual Data Modeling (khi nim) Logical Data Modeling Physical Data Modeling
RDBMS and Data Management/ Session 2/3 of 15

Data Modeling

RDBMS and Data Management/ Session 2/4 of 15

Entity-Relationship (ER) model 1-4

Cc m hnh d liu c phn thnh ba nhm khc nhau


Object-based logical models Record-based logical models Physical models

M hnh Entity-Relationship (E-R) thuc v nhm u tin. M hnh da trn tng n gin: D liu c th c nhn bit nh l cc i tng trong th gii thc gi l thc th v cc mi quan h tn ti gia chng. M hnh E-R gm 5 thnh phn c bn: Entity (thc th) Relationship (quan h) Attributes (thuc tnh) Entity Set (tp thc th) Relationship Set (tp quan h)

RDBMS and Data Management/ Session 2/5 of 15

Entity-Relationship (ER) model 1-4


Employee Entity Set Department Entity Set Relationship Set Human Resource


Employee Entities

works in

Production
Accounts Logistics Department Entities

RDBMS and Data Management/ Session 2/6 of 15

Entity-Relationship (ER) model 2-4

Mi quan h gn kt mt hay nhiu thc th vi nhau, c phn lm 3 loi:

Self relationships: Cc mi quan h gia cc thc th trong cng tp thc th.

RDBMS and Data Management/ Session 2/7 of 15

Entity-Relationship (ER) model 2-4

Binary relationships: Cc mi quan h tn ti gia cc thc th ca hai tp thc th khc nhau.

RDBMS and Data Management/ Session 2/8 of 15

Entity-Relationship (ER) model 2-4

Ternary relationships: Mi quan h tn ti gia ba thc th ca cc tp thc th khc nhau.

RDBMS and Data Management/ Session 2/9 of 15

Entity-Relationship (ER) model 3-4

Cc mi quan h c th c phn loi theo yu t nh x nh sau:

One-to-One: Loi nh x ny tn ti khi mt thc th ca mt tp thc th c th gn kt ch vi mt thc th ca tp thc th khc.

Vehicle Entity Set

Registration Entity Set

registration

RDBMS and Data Management/ Session 2/10 of 15

Entity-Relationship (ER) model 3-4

Cc mi quan h c th c phn loi theo yu t nh x nh sau:

One-to-Many: Loi nh x ny tn ti khi mt thc th ca tp thc th c th c gn kt vi nhiu hn mt thc th ca mt tp thc th khc.


Vehicle Entity Set

f f f
Vehicle Entity Set

RDBMS and Data Management/ Session 2/11 of 15

Entity-Relationship (ER) model 4-4

Many-to-One: Loi nh x nay tn ti khi nhiu thc th ca mt tp thc th kt hp vi mt thc th ca mt tp thc th khc. S kt hp ny c thc hin khng k thc th k sau kt hp vi cc thc th khc hay khng.
Vehicle Entity set

f h f

Location Entity set

F
RDBMS and Data Management/ Session 2/12 of 15

Entity-Relationship (ER) model 4-4

Many-to-Many: Loi nh x ny tn ti khi mt s thc th ca tp thc th c th kt hp vi mt s thc th ca tp thc th khc.


Customer Entity Set Account Entity Set


RDBMS and Data Management/ Session 2/13 of 15

Entity-Relationship Diagrams

The E-R diagram is a graphical representation of the E-R model. The symbols used for the various components can be seen in the following table:

RDBMS and Data Management/ Session 2/14 of 15

Entity-Relationship Diagrams

RDBMS and Data Management/ Session 2/15 of 15

Entity-Relationship Diagrams

Steps to construct an E-R diagram are:


Tp hp tt c cc d liu cn c m hnh ha Xc nh d liu c th c m hnh ha nh cc thc th thc t Nhn ra cc thuc tnh cho mi thc th Phn loi cc tp thc th thnh cc tp thc th mnh hoc yu Phn loi cc thuc tnh thc th thnh thuc tnh kha, thuc tnh a tr, thuc tnh phc hp, thuc tnh dn xut, ..v..v. Nhn ra cc quan h gia cc thc th khc nhau. S dng cc k hiu v cc thc th, thuc tnh v cc mi quan h ca chng. S dng cc k hiu thch hp trong khi v cc thuc tnh.
RDBMS and Data Management/ Session 2/16 of 15

CusPhone

CusName
CusPass CusUser

CusGende r

CusAddres s

CusEmail

SAnswer
Registerdat e Status

Customer N

CusID

ClassID ClassName Description Classify

Hav e

RDBMS and Data Management/ Session 2/17 of 15

CusPhone CusGender CusName CusPass CusUser CusID N

CusAddress CusEmail SAnswer Registerdate

Customer 1

Status

ClassID ClassName Description Classify

Have

Have

OrdID

Status ShipName ShipPhone

Order

ShipAddress OrderDate Requiredate Date ShippedDate

RDBMS and Data Management/ Session 2/18 of 15

Normalization

Chun ha l qu trnh tch bng (phn r) thnh cc bng nh hn da vo cc ph thuc hm m khng lm mt thng tin. Cc dng chun l cc ch dn thit k cc bng trong CSDL. Mc ch ca chun ha l loi b cc d tha v Yu cu v khng gian lu tr Trnh cc li khi thao tc d liu (Insert, Delete, Update). Ch : chun ha lm tng thi gian truy vn.
RDBMS and Data Management/ Session 2/19 of 15

Cc dng chun(Normal forms)


Bng vi cc thuc tnh a tr Chun 1 (1NF) Chun 2 (2NF) Chun 3 (3NF) Chun BoyceCodd (BCNF)

Loi b cc thuc tnh a tr

Loi b cc ph thuc b phn Loi b cc ph thuc bc cu

Ch cn cc ph thuc X A m X l kha

Chun 4 (4NF)

Loi b cc ph thuc a tr

Loi b cc ph thuc ni

Chun 5 (5NF)

RDBMS and Data Management/ Session 2/20 of 15

1NF (1)

Ban u, Codd (1972) m t ba dng chun (1NF, 2NF v 3NF), tt c da trn s ph thuc gia cc thuc tnh ca quan h.

First Normal Form - t c dng chun mt: To ra cc bng ring bit cho mi nhm d liu lin quan. Cc ct ca bng phi c cc gi tr nguyn t (atomic values) Tt c cc thuc tnh kha phi c nhn dng

RDBMS and Data Management/ Session 2/21 of 15

1NF (2)
MASV
A01 A03

HOTEN
L Na Trn An

IACHI
12 Thi H 56 M My

MA MON M01 M02 M01 M04 M02 M03

TEN MON CSDL Anh 2 CSDL Ton 1 Anh 2 Vi m

TENGV
Mai Lan Mai Nam Lan Chi

PHONG
P13 P25 P13 P40 P25 P30

IEM
8 5 6 10 7 9

A02

H Nam

34 Cu G

y khng phi l dng chun 1NF v thuc tnh MAMON,TENMON, TENGV, PHONG, DIEM c min gi tr "a tr".

RDBMS and Data Management/ Session 2/22 of 15

1NF (3)
MASV
A01 A01 A03 A02 A02 A02

HOTEN
L Na L Na Trn An H Nam H Nam H Nam

IACHI
12 Thi H 12 Thi H 56 M My 34 Cu G 34 Cu G 34 Cu G

MA MON
M01 M02 M01 M04 M02 M03

TEN MON
CSDL Anh 2 CSDL Ton 1 Anh 2 Vi m

TENGV
Mai Lan Mai Nam Lan Chi

PHONG
P13 P25 P13 P40 P25 P30

IEM
8 5 6 10 7 9

Nhn xt: Hai bng quan h trn u cng qun l mt mng thng tin ca mt nhm i tng, c cu trc logic nh nhau nhng cu trc vt l khc nhau. Bng 1 quan h c 3 phn t, bng 2 quan h c 6 phn t. Chng ta c th a mi quan h v dng 1NF.
RDBMS and Data Management/ Session 2/23 of 15

Dng chun 2 - 2NF (1)


Mt quan h 2NF nu quan h dng 1NF v cc thuc tnh khng kha ph thuc hon ton vo kha. Bng R c cc ph thuc hm sau: (1) Masv Hoten, Diachi (2) Mamon Tenmon, Tengv, Phong (3) Masv, Mamon iem (4) Tengv Phong Kha chnh: Masv, Mamon. Tenmon, Hoten, Diachi l cc thuc tnh khng kha v ch ph thuc vo mt phn ca kha cha t 2 NF.

RDBMS and Data Management/ Session 2/24 of 15

MASV HOTEN A01 L Na

IACHI

MA MON

TEN MON

TENGV PHONG IEM Mai P13 8

12 Thi H M01 CSDL

A01
A03 A02 A02 A02

L Na

12 Thi H M02 Anh 2


M04 Ton 1 M02 Anh 2 M03 Vi m

Lan
Mai Nam Lan Chi

P25
P13 P40 P25 P30

5
6 10 7 9

Trn An 56 M My M01 CSDL H Nam 34 Cu G H Nam 34 Cu G H Nam 34 Cu G

R1
MASV HOTEN A01 A03 A02 L Na IACHI 12 Thi H

R2
MA MON TEN MON TENGV PHONG Mai Lan Nam Chi P13 P25 P40 P30 MASV A01 A01 M01 CSDL M02 Anh 2 M04 Ton 1 M03 Vi m M01 M02

R3
MA IEM MON 8 5

Trn An 56 M My H Nam 34 Cu G

A03
A02 A02 A02

M01
M04 M02 M03

6
10 7 9

RDBMS and Data Management/ Session 2/25 of 15

Dng chun 2 - 2NF (2)

Mt quan h dng 2NF nu tha mn 1 trong cc iu kin sau Kha chnh ch gm 1 thuc tnh. Bng khng c cc thuc tnh khng kha. Tt c cc thuc tnh khng kha ph thuc hon ton vo tp cc thuc tnh kha chnh. Gi Ch kim tra cc quan h c t 2NF nu quan h c kho chnh gm 2 thuc tnh tr ln. chuyn quan h t dng 1NF sang dng 2NF, ta dng php chiu.
RDBMS and Data Management/ Session 2/26 of 15

Cc li khi dng 2NF

Lc R2(Mamon, Tenmon, Tengv, Phong) gm cc ph thuc hm: (2) Mamon Tenmon, Tengv, Phong (4) Tengv Phong R2 t 2NF. Vn Liu c th phn phng cho 1 gio vin khi gio vin cha dy mn no? Khi xa 1 mn hc, liu c lm mt thng tin v gio vin v phng? Khi i phng cho 1 gio vin th phi cp nht li bao nhiu dng?
RDBMS and Data Management/ Session 2/27 of 15

Dng chun 3 3NF


Mt quan h 3NF nu quan h 2NF v khng c cc ph thuc bc cu. Mt lc quan h R 3NF nu vi mi ph thuc X A ng trong R v A X th hoc X l kha bao hm hoc A l nguyn t. A l thuc tnh nguyn t (thuc tnh kha) nu A l phn t ca mt kha ca R (R c th c nhiu kha), ngc li A l phi nguyn t. Gi s ta c quan h svien (masv, hoten, khuvuc, congdiem) Ta thy nu 1 thuc tnh c xc nh bi 1 thuc tnh khng kho, n gi l thuc tnh bc cu. Vy congdiem ph thuc vo khuvuc. chia thnh 2 quan h (3NF): svien (masv, hoten, khuvuc) v khu (khuvuc, congdiem)

RDBMS and Data Management/ Session 2/28 of 15

R1
MASV HOTEN
A01 A03 A02 L Na

R2
IACHI
12 Thi H

Mamon Tenmon, Tengv, Phong Tengv Phong

R3
MA IEM MON M01 M02 M01 M04 M02 M03 8 5 6 10 7 9 A01 A01 A03 A02 A02 A02

Trn An 56 M My H Nam 34 Cu G

MA MON M01 M02 M04 M03

TEN MON CSDL Anh 2 Ton 1 Vi m

TENGV PHONG Mai Lan Nam Chi P13 P25 P40 P30

MASV

R1
MASV HOTEN A01 A03 A02 L Na IACHI 12 Thi H

R2
MA MON TEN MON M01 CSDL M02 Anh 2

R4
TENGV PHONG Mai Lan P13 P25

R3
MASV
A01 A01 A03 A02 A02 A02 MA IEM MON M01 M02 M01 M04 M02 M03 8 5 6 10 7 9

Trn An 56 M My H Nam 34 Cu G

M04 Ton 1
M03 Vi m

Nam
Chi

P40
P30

RDBMS and Data Management/ Session 2/29 of 15

Relational Operators

M hnh quan h c da trn c s i s quan h. i s quan h bao gm tp hp cc php ton hot ng trn cc quan h. Mi ton t gi 1 hoc 2 quan h nh u vo ca n v kt qu quan h mi l u ra.

SELECT: This operator is used to extract data that satisfies a given condition. The lowercase Greek letter sigma, , is used to denote selection.

RDBMS and Data Management/ Session 2/30 of 15

Select

Php ton ny rt ra cc bn ghi tha mn iu kin no y. Gi E l mt iu kin no bao gm:

Cc ton hng (hng, tn thuc tnh, vi hng chui ta bao trong du nhy n hoc kp) Cc quan h s hc (<, =, >, , , ) Cc php ton logic: v, hoc v ph nh.
RDBMS and Data Management/ Session 2/31 of 15

Project

PROJECT: This operator is used to project certain details of a relational table. It only displays the required details leaving out certain columns. The PROJECT operator is denoted by the Greek letter pi, . php chiu l ta nhn c mt quan h t mt quan h cho bng cch b bt i mt s thuc tnh no . V d c quan h svien (masv, ho, ten, gtinh, nsinh, dchi, diemvt) ta ly ra bng sv (masv, ho, ten, diemvt)
RDBMS and Data Management/ Session 2/32 of 15

Product

PRODUCT: This operator is denoted by x. It helps combine information from two relational tables. Php nhn kt hp mi bn ghi ca bng 1 vi tt c cc bn ghi ca bng 2 tc l n to ra tt c cc kt hp c th c gia cc bn ghi ca 2 bng

RDBMS and Data Management/ Session 2/33 of 15

Union (1)

UNION: The UNION operator collects data from different tables and presents a unified version of the complete data. The union operation is represented by the symbol, U. Cho R v S l hai quan h trn cng tp thuc tnh U (ta gi cc quan h R v S l tng thch). Khi hp ca quan h R v S l mt quan h H trn U, bao gm cc phn t thuc R hoc thuc S. Hp ca R v S c k hiu l R + S: R + S = {t | t R hoc t S}
RDBMS and Data Management/ Session 2/34 of 15

Union (2)
Cho hai quan h R v S nh sau:

quan h H = R + S l: A a1 a2 a3 x1 x2 B b1 b2 b3 y1 y2 C c1 c2 c3 z1 z2

A B C a1 b1 c1 a2 b2 c2 a3 b3 c3

A B C x1 y1 z1 a1 b1 c1 x2 y2 x2

RDBMS and Data Management/ Session 2/35 of 15

Intersection(1)
INTERSECT: This operator generates data that holds true in all the tables it is applied on. It is based on the intersection set theory and is represented by the symbol. Cho R v S l hai quan h trn cng tp thuc tnh U. Khi giao ca quan h R v S l mt quan h G trn U, bao gm cc phn t thuc R v thuc S. Giao ca R v S c k hiu l G=R*S: R*S = {t | t R v t S}

RDBMS and Data Management/ Session 2/36 of 15

Intersection (2)
Cho hai quan h R v S nh sau:

quan h G = R.S l: A B C a1 b1 c 1

A B C a1 b1 c1

A B C x1 y1 z1

a2 b2 c2 a3 b3 c3

a1 b1 c1 x2 y2 x2

RDBMS and Data Management/ Session 2/37 of 15

DIFFERENCE (1)
DIFFERENCE: This operator, symbolized as -. It generates data from different tables, that holds true in one table and not the other. Hiu ca 2 quan h R v S trn cng tp thuc tnh U l mt quan h T trn U, bao gm cc phn t thuc R v khng thuc S. Hiu ca R v S c k hiu l R - S: R - S = {t | t R v t S}

RDBMS and Data Management/ Session 2/38 of 15

DIFFERENCE (2)
Cho hai quan h R v S nh sau:

quan h T = R-S l: A B C a2 b2 C2

A B C a1 b1 c1

A B C x1 y1 z1

a2 b2 c2 a3 b3 c3

a1 b1 c1 x2 y2 x2

a3 b3 c3

RDBMS and Data Management/ Session 2/39 of 15

JOIN (1)

JOIN: The join operation is an enhancement to the product operation. It allows a selection to be performed on the product of tables. Cho hai quan h R(U), S(V). Php kt ni t nhin (Natural Join) ca hai quan h R v S l quan h c k hiu l P = R |><| S trn lc quan h U V gm cc phn t t m chiu ca t ln U l phn t thuc R cn chiu ca t ln V l phn t thuc S: P = {t | t.U R v t.V S}
RDBMS and Data Management/ Session 2/40 of 15

Phn t t1
t2 t3 t4 t5

HOTEN Nguyn Vn Tun


Nguyn Huy Khi L Th Hoa L Th Hin Phm Th o

GIOITINH Nam
Nam N N N
TUOI
30 32 25 28 22

Phn t

HOTEN

TUOI

t1
t2 t3 t4 t5

Nguyn Vn Tun
Nguyn Huy Khi L Th Hoa L Th Hin Phm Th o

30
32 25 28 22

Phn t
t1 t2 t3 t4 t5

HOTEN
Nguyn Vn Tun Nguyn Huy Khi L Th Hoa L Th Hin Phm Th o

GIOITINH
Nam Nam N N N

RDBMS and Data Management/ Session 2/41 of 15

DIVIDE

DIVIDE: The division operation, denoted by , is suited to queries that include the phrase for all. Cc thuc tnh ca bng chia lun l tp con ca bng b chia

RDBMS and Data Management/ Session 2/42 of 15

You might also like