You are on page 1of 277

NHP MN C S D LIU

GV: Ths Nguyn Th M Linh


NI DUNG MN HC
Chng 1: Gii thiu chung v l thuyt CSDL
Chng 2: M hnh thc th kt hp
Chng 3: M hnh quan h
Chng 4: Chuyn t m hnh thc th kt hp
sang m hnh quan h
Chng 5: Ngn ng truy vn SQL
Chng 6: Chun ha d liu
Chng 7: Thit k vt l c s d liu
Chng 8: Th tc lu tr v trigger
Chng 9: Bo mt v quyn ca ngi dng
Tng cng: 45 LT+60TH
NI DUNG MN HC
CHNG TN CHNG L THUYT THC HNH
1
Gii thiu chung v l
thuyt CSDL
3 0
2 M hnh thc th kt hp 3 0
3 M hnh quan h 6 0
4
Chuyn t m hnh thc
th kt hp sang m hnh
quan h
3 0
5 Ngn ng truy vn SQL 12 30
6 Chun ha d liu 6 0
7
Thit k vt l c s d
liu
3 0
8 Th tc lu tr v trigger 6 24
9
Bo mt v quyn ca
ngi dng
3 6
Tng cng: 45 60
TI LIU THAM KHO
[1]Concepts of Database management Philip
J. Pratt & Joseph J. Adamski Thomson , 5th
edition
[2] Database Systems: Design, Implementation
& Management Peter Rob & Carlos Coronel
Thomson, 6th edition
[3] Programming Logic and Design Joyce
Farrell Thomson, 3rd Edition
[4] Gio trnh c s d liu - Trng H Cng
nghip TP HCM
[5] Cc bi thc hnh mn c s d liu-
Trng H Cng nghip TP HCM
[6] Principles of database and knowledge base
systems - JEFFREY D. ULLMAN
Gii thiu chung v l thuyt
C S D Liu (CSDL)
Chng 1
Cc khi nim c bn v nh ngha
H thng x l tp tin truyn thng
Cch tip cn c s d liu
Cc thnh phn ca mi trng h
qun tr c s d liu
Cc chc nng ca h qun tr c s
d liu
Kin trc c s d liu ba lc
Ni dung
D liu v thng tin
D liu (data):
L mt m t hnh thc thch hp v nhng s
kin(event), khi nim (concept) hay ch th
gip con ngi giao tip, din gii hay x l
hoc thc hin 1 cch t ng
D liu c m t bt k dng no, chng hn
k t hay s gn lin vi ng ngha
Thng tin (Information):
L d liu c qua x l nhm p ng
yu cu ca ngi s dng trong nhng hon
cnh c th
D liu trong ng cnh
D liu c tng hp / x l

1. Cc khi nim c bn v nh ngha
1. Cc khi nim c bn v nh ngha
Thng tin: d liu trong ng cnh
STT M sinh vin H v tn sinh vin Lp Tui
1 10273 Nguyn Vn Ho CDTH7 20
2 00298 Nguyn Minh Tm CDTH7 19

151 50542 H Xun Phng TCTH33 18
152 50075 L Vit Dng CNTH34 20
D liu
1 10273 Nguyn Vn Ho CDTH7 20
2 00298 Nguyn Minh Tm CDTH7 19

151 50542 H Xun Phng TCTH33 18
152 50075 L Vit Dng CNTH34 20
1. Cc khi nim c bn v nh ngha
Siu d liu (metadata)
Siu d liu l d liu dng m t cc tnh
cht / c tnh ca d liu khc (d liu v d
liu).
Cc c tnh: nh ngha d liu, cu trc d
liu, qui tc / rng buc.
1. Cc khi nim c bn v nh ngha
H thng x l tp tin(file processing system)
H thng x l tp tin l tp hp cc chng trnh
dng lu tr, thao tc v truy xut cc tp tin
d liu c kch thc ln.
Cc tp tin d liu c lu tr trong cc th mc
(folder).
2.1 H thng x l tp tin theo li c
2. Qu trnh qun l d liu
2. Qu trnh qun l d liu
Cc thnh phn ca h thng x l tp tin
Phn cng: cc my tnh.
Phn mm:
H iu hnh
Cc tin ch
Cc tp tin
Cc chng trnh qun l tp tin
Cc chng trnh ng dng to cc bo co t cc
d liu c lu tr trong cc tp tin.
Con ngi: ngi qun l, chuyn gia, ngi lp
trnh, ngi s dng cui cng.
Cc th tc: cc lnh v cc qui tc chi phi vic
thit k v s dng cc thnh phn ca phn
mm.
D liu: tp hp cc s kin.
2. Qu trnh qun l d liu
Qun l d liu ca h thng tp tin
Ngn ng lp trnh: 3GL (third-Generation
Language).
Lm g? Lm nh th no?
Cc ngn ng:
COBOL (COmmon Business-Oriented Language)
BASIC (Beginners All-purpose Symbolic Instruction Code)
FORTRAN (FORmula TRANslation)
Cc chng trnh x l tp tin
To cu trc tp tin.
Thm d liu vo tp tin.
Xa d liu ca tp tin
Sa d liu ca tp tin.
Lit k d liu ca tp tin.
H thng x l tp tin theo li c
Nhc im ca h thng x l tp tin
Ph thuc d liu chng trnh (Program-Data
Dependence)
Tt c cc chng trnh ng dng phi duy tr siu
d liu (phn m t) ca cc tp tin m chng s
dng.
D tha d liu / Trng lp d liu (Data
Redundancy / Duplication of Data)
Cc h thng / chng trnh khc nhau c cc bn
d liu ring bit ca cng d liu.
Hn ch vic dng chung d liu
Mi ng dng c cc tp tin ring bit, t s dng
chung d liu vi cc ng dng khc.
H thng x l tp tin theo li c
Nhc im ca h thng x l tp tin
Thi gian pht trin lu
Ngi lp trnh phi thit k cc dng tp tin d liu
ring v vit cch truy xut tp tin cho mi ng dng
mi.
Chi ph bo tr chng trnh cao
Cc nhc im nu trn lm cho vic bo tr
chng trnh gp nhiu kh khn, thng chim
khong 80% ngn sch pht trin HTTT.
Mi ngi lp trnh phi duy tr d liu ring
bit.
Mi chng trnh ng dng phi c m lnh
cho siu d liu ca mi tp tin.
Mi chng trnh ng dng phi c cc
chng trnh con x l c, thm, sa v
xa d liu.
Khng c cc iu khin chung v phi hp.
Cc dng thc tp tin khng c cng chun.
Ph thuc d liu
Tn vng nh lu tr d liu d tha.
Gy ra cc vn kh v bo tr d liu.
Vn chnh:
Vic cp nht d liu ca mt tp tin c th dn
n cc mu thun d liu.
Vi phm tnh ton vn d liu.
D tha d liu
D tha d liu
Duplicate Data
2. Qu trnh qun l d liu
2.2 Cch tip cn c s d liu

2. Qu trnh qun l d liu
2.2 Cch tip cn c s d liu

Software 1
Software 2
Software 3
P
h
y
s
i
c
a
l
d
a
t
a
b
a
s
e
USER
DBMS
The DBMS provides an interface between the user and the data
Database
administrator
Application
developer
C s d liu (CSDL)
C s d liu l s tp hp c t chc cc d liu
c lin quan lun l vi nhau c lu tr trong
cc tp tin
Tp d liu ny s c lu tr trn cc
thit b thng tin lu tr nh bng t,
anhm tha mn yu cu khai thc
thng tin ng thi ca nhiu ngi dng
hay nhiu chng trnh ng dng vi nhiu
mc ch s dng khc nhau.
Mt h CSDL= CSDL+ h QTCSDL

3.Cc khi nim v h qun tr c s d liu
H qun tr CSDL
DBMS DataBase Management System
H qun tr CSDL l tp hp cc chng trnh,
phn mm dng qun l cu trc v d liu
ca CSDL v iu khin truy xut d liu trong
CSDL.
Cho php ngi s dng nh ngha, to lp v
bo tr CSDL v cung cp cc truy xut d liu.
Cung cp mt giao din gi ngi s dng v
d liu.
3.Cc khi nim v h qun tr c s d liu
3.1 Cc cch nhn khc nhau v d liu
View 1 View 2 View n ..
Logical (or Conceptal) Level
Physical Level
C


t
r

u

t

n
g

Cc mc tru tng trong mt DBMS
S tru tng t c thng qua m t mi mc di dng mt lc
bng cch dng mt m hnh d liu c th
3.2 M hnh d liu, lc v th hin
M hnh D liu Data Model: Tp hp
cc khi nim m t:
D liu v mi kt hp gia d liu
Ng ngha d liu v rng buc d liu
Cc thao tc trn M hnh D liu: Cc
thao tc rt trch v cp nht CSDL bng
cch tham chiu n cc khi nim ca M
hnh D liu
M hnh D liu
3.2 M hnh d liu, lc v th hin
M hnh Quan h- Relational Model
M hnh Mng-Network Model
M hnh D liu Phn cp-Hierarchical
Data Model
M hnh Hng i tng-Object-oriented
Data Models
M hnh Quan h i tng-Object-
Relational Models
Cc M hnh D liu:
3.2 M hnh d liu, lc v th hin
Lc CSDL-Database Schema: M t
v CSDL. Bao gm m t v cu trc CSDL
v cc rng buc trn CSDL
Th hin CSDL-Database Instance: D liu
hin thi c lu trong mt CSDL mt
thi im no , hay cn gi l trng thi
CSDL- database state(hay th hin-
occurrence)
Lc CSDL rt t khi thay i. Trng thi
CSDL thay i mi khi CSDL c cp nht

Lc v th hin:
Mt kho cha d liu c nh ngha 1
ln, c duy tr v truy xut bi nhiu
ngi dng.
Bn cht t m t ca 1 h CSDL
Mt DBMS catalog lu tr m t v CSDL(m
t ny gi l meta-data).
CSDL+ m t v cu trc v rng buc ca
CSDL
Phn mm DBMS lm vic vi nhiu ng
dng CSDL
S tch bit gia chng trnh v d liu,
s tru tng ca d liu
3.3 Cc c im ca Cch tip cn c s d liu
M hnh d liu D liu.
H tr nhiu cch nhn v d liu
Chia s d liu v x l giao dch nhiu
ngi dng
3.3 Cc c im ca Cch tip cn c s d liu
3.4 Cc i tng dng C s d liu
Nhng ngi lp trnh: Nhng ngi ny phi hiu
r cu trc CSDL, cch lu tr d liu.
Nhng ngi s dng khng chuyn: Ch cn bit
ni dung CSDL v cch truy xut
Nhng ngi qun tr CSDL: i tng ny xut
hin do tnh cht qu phc tp ca h qun tr
CSDL, khng phi ai cng c ton quyn i vi
CSDL. Nhng ngi thuc i tng ny c nhim
v ci t cu trc CSDL vo h qun tr CSDL,
nhp d liu ban u, gii quyt cc bin c xy ra,
backup , restore d liu, sa i cu trc CSDL
theo yu cu ca ngi thit k, nm cc quyn u
tin, lp c ch bo mt ca h thng CSDL.
D liu to thnh mt ti sn ca t chc:
iu khin tch hp
Gim ti thiu s d tha d liu (data
redundancy).
Nng cao tnh nht qun (data consistency) /
ton vn d liu (data integrity).
Nng cao vic dng chung d liu (data
sharing).
Nhng ngi s dng khc nhau c nhng ci nhn
khc nhau v d liu.
3.5 S cn thit ca CSDL
Nng cao an ton d liu
Tng hiu sut pht trin ng dng
c lp d liu chng trnh (data - program
independence).
DBMS cha siu d liu (metadata), do cc ng
dng khng cn quan tm n cc dng thc ca
d liu.
DBMS qun l cc truy vn v cp nht d liu, do
ng dng khng cn x l vic truy xut d liu.

3.5 S cn thit ca CSDL
Cc chc nng ca h qun tr CSDL
Lu tr, truy xut v cp nht d liu
Ngn ng nh ngha d liu (DDL - Data Definition
Language)
Ngn ng thao tc d liu (DML - Data Manipulation
Language).
Qun l giao tc (transaction management).
iu khin tng tranh (concurrency control)
Chp lu(backup) v phc hi d
liu(rescovery).
Bo mt d liu(security)
Ngn ng iu khin d liu (DCL - Data Control
Language).
H tr truyn thng d liu.
Duy tr tnh ton vn / nht qun d liu.
Cung cp cc tin ch.
3.6 Cc chc nng ca h qun tr CSDL
Cc yu cu ca 1 DBMS
Kh nng p ng cao
tin cy cao
Lu lng cao
Thi gian phn hi thp
4. Ni dung v kin trc ca DBMS
Cc yu cu ca 1 DBMS
Chu k sng lu
An ton
Xc thc (authentication), chng thc
(authorization), m ha (encryption)

4. Ni dung v kin trc ca DBMS
Phn loi DBMS:
Da trn m hnh d liu c dng:
Truyn thng: Quan h, mng, phn cp
ang thnh hnh: hng i tng, Quan h
i tng
Cc s phn loi khc:
Ngi s dng n(single-user), a ngi
dng(multi user)
Tp trung v phn tn
Chi ph phn mm DBMS



4. Ni dung v kin trc ca DBMS
Cc thnh phn ca DBMS:

4. Ni dung v kin trc ca DBMS
Ngn ng nh ngha d liu: To cu trc ca bng SinhVien
CREATE TABLE SinhVien
(MaSV NUMBER(7,0) NOT NULL,
HoTen VARCHAR(25) NOT NULL,
DiaChi VARCHAR(30),
NoiSinh VARCHAR(20),
CONSTRAINT PK_SinhVien PRIMARY KEY (MaSV));
Ngn ng thao tc d liu: Lit k m, tn v a ch ca cc sinh
vin thuc thnh ph HCM
SELECT MaSV, HoTen, DiaChi
FROM SinhVien
WHERE NoiSinh = HCM;
Ngn ng iu khin d liu: Cho php ngi s dng A v B c
php xem v thm d liu vo bng SinhVien
GRANT SELECT, INSERT ON SinhVien
TO A,B;
M hnh thc th kt hp
(M hnh lin kt thc th)
Chng 2
1. Qu trnh thit k C s d liu
Thu thp v phn tch cc yu cu
Thit k mc quan nim
nh x thit k logic/m hnh d liu
Thit k mc vt l
Th gii thc
Thu thp v phn tch
yu cu
Phn tch quan nim Phn tch chc nng
Thit k logic
Thit k ctr. ng dng
Thc hin giao tc
Thit k mc vt l
Cc yu cu ca CSDL Cc yu cu chc nng
Cc c t giao tc
cp cao
Lc quan nim
(trong mt m hnh d liu cp cao)
Lc quan nim
(trong m hnh d liu ca mt DBMS c th)
Lc trong
Cc chng trnh ng dng
Ph thuc DBMS c th
Hin nay m hnh d liu quan h thng
c dng trong cc h qun tr CSDL, tuy
nhin m hnh ny khng c trc quan.
thun li trong vic thit k m hnh d liu
quan h, ngi ta thng dng mt m hnh
trung gian l m hnh thc th kt hp.

2. M hnh thc th kt hp
Hin nay m hnh thc th kt hp c coi l
m hnh chun thit k h thng thng tin.
Mo hnh ER oi khi con c goi la mo hnh y niem d
lieu (Conceptual Data Model) hay n gian la mo hnh d lieu
(data model)
2. M hnh thc th kt hp
Cc thc th v mi kt hp no cn quan
tm?
Thng tin no v thc th v mi quan h
gia cc thc th cn c lu tr trong
CSDL?
Cc rng buc no cn c bo m i
vi thc th v mi kt hp?
Vn khi thit k CSDL?
L mt i tng hay s vt ca th gii thc tn
ti c th hay tn ti quan nim m c th phn bit
c vi cc i tng khc
V d : Thc th SINHVIEN Nguyn Th Lan Anh,
LOP TCTH36D,.

2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Thc th(entity, instance, entity instance, entity
occurence):
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Thc th(entity, instance, entity instance, entity
occurence):
Thc th nn l
i tng c nhiu th hin trong CSDL.
i tng c nhiu thuc tnh.
i tng cn c m hnh ha.
Thc th khng nn l
ngi s dng ca h CSDL.
kt xut ca h CSDL (v d bn bo co).
c im ca thc th l tnh phn bit (distinctness):
c th phn bit gia thc th ny vi thc th khc.
L cc c tnh ring dng m t 1 thc th
V d : Thc th SINHVIEN c cc thuc tnh
MASV,TENSV, DCHI, PHAI, NGAYSINH
V d : Thc th sinh vin c th c cc thuc tnh:
MASV=06028071
TENSV=Nguyen Thi Lan Anh,
DCHI=580 CMT8, TP HCM
PHAI=Nu
NGAYSINH=05/06/1991,

2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Thuc tnh (Attributes):
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Thuc tnh n v thuc tnh phc hp
Thuc tnh n (simple attribute) l thuc tnh
khng b phn r thnh nhiu thuc tnh khc.
Thuc tnh phc hp (composite attribute) l
thuc tnh b phn r thnh nhiu thuc tnh
khc.
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Thuoc tnh n
Thuoc tnh phc hp
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Thuc tnh n tr v thuc tnh a tr
Thuc tnh n tr (single-valued attribute) l
thuc tnh ch cha mt gi tr.
Thuc tnh a tr (multivalued attribute) l thuc
tnh cha nhiu gi tr khc nhau thuc mt min
tr, c biu din bng hnh bu dc nt i.
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Thuc tnh cha v thuc tnh dn xut
Thuc tnh cha (stored attribute) l thuc tnh
m gi tr ca n khng c suy dn t cc
thuc tnh khc.
Thuc tnh dn xut (derived attribute) l thuc
tnh m gi tr ca n c suy dn t cc thuc
tnh khc, c biu din bng hnh bu dc nt
t.
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Gi tr ca tp thuc tnh
Cn c gi l Min gi tr ca thuc tnh
Tp cc gi tr c th c gn cho thuc tnh
i vi mi loi thc th ring
Khng c th hin trn gin ER

2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Cc loi thuc tnh:
Thuc tnh n tr
Thuc tnh a tr
Thuc tnh cha
Thuc tnh dn xut
2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Loi thc the (entity type, regular entity type,entity class, generic entity) :
L tp hp cc thc th thuc cng mt loi
(thng tng ng vi mt bng).
Loi Thc th thng c biu din bi mt
hnh ch nht, v tn ca thc th c t
trong hnh ch nht
Tn ca cc loi thc th (trong mt h
thng) phi khc nhau trong mt m hnh
thc th kt hp

2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
Tp thc the (entity set):
L tp hp cc thc th thuc cng mt loi no
mt thi im bt k

2.1 Thc th, Thuc tnh, Loi Thc th,
Tp Gi tr
NHANVIEN
(Ten, Tuoi, Luong)
CONGTY
(Ten, Diachi, Giamdoc)
ENTITY TYPE:
N1: Tran A, 24, 2Tr

N2: Nguyen B, 34, 3Tr

N3: Le C, 56, 4Tr

C1: ABC, HCMC, Nguyen B

C2: MNO, HNC, Tran A


ENTITY SET:
(Extension)
Kha / thuc tnh xc nh
key / identifier
Kha l mt thuc tnh hoc t hp cc thuc
tnh dng xc nh duy nht mt th hin ca
mt kiu thc th.
Thuc tnh kha v thuc tnh khng kha
Thuc tnh kha l thuc tnh trong kha.
key attribute / prime attribute / identifier attribute
Thuc tnh kha c gch di.
Thuc tnh khng kha (non-key attribute) l
thuc tnh khng trong kha.
Thuc tnh khng kha cn c gi l thuc tnh
m t (descriptor).
2.2 Kha ca loi Thc th
2.2 Kha ca loi Thc th
Kha n v kha phc hp
Kha n (simple key) l kha ch c mt thuc
tnh.
Kha phc hp (composite key) l kha c nhiu
hn mt thuc tnh.
Kha d tuyn
candidate key
Kha d tuyn l kha ca mt kiu thc th.
Mt kiu thc th c t nht mt kha d tuyn.
2.2 Kha ca loi Thc th
Kha chnh
primary key
Kha chnh l mt kha tiu biu trong cc kha
d tuyn ca mt kiu thc th.
primary key
Kha chnh dng lin kt gia cc thc th.
2.2 Kha ca loi Thc th
Kha n
Kha phc hp
Thuc tnh khng kha
2.3 Mi kt hp v loi mi kt hp
Mi kt hp (relationship): lin h vi hai hay
nhiu thc th khc nhau mang mt ngha no

Tp mi kt hp (relationship set): nhng mi kt
hp c cng loi kt hp
Loi mi kt hp (relationship type): cc thc th
c nhm li hay phn loi thnh mt loi mi
kt hp
2.3 Mi kt hp v loi mi kt hp
Loi mi kt hp v tp mi kt hp c cng tn
C nhiu hn mt loi mi kt hp c th c
trong cng loi thc th
V d: QUANLY v PHANCONG l cc mi kt
hp khc nhau gia NHANVIEN v
PHONGBAN


2.3 Mi kt hp v loi mi kt hp
Giamsat
Nhanvien
Phongban
Lamviec
Quanly
(0,N)
(1,1)
(1,1) (1,N)
(1,1)
(0,1)
Theo m hnh cu
Peter Chen
1
N
1 N
1
1
Nhanvien
Phongban
Lamviec
Duoc_quanly
Bi_giamsat
Giamsat
Theo m hnh cu
Crows Foot
Duoc_lamviec
Quanly
Bc / ngi ca mi lin kt (degree / arity of
relationship)
Bc ca mi lin kt l s lng kiu thc th
tham gia ng thi vo mi lin kt ny.
Cc loi mi lin kt
Mi lin kt 1-ngi (unary relationship)
Mi lin kt 2-ngi (binary relationship)
Mi lin kt 3-ngi (ternary relationship): 3 kiu
thc th ng thi tham gia vo mi lin kt.
.
Mi lin kt n-ngi(n-ary):.
2.3 Mi kt hp v loi mi kt hp
Bc / ngi ca mi lin kt (degree / arity of
relationship)

2.3 Mi kt hp v loi mi kt hp
One entity related to
another of the same
entity type
Entities of two different
types related to each
other
Entities of three different
types related to each
other
Bc / ngi ca mi lin kt (degree / arity of
relationship):Relationship Degree

2.3 Mi kt hp v loi mi kt hp
Theo m hnh ca
Peter Chen
is married
EMPLOYEE
1 1
CONTRIBUTOR
teaches
PROFESSOR
CLASS
1
M
RECIPIENT
CFR
FUND
M
N
P
Unary
Binary
Terary
or recursive relationship
Thuc tnh ca mi kt hp (Relationship
Attributes)
Mt loi mi kt hp c th c cc thuc
tnh m t tnh cht ca mt mi kt hp
Cc thuc tnh ny khng th gn vi cc
thc th tham gia, i.e., n ch c ngha
trong ng cnh ca mt mi kt hp
Mi kt hp khng c thuc tnh kha
chnh. Vic xc nh mt mi kt hp no
trong mt tp cc mi kt hp thng qua
cc kha ca cc thc th tham gia
2.3 Mi kt hp v loi mi kt hp
Thuc tnh ca mi kt hp (Relationship
Attributes)
2.3 Mi kt hp v loi mi kt hp
Nhanvien
Phongban
Phancong
(1,N) (1,M)
Thoigian
Nhanvien
Phongban
Phancong
(1,N)
(1,M)
Thoigian
(1,1)
(1,1)
Composite entity
Hoc bridge entity
Hoc assocciative entity
Hoc intersection entity
Loi mi kt hp lun c mt s rng buc v
cu trc nhm gii hn kh nng c th kt
hp ca cc thc th tham gia trong mt tp
hp mi kt hp tng ng
Xut pht t cc rng buc ca th gii
thc
C 2 loi rng buc mi kt hp chnh:
cardinality ratio constraint
participation constraint
2.4 Cc rng buc trn loi mi kt hp
Lng s ca mi lin kt (cardinality of
relationship)
Lng s ca mi lin kt l s lng th hin
thc th tham gia vo mi lin kt ny.
2.4 Cc rng buc trn loi mi kt hp
Cc loi lng s
Many-to-Many,N:M (mc nh)
Many-to-One, N:1
One-to-Many, 1:N
One-to-One, 1:1

2.4 Cc rng buc trn loi mi kt hp
Many-to-Many
1-to-1 1-to Many Many-to-1
Many-to-Many, N:M





ngha:
Mt nhn vin c th lm vic nhiu phng
ban (0) v mt phng ban c th c nhiu
nhn vin (N, M l bt k)

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN LAMVIEC
N M
Many-to-One, N:1





ngha:
Mt nhn vin c th lm vic nhiu nht l
mt phng ban (1) v mt phng ban c
th c nhiu nhn vin (N l bt k)

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN LAMVIEC
N 1
One-to-Many, 1:N





ngha:
Mt nhn vin c th lm vic nhiu phng
ban (0) v mt phng ban ch c nhiu
nht mt nhn vin (N l bt k)

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN LAMVIEC
1 N
One-to-One, 1:1





ngha:
Mt nhn vin c th lm vic nhiu nht l
mt phng ban (1) v mt phng ban ch
c nhiu nht mt nhn vin

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN LAMVIEC
1 1
Participation Constraint (Rng buc v s
tham gia)
Cho bit s tn ti ca mt thc th e e E
c ph thuc vo mt thc th khc thng
qua loi kt hp R hay khng
C hai loi:
Ton phn (total) ph thuc tn ti: mi thc
th e e E phi tham gia vo mt mi kt hp,
n khng th tn ti m khng tham gia
Tng phn (partial): mt thc th e e E trong
ton b tp thc th c tham gia vo mt mi
kt hp

2.4 Cc rng buc trn loi mi kt hp
Ton phn (total) ph thuc tn ti:
mi thc th e e E phi tham gia vo
mt mi kt hp
V d:



ngha:
Mi nhn vin bt buc phi lm vic mt
phng ban no

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN LAMVIEC
N 1
Ring phn (partial): mt s thc th e
e E trong ton b tp thc th c tham
gia vo mt mi kt hp
V d:



ngha:
Trong mi kt hp QUANLY, khng phi mi
nhn vin u qun l phng ban, ta ni,
s tham gia ca NHANVIEN trong loi mi
kt hp QUANLY l ring phn

2.4 Cc rng buc trn loi mi kt hp
NHANVIEN PHONGBAN QUANLY
(1,1) (0,1)
K hiu (min,max) cho cc rng buc
cu trc trn mi kt hp
Ch nh mi thc th e e E tham gian t
nht min v nhiu nht max th hin quan
h trong R



ngha:
Mi thc th e
1
e E phi tham gia trong tp
mi kt hp R t nht min
1
v nhiu nht
max
1
ln (tng t cho e
2
e E )





2.4 Cc rng buc trn loi mi kt hp
E
1
E
2
R
(min
1
, max
1
) (min
2
, max
2
)
K hiu (min,max) cho cc rng buc
cu trc trn mi kt hp
Min=0 l ty chn (optional)
Nu Min=1 hoc nhiu l bt buc
(mandatory).




2.4 Cc rng buc trn loi mi kt hp
E
1
E
2
R
(min
1
, max
1
) (min
2
, max
2
)
Giamsat
Nhanvien
Phongban
Lamviec
Quanly
(0,N)
(1,1)
(1,1) (1,N)
(1,1)
(0,1)
Theo m hnh cu
Peter Chen
1
N
1 N
1
1
2.4 Cc rng buc trn loi mi kt hp
Nhanvien
Phongban
Lamviec
Duoc_quanly
Bi_giamsat
Giamsat
Theo m hnh cu
Crows Foot
Duoc_lamviec
Quanly
2.5 Loi thc th yu (weak entity type)
Loi thc th khng c thuc tnh kha
Phi tham gia trong mt loi mi kt hp xc nh
(identifying relationship type) trong c mt loi
thc th ch hay lai thc th xc nh (owner entity
type)
Cc thc th c xc nh bng s kt hp ca:
Kha ring phn (partial key) ca loi thc th
yu
Loi thc th m chng c quan h vi trong
loi thc th xc nh
Lai thc th yu lun c rng buc tham gia ton
phn(ph thuc tn ti) trong mi kt hp xc nh
tng ng, bi v thc th yu khng th xc nh
m khng c thc th ch tng ng
3. Thit k quan nim ER:
C th nh ngha thc th v mi kt hp theo
cc cch khc nhau vi cng mt m hnh!
Thit k gin l mt vic lp i lp li v c
th cn c s tinh ch
Cc thuc tnh ca loi mi kt hp 1:1 c th c
ghp vo mt trong cc thc th tham gia
Cc thuc tnh ca loi mi kt hp 1:N (or N:1) c th
c ghp vo loi thc th ca nhnh N
Cc thuc tnh ca loi mi kt hp N:M khng th
c ghp chung
3.1 Cc bc thit k ER
1. Xc nh cc loi thc th (loi thc th hay
thuc tnh)
2. Xc nh loi mi kt hp
3. Xc nh v gn thuc tnh vi loi thc th v
loi mi kt hp
4. Quyt nh min gi tr ca thuc tnh
5. Quyt nh cc thuc tnh kha cho loi thc th
6. Gn (tinh ch) cardinality ratio(s) vo loi mi kt
hp
7. Thit k phn cp chuyn bit ha/tng qut ha
(specialization/generalization) trong cc rng
buc
3.2 Chuyn i lc ER thnh Bng (table)
Mt lc ER c th c th hin di dng tp hp
cc bng th hin ni dung ca CSDL (instance)
Cc kha chnh cho php cc loi thc th v loi mi kt
hp c din t di dng bng
i vi mi loi thc th v loi mi kt hp, mt bng
duy nht c th c pht sinh c gn cho mt tn
tng ng vi tn ca loi thc th hay loi mi kt hp
Mi bng c mt s ct tng ng vi cc thuc tnh
(atomic) v c mt tn duy nht. Mt thuc tnh ca mt
bng c th c cng min gi tr vi thuc tnh trong lc
ER
Vic chuyn i mt lc ER thnh mt tp hp cc
bng l c bn pht sinh mt lc quan h t mt
gin ER
Cc k hiu ca m hnh ER
Entity Type

E
1
R E
2
E
1
R E
2
R E

(min, max)
Weak Entity Type
Relationship Type
Identifying Relationship Type
Attribute
Key Attribute
Multivalued Attribute
Structural Constraint (min, max) on Participation of E in R
Cardinality Ratio 1:N for E
1
:E
2
in R
Total Participation of E
2
in R
Derived Attribute
Composite Attribute
4. V d v C s d liu qun l im ca
sinh vin
V d: Bi ton qun l im ca sinh vin c pht
biu n gin nh sau:
"Trng c nhiu khoa, mi khoa c mt m kha duy
nht, mi m khoa xc nh tn khoa, s in thoi
khoa. Mt khoa c nhiu lp, mi lp c mt m lp duy
nht, mi m lp xc nh tn lp. Mi sinh vin c mt
m s sinh vin duy nht, mi m s sinh vin xc nh
h tn, ngy sinh, a ch, lp m sinh vin theo hc,
gii tnh ca sinh vin , Mi sinh vin c th ng
k hc nhiu mn v vi mi mn hc th ch c mt kt
qu nht nh. Mi mn hc c mt m mn hc nht
nh, mi m mn hc xc nh tn mn hc, s tit ca
mn hc ".
Vi bi ton trn th cn qun l cc i tng
nh: SINH VIN, MN HC, KHOA, LP.

Mi kt hp
Mi kt hp "thuc" sau biu din mi lin
h gia hai thc th LP v KHOA.
KHOA LP
thuc
Bn s ca mi kt hp


KHOA LP
(1,1) (1,n)
thuc
(1,n)
SINH VIEN MON HOC
LP KHOA
(0,n)
(1,1)
(1,n)
(1,1) (1,n)
-MAMH
-TENMH
-SOTIET
MASV-
NU-
HOTEN-NGAYSINH
HOCBONG TINH-

-MAKHOA
-TENKHOA
-SOCBGD
MALOP-
TENLOP-
DIEMTHI
thuc
thuc
ketqua
QUAN LY LAO ONG
e quan ly viec phan cong cac nhan vien tham gia vao xay dng cac cong trnh. Cong ty
xay dng ABC to chc quan ly nh sau:
Cung luc cong ty co the tham gia xay dng nhieu cong trnh, moi cong trnh co mot ma
so cong trnh duy nhat (MACT), moi ma so cong trnh xac nh cac thong tin nh: Ten goi
cong trnh (TENCT), a iem(IAIEM), ngay cong trnh c cap giay phep xay dng
(NGAYCAPGP), ngay khi cong (NGAYKC), ngay hoan thanh (NGAYHT)
Moi nhan vien cua cong ty ABC co mot ma so nhan vien(MANV) duy nhat, mot ma so
nhan vien xac nh cac thong tin nh: Ho ten (HOTEN), ngay sinh(NGAYSINH), phai (PHAI),
a ch (IACHI),phong ban,
Cong ty phan cong cac nhan vien tham gia vao cac cong trnh, moi cong trnh co the c
phan cho nhieu nhan vien va moi nhan vien cung luc cung co the tham gia vao nhieu
cong trnh. Vi moi cong trnh mot nhan vien co mot so lng ngay cong (SLNGAYCONG)
a tham gia vao cong trnh o.
Cong ty co nhieu phong ban(Phong ke toan, phong kinh doanh, phong ky thuat, phong to
chc, phong chuyen mon, Phong phuc vu,). Moi phong ban co mot ma so phong
ban(MAPB) duy nhat, mot phong ban ng vi mot ten phong ban(TENPB)
CONG
TRNH
NHAN
VIEN
maCT
tenCT
diaDiem
ngayCapGP
ngayKhoiCong
ngayHT
maNV
hoTen
ngaySinh
phai
diaChi
Mohnh ER valc oCSDL
c tham gia bi
c phan cong vao
Mohnh ER
Lc oCSDL
NHANVIEN(maNV,hoTen,ngaySinh,phai,diaChi,maPB)
PHONGBAN(maPB,tenPB)
CONG(maNV,maCT,sLNgayCong)
PHONG
BAN
maPB
tenPB
thuoc ve
co
CONG
NHAN
VIEN
maCT
tenCT
diaDiem
ngayCapGP
ngayKhoiCong
ngayHT
maNV
hoTen
ngaySinh
phai
diaChi
thuoc ve
co
PHONG
BAN
maPB
tenPB
thuoc ve
co
CONG
TRNH
co
thuoc ve
maNV
maCT
sLNgayCong
CONGTRINH(maCT,tenCT,diaDiem,ngayCapGP,ngayKhoiCong,ngayHT)
QUAN LY TH VIEN
Mot th vien to chc viec cho mn sach nh sau:
Moi quyen sach c anh mot ma sach (MASH) dung e phan biet vi cac
quyen sach khac (gia s neu mot tac pham co nhieu ban giong nhau hoac co
nhieu tap th cung xem la co ma sach khac nhau), moi ma sach xac nh cac
thong tin khac nh : ten sach (TENSACH), ten tac gia (TACGIA), nha xuat ban
(NHAXB), nam xuat ban (NAMXB).
Moi oc gia c th vien cap cho mot the th vien, trong o co ghi ro ma oc
gia (MAG), cung vi cac thong tin khac nh : ho ten (HOTEN), ngay sinh
(NGAYSINH), a ch (IACHI), nghe nghiep(NGHENGHIEP).
C moi lt mn sach, oc gia phai ang ky cac quyen sach can mn vao
mot phieu mn, moi phieu mn co mot so phieu mn (SOPM) khac nhau, moi
phieu mn xac nh cac thong tin nh: ngay mn sach (NGAYMUON), ma oc
gia. Cac cac quyen sach trong cung mot phieu mn khong nhat thiet phai tra
trong mot lan.
AU SACH
OC GIA
maDauSach
ban
tap
maDG
hoTen
ngaySinh
diaChi
ngheNghiep
Mohnh ER valc oCSDL
lachuthe
thuoc ve
Mohnh ER
Lc oCSDL
DOCGIA(maDG,hoTen,ngaySinh,diaChi,ngheNghiep)
PHIEUMUON(soPM,ngayMuon,maDG)
CHITIETMUON(soPM,maDauSach,ngayTra,maDauSach)
PHIEU
MN
soPM
ngayMuon
thuoc ve
cha
DAUSACH(maDauSach,ban,tap,maSH)
CHI TIET
MN
ke
c kebi
soPM
maDauSach
ngayTra
TA SACH
maSH
tenSach
tacGia
nhaXB
namXB
co
lata cua
TUASACH(maSH,tenSach,tacGia,nhaXB,namXB)
QUAN LY BAN HANG
Moi khach hang co mot ma khach hang (MAKH) duy nhat, moi
MAKH xac nh c cac thong tin ve khach hang nh : ho ten khach
hang (HOTEN), a ch (IACHI), so ien thoai (IENTHOAI). Cac mat
hang c phan loai theo tng nhom hang, moi nhom hang co mot
ma nhom (MANHOM) duy nhat, moi ma nhom hang xac nh ten
nhom hang (TENNHOM), tat nhien mot nhom hang co the co nhieu
mat hang. Moi mat hang c anh mot ma so (MAHANG) duy nhat,
moi ma so nay xac nh cac thong tin ve mat hang o nh : ten
hang (TENHANG), n gia ban (ONGIA), n v tnh (VT). Moi hoa
n ban hang co mot so hoa n (SOH) duy nhat, moi hoa n xac
nh c khach hang va ngay lap hoa n (NGAYLAPH), ngay ban
hang (NGAYBAN). Vi moi mat hang trong mot hoa n cho biet so
lng ban (SLBAN) cua mat hang o.
HOA
N
KHACH
HANG
soH
ngayLapH
ngayBan
maKH
hoTen
diaChi
dienThoai
Mohnh ER valc oCSDL
co
thuoc ve
Mohnh ER
Lc oCSDL
KHACH HANG(maKH,hoTen,diaChi,dienThoai)
HOADON(soHD,ngayLapHD,ngayBan,maKH)
DONGHOADON(soHD,maHang,sLBan)
NHOM
HANG
maNhom
tenNhom
thuoc ve
bao gom
MATHANG(maHang,tenHang,donGia,DVT,maNhom)
MAT
HANG
ke
cha maHang
tenHang
donGia
VT
DONG
HOA N
c kebi thuoc ve
soH
maHang
sLBan
HOA N BAN HANG
Ngay 1 thang 3 nam 2003
Ngi mua hang: Tran Thai Hung
a ch: 125 Nguyen ThMinh Khai
HANG MS N GIA SOLNG
Giay A4 VP001 35.000 1
Bang keo VP005 20.000 2
QUAN LY DAY HOC
e quan ly lch day cua cac giao vien va lch hoc cua cac lp, mot trng to chc nh sau:
Moi giao vien co mot ma so giao vien (MAGV) duy nhat, moi MAGV xac nh cac thong tin nh: ho va ten
giao vien (HOTEN), so ien thoai (DTGV). Moi giao vien co the day nhieu mon cho nhieu khoa nhng ch thuoc
s quan ly hanh chanh cua mot khoa nao o.
Moi mon hoc co mot ma so mon hoc (MAMH) duy nhat, moi mon hoc xac nh ten mon hoc(TENMH). ng
vi moi lp th moi mon hoc ch c phan cho mot giao vien.
Moi phong hoc co mot so phong hoc (PHONG) duy nhat, moi phong co mot chc nang (CHUCNANG); chang
han nh phong ly thuyet, phong thc hanh may tnh, phong nghe nhn, xng thc tap c kh,
Moi khoa co mot ma khoa (MAKHOA) duy nhat, moi khoa xac nh cac thong tin nh: ten khoa (TENKHOA), ien
thoai khoa(DTKHOA).
Moi lp co mot ma lp (MALOP) duy nhat, moi lp co mot ten lp (TENLOP), s so lp (SISO). Moi lp co
the hoc nhieu mon cua nhieu khoa nhng ch thuoc s quan ly hanh chnh cua mot khoa nao o.
Hang tuan, moi giao vien phai lap lch bao giang cho biet giao vien o se day nhng lp nao, ngay nao
(NGAYDAY), mon g?, tai phong nao, t tiet nao (TUTIET) en tiet nao (ENTIET),ta e bai day (BAIDAY),
nhng ghi chu (GHICHU) ve cac tiet day nay, ay la gi day ly thuyet (LYTHUYET) hay thc hanh - gia s
neu LYTHUYET=1 th o la gi day thc hanh va neu LYTHUYET=2 th o la gi ly thuyet, mot ngay co 16
tiet, sang t tiet 1 en tiet 6, chieu t tiet 7 en tiet 12, toi t tiet 13 en 16.
MON
HOC
GIAO
VIEN
maMH
tenMH
maGV
hoTen
dTGV
thuoc ve
Mohnh ER
PHONG
soPhong
chucNang
KHOA
quan ly
maKhoa
tenKhoa
dTKhoa
bao
bao
LOP
maLop
tenLop
siSo
DONG BAO
GIANG
maLich
tuTiet
denTiet
baiDay
ghiChu
lyThuyet
c bao bi
LCH BAO
GIANG
maLich
ngayDay
bao
bao
c bao bi
c bao bi
c bao bi
quan ly
thuoc ve
cha
thuoc ve
M hnh quan h
Chng 3
Mo hnh quan he (Relational Model)
Mo hnh C s d lieu Quan he (goi tat la Mo hnh Quan he)
do E.F Codd e xuat nam 1970. Mo hnh nay bao gom:
cac khai niem lien quan en cau truc d lieu di dang dong
va cot nh quan he, bo, thuoc tnh, khoa chnh, khoa ngoai, ...
phep toan tap hp va phep toan quan he.
rang buoc toan ven quan he.
Cac HQTCSDLQH c xay dng da theo ly thuyet mo hnh quan he
MO HNH QUAN HE
MA
SV
HOSV TEN
SV
MONHOC TEN
KHOA
DIEM
THI
99001 TRAN DAN THU CO SO DU LIEU CNTT 3.0
99002 NGUYEN HA DA THAO CO SO DU LIEU CNTT 8.0
99001 TRAN DAN THU TIN HOC VAN P. CNTT 6.0
99005 LE THANH TRUNG TIN HOC VAN P. ANH VAN 5.0
Bai toan quan ly iem thi c lu tr khong ung vi mo
hnh quan he se gay ra d tha d lieu. D tha d lieu dan
en cap nhat d thng
MO HNH QUAN HE
MASV MAMH MAKHOA DIEMTHI
99001 CSDL CNTT 3.0
99002 CSDL CNTT 8.0
99001 THVP CNTT 6.0
99005 THVP AV 5.0
MAMH TENMH SOTIET
CSDL CO SO DU LIEU 90
THVP TIN HOC VAN PHONG 90
MAKHOA TENKHOA
CNTT CONG NGHE THONG TIN
AV ANH VAN
MASV HOSV TENSV
99001 TRAN DAN THU
99002 NGUYEN HA DA THAO
99005 LE THANH TRUNG
THUOC TNH (Attribute, arity)
Thong tin chi tiet s vat, s viec hay oi tng
Thuoc tnh cua s vat c phan biet qua ten va khong
c co hai thuoc tnh cung ten
Thuoc tnh phai thuoc mot kieu d lieu nhat nh nh
so, chuoi, ngay ...
LC O QUAN HE (Relation schema)
La tap tat ca cac thuoc tnh cua mot oi tng, s vat
hay s viec
Lc o quan he Q vi tap thuoc tnh A
1
,A
2,
...An c viet
la Q(A
1
,A
2,
... An)
Moi lc o quan he luon kem mot tan t e dien ta
y ngha cua no. Chang han LQH
Kh(MAKHOA,TENKHOA,SOCBGD) co tan t: Moi
khoa co ma khoa e phan biet khoa nay vi khoa kia, ten
khoa va so giang vien cua khoa
QUAN HE (Relation, instances of relation)
S the hien cua lc o quan he Q mot thi iem nao o
c goi la quan he.
Lc o quan he Q co quan he r.
V du quan he khoa

rKh
MAKHOA TENKHOA SOCBGD
CNTT CONG NGHE THONG TIN 60
AV ANH VAN 60
HOA HOA CHAT 20
MAY TNH MOI TRUONG 10
QUAN HE (relation) l mt bng d liu hai chiu bao
gm nhiu hng (mu tin-record) v nhiu ct (thuc
tnh hoc vng tin(field)).
Mi hng l duy nht: khng th c hai hng c
cng cc gi tr tt c vng tin.
Ngm nh l kha chnh lun tn ti
Gi tr trong mt b:
Tt c cc gi tr c xem l atomic (khng th
phn chia c na).
Th t ca cc hng l khng quan trng.
Mt bng ch l mt i din ca mt quan h
Tuy nhin, lu tr vt l ca mt quan h phi c
th t.

Th t ca cc ct l khng quan trng.
Khng phi mi bng u l quan h. Quan h l
mt bng khng cha cc hng ging ht nhau.
Gi tr khng bit cng phi c th hin:
Chng c thay th bng gi tr c bit null.
Null c nhiu ngha: khng bit, khng quan
tm, khng th p dng mt b


Quan h: Supplier
Snum Name City
S1 Nguyn Trung Tin SF
S2 Trn Th Yn LA
S3 Nguyn Vn An SF
BO (Tuple)
Bo la tap moi gia tr lien quan cua tat ca cac thuoc
tnh cua mot lc o quan he.
V du quan he sau co 2 bo
MA
SV HOTEN NU
NGAY
SINH
MA
LOP TINH
HOC
BONG
99001 TRAN AN TRUE 15-03-1977 CTH2B T GIANG 120000
99002 NGUYEN HA TRUE 25-04-1986 TCTH29C TPHCM 120000
Rng buc kha chnh
Super key (siu kha): SK ca r l mt
thuc tnh hay tp hp cc thuc tnh
xc nh duy nht mt b trong mt quan
h (khng c hai b no trong bt k th
hin quan h r(R) c cng gi tr SK).
i.e., Vi mi b phn bit t
1
v t
2
trong
r(R), t1[SK] <> t2[SK].
Mi quan h u c t nht mt SK.
Candidate Key
Candidate key K ca r(R) tha mn 2 iu kin:
K l mt SK, v
K l SK b nht ( KcK, KK, K khng phi l SK).
Quan h r c th c nhiu hn mt kha K
Ex:
XE{TINH_TP, SOXE, SOHIEUXE, NOISX, KIEUDANG,
NAM}
C hai SK l K1 = {TINH_TP, SOXE}, K2 =
{SOHIEUXE}, nhng K1 khng l Kha.
Rng buc kha ngoi v ton
vn tham chiu
Tp hp cc thuc tnh trong mt quan h (quan h
con) c dng tham chiu ti mt b ca quan
h khc (quan h cha). Kha ngoi phi tham chiu
ti kha chnh ca quan h c tham chiu.
KHO
A
MAKHOA TENKHOA
CNTT Cong nghe Thong tin
VT Vien thong
DT Dien tu
SVIEN TENSV MASV MAHK
Nhat 11 CNTT
Minh 16 DT
Foreign Key Kha ngoi
Cho FK _ r
1
, FK C, FK c gi l kha ngoi
ca r
1
(tham chiu n r
2
) khi:
Cc thuc tnh trong FK phi c cng min gi
tr vi cc thuc tnh kha chnh PK trong r
2
.
Gi tr ti FK ca mt b t
1
er
1
bng gi tr ti PK
ca mt b t
2
er
2
hoc bng gi tr rng null.
Trng hp u, ta ni t
1
tham chiu ti b t
2
.
(t
1
[FK]=t
2
[PK])
Nu tt c cc rng buc kha ngoi c bo
m cho mt quan h, ta ni t c ton
vn tham chiu - referential intergrity.
Primary Key Kha chnh
Nu c nhiu Kha (candidate key) trong mt
quan h, ngi thit k hoc ngi qun tr CSDL
s chn ra mt kha l kha chnh nhn bit
cc b trong mt quan h.
Cc thuc tnh kha chnh c gch di.
Cc thuc tnh kha chnh PK ca quan h r
khng th mang gi tr null bt k b no v gi
tr ca kha chnh c dng xc nh cc b.
t[PK] <>null ter(R)
Cc thuc tnh khc ca r cng c th c rng
buc quy nh khng c c gi tr null, cho d
chng khng tham gia vo kha chnh.
Ex: Sinhvien(MaSv, TenSv, Khoa)
Alternate Key
L Candidate Key nhng khng c
chn l primary key.
c khai bo rng buc duy nht
(uniqueness constraint)

A primary key in a table
a) can be the same value as other primary key values in the same table
b) must be different from foreign keys in another table
c) must not contain NULL.
d) must be a number andmust be different from a primary key in another
table
C s d liu quan h (relational database)
bao gm cc bng (quan h) biu din cc
thc th v cc kha chnh / kha ngoi biu
din cc mi lin kt.
C s d liu quan h
C s d liu quan h
Primary Key
Foreign Key (implements 1:N
relationship between customer and
order)
Combined, these are a composite
primary key (uniquely identifies the
order line)individually they are
foreign keys (implement M:N
relationship between order and
product)
C s d liu quan h.
C s d liu quan h
Mi quan h (bng) tng ng vi mt kiu
thc th hoc vi mt kiu mi lin kt nhiu -
nhiu.
Mi hng tng ng vi mt th hin thc th
hoc vi mt th hin mi lin kt nhiu -
nhiu.
Mi ct tng ng vi mt thuc tnh.
T quan h (relation) trong c s d liu
quan h khng c cng ngha vi t mi quan
h (relationship) trong m hnh ER.
S tng ng vi m hnh ER
Lc c s d liu
database schema
Lc c s d liu l mt tp hp cc lc
quan h.
Trong mt lc c s d liu, cc tn lc
quan h l duy nht.
Lc c s d liu
Lc c s d liu:
Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum)
Dept (Deptnum, Name, Area, Mgrnum)
Supplier (Snum, Name, City)
Supply (Snum, Pnum, Deptnum, Quan)
Rng buc ton vn
integrity constraint
Rng buc ton vn l mt qui tc m tt c cc
d liu trong CSDL phi tha mn qui tc ny.
Rng buc min gi tr
domain constraint
Cc gi tr cho php ca mt thuc tnh.
Ton vn thc th
entity integrity
Thuc tnh kha chnh khng c gi tr rng (null
value)
Rng buc ton vn
Qui tc hot ng
action assertion
Cc qui tc nghip v (business rule).
Rng buc ton vn
Rng buc ton vn
nh ngha min tr cho cc thuc tnh
Rng buc ton vn tham chiu
referential integrity constraint
Rng buc ton vn tham chiu l mt qui tc
m tt c cc gi tr ca kha ngoi (nu khc
null) trong quan h bn pha nhiu phi c trong
cc gi tr ca kha chnh trong quan h bn
pha mt.
Rng buc ton vn
Rng buc ton vn tham chiu
Qui tc xa cc hng d liu
Hn ch (restrict): khng cho php xa cc hng
bn pha cha (parent) nu tn ti cc hng lin quan
bn pha ph thuc (dependent).
Tng (cascade): t ng xa cc hng bn pha ph
thuc tng ng vi cc hng bn pha cha.
Gn null (set-to-null): gn null cho kha ngoi ca
cc hng bn pha ph thuc tng ng vi cc
hng bn pha cha. Khng p dng cho cc thc th
yu.
Rng buc ton vn
Rng buc ton vn
V d v rng buc ton vn tham chiu
Referential integrity constraints
are drawn via arrows from
dependent to parent table
i s Quan h
Ngn ng truy vn
Query Language (QL): ngn ng cho php user
thc hin v rt trch d liu t CSDL.
QL PL (ngn ng lp trnh)
QL khng nhm mc ch dng cho cc ng dng
phc tp.
QL h tr truy xut d dng ti cc tp tin d liu ln.
Ngn ng truy vn (ton hc) l c s ca ngn
ng thc s (vd., SQL).
Hiu c i s quan h l cha kha hiu
cch x l v ti u ha cu truy vn.
i s Quan h
Ngn ng th tc (???)
Bao gm tp hp cc php ton c p
dng trn cc th hin quan h, kt qu
ca mt cu truy vn l mt th hin quan
h.
Chui cc php ton i s quan h hnh
thnh nn biu thc i s quan h m
kt qu ca n cng tr v mt th hin
quan h.

Cc php ton quan h
Php chn
Php chiu
Php gn
Php i tn
Cc php ton c hnh thnh t l thuyt tp hp
ton hc:
Php hi
Php giao
Php tr
Php tch Cartesian
Php kt
Php chiu tng qut
Cc php ton quan h khc: Php chia, OUTER JOIN,
AGGREGATE FUNCTIN v GROUPING.
Php chn (Selection Operator)
Dng trch chn cc b t quan h r. Cc b
c trch chn phi tha mn iu kin P.
K hiu: o
P
(r) = {t | t e r . P(t)}
r: quan h c chn
P: biu thc mnh iu kin:
<attr> op <attr> hay <const>
op: =, , <, >,
Cc iu kin c th lin kt vi nhau thng qua
., v,
Kt qu tr v l mt quan h, c cng danh
sch thuc tnh vi quan h r.
Php chn c tnh giao hon:
o
P1
(o
P2
(r)) = o
P2
(o
P1
(r)) = o
P1
. o
P2
(r)
Example
A B C D
o o 1 7
o | 5 7
| | 12 3
| | 23 10
A B C D
o o 1 7
| | 23 10
Quan h r
o
A=B . D>5
(r)
Cho bit:
Nhng nhn vin thuc phng s 4.
Nhng nhn vin c lng > 3000
Nhng nhn vin thuc phng s 4 v lng > 3000,
hoc nhng nhn vin thuc phng s 5.
Php chiu (Project Operation)
Dng trch chn mt vi ct ca quan h r
c ch ra trong danh sch thuc tnh.
K hiu: t
A1,A2, ,Ak
(r)
r: quan h.
A1,A2, ,Ak: cc thuc tnh c chiu.
Kt qu tr v l mt quan h c k thuc tnh
theo th t c lit k.
S lng cc b trong mt quan h kt qu ca
php chiu lun lun t hn hoc bng s lng
cc b trong r. Cc dng trng nhau s c loi
b khi quan h kt qu.
t
A1,A2, ,Ak
(t
A1,A2, ,Al
(r)) = t
A1,A2, ,Ak
(r), vi ksl
Php chiu khng c tnh giao hon
Example
A B C
o 10 1
o 20 1
| 30 1
| 40 2
A C
o 1
o 1
| 1
| 2
Quan h r
t
A,C
(r)
Cho bit:
H tn v lng ca tt c nhn vin.
M phng v lng ca tt c nhn vin
A C
o 1
| 1
| 2
Php gn (Assignment
Operation)
Cung cp mt cch thc din t cu truy vn
phc tp.
tng: vit cu truy vn nh l mt chng trnh
tun t gm mt chui cc php gn, theo sau l
mt biu thc c gi tr c trnh by nh l kt
qu ca cu truy vn.
K hiu:
Vic gn lun lun thc hin cho mt bin quan h
tm.
Bin nm bn tri ca biu thc gn c th c s
dng trong cc biu thc theo sau.
Php i tn (Rename
Operation)
Cho php c tn, v do tham chiu ti kt qu
ca biu thc i s quan h.
Cho php tham chiu ti mt quan h bng nhiu tn
(vd., nu cng mt quan h c dng hai ln trong mt
biu thc i s quan h).
i tn quan h v tn thuc tnh:
Cho mt biu thc i s quan h E c n thuc tnh,
biu thc
_
(A1, A2, , An)
(E)
tr v kt qu biu thc E di tn _, v vi cc tn
thuc tnh c thay i thnh A1, A2, , An.
i tn quan h v tn thuc
tnh
i tn quan h:
Cho mt biu thc i s quan h E, biu
thc _(E) tr v kt qu biu thc E di tn
_.
i tn thuc tnh:
Cho mt biu thc i s quan h E c n
thuc tnh, biu thc
(A1, A2, , An)
(E)
tr v kt qu biu thc E vi cc tn thuc
tnh c thay i thnh A1, A2, , An.
Chui cc php ton
Kt hp cc php ton i s quan h vi
nhau bng mt trong hai cch:
To mt biu thc i s quan h bng cch
lng cc php ton vi nhau.
p dng tng php ton mt, mi ln p
dng php ton cho ra quan h kt qu.
Examle
Tm h tn v lng nhn vin lm vic
phng s 4.

t
HONV,TENLOT,TENNV,LUONG
(o
PHG=4
(NHANVIEN
))
hoc:
NV_P4 o
PHG=4
(NHANVIEN)
KQ t
HONV,TENLOT,TENNV,LUONG
(NV_P4)
hoc c th i tn bng cch lit k cc tn
thuc tnh mi trong du ngoc:
NV_P4 o
PHG=4
(NHANVIEN)
KQ(HO,LOT,TEN,LUONGCB)
t
HONV,TENLOT,TENNV,LUONG
(NV_P4)
Cc php ton tp hp
Cc php ton thc hin trn 2 quan h
xut pht t l thuyt tp hp ca ton
hc
Php hi: r s
Php giao: r s
Php tr: r s
Php tch Cartesian: rs
i vi cc php ton , , hay , cc
quan h r v s phi kh hp.
Quan h Kh hp
Cc quan h R(A
1
, A
2
, , A
n
) v S(B
1
,B
2
,
, B
n
) gi l kh hp khi:
S lng thuc tnh ca r, s phi bng
nhau (cng bc n)
Min gi tr ca thuc tnh phi tng
thch (dom(A
i
)=dom(B
i
)), vi 1sisn.
Quan h kt qu ca , , hay c cng
tn thuc tnh vi quan h u tin r (quy
c).
Php hi (Union Operation)
K hiu: r s
nh ngha:
r s = {t | t e r v t e s}
r v s l hai quan h kh hp.

Ex1:
Ex2: M nhn vin c tham gia
n hoc c thn nhn hoc
c hai.
A B
o 1
o 2
| 1
A B
o 2
| 3
A B
o 1
o 2
| 1
| 3
Quan h r Quan h s
r s
Php Giao (Set-Intersection
Operation)
K hiu: r s
nh ngha:
r s = {t | t e r . t e
s}
r v s l hai quan h kh
hp.
Ex1:
Ex2: M nhn vin c
ngi thn v c
phn cng vo n.
A B
o 1
o 2
| 1
A B
o 2
| 3
A B
o 2
Quan h r Quan h s
r s
Php tr (Set Difference
Operation)
K hiu: r s.
nh ngha:
r s = {t | t e r . t e s}
r v s l hai quan h kh
hp.
Ex1:
Ex2: M nhn vin
khng c thn nhn
no c.
A B
o 1
o 2
| 1
A B
o 2
| 3
A B
o 1
| 1
Quan h r Quan h s
r s
Php tch (Cartesian Product
Operation)
K hiu: r s
nh ngha:
r s = {t.q | t e r . q e s}
Cc thuc tnh ca r(R) v s(S) khc nhau (i.e. r s = C).
Nu cc thuc tnh ca r(R) v s(S) khng khc nhau th phi i
tn chng.
Mi b t ca tp kt qu l t hp gia 1 b t
1
trong r v 1 b t
2

trong s sao cho:
t[A
1
, A
2
, , A
nr
] = t
1
v t[B
1
, B
2
, , B
ms
] = t
2
KQ(A
1
, A
2
, , A
nr
, B1, B
2
, , B
ms
) r(A
1
, A
2
, , A
nr
) s(B
1
, B
2
, ,
B
ms
)
Nu r c n
r
b v s c m
s
b th r s c n
r
m
s
b.
Example 1
Nhn xt: Php tch Cartersian l
mt php tnh v ngha nu ng
ring. Tuy nhin, n c th kt hp
cc b lin quan t hai quan h nu
tip theo sau php ton chn o ph
hp (xem v d trang sau).
C D E
o 10 +
| 10 +
| 20
10
A B
o 1
| 2
A B C D E
o 1 o 10 +
o 1 | 10 +
o 1 | 20
o 1 10
| 2 o 10 +
| 2 | 10 +
| 2 | 20
| 2 10
Quan h r
Quan h s
r s
Example 2
A B C D E
o 1 o 10 +
o 1 | 10 +
o 1 | 20
o 1 10
| 2 o 10 +
| 2 | 10 +
| 2 | 20
| 2 10
r s
A B C D E
o 1 o 10 +
| 2 | 10 +
| 2 | 20
o
A=C
(r s)
Example 3
Kt hp tng b PHONGBAN vi b NHANVIEN
ca ngi qun l (trng phng). Vi mi phng
ban, cho bit thng tin v ngi trng phng.
PB_NV PHONGBAN NHANVIEN
PB_TRPHG_INFO o
MANV=TRPHG
PB_NV
Hoc:
o
MANV=TRPHG
(PHONGBAN NHANVIEN)
Example 4
Cho bit lng cao nht trong cng ty.
Quan h cha nhng lng khng phi l ln
nht
temp=t
NHANVIEN.LUONG
(o
NHANVIEN.LUONG<NV.LUONG
(NHA
NVIEN
NV
(NHANVIEN)))
Thc hin tr gia quan h v quan h tm
t
LUONG
(NHANVIEN) - temp

Example 5
Cho bit nhng phng ban c cng a im
vi phng s 5.
Tm a im ca phng s 5.
t
DIADIEM
(o
MAPHG=5
(DIADIEM_PHG).
i tn thnh PHG_5 v i tn thuc tnh
DIADIEM thnh DD.
t
DIADIEM_PHG
(o
DIADIEM_PHG.DIADIEM=PHG_5.DD
(DIADIEM
_PHG
PHG_5(DD)
(t
DIADIEM
(o
MAPHG=5
(DIADIEM_PH
G))))).
Php kt (Join Operation)
Natural Join
Condition Join (Theta Join)
Equi-Join

Natural Join
K hiu: rOs (hoc r*s)
r, s l cc quan h tng ng trn cc lc
R v S. Kt qu tr v l quan h trn lc
RS. cc kt qu c c bng cch xt n
tng cp b t
r
er v t
s
es.
Nu t
r
v t
s
c cng gi tr ti cc thuc tnh
trong RS (cng tn thuc tnh), th mt b t
c thm vo quan h kt qu sao cho:
t c cng gi tr nh t
r
trn R.
t c cng gi tr nh t
s
trn S.
Example
Cho cc quan h R(A,B,C,D) v S(B,D,E)
Php kt c th p dng c v RS =C.
Lc kt qu l (A,B,C,D,E)
V kt qu ca rOs c nh ngha l:
t
R.A,R.B,R.C,R.D,S.E
((o
R.B=S.B.R.D=S.D
(rs))

A B C D E
o 1 o a o
o 1 o a
o 1 a o
o 1 a
| 2 | b o
A B C D
o 1 o b
| 2 a
4 | b
o 1 a
o 2 | b
B D E
a 1 o
3 a |
1 a
2 b o
r
s
r O s
Condition Join
K hiu: rO
c
s
C: iu kin tn ti trn cc thuc tnh trong
RS, lc kt qu cng ging nh trong
php tch Cartesian. Nu RS=C v iu kin c
tham chiu ti cc thuc tnh ny, th mt s
thuc tnh phi c i tn.
i khi cn gi l Theta join rO
u
s
Ngun gc: rO
c
s = o
c
(rs)
Ch : khng ging nh iu kin chn P trong ,
c l mt iu kin trn cc thuc tnh ca c r v
s.
Example
A B C
1 2 3
4 5 6
7 8 9
D E
3 1
6 2
A B C D E
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2
r
s
r O
B<D
s
EQUI-JOIN
Nu u l php so snh bng = th php kt c
gi l php kt bng Equi-Join.
Ex:
Tn phng ban v tn trng phng ca mi phng
ban.

A B C
4 5 6
7 8 9
C D
6 8
10 12
A B C SC D
4 5 6 6 8
r
s
r O
C=SC((SC,D)(s))
s
Mt s lu
Gia 2 quan h c th c nhiu hn mt tp thuc tnh kt
mang ngha khc nhau. Vd:




Ex: Tm tn nhn vin v tn phng ban m nhn vin lm
vic. (?)
Mt quan h c th c mt tp thuc tnh kt kt vi chnh
quan h . Trong trng hp ny, phi s dng php i
tn. Vd:



Ex: Tm tn nhn vin v tn ngi gim st nhn vin (?)
Thuc tnh kt Mi kt hp
NHANVIEN.MANV=PHONGBAN.TRPH
G
NHANVIEN qun l PHONGBAN
NHANVIEN.PHG=PHONGBAN.MAPH
G
NHANVIEN lm vic
PHONGBAN
Thuc tnh kt Mi kt hp
NHANVIEN(1).MA_NQL=NHANVIEN(2).MA
NV
NHANVIEN(2) gim st NHANVIEN(1)
Tp y cc php ton
SQH
Cc php tan c s: php chn, chiu, hi, giao, tr,
tch.
Tp hp {o,t,,,,} c gi l tp y cc php
ton SQH.
Nu E
1
v E
2
l cc biu thc SQH, th cc biu thc
sau y cng l cc biu thc SQH:
E
1
E
2
E
1
E
2
E
1
E
2
o
P
(E
1
), vi P l mt v t (iu kin) trn cc thuc tnh
ca E
1
tA(E
1
), vi A l danh sch cc thuc tnh ca E1
_(E
1
), vi _ l tn mi cho quan h kt qu [v cc
thuc tnh] c xc nh bi E
1
.

Php chia (Division Operator)
p dng cho cu truy vn c t tt c.
Mc tiu: a ra cc b trong mt quan h, r, sao cho
khp vi tt c cc b trong quan h khc, s.
K hiu: r s
iu kin: cc thuc tnh trong S phi l mt tp thuc
tnh con ca R, i.e., S _ R. Cho r, s l cc quan h
tng ng trn lc R, S
R = (A
1
, A
2
, , A
m
,B
1
, , B
n
)
S = (B
1
, , B
n
)
Kt qu ca php chia r s l mt quan h trn lc
R-S = (A
1
, A
2
, , A
m
).
Kt qu ca php chia bao gm tp hp cc b ly t r
c nh ngha trn cc thuc tnh R-S sao cho khp
vi vic kt hp mi b trong s.
r s = {t | t e t
R-S
(r) . u e s : t.u e r}
Ngha l, r s, vi cc thuc tnh A
1
, A
2
, , A
m
, l tp
hp cha tt c cc b t sao cho vi mi b u trong s,
th c mt b t.u trong r.

Ngun gc
Cho 2 quan h r(Z), s(X), trong X _ Z.
Gi Y = Z X (v do Z = X Y). Y l
tp hp cc thuc tnh ca r nhng khng
l thuc tnh ca s.
Php chia c th c din t bng
phng php SQH c s:
t
1
t

(r)
t
2
t

((st
1
)-r)
t t
1
t
2
.
Examples
A B
o 1
o 2
o 3
| 1
1
o 1
o 3
o 4
c 6
c 1
| 2
B
1
2
r
s
A B C D E
o a o a 1
o a a 1
o a b 1
| a a 1
| a b 3
a a 1
a b 1
a | b 1
D E
a 1
b 1
r
s
A
o
|
r s
A B C
o a
a
r s
Ex3: M nhn vin tham gia tt c
n.
Ex4: M nhn vin tham gia tt c
n do phng s 4 ph trch.
Php chiu tng qut
M rng php chiu bng cch cho php s
dng cc hm s hc trong danh sch chiu.
t
F1, F2, , Fk
(E)
E l biu thc i s quan h.
F
1
, F
2
, , F
k
l cc biu thc s hc c lin
quan n hng v thuc tnh trong lc E.
Ex: Cho quan h THETINDUNG(MSTHE,
TRIGIATHE, SOTIENSD). Tm s tin cn li
trong th:
t
MSTHE, TRIGIATHE SOTIENSD
(THETINDUNG)
Cc php ton khc
Hm kt hp Aggregate Functions nhn vo tp hp
gi tr v tr v mt gi tr n.
Avg (average value): gi tr trung bnh
Min (minimum value): gi tr nh nht.
Max (maximum value): gi tr ln nht.
Sum (sum of values): tnh tng cc gi tr
Count (number of values): m s mu tin
Php ton gom nhm Grouping trong SQH:
G
1
, G
2
, , G
n

F1(A1), F2(A2), , Fn(An)


(E)
E l biu thc i s quan h
G
i
l tn thuc tnh gom nhm (c th khng c)
F
i
l hm gom nhm
A
i
l tn thuc tnh tnh ton trong hm gom nhm F
i
.
Examples
A B C
o o 7
o | 7
| | 3
| | 10
SUM_C
27
r

SUM(C)
(r)
Tnh s lng nhn vin v
lng trung bnh ca nhn
vin.
Quan h NHANVIEN sau khi
gom nhm:
MANV LUONG MA_NQL PHG
123456789 30000 333445555 5
333445555 40000 888665555 5
666884444 38000 333445555 5
453453453 25000 333445555 5
999887777 25000 987654321 4
987654321 43000 888665555 4
987987987 25000 987654321 4
888665555 55000 null 1
Ex1 Ex2
S lng nhn vin v
lng trung bnh ca c
cng ty:
COUNT_MANV AVG_LUONG
8 35125

COUNT(MANV),AVG(LUONG)
(NHANVIEN)
S lng nhn vin v
lng trung bnh ca mi
phng ban, khng s dng
php i tn:
PHG COUNT_MAN
V
AVG_LUONG
5 4 33250
4 3 31000
1 1 55000
PHG

COUNT(MANV),AVG(LUONG)
(NHANVIEN)
S lng nhn vin v
lng trung bnh ca mi
phng ban, c s dng
php i tn:
MAPHONG SONV LUONGTB
5 4 33250
4 3 31000
1 1 55000

MAPHONG,SONV,LUONGTB
(
PHG

COUNT(MANV),AVG(LUONG)
(NHANVIEN))
Outer Join
M rng php kt trnh s mt mt thng tin
Thc hin php kt v sau thm vo kt qu
ca php kt cc b ca mt quan h m khng
ph hp vi cc b trong quan h kia.
3 hnh thc:
Left outer join: _O
Right outer join: O_
Full outer join: _O_

Outer Join

Example:
HONV TENLOT TENNV TENPHG
Nguyen Thanh Tung Nghien cuu
Tran Hong Quang Dieu hanh
Pham Van Vinh Quan ly
HONV TENLOT TENNV TENPHG
Dinh Ba Tien Null
Nguyen Thanh Tung Nghien cuu
Bui Ngoc Hang Null
Le Quynh Nhu Null
Nguyen Manh Hung Null
Tran Thanh Tam Null
Tran Hong Quang Dieu hanh
Pham Van Vinh Quan ly

t
HONV,TENLOT,TENNV,TENPHG
(NHANVIEN O
MANV=TRPHG
PHONGBAN)

t
HONV,TENLOT,TENNV,TENPHG
(NHANVIEN _O
MANV=TRPHG
PHONGBAN)
Cc thao tc cp nht trn quan
h
Ni dung ca CSDL c th c cp nht
bng cch dng cc thao tc: Thm, Xa,
Sa.
Tt c cc thao tc ny c din t
thng qua php ton gn:
r
new
{Thm, Xa, Sa}(r
old
)
Thm (Insertion)
Hoc nu ra mt b cn chn, hoc vit mt cu
truy vn m kt qu l mt tp hp cc b cn
chn.
Trong SQH, thao tc chn c din t nh sau:
r r E
r l quan h v E l biu thc SQH.
Ex: Phn cng cho nhn vin 123456789 lm thm
n s 20 vi s gi l 10.
PHANCONG PHANCONG
{(123456789,20,10)}
Xo (Deletion)
Yu cu xa c din t nh cu truy vn, ch khc ch,
thay v hin th cc b kt qu vi ngi dng, th b c
chn b xa khi CSDL.
Ch c th xa ton b b, khng th ch xa mt vi gi tr
trn cc thuc tnh no .
Thao tc xa c din t trong ngn ng SQH nh sau:
r r E
r l quan h v E l cu truy vn SQH.
Ex1: Xa tt c nhng phn cng n cho nhn vin
123456789
PHANCONG PHANCONG
(o
MA_NVIEN=123456789
(PHANCONG))
Ex2: Xa tt c nhng phn cng n m a im n
HA NOI
r
1
o
DDIEM_DA=HANOI
(PHANCONG O
SODA=MADA
DEAN)
r
2
t
MA_NV,SODA,THOIGIAN
(r
1
)
PHANCONG PHANCONG r
2
.
Sa (Updating)
C ch lm thay i mt gi tr trong mt b m khng lm thay
i tt c gi tr trong b .
cp nht, s dng php chiu tng qut ha nh sau:
r t
F1, F2, , Fn
(r)
Mi F
i
c gi tr tr v l gi tr mi cho thuc tnh th i ca r, thuc tnh th i
c th gi nguyn (nu khng mun cp nht) hoc s c cp nht vi gi
tr mi .
F
i
l mt biu thc, bao gm hng v thuc tnh ca r, a ra gi tr mi
cho thuc tnh .
C th c biu din bng mt chui cc thao tc xa v thm.
Php ton xa s xa cc b c gi tr c v php ton thm s
chn thm cc b c gi tr mi.
Ex1: Tng thi gian lm vic ca tt c nhn vin ln 1.5 ln
PHANCONG t
MA_NV,SODA,THOIGIAN*1.5
(PHANCONG)
Ex2: Trong quan h PHANCONG, cc nhn vin lm vic trn 30
gi s tng thi gian lm vic 1.5 ln, cn li s tng thi gian lm
vic 2 ln.
PHANCONG
t
MA_NV,SODA,THOIGIAN*1.5
(oTHOIGIAN>30(PHANCONG))
t
MA_NV,SODA,THOIGIAN*2
(oTHOIGIANs30(PHANCONG))
BAI TAP AI SO QUAN HE
Cho lc o c s d lieu dung e quan ly ho s sinh vien bao gom cac lc o quan he Sv(sinh
vien), Lop(Lp), kh(khoa), Mh(mon hoc), Kq(ket qua) c mo ta bi cac lc o quan he nh sau:
Sv(MASV, HOTEN,NU, NGAYSINH, MALOP, TINH, HOCBONG)
Tan t:Moi sinh vien co moi MASV duy nhat. Moi MASV xac nh tat ca cac thuoc tnh con lai
cua sinh vien o.
Lop(MALOP,TENLOP,SISO,MAKHOA)
Tan t:Moi lp co mot ma lp duy nhat, moi lp ch thuoc ve mot khoa nao o.
Kh(MAKHOA,TENKHOA, SOCBGD)
Tan t:Moi khoa co moi MAKHOA duy nhat. Moi MAKHOA xac nh tat ca cac thuoc tnh con lai
cua khoa o.
Mh(MAMH, TENMH, SOTIET)
Tan t:Moi Mon hoc co mot MAMH duy nhat. Moi MAMH xac nh tat ca cac thuoc tnh con lai
cua mon hoc o.
Kq(MASV, MAMH, DIEMTHI)
Tan t:Moi sinh vien cung vi mot mon hoc xac dnh duy nhat mot iem thi
BAI TAP AI SO QUAN HE
Xac nh khoa quan he:
Sv(MASV, HOTEN,NU, NGAYSINH, MALOP, TINH, HOCBONG)
Lop(MALOP,TENLOP,SISO,MAKHOA)
Kh(MAKHOA,TENKHOA, SOCBGD)
Mh(MAMH, TENMH, SOTIET)
Kq(MASV, MAMH, DIEMTHI)
Xac nh cac quan he
a) at rSv la quan he cua Sv:
rSv.{MASV,HOTEN,HOCBONG}
b) at rLop la quan he cua Lop
((rSv rLop): NU va MAKHOA=CNTT).{MASV,HOTEN,HOCBONG}
c) at rKq la quan he cua kQ, rMh la quan he cua Mh
((((rKq I><I rMh) I><I rSv) I><I rLop):MAKHOA=CNTT).{MASV,HOTEN,TENMH,DIEMTHI}
d) at rBangDiem la quan he cua cau c)
rPhieuDiem = rBangDiem:MASV=99001
MALOP
I >< I
Chuyn t m hnh thc th kt
hp sang m hnh quan h
Chng 4
Qui tc 1: Bin i mt kiu thc th thnh
mt quan h.
i vi kiu thc th thng thng (regular
entity type): kha ca quan h l kha ca kiu
thc th.
Thuc tnh ca quan h l thuc tnh ca kiu
thc th.
Quan h ch cha cc thuc tnh thnh phn ca
thuc tnh phc hp.
Quan h khng cha cc thuc tnh a tr.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i kiu thc th thng thng
CUSTOMER relation
CUSTOMER entity type with
simple attributes
Bin i ERD thnh cc quan h
CUSTOMER entity type with
composite attribute
CUSTOMER relation with address detail
Bin i thuc tnh phc hp
Qui tc 2: Bin i thuc tnh a tr thnh mt
quan h.
Quan h cha kha ca kiu thc th v thuc
tnh a tr.
Kha ca quan h gm kha ca kiu thc th
v thuc tnh a tr.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i thuc tnh a tr
Multivalued attribute
becomes a separate
relation with foreign key
1tomany relationship between
original entity and new relation
Qui tc 3: Biu din mi lin kt 1-ngi hoc
2-ngi c lng s mt-mt.
t kha ca kiu thc th bn pha bt buc v
cc thuc tnh ca mi lin kt vo quan h ca
kiu thc th bn pha ty chn.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i mi lin kt mt ngi c lng s mt - mt
EMPLOYEE relation with
recursive foreign key
EMPLOYEE entity with
Manages relationship
Bin i ERD thnh cc quan h
Bin i mi lin kt hai ngi c lng s mt - mt
Qui tc 4: Biu din mi lin kt 1-ngi hoc
2-ngi c lng s mt-nhiu.
t kha ca kiu thc th bn pha mt v cc
thuc tnh ca mi lin kt vo quan h ca kiu
thc th bn pha nhiu.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i mi lin kt mt ngi c lng s mt - nhiu
EMPLOYEE relation with
recursive foreign key
EMPLOYEE entity with
Manages relationship
Bin i ERD thnh cc quan h
Bin i mi lin kt hai ngi c lng s mt - nhiu
Note the mandatory one
Again, no null value in the
foreign keythis is
because of the mandatory
minimum cardinality
Qui tc 5: Bin i mi lin kt 1-ngi hoc 2-
ngi c lng s nhiu-nhiu thnh mt quan
h.
Quan h cha cc kha ca cc kiu thc th
tham gia vo mi lin kt.
Kha ca quan h gm c hai kha ca hai kiu
thc th.
Thuc tnh ca quan h l thuc tnh ca mi
lin kt.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i mi lin kt mt ngi c lng s nhiu - nhiu
Bill-of-materials
relationships
(M:N)
ITEM and COMPONENT
relations
Bin i ERD thnh cc quan h
Bin i mi lin kt hai ngi c lng s nhiu - nhiu
New intersection
relation
Foreign key
Foreign key
Composite primary key
The Supplies
relationship will need
to become a separate
relation
Qui tc 6: Bin i mi lin kt 3-ngi thnh
mt quan h.
Quan h cha ba kha ca ba kiu thc th
tham gia vo mi lin kt.
Mi lin kt c bao nhiu kiu thc th bn pha
mt th quan h c by nhiu kha: i vi mt
kiu thc th bn pha mt th kha ca quan h
gm c hai kha ca hai kiu thc th cn li.
Nu khng c kiu thc th bn pha mt th
kha ca quan h bao gm c ba kha ca ba
kiu thc th.
Thuc tnh ca quan h l thuc tnh ca mi
lin kt.
Bin i ERD thnh cc quan h
Bin i ERD thnh cc quan h
Bin i mi lin kt ba ngi
Bin i ERD thnh cc quan h
Bin i mi lin kt ba ngi
Ngn ng truy vn SQL
Chng 5
Literal value New York, 1056.25, #12/2/2001#
Constant la mot ten ai dien cho mot gia tr khong thay oi nh :True, False,Null
Toan t so hoc +,-,*,/,\,^,Mod (ALGEBRA OPERATORS)
Toan t luan ly NOT,AND,OR (STANDART LOGICAL OPERATORS, BOOLEAN OPERATOR)
Toan t so sanh <,<=,>,>=,=,<>
Toan t khac Between...And...,Like,&, IN
Wildcard character
Ky t Y ngha V du
_ ai dien cho mot ky t bat ky A_ -> AN, AM, AC
% ai dien cho mot chuoi ky t bat ky. A? -> AI, ANH,
# ai dien cho mot ky so A## ->A13, A24, A35
[] ai dien cho cac ky t nam trong A[IN] -> AI, AN
- ai dien cho cac ky t nam trong khoang A[M-O] -> AM, AN, AO
! ai dien cho ky t khong phai ky t nam sau ! A[!C] -> AA, AB, AD, ...
Ham IIf(ieu kien, tr 1, tr 2),Date(),Now(bieu thc ngay), Time(bieu thc ngay),Day(bieu thc ngay), Month(bieu thc ngay),Year(bieu thc
ngay),Len( bieu thc chuoi),Chr(ma Ascii), InStr(Start, s1, s2),LCase(s), UCase(s),Left(s, n), Right(s, n),Mid(s, i, n), Nz(v1, v2)
For which task in SQL would you use an IN clause
a) To query the database for unknown values
b) To query the database for a range of values
c) To query the database for a character pattern
d) To query the database for values in a specified list
Ngon ng truy van c chia thanh ba loai:
Data definition query
Dynaset query (data retrieval query)
Action query (data modification query)
Data definition query
Tao lc o quan he rSV:
Create Table rSV (MASV Text (10) CONSTRAINT khoaChinh PRIMARY KEY,HOTEN Text (30), NU YesNo, NGAYSINH
Date, MALOP Text (10), TINH Text (50), HOCBONG Double)
Tao lc o quan he rKQ:
Create Table rKQ (MASV text (10),MAMH Text (10), DIEMTHI Double,CONSTRAINT khoaChinh PRIMARY KEY
(MASV,MAMH) )
MASV HOTEN NU NGAYSINH MALOP TINH HOCBONG
MASV MAMH DIEMTHI
Them cot DTHOAI vao lc o quan he rSV:
Alter Table rSV Add Column DTHOAI Text (20)
Sa kieu kieu d lieu cua mot cot:
Alter Table rSV Alter Column DTHOAI double
Xoa cot cua mot lc o a co:
Alter Table rSv Drop Column DTHOAI
Xoa rang buoc khoa chnh:
Alter Table rSv Drop Constraint khoaChinh
Them rang buoc khoa chnh:
Alter Table rSv Add Constraint khoaChinh Primary Key (MASV)
Them rang buoc mien gia tr:
ALTER TABLE rSV WITH NOCHECK ADD CONSTRAINT mgthb CHECK (hocBong <= 500000 )
Them khoa ngoai:
ALTER TABLE rSV ADD FOREIGN KEY REFERENCES rLop (maLop)
Which of the following will actually describe the layout of a table to the DBMS?
a) SELECT TABLE
b) DROP TABLE
c) CREATE TABLE
d) DELETE FROM TABLE
Dynaset query (data retrieval query)
Use the following tables and data. The primary keys are underlined. All of the fields are
strings, except STATUS, WEIGHT, and QUANTITY, which are Integers, and Shipment
Date, which is Date. The table names are Shipper, Parts, Shipment, respectively.
PARTS
PNUM PNAME COLOR WEIGHT
P1 Nut Red 12
2 P2 Bolt Green 17
1 2 P3 Screw Blue 17
2 P4 Screw Red 14
1 P5 Cam Blue 12
2 P6 Cog Red 19
How many records does the following SQL example return?

SELECT color
FROM parts
WHERE color = 'Blue' OR weight > 12;

1: color=Blue
2: weight > 12
COLOR
Green
Blue
Red
Blue
Red
SELECT DISTINCT color
FROM parts WHERE
color = 'Blue'
OR weight > 12;
COLOR
Green
Blue
Red
PARTS
PNUM PNAME COLOR WEIGHT
P1 Nut Red 12
P2 Bolt Green 17
P3 Screw Blue 17
P4 Screw Red 14
P5 Cam Blue 12
P6 Cog Red 19
SHIPMENT
SNUM PNUM Shipment Date Quantity
S1 P1 9/23/2001 300
S1 P2 3/4/2000 200
S1 P6 8/30/1999 100
S2 P1 4/12/1999 300
S2 P2 5/23/2000 400
S3 P2 7/8/2001 200
S4 P2 9/21/2000 200
S4 P4 10/1/2001 300
How many records does the following SQL example return?
SELECT parts.COLOR, Shipment.Quantity
FROM parts INNER JOIN Shipment ON parts.PNUM = Shipment.PNUM
WHERE (((parts.COLOR)='red') AND ((parts.WEIGHT)>10));
The result of the SQL
COLOR QUANTITY
RED 300
RED 100
RED 300
RED 300
Select Distinct ..........
COLOR QUANTITY
RED 300
RED 100
FROM parts INNER JOIN Shipment ON parts.PNUM = Shipment.PNUM
SNUM PNUM Shipment Date Quantity PNUM PNAME COLOR WEIGHT
1 2 S1 P1 9/23/2001 300 P1 Nut Red 12
2 S1 P2 3/4/2000 200 P2 Bolt Green 17
1 2 S1 P6 8/30/1999 100 P6 Cog Red 19
1 2 S2 P1 4/12/1999 300 P1 Nut Red 12
2 S2 P2 5/23/2000 400 P2 Bolt Green 17
2 S3 P2 7/8/2001 200 P2 Bolt Green 17
2 S4 P2 9/21/2000 200 P2 Bolt Green 17
1 2 S4 P4 10/1/2001 300 P4 Screw Red 14
PARTS
PNUM PNAME COLOR W..
P1 Nut Red 12
P2 Bolt Green 17
P3 Screw Blue 17
P4 Screw Red 14
P5 Cam Blue 12
P6 Cog Red 19
SHIPMENT
SNUM PNUM Shipment Date Quantity
S1 P1 9/23/2001 300
S1 P2 3/4/2000 200
S1 P6 8/30/1999 100
S2 P1 4/12/1999 300
S2 P2 5/23/2000 400
S3 P2 7/8/2001 200
S4 P2 9/21/2000 200
S4 P4 10/1/2001 300 WHERE (((parts.COLOR)='red') AND ((parts.WEIGHT)>10))
The following database contains weather measurements for a number of stations around the UK.. Each station is in a
region, each station records a value for rainfall in cm and sunshine in hours.
region(regionid, name)
station(stationid, rainfall, sunshine, region)
Select the SQL statement which will list the station identity and rainfall for any station with more rainfall than station 6.
a) SELECT stationid, rainfall
FROM station
WHERE rainfall > (SELECT stationid, rainfall FROM station WHERE stationid=6)
REGION
REGIONID NAME
1 BORDERS
2 FIFE
3 LOTHIAN
STATION
STATIONID RAINFALL SUNSHINE REGION
1 10 2 1
2 11 4 1
3 55 0 3
4 23 1 3
5 17 6 2
6 11 4 2
7 41 3 2
FROM station a, station b
STATIONID RAINFALL SUNSHINE REGION STATIONID RAINFALL SUNSHINE REGION
1 10 2 1 1 10 2 1
...... ... .. .. .. ... ... ...
1 10 2 1 6 11 4 2
2 11 4 1 6 11 4 2
x 3 55 0 3 6 11 4 2
x 4 23 1 3 6 11 4 2
x 5 17 6 2 6 11 4 2
6 11 4 2 6 11 4 2
x 7 41 3 2 6 11 4 2
1 10 2 1 7 .... ... ...
... ... .. ... .. .. ... ..
b) SELECT a.stationid, a.rainfall
FROM station a, station b
WHERE a.rainfall > b.rainfall AND b.stationid = 6;
c) SELECT a.stationid, a.rainfall
FROM station a, station b
WHERE a.rainfall < b.rainfall AND b.stationid = 6
d) SELECT stationid, rainfall
FROM station
WHERE stationid=6
e) SELECT b.stationid, a.rainfall
FROM station a, station b
WHERE a.rainfall < b.rainfall
AND a.stationid = 6
SHIPPER
SNUM SNAME STATUS CITY
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blake 30 Paris
S4 Clark 20 London
S5 Adams 30 Athens
PARTS
PNUM PNAME COLOR WEIGHT
P1 Nut Red 12
P2 Bolt Green 17
P3 Screw Blue 17
P4 Screw Red 14
P5 Cam Blue 12
P6 Cog Red 19
SHIPMENT
SNUM PNUM Shipment Date Quantity
S1 P1 9/23/2001 300
S1 P2 3/4/2000 200
S1 P6 8/30/1999 100
S2 P1 4/12/1999 300
S2 P2 5/23/2000 400
S3 P2 7/8/2001 200
S4 P2 9/21/2000 200
S4 P4 10/1/2001 300
SELECT Sum(parts.WEIGHT) AS [SUM]
FROM (parts INNER JOIN Shipment ON parts.PNUM = Shipment.PNUM) INNER
JOIN Shipper ON Shipment.SNUM = Shipper.SNUM
GROUP BY Shipper.CITY, parts.COLOR
HAVING (((Shipper.CITY)='London') AND ((parts.COLOR)='Red'));
Aggregate function, group function
SUM () MAX()
MIN() AVG()
COUNT()
FROM (parts INNER JOIN Shipment ON parts.PNUM = Shipment.PNUM) INNER JOIN Shipper ON Shipment.SNUM =
Shipper.SNUM
SNUM PNUM .... Quantity PNUM PNAME COLOR WEIGHT SNUM SNAME STATUS CITY
S1 P1 300 P1 Nut Red 12 S1 Smith 20 London
S1 P2 200 P2 Bolt Green 17 S1 Smith 20 London
S1 P6 100 P6 Cog Red 19 S1 Smith 20 London
S2 P1 300 P1 Nut Red 12 S2 Jones 10 Paris
S2 P2 400 P2 Bolt Green 17 S2 Jones 10 Paris
S3 P2 200 P2 Bolt Green 17 S3 Blake 30 Paris
S4 P2 200 P2 Bolt Green 17 S4 Clark 20 London
S4 P4 300 P4 Screw Red 14 S4 Clark 20 London
GROUP BY Shipper.CITY, parts.COLOR
SNUM PNUM .... Quantity PNUM PNAME COLOR WEIGHT SNUM SNAME STATUS CITY
S1 P2 200 P2 Bolt Green 17 S1 Smith 20 London
S4 P2 200 P2 Bolt Green 17 S4 Clark 20 London
S1 P1 300 P1 Nut Red 12 S1 Smith 20 London
S1 P6 100 P6 Cog Red 19 S1 Smith 20 London
S4 P4 300 P4 Screw Red 14 S4 Clark 20 London
S2 P2 400 P2 Bolt Green 17 S2 Jones 10 Paris
S3 P2 200 P2 Bolt Green 17 S3 Blake 30 Paris
S2 P1 300 P1 Nut Red 12 S2 Jones 10 Paris
WEIGHT
45
HAVING (((Shipper.CITY)='London') AND ((parts.COLOR)='Red'));
COLOR WEIGHT CITY
Green 34 London
Red 45 London
Green 34 Paris
Red 12 Paris
Which of the following is not a Group function?
a) AVG
b) SQRT
c) SUM
d) MAX
e) MIN
Truy van long nhau (nested query, sub query)
La nhng cau lenh truy van ma trong thanh phan WHERE hay HAVING co cha them mot cau lenh Select khac. Cau lenh
select khac nay goi la subquery. Ta long cau Select vao phan Where hay Having theo cu phap sau:
bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)
ANY, SOME la bat ky, ALL la tat ca
Cac mau tin cua query chnh thoa man toan t so sanh vi bat ky/ tat ca mau tin nao cua subquery
bieuThuc [NOT] IN (cauLenhSQL)
Cac mau tin cua query chnh co gia tr bang vi mot gia tr trong subquery
[NOT] EXISTS (cauLenhSQL).
Cac mau tin cua query chnh thoa man khi subquery khong/co mau tin
Which of the following statements will return the names of the products with Product ID 10, 11, or 42?
a) SELECT ProductName FROM products WHERE ProductID IN (10,11,42)
b) SELECT ProductName FROM products WHERE ProductID IN 10 OR 11 OR 42
c) SELECT ProductName FROM products WHERE ProductID = (10,11,42)
d) SELECT ProductName FROM products WHERE ProductID IS (10,11,42)
e) None of the above
Which line in the following SQL statement contains an error?
1. SELECT title
2. FROM books
3. WHERE pubid EXISTS IN
4. (SELECT pubid
5. FROM books
6. WHERE retail > 41.95);
a) Line 1
b) Line 3
c) Line 4
d) Line 6
student(student_id, student_name, address, tutor_id)
enrolment(student_id, subject_id, mark)
subject(subject_id, subject_name, department)
SELECT subject_name, Count(*) FROM subject, enrolment
WHERE subject.subject_id = enrolment.subject_id AND mark > 40 AND subject_id IN
(SELECT subject_id FROM enrolment GROUP BY subject_id HAVING Count(*) > 4 )
GROUP BY subject_name
SELECT subject_name, Count(*) FROM subject INNER JOIN enrolment ON subject.subject_id = enrolment.subject_id
WHERE mark > 40 AND subject_id IN
(SELECT subject_id FROM enrolment GROUP BY subject_id HAVING Count(*) > 4 )
GROUP BY subject_name
ENROLMENT
student_id subject_id mark
9901 CP1500 45
9902 CP1500 60
9901 CP1600 50
9902 CP1600 30
9903 CP1600 20
9904 CP1600 45
9905 CP1600 40
STUDENT
student_id student_name address tutor_id
9901 Jenny 45 Hay street T01
9902 Mun chan 7 Blacktown Road T01
9903 Alexander 281 Pilbara Way T02
9904 Sarah 25 Hay street T03
9905 Helga 30 Hay street T03
SUBJECT
subject_id subject_name department
CP1500 Database IT
CP1600 Visual Basic IT
FROM subject, enrolment
student_id subject_id mark subject_id subject_name department
1 2 9901 CP1500 45 CP1500 Database IT
1 2 9902 CP1500 60 CP1500 Database IT
9901 CP1600 50 CP1500 Database IT
9902 CP1600 30 CP1500 Database IT
9903 CP1600 20 CP1500 Database IT
9904 CP1600 45 CP1500 Database IT
9905 CP1600 40 CP1500 Database IT
9901 CP1500 45 CP1600 Visual Basic IT
9902 CP1500 60 CP1600 Visual Basic IT
1 2 3 9901 CP1600 50 CP1600 Visual Basic IT
1 9902 CP1600 30 CP1600 Visual Basic IT
1 9903 CP1600 20 CP1600 Visual Basic IT
1 2 3 9904 CP1600 45 CP1600 Visual Basic IT
1 9905 CP1600 40 CP1600 Visual Basic IT
1: subject.subject_id = enrolment.subject_id
2: mark > 40
3: subject_id IN
(SELECT subject_id FROM enrolment GROUP BY subject_id HAVING Count(*) > 4 )
student_id subject_id mark subject_id subject_name department
9901 CP1600 50 CP1600 Visual Basic IT
9904 CP1600 45 CP1600 Visual Basic IT
The result
subject_id
CP1600
ENROLMENT
student_id subject_id mark
9901 CP1500 45
9902 CP1500 60
9901 CP1600 50
9902 CP1600 30
9903 CP1600 20
9904 CP1600 45
9905 CP1600 40
subject_id Count(*)
CP1500 2
CP1600 5
SELECT subject_id FROM enrolment GROUP BY subject_id HAVING Count(*) > 4
SELECT subject_name, Count(*)
....
GROUP BY subject_name
subject_name Count(*)
Visual Basic 2
SELECT student_id
FROM student
WHERE student_id NOT IN
(SELECT student_id FROM enrolment
WHERE subject_id = 'CP1500')
SELECT student_id
FROM enrolment
WHERE NOT EXISTS
(SELECT student_id FROM enrolment
WHERE subject_id = 'CP1500')
ENROLMENT
student_id subject_id mark
x 9901 CP1500 45
x 9902 CP1500 60
9901 CP1600 50
9902 CP1600 30
9903 CP1600 20
9904 CP1600 45
9905 CP1600 40
STUDENT
student_id student_name address tutor_id
9901 Jenny 45 Hay T01
9902 Mun chan 7 ... T01
x 9903 Alexander 281 T02
x 9904 Sarah 25.. T03
x 9905 Helga 30 ... T03
student_id
9903
9904
9905
student_id
In a nested query, which query is evaluated first?
a) The innerrmost query
b) the outermost query
c) both are evaluated simultaneously
d) whichever query is selected to execute first by the user
Truy van cap nhat d lieu (action query, data modification query)
Update table Set field1 = bieuThc1, field2 = bieuThc2 [Where ieuKien]
Delete From table [Where ieuKien]
Customer (cid, cname, city, discnt),
Products (pid, pname, city, quantity, price),
Agents (aid, aname, city, percent) and
Oders (ordno, month, cid, aid, pid, qty, dollars).
Raise the price of each product in the PRODUCTS table by 10% for all PRODUCTS that were ordered from customer c01
a) Update products set price = price * 1.1 where orders.cid = c01;
b) Update products p, Orders o set Products.price = Products.price * 1.1 where orders.cid = c01;
c) Update products set price = .10 * price where pid in (select pid from orders where cid = c01);
d) update products set price = 1.1 * price where pid in (select pid from orders where cid = c01) ;
Delete all customers that did not order product p01
a) Delete ALL Customers where cid not in (selest cid from orders where pid = p01);
b) Delete from Customers where products.pid <> p01;
c) Delete from Customers where cid in (select cid from orders where pid <> p01);
d) delete from Customers where cid not in (select cid from orders where pid = p01);
ordno month cid aid pid qty dollars
H0001 5 C01 A01 P01 10 100
H0002 6 C01 A02 P02 20 150
H0003 5 C02 A01 P01 15 200
H004 6 C03 A01 P02 20 200
Truy van chon
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 u table2.field2] ...
[Where dieuKien]
[Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
V du
SELECT MASV,HOTEN,HOCBONG
FROM Sv;

SELECT MASV,HOTEN,HOCBONG
FROM Sv
WHERE NU And MALOP='CTH2B' And HOCBONG>0;

SELECT MASV,HOTEN,HOCBONG
FROM Sv
ORDER BY HOCBONG DESC;

SELECT MASV,HOTEN,TENLOP
FROM Sv Inner Join Lop On Sv.MALOP = Kh.LOP;
iem >= 5
MAHV MAMH DIEM MAHV MAMH DIEM
99001 DB 5.0 99001 DB 5.0
99002 DS 2.0 99003 NW 8.0
99003 NW 8.0
INNER JOIN
MAHV MAMH DIEM MAMH TENMH
99001 DB 5.0 DB C S D LIEU
99002 NW 2.0 DS CAU TRUC D LIEU
99002 DS 8.0 NW MANG MAY TNH
MAHV MAMH DIEM TENMH
99001 DB 5.0 C S D LIEU
99002 NW 2.0 MANG MAY TNH
99002 DS 8.0 CAU TRUC D LIEU
Truy van nhom d lieu
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 u table2.field2] ...
[Where dieuKienLocMauTinNguon]
[Group By fieldGroupBy[,fieldGroupBy[,...]]
[Having dieuKienLocMauTinTongHop]
[Order By field1 [Asc|Desc][,field2[Asc|Desc]][,...]]]

Group functions (aggregate functions) COUNT,MIN,MAX,SUM, AVG
V du
Lap danh sach sinh vien co ang ky t nhat la ba mon hoc

SELECT Kq.MASV,HOTEN,NU,NGAYSINH,COUNT(MAMH) As SLMH
FROM Sv Inner Join Kq On Sv.MASV = Kq.MASV
GROUP BY Kq.MASV,HOTEN,NU,NGAYSINH
HAVING COUNT(MAMH)>=3;

em so lng sinh vien n cua moi khoa
SELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONG
FROM (Sv Inner Join Lop On Sv.MALOP = LOP.MALOP)
INNER JOIN Kh On Lop.MAKHOA=Kh.MAKHOA
WHERE NU
GROUP BY Kh.MAKHOA,TENKHOA;
Truy van long nhau (nested query, subquery)
toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)
bieuThuc [NOT] IN (cauLenhSQL)
[NOT] EXISTS (cauLenhSQL).
V du:
Lap danh sach sinh vien co hoc bong cao nhat
SELECT *
FROM Sv
WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV)

Lap danh sach sinh vien co iem thi mon CSDL cao nhat
SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI
FROM sv Inner Join kq On Sv.MASV = Kq.MASV
WHERE MAMH='CSDL' AND DIEMTHI >= ALL
(SELECT DIEMTHI FROM KQ WHERE MAMH='CSDL')
Truy van cap nhat d lieu (action query, data modification query)
Update table Set field1 = bieuThc1, field2 = bieuThc2 Where ieuKien
Delete From table Where ieuKien
Truy van hp
Select .....Union Select ....
V du:
Lenh sau ay gap oi danh sach sinh vien
SELECT MASV,HOTEN,NGAYSINH UNION SELECT MASV,HOTEN,NGAYSINH
Bai tap 2
Nhanvien(MANV,HOTEN,NGAYSINH,PHAI,DIACHI,MAPB)
Phongban(MAPB,TENPB)
Cong(MACT,MANV,SLNGAYCONG)
Congtrinh(MACT,TENCT,DIADIEM,NGAYCAPGP,NGAYKHOICONG,NGAYHT)
Bai tap 3:
Monhoc(MSMH ,TENMH,SOTINCHI ,TINHCHAT)
Sinhvien(MSSV,HOTEN,NGAYSINH,LOP)
Diem(MSSV,MSMH,DIEMTHI)
Bai tap 4:
Docgia(MADG,HOTEN,NGAYSINH,DIACHI,NGHENGHIEP)
Phieumuon(SOPM,NGAYMUON,MADG)
Chitietmuon(SOPM,MADAUSACH,NGAYTRA)
Dausach(MADAUSACH,BAN,TAP,MASH)
Sach(MASH,TENSACH,TACGIA,NHAXB,NAMXB)
Bai tap 5:
Khach(MAKH,HOTEN,DIACHI,DIENTHOAI)
Hoadon(SOHD,NGAYLAPHD,NGAYBAN,MAKH)
DongHoaDon(SOHD,MAHANG,SLBAN)
Hang(MAHANG,TENHANG,DONGIA,DVT,MANHOM)
Nhom(MANHOM,TENNHOM)
Bai tap 6:
Giaovien(MAGV,HOTEN,DTGV,MAKHOA)
Khoa(MAKHOA,TENKHOA,DTKHOA)
Lop(MALOP,TENLOP,SISO,MAKHOA)
Monhoc(MAMH,TENMH)
Phonghoc(SOPHONG,CHUCNANG)
Lichbaogiang(MALICH,NGAYDAY,MAGV)
Dongbaogiang(MALICH,TUTIET,DENTIET,BAIDAY,GHICHU,LYTHUYET,
MAMH,MALOP,SOPHONG)
Bai tap quan ly thi
Q1:HD(MAHDT,TENHDT, TENCT, DCHDT,DTHDT)
Q2:PT(SOPT,DCPT,MAHDT)
Q3:TS(SOBD, TENTS,NGSINH,PHAI,CCNGHE, MATR,SOPT)
Q4:MT(MAMT,TENMT,BUOI,NGAY)
Q5:GV(MAGV,TENGV,CHUYENMON,CHUCDANH,MAHDT,MATR)
Q6:TR(MATR,TENTR,DCTR,LHDT)
Q7:KQ(SOBD,MAMT,DIEMTHI)
MASV HOTEN NU NGAYSINH MALOP TINH HOCBONG
99001 TRAN DAN THU TRUE 15-03-1977 CTH2B TIEN GIANG 120000
99002 NGUYEN H DA THAO TRUE 25-04-1986 CTH2B TPHCM 120000
99003 PHAM ANH HUY FALSE 16-08-1977 CTH2B BAC LIEU
99004 NGUYEN NGOC THUAN FALSE 24-12-1980 CTH2B CA MAU
99005 LE THANH TRUNG FALSE 20-11-1978 CAV1 CA MAU 120000
99006 NGUYEN HONG VAN FALSE 19-09-1979 CAV1 SOC TRANG
99007 VU THI LOAN TRUE 15-03-1975 CAV1 CA MAU
99008 TRUONG KIM QUANG FALSE 15-05-1975 CTH2B HA NOI
99009 TON THAT QUYEN FALSE 26-06-1976 CTH2B VUNG TAU 60000
99010 HA VAN LONG FALSE 14-04-1973 CAV1 BAC LIEU
99011 BUI VAN ANH FALSE 22-12-1972 CAV1 AN GIANG
99012 LE HUU CHI FALSE 28-08-1977 CT2 CAN THO 60000
99013 VU THANH CONG FALSE 29-03-1979 CTH2B KIEN GIANG 60000
99014 TRAN QUANG CUONG FALSE 30-05-1981 CT2 DONG THAP 120000
99015 PHAM VAN HAI FALSE 30-06-1976 CT2 CA MAU
99016 HUYNH THANH HOANG FALSE 29-07-1982 CT2 TPHCM 80000
99017 TRAN MINH LAM FALSE 21-08-1977 CTH2B TRA VINH
99018 PHAN VAN SANG FALSE 19-05-1979 CDL1 DONG THAP 120000
99019 PHAM THI HUYEN FALSE 16-06-1982 CDL1 CAN THO 120000
99020 NGUYEN THI NGAN TRUE 11-11-1981 CTH2B CA MAU 120000
99021 PHAM TAN QUANG FALSE 01-01-1980 CDL1 CA MAU
99022 TRAN PHUOC QUYEN FALSE 12-12-1979 CTH2B BAC LIEU 60000
99023 LE THI THANH VAN TRUE 11-11-1980 CDL1 TPHCM 120000
RANG BUOC TOAN VEN
Rang buoc toan ven la g?
la cac moi lien he gia cac thuoc tnh, gia cac bo
la cac ieu kien ma cac quan he phai thoa.
trong thc te ta co the hieu rang buoc toan ven la cac qui tac quan ly.
Cac yeu to cua rang buoc toan ven:
ieu kien
t
1
,t
2
e r
t
1
.MASV = t
2
.MASV
cuoi
boi canh la cac quan he ma ieu kien rang buoc co hieu lc
tam anh hng
(Ten RBTV) Them(T) Sa(S) Xoa(X)
r
1

+ - -
r
2

...
... .. ..
...
... ... ...
r
n

The type of integrity constraint
entity integrity constraint
derived integrity constraint
referential integrity constraint
domain integrity constraint
data type integrity constraint
MASV MAMH DIEM MAMH TENMH
99001 DB 5.0 DB C S D LIEU
99002 DS hai DS CAU TRUC D LIEU
99003 NW 8.0
NW MANG MAY TNH
99002 SQL 11.0
Entity
integrity
Referential
integrity
Domain
integrity
Data type
integrity
SOLUONG DONGIA THANHTIEN
4 50 250
derived
integrity
Cac loai rang buoc:
RBTV lien bo
R
1
:t
1
,t
2
e rKhach
t
1
. MAKH = t
2
. MAKH
Cuoi
RBTV ve s phu thuoc ton tai
R
2
: rDatHang[MAKH] _
rKhach[MAKH]
RBTV ve mien gia tr
R
3
: t e rHoaDon
t.TRIGIAHD > 0
Cuoi
RBTV lien thuoc tnh
R
4
: t e rHoaDon
t.NGAYLAP <= t.NGAYXUAT
Cuoi
R
1
Them Sa Xoa
rKhach
+ + -
R
2
Them Sa Xoa
rDatHang + + -
rKhach
- + +
R
3
Them Sa Xoa
rHoaDon
+ + -
R
3
Them Sa Xoa
rHoaDon
+ + -
Cac loai rang buoc:
RBTV lien thuoc tnh lien quan he
R
5
: t
1
e rDatHang, t
2
e
rHoaDon
Neu t
1
.SODH = t
2
.SODH th
t
1
.NGAYDH <= t
2
.NGAYXUAT
Cuoi
RBTV ve thuoc tnh tong hp
la gia tr mot thuoc tnh c tnh toan
t cac gia tr khac nh
THANHTIEN=SOLUONG*DONGIA
R
5
Them Sa Xoa
rDatHang + + +
rHoaDon
+ + +
Chng 6
Chun ha d liu
PHU THUOC HAM
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Cushing 83 9/8 10:15a
Cushing 116 10/8 1:25p
Clark 281 8/8 5:50a
Clark 301 12/8 6:35p
Clark 83 11/8 10:15a
Chin 83 13/8 10:15a
Chin 116 12/8 1:25p
Copely 281 9/8 5:50a
Copely 281 13/8 5:50a
Copely 412 15/8 1:25p
Moi may bay co mot gi khi hanh duy nhat.
Neu biet phi cong, biet ngay gi khi hanh th biet c may bay do phi cong ay lai.
Neu biet may bay, biet ngay khi hanh th biet phi cong lai chuyen bay ay.
o MAYBAY xac nh GIOKH
o {PHICONG,NGAYKH,GIOKH} xac nh MABAY
o {MAYBAY,NGAYKH} xac nh PHICONG
hay
o GIOKH phu thuoc ham vao MAYBAY
o MABAY phu thuoc ham vao {PHICONG,NGAYKH,GIOKH}
o PHICONG phu thuoc ham vao {MAYBAY,NGAYKH}
va c ky hieu nh sau:
o {MAYBAY} GIOKH
o {PHICONG,NGAYKH,GIOKH} MABAY
o {MAYBAY,NGAYKH} PHICONG
NH NGHA:
Q(A
1
,A
2
,,A
n
) la lc o quan he.
X, Y la hai tap con cua Q
+
={A
1
,A
2
,,A
n
}.
r la quan he tren Q.
t
1
,t
2
la hai bo bat ky cua r.
X Y (t
1
.X = t
2
.X t
1
.Y = t
2
.Y)
He qua: Neu X _ Y th X Y.
Chng minh:
Gia s t
1
.X = t
2
.X do X _ Y nen t
1
.Y = t
2
.Y theo nh ngha suy ra X Y
Trong trng hp nay X Y c goi la phu thuoc ham hien nhien.
V du phu thuoc ham X X la phu thuoc ham hien nhien.
Vay vi r la quan he bat ky, F la tap phu thuoc ham thoa tren r, ta luon co
F _ {cac phu thuoc ham hien nhien}
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Cushing 83 9/8 10:15a
Clark 83 11/8 10:15a
Chin 83 13/8 10:15a
Cushing 116 10/8 1:25p
Chin 116 12/8 1:25p
Clark 281 8/8 5:50a
Copely 281 9/8 5:50a
Copely 281 13/8 5:50a
Clark 301 12/8 6:35p
Copely 412 15/8 1:25p
MAYBAY->GIOKH ?
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Clark 281 8/8 5:50a
Copely 281 9/8 5:50a
Copely 281 13/8 5:50a
Cushing 83 9/8 10:15a
Clark 83 11/8 10:15a
Chin 83 13/8 10:15a
Cushing 116 10/8 1:25p
Chin 116 12/8 1:25p
Copely 412 15/8 1:25p
Clark 301 12/8 6:35p
SATIFIES(phanCong,GIOKH,MAYBAY)
GIOKHMAYBAY cho ket qua false
A B C D
C
A B C D
AB AC AD
BC BD
ABC ABD
CD
ACD
BCD
ABCD
Q
+
= {A,B,C,D}
co bao nhieu tap con?
- co 2
n
=2
4
=16
co bao nhieu phu thuoc ham co the co?
- co 2
n
x2
n
=2
4
x2
4
=256
C C
CA
CB
CAB
......
AC
AA,
AB,
.....
ABCDC
ABCDA
.....
ABCDABCD
In the instance of the relation R(A,B,C,D,E) shown below,
which of the following functional dependencies (FD's) hold?
Briefly justify your answer.
A B C D E
1 2 3 4 5
1 4 3 4 5
1 2 4 4 1
I. AB C
II. B D (T)
III. DE A (T)
Phu thuoc ham (functional dependency, FD)
Q(A1,A2,,An) la lc o quan he.
Q
+
={A1,A2,,An}
X, Y la hai tap con cua Q
+
r la quan he tren Q.
t
1
,t
2
la hai bo bat ky cua r.
X Y (t
1
.X = t
2
.X t
1
.Y = t
2
.Y)
Ky hieu: X Y oc la
- X xac nh Y (X functional determines Y)
-Y phu thuoc vao X (Y functional dependent on X )
-Neu X _ Y th X Y la PTH hien nhien (trivial dependence)
Phu thuoc ham c suy dien logic t F
Noi rang phu thuoc ham X Y c suy dien logic t F neu mot quan he r bat ky thoa man tat ca cac
phu thuoc ham cua F th cung thoa phu thuoc ham X Y. Ky hieu F|= X Y.
Bao ong cua F
Bao ong cua F ky hieu F
+
la tap tat ca cac phu thuoc ham c suy dien logic t F.
Cac tnh chat cua tap F
+
1.Tnh phan xa: F _ F
+
2.Tnh n ieu: Neu F _ G th F
+
_ G
+
3.Tnh luy ang: (F
+
)
+
= F
+
.
Goi G la tap tat ca cac phu thuoc ham co the co cua r, phan phu cua F ky hieu F
-
= G - F
+
Chng minh
1.X Y e F r thoa X Y X Y e F
+
2.Neu X Y la phu thuoc ham thuoc F
+
ta phai chng minh X Y thuoc G
+
Gia s r thoa tat ca cac phu thuoc ham cua G (1)
r thoa tat ca phu thuoc ham cua F v F _ G
r thoa phu thuoc ham X Y (2) v X YeF
+

(1) va (2) X Y e G
+
F
+
_ G
+

F _ F
+
(tnh phan xa) F
+
_ (F
+
)
+
(1)
Neu X Y e (F
+
)
+
(2) X Y e F
+
that vay: (3)
Gia s r thoa tat ca cac phu thuoc ham cua F (4)
r thoa tat ca cac phu thuoc ham cua F
+
(theo nh ngha)
r thoa tat ca cac phu thuoc ham cua (F
+
)
+
(theo nh ngha)
r thoa X Y (v (2)) X Y e F
+

(1) va (3) (F
+
)
+
= F
+
Chng minh:
Luat them vao: gia s co t1.XZ = t2.XZ (1)
t1.X = t2.X
t1.Y = t2.Y (do X Y) (2)
XZ Y (do (1) (2))
Luat hp: gia s co t1.X = t2.X (1)
t1.X = t2.X va t1.Z = t2.Z
t1.XZ = t2.XZ (2)
X YZ (do (1) (2))
Luat phan ra: ga s co t1.X = t2.X (1)
t1.YZ = t2.YZ (do X YZ)
t1.Y = t2.Y (2)
X Y (do (1) (2))
Luat bac cau: gia s co t1.X = t2.X (1)
t1.Y = t2.Y
t1.Z = t2.Z (2)
X Z (do (1) (2))
Luat bac cau gia: gia s co: t1.XZ = t2.XZ (1)
t1.X = t2.X va t1.Z = t2.Z (2)
t1.Y = t2.Y (do X Y) (3)
t1.YZ = t2.YZ (Ket hp (2) va (3))
t1.W = t2.W (do YZ W) (4)
XZ W
Noi rang X Y la phu thuoc ham c suy dien nh vao luat dan Armstrong neu ton tai cac tap
phu thuoc ham F
0
c F
1
c... c F
n
sao cho X Y e F
n
vi F
0
,F
1
,...,F
n
lan lt c hnh thanh
thoa phng phap sau:
Bc 1: F
0
= F
Bc 2:chon mot so phu thuoc ham trong F
i
ap dung he luat dan Armstrong e thu c mot so
phu thuoc ham mi. at F
i+1
= F
i
{cac phu thuoc ham mi}
V du:
Cho F = {AB C,C B,BC A} th co F
0
c F
1
c F
2
sao cho C A e F
2
F
0
= {AB C,C B, BC A} ap dung luat hp cho C B va C C
F
1
= {AB C,C B, BC A, C BC} ap dung luat bac cau.
F
2
= {AB C,C B, BC A, C BC, C A}
He qua: He luat dan Armstrong la ung ngha la neu F la tap cac phu thuoc ham ung tren
quan he r va X Y la mot phu thuoc ham c suy dien t F nh he luat dan Armstrong th
X Y ung tren quan he r. Vay X Y la phu thuoc ham c suy dien logic t F
Ta se chng minh he luat dan Armstrong la u ngha la moi phu thuoc ham
X Y c suy dien logic t F se c suy dien t F nh he luat dan Armstrong
Bao ong cua tap thuoc tnh X oi vi F ky hieu la X
+
c nh ngha nh sau:
X
+
= A
i
vi X A
i
la phu thuoc ham c suy dien t F nh he tien e Armstrong
Tnh chat:
bao ong cua Q la Q
+
Cac tnh chat cua bao ong
Neu X,Y la cac tap con cua tap thuoc tnh Q
+
th ta co cac tnh chat sau ay:
1.Tnh phan xa: X _ X
+
2.Tnh n ieu: Neu X _ Y th X
+
_ Y
+
3.Tnh luy ang: X
++
= X
+
4. (XY)
+
_ X
+
Y
+
5. (X
+
Y)
+
= (XY
+
)
+
= (X
+
Y
+
)
+
6. X Y Y
+
_ X
+
7. X X
+
va X
+
X
8. X
+
= Y
+
X Y va Y X
Chng minh:
1. X X X
+
_ X
2. A e X
+
X A Y A A e Y
+
3. A e X
++
X
+
A va X X
+
(ap dung 8) X A AeX
+
X
++
_ X
+
. Ap dung 1 X
++
_ X
+

7. X A
1
va X A
2
X A
1
A
2
.... XA
i
= X
+
X
+
_ X X
+
X (Phu thuoc ham hien nhien)
He luat dan Armstrong (Armstrong inference rule)
He luat dan la mot phat bieu cho biet neu mot quan he r thoa man mot vai phu thuoc ham th
no phai thoa man phu thuoc ham khac.
Vi X,Y,Z,W la tap con cua Q
+
. r la quan he bat ky cua Q. Ta co 6 luat dan sau:
** Reflexive rule: X X
** Augmentation rule : Cho X Y XZ Y
** Transitive rule : Cho X Y, Y Z X Z
ba luat dan tren la he tien e Armstrong (Armstrongs Axioms)
Union rule : Cho X Y, X Z X YZ
Decomposition rule : Cho X YZ X Y
Pseudo transitive rule : Cho X Y, YZ W XZ W
Bao ong ca tap PTH F (closures of functional dependences sets)
Bao ong cua F ky hieu F
+
la tap tat ca cac phu thuoc ham c suy dien logic t F.
Bao ong cua tap thuoc tnh (closures of attributes sets)
Bao ong cua tap thuoc tnh X oi vi F ky hieu la X
+
la tap cac thuoc tnh phu thuoc vao X
Given the function dependencies RHJ; JM for the relation schema E(RHJM). The dependency RM can be inferred by:
a) The transitive rule c) The reflexive rule
b) None of the above d) The augmentation rule
Tnh lien tiep tap cac tap thuoc tnh X
0
,X
1
,X
2
,... theo phng phap sau:
Bc 1: X
0
= X
Bc 2: lan lt xet cac phu thuoc ham cua F
Neu YZ co Y _ X
i
th X
i+1
= X
i
Z
Loai phu thuoc ham Y Z khoi F
Bc 3: Neu bc 2 khong tnh c X
i+1
th X
i
chnh la bao ong cua X
Ngc lai lap lai bc 2
V du 1: Cho lc o quan he Q(ABCDEGH) va tap phu thuoc ham F
F={f
1
: BA; f
2
: DACE; f
3
: DH; f
4
: GH C; f
5
: ACD}
Tm bao ong cua cac tap X = {AC} da tren F.
Giai:
Bc 1: X
+
= AC
Bc 2: Do f
1
, f
2
, f
3
, f
4
khong thoa. f
5
thoa v X
+
_ AC
X
+
= AC D = ACD
Lap lai bc 2: f
1
khong thoa, f
2
thoa v X
+
_ AD:
X
+
= ACD CE = ACDE
f
3
thoa v X
+
_ D
X
+
= ACDE H = ACDEH
f
4
khong thoa, f
5
khong xet v a thoa
Lap lai bc 2: f
1
,f
2
,f
3
khong xet v a thoa, f
4
khong thoa,f
5
khong xet v a thoa.Trong bc nay
X
+
khong thay oi => X
+
={ACDEH} la bao ong cua X
Let Q be a relation with attributes (A,B,C,D,E,F) and let the following functional dependencies hold
F={f
1
: BA;
f
2
: DACE;
f
3
: DH;
f
4
: GH C;
f
5
: ACD}
Find the closure of X = {AC}.
Let R be a relation with attributes (A,B,C,D,E,F) and let the following functional dependencies hold.
A B
A C
CD E
CD F
B E
Given the above functional dependencies, which of the following functional dependencies does not hold:
a) A -> E
b) CD -> EF
c) AD -> F
d) B -> CD
Giai:
X
0
= AC
X
1
= AC D = ACD do ve trai f5 thoa X
0
_ AC
X
2
= ACD CE = ACDE do ve trai f2 thoa X
1
_ AD
X
3
= ACDE H = ACDEH do ve trai f3 thoa X
2
_ D

X
3
khong thay oi => X
+
={ACDEH} la bao ong cua X
nh ly Thuat toan tm bao ong cho ket qua X
i
= X
+
Chng minh
1. Ta chng minh X
i
_ X
+
bang phng phap qui nap.
Bc c s chng minh X X
0

Theo tnh phan xa cua he luat dan th X X theo thuat toan th X
0
= X
X X
0
. Vay X
0
_ X
+
Bc qui nap gia s co X X
i-1
(1) ta phai chng minh X X
i

Theo thuat toan tm bao ong th co f
j
= X
j
Y
j
e X
i-1
_ X
j
va X
i
= X
i-1
Y
j
X
i-1
Y
j
(2). (1) va (2) X Y
j
(3)
(1) va (3) X X
i-1
Y
j
= X
i
X X
i
Vay X
i
_ X
+
2. Ta chng minh A _ X
+
A _ X
i

A _ X
+
nen co mot phu thuoc ham X A c suy dien nh vao luat dan Armstrong, ma X _
X
i
A _ X
i
He qua
Q la lc o quan he. F la tap phu thuoc ham, A la thuoc tnh ch xuat hien ve phai cua cac phu
thuoc ham trong F th X
+
= (X A)
+
A
Q la lc o quan he. F la tap phu thuoc ham, X la tap con cua Q
+
va Y = {cac thuoc tnh xuat hien
ve phai cua cac phu thuoc ham trong F} th X
+
_ X Y.
Chng minh
Theo thuat toan tm bao ong th bao ong X
+
hay (X-A)
+
c hnh thanh qua mot so bc. Ta chng
minh bieu thc X
+
= (X A)
+
A theo qui nap.
Bc c s: X
0
= X, (X-A)
0
= X - A X
0
=(X - A)
0
A ung
Bc qui nap: gia s ta co X
i-1
=(X - A)
i-1
A. Bao ong X
i
c hnh thanh do co f
j
=
X
j
Y
j
e:
X
i-1
_ X
j
va X
i
= X
i-1
Y
j
= (X - A)
i-1
A Y
j
(1).
S hnh thanh X
i
luon keo theo s hnh thanh (X-A)
i
v:
X
i-1
= (X-A)
i-1
A _ X
j
do X
j
khong cha A nen:
(X - A)
i-1
_ X
j
vay (X - A)
i
= (X - A)
i-1
Y
j
(2)
(1) va (2) cho:
X
i
= (X - A)
i
A la ieu phai chng minh
Bc c s: X
0
= X X
0
_ X Y
Bc qui nap: gia s co X
i-1
_ X Y ta chng minh X
i
_ X Y.
Bao ong Xi c hnh thanh do co f
j
= X
j
Y
j
e:
X
i-1
_ X
j
va X
i
= X
i-1
Y
j
_ X Y Y
j
do Y
j
la ve phai cua phu thuoc ham
nen Y Y
j
= Y vay X
i
_ X Y
nh ly
He luat dan Armstrong la ay u ngha la moi phu thuoc ham X Y c suy dien logic t F se
c suy dien t F nh he luat dan Armstrong.
Chng minh:
e chng minh XY c suy dien t F nh he luat dan Armstrong ta chng minh bang phng
phap phan chng ngha la neu XY khong suy dien c t he luat dan Armstrong th co quan
he r thoa cac phu thuoc ham F nhng khong thoa phu thuoc ham XY (ieu nay nghch ly vi
gia thuyet la moi quan he r thoa cac phu thuoc ham trong F th r cung thoa phu thuoc ham
XY).
That vay gia s Q(A
1
,A
2
,...,A
n
) la lc o quan he, a
i
,b
i
la cac gia tr khac nhau tren
mien gia tr Ai. r la quan he tren Q co hai bo t va tc xac nh nh sau:
t=(a
1
,a
2
,...,a
n
)
t.A
i
= a
i
neu A
i
e X
+
t.Ai= b
i
neu A
i
e X
+
Vay quan he r co t.X = t.X nhng t.Y = t.Y (t.Y gom cac gia tr ai con t.Y phai co t nhat mot bi
neu khong Y _ X+ X Y c suy dan t he luat dan Armstrong ). Nh vay r khong thoa phu
thuoc ham X Y.
Bay gi ta chng minh quan he r thoa moi phu thuoc ham trong F. Goi W Z la phu thuoc ham
trong F.
Neu W . X+ t.W = t.W menh e (t.W = t.W t.Z = t.Z)ung
Neu W _ X+ t.Z = t.Z = bo cac ai
menh e (t.W = t.W t.Z = t.Z)ung
He qua:
Bao ong cua tap thuoc tnh X oi vi F la:
X
+
= Ai vi X Ai la phu thuoc ham c suy dien logic t F
Tnh chat
X Y e F
+
Y _ X
+

Chng minh
X Y co k sao cho Y = A
k
_ A
i
= X
+
Y _ X
+
X
+
=Y (X
+
- Y)X Y (X
+
- Y) X Y

Thuat toan xac nh f = XY co la thanh vien cua F hay khong
Bc 1: tnh X
+

Bc 2: so sanh X
+
vi Y neu X
+
_ Y th ta khang nh X Y la thanh vien cua F
Thuat toan tm F
+

Bc 1: Tm tat ca tap con cua Q
+

Bc 2: Tm tat ca cac phu thuoc ham co the co cua Q.
Bc 3: Tm bao ong cua tat ca tap con cua Q.
Bc 4: Da vao bao ong cua tat ca cac tap con a tm e xac nh phu thuoc ham nao thuoc F
+
Q(A,B,C) F = {AB C,C B} F
+
?
Tat ca cac tap con cua tap thuoc tnh






Tat ca cac phu thuoc ham co the co:
C A B C
C {A} {B} {C}
{A,B} {A,C}
{B,C}
{A,B,C}
AB ABC BC ABCeF CA CBCeF
+
ACBCeF
+
BCAC
AAB AABC BAC ABACeF
+
CBeF CABC ACABCeF
+
BCABC
AC BA BBC ABBCeF
+
CAB ACBeF
+
BCA
AAC BAB BABC ABABCeF
+
CAC ACABeF
+
BCAB
Bao ong cua tat ca tap con

A
+
= A C
+
= BC
B+ = B AC
+
= ABC
{AB}
+
= ABC BC
+
= BC
F
+
= { ABC, ABAC,
ABBC,ABABC,
CB, CBC,
ACB, ACAB,
ACBC,ACABC}
PHU CUA TAP PHU THUOC HAM (cover of dependencies)
Phu thuoc ham tng ng (equivalences among sets of dependencies)
Noi rang hai tap phu thuoc ham F va G la tng ng (equivalent) neu F
+
=G
+

ky hieu F G.
Ta noi F phu G neu F
+
_ G
+

V du: Cho lc o quan he Q(ABCDE) hai tap phu thuoc ham:
F={ABC,AD,CDE} va G={ABCE,AABD,CDE}
a) F co tng ng vi G khong?
b) F co tng ng vi G={ABCDE} khong?
Phu thuoc ham co ve trai d tha
Noi rang phu thuoc ham Z Y co ve trai d tha neu co mot AeZ sao cho F
F-{Z Y}{(Z-A) Y}
V du: cho tap phu thuoc ham F={ABC, BC, ABD} th phu thuoc ham ABD co
ve trai d tha B v:
F F {AB D}{A D}
{A BC,B C,A D}
Tap phu thuoc ham co ve trai khong d tha la tap phu thuoc ham khong co phu thuoc ham co
ve trai d tha
PHU CUA TAP PHU THUOC HAM (cover of dependencies)
Phu thuoc ham tng ng (equivalences among sets of dependencies)
Noi rang hai tap phu thuoc ham F va G la tng ng (equivalent) neu F
+
=G
+

ky hieu F G.
Ta noi F phu G neu F
+
_ G
+

e chng minh F va G tng ng ta chng minh:
F
+
_ G

Bang cach: XYeG XY eF
+

G
+
_ F

Bang cach: XYeF XY eG
+

V du: Cho lc o quan he Q(ABCDE) hai tap phu thuoc ham:
F={ABC,AD,CDE} va G={ABCE,AABD,CDE}
F co tng ng vi G khong?

Ta co A
F
+
=ABCDE ABCE eF
+
, AABD eF
+
CD
F
+
= CDE CDE eF
+
F
+
_ G

Ta co A
G
+
=ABCED ABCeG
+
, ADeG
+
,
CD
G
+
=CDE CDEeG
+
G
+
_ F
Vay F
+
=G
+
Given the following schema R(Emp #,Dept #,City) functional dependencies, F={Emp#City, Emp#Dept#, Dept#City;
Emp#,Dept#City}. Which set of functions dependencies is a minimal cover for F ?
a) {Emp#City; Dept#City} =A
b) {Emp#City; Emp#Dept#} =B
c) {Emp#Dept#; Dept#City} =C
d) {Empt#,Dept#City; Emp#Dept#} =D
Gii:
a) Emp#
+
=Emp#,City Emp#Dept# e A
+
b) Emp#
+
=Emp#,City,Dept#; Dept#
+
=Dept# Dept#City e B
+

c) Emp#
+
=Emp#,Dept#,City; Dept#
+
=Dept#,City; Emp#,Dept#
+
= Emp#,Dept#,City
d) Emp#
+
=Emp#,Dept#,City; Dept#
+
=Dept# Dept#City e D
+
Minimal cover
F c goi la mot phu toi thieu neu F thoa ong thi ba ieu kien sau:
1) F la tap phu thuoc ham co ve trai khong d tha
2) F la tap phu thuoc ham co ve phai mot thuoc tnh.
3) F la tap phu thuoc ham khong d tha
Tap phu thuoc ham co ve phai la mot thuoc tnh
Moi tap phu thuoc ham F eu tng ng vi mot tap phu thuoc ham G ma ve phai
cua cac phu thuoc ham trong G ch gom mot thuoc tnh.
V du: cho F = {ABC, BC, ABD} ta suy ra
F {AB, AC ,BC, ABD} = G
Tap phu thuoc ham khong d tha
Noi rang F la tap phu thuoc ham khong d tha neu khong ton tai Fc F sao cho
F F.Ngc lai F la tap phu thuoc ham d tha.
V du: cho F = {ABC, BD, ABD} th F d tha v
F F= {ABC, BD}
Tap phu thuoc ham toi thieu
F c goi la mot tap phu thuoc ham toi thieu neu F thoa ong thi ba ieu kien
sau:
F la tap phu thuoc ham co ve trai khong d tha
F la tap phu thuoc ham co ve phai mot thuoc tnh.
F la tap phu thuoc ham khong d tha
V du: Cho lc o quan he Q(A,B,C,D) va tap phu thuoc F nh sau:
F={ABCD, BC, CD}
Hay tnh phu toi thieu cua F.
V du: Cho lc o quan he Q(MSCD,MSSV,CD,HG) va tap phu thuoc:
F = { MSCD CD;
CD MSCD;
CD,MSSV HG;
MSCD,HG MSSV;
CD,HG MSSV;
MSCD,MSSV HG}
Hay tm phu toi thieu cua F
Khoa cua Q:
Q(A
1
,A
2
,,A
n
)la lc o quan he.
Q
+
la tap thuoc tnh cua Q.
F la tap phu thuoc ham tren Q.
K la tap con cua Q
+
.
Noi rang K la mot khoa cua Q neu:
K
+
= Q
+
va
Khong ton tai K'c K sao cho K
+
= Q
+

Tap thuoc tnh S c goi la sieu khoa neu S _ K
Thuoc tnh A c goi la thuoc tnh khoa neu AeK vi K la khoa bat ky cua Q. Ngc lai A c
goi la thuoc tnh khong khoa.
V du: Cho Q(A,B,C,D,E,G,H,I)
F={ACB; BI ACD; ABCD; HI; ACEBCG; CGAE}
Tm mot khoa cua Q.
Thuat toan tm mot khoa cua mot lc o quan he Q
Bc 1: gan K = Q
+
Bc 2: A la mot thuoc tnh cua K, at K=K A. Neu K
+
=Q
+
th gan
K = K' thc hien lai bc 2
V du: Tm tat ca cac khoa cua lc o quan he va tap phu thuoc ham nh sau: Q(C,S,Z);
F={CSZ; ZC}
X
i
X
i
+ Sieu khoa khoa
C C
S S
CS CSZ CS CS
Z ZC
CZ CZ
SZ SZC SZ SZ
CSZ CSZ CSZ
He qua: Neu K la khoa cua Q th TN _ K va TD K = C
Chng minh TN _ K
Theo he qua 2 cua thuat toan tm bao ong ta co:
K
+
_ KTDTG
Ta chng minh A e TN A e K. That vay:
Neu AeK K
+
_KTDTG _ Q
+
-A K khong la khoa
mau thuan
Chng minh TD K = C
Gia s co thuoc tnh A e TD K ta se dan en ieu mau thuan.
That vay:
Theo he qua 1 cua thuat toan tm bao ong th K
+
=(K-A)
+
A
A e TD co X la ve trai cua mot phu thuoc ham trong F sao cho
XA (1) va AeX X_K
+
=(K-A)
+
A v AeX
X_(K-A)
+
(K-A) X (2)
(1) va (2) cho (K-A)A Ae(K-A)
+
(K-A)
+
A =
(K-A)
+
K
+
=(K-A)
+
mau thuan vi ieu K la khoa.
Tm tat ca cac khoa cua lc o quan he va tap phu thuoc
ham nh sau: Q(C,S,Z); F={CSZ; ZC}
Giai:
TN = {S}; TG = {C,Z}
Goi X
i
la cac tap con cua tap TG:
X
i
(TN X
i
) (TN X
i
)
+

Sieu khoa khoa
| S S
C SC Q
+
SC SC
Z SZ Q
+
SZ SZ
CZ SCZ Q
+
SCZ
Let a relation R have three candidate keys A, B, and (C,D). Which of the
following must not be correct.
a) AB
b) BA
c) AC
d) CAB
Ghi chu:
Tap thuoc tnh nguon (TN) cha tat
ca cac thuoc tnh co xuat hien
ve trai va khong xuat hien ve
phai cua cac phu thuoc ham va
cac thuoc tnh khong xuat hien
ca ve trai lan ve phai cua cac
phu thuoc ham.
Tap thuoc tnh trung gian (TG) cha
tat ca cac thuoc tnh xuat hien
ca ve trai lan ve phai cua cac
phu thuoc ham.
Noi rang K la mot khoa cua Q neu:
K
+
= Q
+
va
Khong ton tai K'c K sao cho K
+
= Q
+

Consider a relation R(A,B,C,D,E) with the
following functional dependencies:
ABC DE and D AB.
The number of superkeys of R is:
a) 2
b) 7
c) 10
d) 12
MASV
HOVATEN KHOA TENMONHOC DIEMTHI
99023
99023
99023
NGUYEN THI THU
NGUYEN THI THU
NGUYEN THI THU
CNTT
CNTT
CNTT
KY THUAT LAP TRINH
TOAN ROI RAC
CO SO DU LIEU
6.0
8.0
4.0
99030 LE VAN THANH DIEN TU VI XULY 4..0
MASV
HOVATEN KHOA TENMONHOC DIEMTHI
99023 NGUYEN THI THU CNTT KY THUAT LAP TRINH 6.0
99023 NGUYEN THI THU CNTT TOAN ROI RAC 8.0
99023 NGUYEN THI THU CNTT CO SO DU LIEU 4.0
99030 LE VAN THANH DIEN TU VI XULY 4..0
Quan he khong at chuan 1:
Quan he at chuan 1:
For a table to be in first normal form, it must
a) have a composite primary key.
b) have at least one foreign key.
c) not have a composite primary key.
d) not have any foreign keys
e) not have any repeating groups.
MASV, HOVATEN:repeating group; TENMONHOC, DIEMTHI: multi values
nh ngha:
Mot lc o quan he Q dang chuan 2 neu Q at chuan 1 va moi thuoc tnh khong khoa cua
Q eu phu thuoc ay u vao khoa.
Thuat toan kiem tra dang chuan 2
Vao: lc o quan he Q, tap phu thuoc ham F
Ra: khang nh Q at chuan 2 hay khong at chuan 2.
Bc 1: Tm tat ca khoa cua Q
Bc 2: Vi moi khoa K, tm bao ong cua tat ca tap con that s S cua K.
Bc 3: Neu co bao ong S
+
cha thuoc tnh khong khoa th Q khong at chuan 2 . Ngc lai
Q at chuan 2
V du:
Cho lc o quan he Q(A,B,C,D) va tap phu thuoc ham
F={ABC; BD; BCA}. Hoi Q co at chuan 2 khong?
V du 3: Quan he sau at chuan 2.
Q(G,M,V,N,H,P) F={GM;GN;GH;GP;MV;NHPM}
He qua:
Neu Q at chuan 1 va tap thuoc tnh khong khoa cua Q bang rong th Q at chuan 2
Neu tat ca khoa cua quan he ch gom mot thuoc tnh th quan he o t nhat at chuan 2.
Thuoc tnh phu thuoc bac cau
Q la lc o quan he, X,Y la hai tap con cua Q
+
, A la mot thuoc tnh.
Noi rang A phu thuoc bac cau vao X neu ca ba ieu sau thoa:
X Y,Y A
X khong phu thuoc ham vao Y
A e XY
nh ngha 1:
Lc o quan he Q dang chuan 3 neu moi phu thuoc ham X A e F
+
vi
A e X eu co X la sieu khoa hay A la thuoc tnh khoa
nh ngha 2:
Lc o quan he Q dang chuan 3 neu moi thuoc tnh khong khoa cua Q eu khong phu thuoc
bac cau vao mot khoa bat ky cua Q
T nh ngha 1 khong co phu thuoc bac cau vao mot khoa bat ky cua Q.
Gia s co phu thuoc bac cau vao khoa ngha la co K Y,Y A,Y K va
A e KY. Y A la mot phu thuoc ham nen theo nh ngha 1 co hai trng hp xay ra cho Y:
Y la sieu khoa YK ieu nay mau thuan vi Y K.
Y khong la sieu khoa A la thuoc tnh khoa mau thuan vi gia thiet AeKY
He qua 1: Neu Q at chuan 3 th Q at chuan 2
He qua 2: Neu Q khong co thuoc tnh khong khoa th Q at chuan 3.
nh ly:
Q la lc o quan he
F la tap cac phu thuoc ham co ve phai mot thuoc tnh.
Q at chuan 3 neu va ch neu moi pth XAeF vi AeX eu co
X la sieu khoa
hay A la thuoc tnh khoa
Thuat toan kiem tra dang chuan 3
Vao: lc o quan he Q, tap phu thuoc ham F
Ra: khang nh Q at chuan 3 hay khong at chuan 3.
Bc 1: Tm tat ca khoa cua Q
Bc 2: T F tao tap phu thuoc ham tng ng F
1tt
co ve phai mot thuoc tnh.
Bc 3: Neu moi phu thuoc ham X A e F
1tt
vi AeX eu co X la sieu khoa hoac A la
thuoc tnh khoa th Q at chuan 3 ngc lai Q khong at chuan 3
V du 5: Cho lc o quan he Q(A,B,C,D) F={ABC; DB; CABD}. Hoi Q co
at chuan 3 khong?
Dang Chuan BC (Boyce-Codd Normal Form)
Mot quan he Q dang chuan BC neu moi phu thuoc ham XA e F
+
vi AeX eu co X la
sieu khoa.
He qua 1: Neu Q at chuan BC th Q at chuan 3
He qua 2: Moi lc o co hai thuoc tnh eu chuan BC
nh ly:
Q la lc o quan he
F la tap cac phu thuoc ham co ve phai mot thuoc tnh.
Q at chuan BC neu va ch neu moi phu thuoc ham XAeF vi AeX eu co X la sieu khoa
Chng minh:
Q at dang chuan BC theo nh ngha ta suy ra moi phu thuoc ham XAeF vi AeX co X la
sieu khoa.
Ngc lai ta phai chng minh neu moi phu thuoc ham XAeF vi AeX co X la sieu khoa th
moi phu thuoc ham XAeF
+
vi AeX cung co X la sieu khoa. That vay, do XA khong la
phu thuoc ham hien nhien nen phai co ZBeF sao cho X_Z (Z la sieu khoa) X la sieu
khoa.
V du 7: Q(A,B,C,D,E,I) F={ACDEBI;CEAD}. Hoi Q co at chuan BC
khong?
Thuat toan kiem tra dang chuan cua mot lc o quan he.
Vao: lc o quan he Q, tap phu thuoc ham F
Ra: khang nh Q at chuan g?
Bc 1:Tm tat ca khoa cua Q
Bc 2:Kiem tra chuan BC neu ung th Q at chuan BC, ket thuc
thuat toan ngc lai qua bc 3
Bc 3:Kiem tra chuan 3 neu ung th Q at chuan 3, ket thuc thuat toan
ngc lai qua bc 4
Bc 4: Kiem tra chuan 2 neu ung th Q at chuan 2, ket thuc thuat toan
ngc lai Q at chuan 1
nh ngha: Dang chuan cua mot lc o c s d lieu la dang chuan thap
nhat trong cac dang chuan cua cac lc o quan he con.
Chuan 2:
Mot lc o quan he Q dang chuan 2 neu Q at chuan 1 va moi thuoc tnh khong khoa cua
Q eu phu thuoc ay u vao khoa.
He qua:
Neu Q at chuan 1 va tap thuoc tnh khong khoa cua Q bang rong th Q at chuan 2
Neu tat ca khoa cua quan he ch gom mot thuoc tnh th quan he o t nhat at chuan 2.
Chuan 3:
** Lc o quan he Q dang chuan 3 neu moi thuoc tnh khong khoa cua Q eu khong phu
thuoc bac cau vao mot khoa bat ky cua Q
** Q at chuan 3 neu va ch neu moi pth XAeF vi AeX eu co X la sieu khoa hay A la
thuoc tnh khoa
**Neu Q khong co thuoc tnh khong khoa th Q at chuan 3.
Chuan BC:
** Q at chuan BC neu va ch neu moi phu thuoc ham XAeF vi AeX eu co X la sieu
khoa
**Q at chuan 3 va khoa cua Q ch gom mot thuoc tnh th Q at chuan BC
Consider the relation student(sno, sname, cname, cno) where (sno,
cno) or (sname, cname) are candidate keys. There are
functional dependencies within the keys.
The highest normal form whose requirements this relation satisfies
is:
a) 1NF
b) 2NF
c) 3NF
d) BCNF
The following table and functional dependencies
exhibits what type of dependency?
Table(A, B, C)
A C
A B
B C
a) Partial Dependence
b) Transitive Dependence
c) Full Dependence
d) A and B
e) None of the above
Consider the following functional dependencies
a,bc,d
a,c b,d
e,f,g h,i
f,g j
g,h i
e,g,h f,j
p,q r,s
s t
q u
Which of the following relational schemas might be the result of
normalising R(a,b,c,d)?
a. The schema R(a,b,c,d)
b. The schema R1(a,b) R2(a,c) R3(a,d)
c. The schema R1(a,b) R2(b,c) R3(c,d)
d. The schema R1(a,b,c) R2(a,b,d)
e. The schema R1(a,b) R2(a,c) R3(b,d)
Phep tach ket noi bao toan thong tin (decomposition with lossless join)
Cho lc o quan he Q(TENNCC,DIACHI,SANPHAM,DONGIA) co quan he la r
r
TENNCC DIACHI SANPHAM DONGIA
Hung 12 Nguyen Kiem Gach ong 200
Hung 12 Nguyen Kiem Gach the 250
Hung 40 Nguyen Oanh Gach ong 200
r
2
= r.Q
2
+
r
1
= r.Q
1
+
TENNCC DIACHI TENNCC SANPHAM DONGIA
Hung 12 Nguyen Kiem Hung Gach ong 200
Hung 40 Nguyen Oanh Hung Gach the 250
r = r
1
|><|r
2

TENNCC DIACHI SANPHAM DONGIA
Hung 12 Nguyen Kiem Gach ong 200
Hung 12 Nguyen Kiem Gach the 250
Hung 40 Nguyen Oanh Gach ong 200
Hung 40 Nguyen Oanh Gach the 250
Neu Q la mot lc o quan he, Q
1
,Q
2

la hai lc o quan he con co
Q
1
+
Q
2
+
= X
Q
1
+
Q
2
+
= Q
+
X Q
2
+

Th r = r.Q
1
|><|r.Q
2
If the follwing functional dependencies
AB;BC hold for database schema R(AB)
and S(BC) then the join of R and S will be
a) non lossless c) lossy
b) none of above d) lossless
nh ngha phep tach Q thanh 2 lc o con
Q la lc o quan he, Q
1
, Q
2
hai lc o con co:
Q
1
+
Q
2
+
= X va Q
1
+
Q
2
+
= Q
+
Noi rang lc o quan he Q c tach thanh hai lc o con Q
1
, Q
2
theo phep tach (Q
1
,Q
2
)
la phep tach ket noi khong mat (hay phep tach bao toan thong tin) neu vi r la quan he bat ky
cua Q ta co:
r = r.Q
1
|><|r.Q
2
Tc la r c tao nen t phep ket noi t nhien cua cac hnh chieu cua no tren cac Q
1
,Q
2
.
Tnh chat
Neu Q la mot lc o quan he, Q
1
,Q
2
la hai lc o quan he con co
Q
1
+
Q
2
+
= X
Q
1
+
Q
2
+
= Q
+
X Q
2
+

Th r = r.Q
1
|><|r.Q
2
V du: cho Q(S,A,I,P), Q
1
=(S,A) , Q
2
=(S,I,P) F={SA,SIP}. Hoi viec
tach Q thanh Q
1
va Q
2
co gay ra mat mat thong tin khong?
Ap dung tnh chat tren, ta co
Q
1
+
Q
2
+
= S
Q
1
+
Q
2
+
= SAIP = Q
+
S SA = Q
1
+

r = r.Q
1
|><|r.Q
2
. phep tach ket noi bao toan thong tin.
Q la mot lc o quan he, F la tap phu thuoc ham. Q c
tach thanh cac lc o con Q1, Q2, Q3...,Qn theo tng bc
ma moi bc mot lc o c tach thanh hai lc o
con va thoa man ieu kien cua tnh chat bao toan thong tin
th vi r la quan he bat ky cua Q ta luon co:
r = r.Q
1
|><|r.Q
2
... |><|r.Q
n

Q
Q
1
Q
12
Q
21
Q
2
Q
3
Q
4
S A I P
SA a
1
a
2
b
1
b
2

SIP a
1
b
3
a
3
a
4

S A I P
SA a
1
a
2
b
1
b
2

SIP a
1
a
2
a
3
a
4

Vi Q(S,A,I,P) Q
1
(SA) Q
2
(SIP) F = {S A,SI P}
Hoi Q c tach thanh Q
1
va Q
2
co bao toan thong tin khong?
Bc 1: lap bang 3 dong 5 cot Bc 2:lam bang theo phu thuoc ham
phep tach bao toan thong tin
Phep tach bao toan phu thuoc ham
Q(TENNCC,DIACHI,QUAN)
F={TENNCC->DIACHI; DIACHI->QUAN; QUAN->TENNCC}
Q
1
(TENNCC,DIACHI) Q
2
(DIACHI,QUAN)
r
TENNCC DIACHI QUAN
Hung 12 Nguyen Kiem
Go vap
Hong 12 Nguyen Hue Quan 1
Hanh 11 Nguyen Van Troi Phu Nhuan
F
1
={TENNCC->DIACHI,
DIACHI->TENNCC}
r
1
=r.Q
1
+
F
2
={DIACHI->QUAN,
QUAN->DIACHI}
r
2
=r.Q
2
+
TENNCC DIACHI DIACHI QUAN
Hung 12 Nguyen Kiem 12 Nguyen Kiem Go vap
Hong 12 Nguyen Hue 12 Nguyen Hue Quan 1
Hanh 11 Nguyen Van Troi 11 Nguyen Van Troi Phu Nhuan
nh ngha phep phan ra bao toan phu thuoc ham:
HQ
i
(F)=F
i
+
={ XY|X Y e F
+
va XY _ Q
i
}
Ta noi phan ra bao toan tap phu thuoc ham F neu
F HQ
i
(F) F
+
= ( HQ
i
(F))
+
vi i=1..k
V du:
Q(A,B,C) F={A->B; B->C; C->A}
=(Q
1
,Q
2
) Q
1
(A,B) Q
2
(B,C)
F
+
AB AABC BBC CAC ABBC ACABC
AAB BA BABC CBC ABABC BCA
AC BAB CA CABC ACB BCAB
AAC BC CB ABABC ACAB BCAC
ABC BAC CAB ABC ACBC BCABC
HQ
1
(F)= F
1
+
={AB,AAB,BA,BAB}{AB,BA}=F
1

HQ
2
(F)= F
2
+
={BC,BBC,CB,CBC}{BC,CB}=F
2
e tnh F
1
+
,F
1
ta khong can tnh F
+
ma ch tnh bao ong cua tat ca tap con cua Q
1
+
roi
suy ra F
1
+
,F
1

Tng t cho F
2
+
,F
2
H
Q1
(F)={PTHHN} H
Q2
(F)={ZC, ZZC} F={CSZ,ZC}
Q
1
(S Z) Q
2
(C Z) Q (C S Z)
s
1
z
1
c
1
z
1
c
1
s
1
z
1

s
1
z
2
c
1
z
2
c
1
s
1
z
2

Y ngha phan ra bao toan phu thuoc ham
Q(C,S,Z) F={CS->Z; Z->C}
=(Q
1
,Q
2
) Q
1
(S,Z) Q
2
(C,Z)
Thuat toan kiem tra phep phan ra bao toan phu thuoc ham:
Vao: Q(A,B,C),F={AB,BC,CA},Q
1
(A,B) va Q
2
(B,C)
Hien nhien G = HQ
1
(F)HQ
2
(F) _ {AB,BC}
Ta xac nh CA co thuoc (HQ
1
(F) HQ
2
(F))
+
.Bang cach tnh bao ong cua C
G
+
Bc 1: Z=C
Bc 2: gan Z= Z((ZQ
1
+
)
+
Q
1
+
): Z=C(CAB)=C
Bc 1 va 2 co Z khong thay oi, ta sang lc o Q
2
va tnh tiep Z
Bc 3: gan Z= Z((ZQ
2
+
)
+
Q
2
+
): Z=C(ABCBC)=BC
Zthay oi tnh tiep Zbat au t lc o Q
1
Bc 4: gan Z= Z((ZQ
1
+
)
+
Q
1
+
): Z=BC(ABCAB)=ABC
do Z=Q
+
Z se khong bao gi thay oi.
vay C
G
+
=ABC CAe(HQ
1
(F)HQ
2
(F))
+
phep phan ra bao toan pth.
V du: cho Q(S,D,I,M) F={SID;SDM} hay phan ra Q thanh cac lc o con at
chuan BC bao toan thong tin.
Giai:
TN={SI} TG={D}
X
i
TNX
i
(TNX
i
)
+

Sieu khoa Khoa
C SI SDIM SI SI
D SID SDIM SID
F={SI->D;SD->M}
Q(S,D,I,M)
K = SI
F
1
={SD->M}
Q
1
(SDM)
K
1
= SD
F
2
={SI->D}
Q
2
(SDI)
K
2
= SI
S
+
=S D
+
=D M
+
=M S
+
=S D
+
=D I
+
=I
SD
+
=SDM SM
+
=SM SD
+
=SDM SI
+
=SDIM
DM
+
=DM DI
+
=DI
SDM
+
=SDM SDI
+
=SDIM
F
1
+
=HQ
1
(F)={SDM,SDSM,SDDM,SDSDM}{SDM}= F
1

F
2
+
=HQ
2
(F)={SID,SISD,SIDI,SISDI}{SID}= F
2
Tnh chat: Theo thuat toan tren, khi phan ra Q thanh Q
1
va Q
2
th tap khoa S
Q
cua Q luon luon
bang vi tap khoa S
Q2
cua Q
2
.
Chng minh
That vay, K la mot khoa cua Q K la mot sieu khoa cua Q
2
. Gia s co Kc K va K
la khoa cua Q
2
K(Q
+
-Y) ma XY KQ
+
. ieu nay mau thuan vi K la
khoa cua Q K la khoa cua Q
2
. Ngc lai cung ung.
F={C->T;HR->C;HT->R;CS->G;HS->R}
Q(CTHRSG)
K = HS
F
1
={C->T}
Q
1
(CT)
K
1
= C
F
12
={HR->C;CS->G;HS->R;...}
Q
12
(CHRSG)
K
12
= HS
F
2
={HR->C;CH->R}
Q
2
(CHR)
K
21
=HR; K
22
= CH
F
3
={HS->RG}
Q
3
(HRSG)
K
3
= HS
Tnh F
1
, K
1
Tnh F
2
,K
Tnh F
3
,K
3
F={C->T;HR->C;HT->R;CS->G;HS->R}
Q(CTHRSG)
K = HS
F
1
={C->T}
Q
1
(CT)
K
1
= C
F
12
={HR->C;CS->G;HS->R;...}
Q
12
(CHRSG)
K
12
= HS
F
2
={HR->C;CH->R}
Q
2
(CHR)
K
21
=HR; K
22
= CH
F
3
={HS->RG}
Q
3
(HRSG)
K
3
= HS
Tnh F
1
, K
1
Tnh F
2
,K
Tnh F
3
,K
3
Consider the following functional dependencies:
a,b c,d
e c
b e,f
Given the same functional dependencies as shown above, which option
shows the relations normalised to third normal form of: R(a, b, c, d, e, f)
a. R(a,b,c,d,e,f)
R(e,c)
R(b,e,f)
c. R(a,b,c,d)
R(c,e)
R(b,e,f)
b. R(a,b,c,d)
R(c,e)
R(e,f,b)
d. R(a,b,d)
R(e,c)
R(b,e,f)
e. R(a,b,c,d,e,f)
Bo e: Neu Q khong dang chuan BC th co thuoc tnh A,B thuoc Q
+
sao cho (Q
+
-AB)A
Chng minh:
Q khong dang chuan BC co XA sao cho X khong la sieu khoa co thuoc tnh B e
XA (Q
+
-AB) _ X (Q
+
-AB)A
Nhan xet:
Mot lc o Q dang chuan BC van co the co AB sao cho (Q
+
-AB)A
Mot lc o Q khong co AB sao cho (Q
+
-AB)A th Q dang chuan BC

V du: Cho quan he Q(B,O,S,Q,I,D) va tap phu thuoc ham F
F = { S D,
I B
IS Q
B O}
Hay phan ra Q thanh cac lc o con at dang chuan BC va bao toan thong tin.

Giai
***at Z=Q
+
=BOSQID
Thc hien thuat toan chi tiet
Y= BOSQID
Chon BO:(SQID)
+
B
Giam O ta c Y=BSQID
Chon BS:(QID)
+
B
Giam S ta c Y=BQID
Chon BQ:(ID)
+
B
Giam Q ta c Y=BID
Chon BD: I
+
B
Giam D ta c Y= BI
Q
1
=(BI) va F
1
={IB}
***Giam B ta c Z=OSQID
at Y=OSQID
Chon OQ: (SID)
+
Q;
Giam O ta c Y= SQID
chon QD: (SI)
+
D
giam Q ta c Y= SID
chon ID: S
+
D;
giam I ta c Y= SD
Q
2
=(SD) va F
2
={SD}
*** Giam D ta c Z= OSQI
at Y=OSQI
chon OQ: (SI)
+
Q
giam O ta c Y= SQI
Q
3
=(SQI) va F
3
={SIQ}
*** Giam Q ta c Z= OSI
at Y=OSI
Chon OS: I
+
=IBO O
giam S ta c Y= OI
Q
4
=(OI) va F
4
={IO}
*** Giam O ta c Z= SI
Q
5
=(SI)va F
5
={PTHHN}
Loai Q
5
v Q
5
+
_ Q
3
+
Vay ket qua phan ra la:
1:Q
1
(BI) F
1
={IB}
2:Q
2
(SD) F
2
={SD}
3:Q
3
(SQI) F
3
={SIQ}
4:Q
4
(OI) F
4
={IO}

Tnh chat
Khong co thuat toan phan ra lc o Q thanh cac lc o con dang chuan BC va bao
toan thong tin va bao toan phu thuoc ham.
Van co lc o Q c phan ra thanh cac lc o con dang chuan BC va bao toan thong
tin va bao toan phu thuoc ham.
V du: cho lc o Q(CSZ) co F={CSZ,ZC}. Q khong the phan ra thanh cac lc o
con dang chuan BC va bao toan thong tin va bao toan phu thuoc ham. That vay:
Tat ca khoa cua Q la:






Vay Q at dang chuan 3 nhng khong dang chuan BC v co ZC co ve trai khong la sieu
khoa. Nhng neu ta phan ra Q thanh cac lc o con co t hn 3 thuoc tnh th phu thuoc
CSZ khong suy ra c t cac phu thuoc hnh chieu.
Xi TNXi (TNXi)
+

sieu khoa khoa
C S S
Z SZ SZC SZ SZ
C SC SZC SC SC
ZC SZC SZC SZC
Thuat Toan phan ra Q, F thanh dang chuan 3, bao toan thong tin, bao toan phu thuoc ham
Tm phu toi thieu Ftt cua F
Neu co nhng thuoc tnh cua Q khong nam trong mot phu thuoc nao cua Ftt - du ve phai hay ve
trai cua F th chung tao thanh mot lc o.
Neu co mot phu thuoc ham nao cua Ftt ma lien quan en tat ca cac thuoc tnh cua Q th ket qua
phan ra chnh la Q ( Q khong the phan ra)
C moi phu thuoc ham X A e Ftt th XA la mot lc o can tm
Neu co mot lc o con cha khoa K cua Q th ket thuc thuat toan .Ngc lai tao mot lc o con
K
V du: cho lc o Q(CTHRSG),F={CT,HRC,THR,CSG,HSR}.Hay phan ra Q thanh
cac lc o con at dang chuan 3 va bao toan thong tin va bao toan phu thuoc ham.
Gai:
F=Ftt={CT,HRC,THR,CSG,HSR} la phu toi thieu.
Ap dung thuat toan tren Q c phan ra thanh cac lc o con
Q
1
(CT)
Q
2
(HRC)
Q
3
(THR)
Q
4
(CSG)
Q
5
(HSR)
Khoa cua Q la HSQ
1
,Q
2
,Q
3
,Q
4
,Q
5
chnh la ket qua phan ra
nh ly: Thuat toan tren tao ra mot phan ra dang chuan 3 va bao toan thong tin va bao
toan phu thuoc ham
Chng minh:
Ta chng minh moi lc o con dang chuan 3. That vay:
Theo thuat toan th moi lc o con Q
i
co dang YB vi YB Y la sieu khoa. Gia s
trong Q
i
co phu thuoc ham XA co ve trai khong la sieu khoa va ve phai khong la thuoc tnh
khoa. Ta phan lam hai trng hp:
Trng hp 1: A=B XB X c Y YB la phu thuoc co ve trai d tha,
ieu nay trai vi YB la phu thuoc ham trong phu toi thieu.
Trng hp 2: A=B AeY (1). Goi K la khoa cua Q
i
K _ Y (2). A la thuoc tnh
khong khoa nen A e K (3).(1)(2)(3) K c Y (4).K la khoa nen KB YB la phu
thuoc ham co ve trai d tha. ieu nay trai vi ieu phu thuoc ham YB la phu thuoc ham
cua phu toi thieu Ftt
Ta chng minh phep phan ra bao toan phu thuoc ham. That vay:
Hien nhien F
tt
_ G = HQ
i
(F
tt
) F
tt
+
_ G
+
(1)
Hn na F
tt
+
_ G = HQ
i
(F
tt
) F
tt
++
_ G
+
F
tt
+
_ G
+
(2)
(1)va (2) F
tt
+
= G
+
Ta chng minh phep phan ra bao toan thong tin. That vay:
Lap bang kiem tra bao toan thong tin. Ta lan lt ong nhat cac gia tr theo cac phu thuoc ham
c phat hien do thuat toan tm bao ong (co ve trai la tap con cua Q
i
+
cha khoa). Do Q
i
+

cha khoa nen hang cua lc o Q
i
se cha toan a la ieu phai chng minh
C T H R S G
Q
1
a
1
a
2

Q
2
a
1
a
3
a
4

Q
3
a
2
a
3
a
4

Q
4
a
1
a
5
a
6

Q
5
a
3
a
4
a
5

Tm bao ong cua X={HSR} _ K; F={CT,HRC,THR,CSG,HSR}
X
0
=HSR
X
1
=HSRC do HRC ong nhat cac gia tr theo phu thuoc ham nay.
X
2
=HSRCT do CT ong nhat cac gia tr theo phu thuoc ham nay.
X
3
=HSRCTG do CSG ong nhat cac gia tr theo phu thuoc ham nay.
Do X
+
=Q
+
nen se co mot hang cha toan gia tr a
C T H R S G
Q
1
a
1
a
2

Q
2
a
1
a
2
a
3
a
4

Q
3
a
1
a
2
a
3
a
4

Q
4
a
1
a
2
a
5
a
6

Q
5
a
1
a
2
a
3
a
4
a
5
a
6

Which charater function would you use a specified portion of a character string?
a) Length c) substr
b) Concat d) initcap
A modification anomaly occurs when:
a) Relations are normalized
b) none of them
c) functional dependencies must be modified
d) Undesirable consequences result from changing data in a table
e) All of them
The consequence of the reflexivity rule is that:
a) A set of attributes determines an attribute from that set
b) A superkey determines all other attribute
c) Every attribute determines itself
d) A candidate key determines all other attributes
Indexing is a feature applied to a database:
a) All of the others
b) To place permit restriction on access
c) To assist in good user respone times
d) To improve access times and to enforce some integrity conrols
Relation J is a projection of relation G. Which of the following statements must
be true in all cases where relation J is different from relation G?
a) The arity of J is less than the arity of G
b) The cardinality of J is less than the cardinality of G
c) None of the others
d) The arity of J is greater than the arlity of G
e) The cardinality of J is greater than the cardinality of G
The resulting relation from an equijoin operation which is none emty, will
a) Have the same number of attribute as a natural join between the same operand
relations
b) None of them
c) Always have one or more pairs of attributes in each tuple that have identical values
d) have fewer attributes than the sum of the attributes of the two eperand relations
The following is an example of a composide attribute
a) list of skills b) Product code
c) Address d) Employee
e) Total price
Which of the following best describes the source of the function dependencies.
a) The mathematical formalization of constraints from the mini-world
b) The cardinalities of foreign key constraints
c) The intuition of the schema designer
d) The value of a mathematical function on the keys of a relation
A third normal form is violation can occur for which the following tables
a) A table which a single field primary and two non key attributes and A table with
a composite primary key and two non key attribute
b) A table with a composite primary key and two non key attributes
c) A table with a composite primary key and one non key attributes
d) A table with a single field primary key and two non key attributes
e) All of the others
The following is an example of a multivalued attribute
a) Address
b) Product code
Database technologry offers
a) Multi user access (in advanced DBMSs)
c) Imporved progrmmer and user productivity
b) Data security facilities
c) List of skill
d) Total price
e) Employee
d) All of the others
e) High integrity control over data
A functional dependency violates 3NF if it:
a) Has a key on its lefthandside, a prime attrite on its righthand-side
b) Has a part of a candidate key on its lefthand side
c) Has a super key on its left-hand-side,but there is no prime attribute on the right-hand-side
d) Has a prime attribute on its righthand side
e) Does not have a candidate key on its lefthand side
f) Neither has a super key on its lefthand side, nor a prime attribute on the righthand side
Going from first to second normal form removes
a) Transitive dependencies b) Functional dependencies
c) Full functional dependencies d) Data redundancy
This operator can only operate on relations with the same schema
a) cartesian product b) All of them
c) Intersection d) Equi-join
Database-Processing programs
a) Call the DBMS to access the stored data
b) Require at least one dedicated workstation
c) Can not be used by more than one person
d) Present problems with storage space
Which of the following best describes why we study relational algebra
a) It allows for more efficient operator than SQL
b) It provides a form mathematical foundation
c) It is more concise than drawing query trees
d) It allows the expression of operations not possible in conventional programming
language
If we use the algorithm for producing a lossless decomposition into 3rd normal
form with the relation schema of X(K, A, C) and the set of FDS as (KAC, CK)
then the algorithm would produce as output
a) A relation schema with (K, A, C)
b) A relation schema with (X, A, C)
c) A relation schema with (K, A, X)
d) A relation schema with (C, K) and a relation schema with (C)
e) A relation schema with (C, K) and a relation schema with (K, A)
f) A relation schema with (K) and a relation schema with (A) and a relation schema
with (C)
Which of the following is not a relations ?
a) Y (D, E, F) b) W (A) c) X (B, C) d) Z (J, K(L, M) )
If ML JQ is one of the functional dependencies, which hold for relation
schema F (M,L,J,Q) then
a) No two tuples in F can have the same values for M and L
b) ML is a key for F
c) All of above
d) ML is a primary key for F
The term row (or record) used in relational database
a) Define the entityrelationship model used.
b) Refers to the primary key nomination
c) Refers to the method of matrix organisation of data
d) Refers to the denormalised data
Normalization is a process associated with
a) Avoiding update anomalies
b) Naming of primary and foreign keys in a database
c) Database concurrency procedures
d) Ensuring ease of access to the database
Given two relation R (A,B,C) and S (A, B, C) which of the following is always true
a) R S yields the same result as S R
b) R INTERSECT S yields the same result as S INTERSECT R
c) PROJECT(R) yields the same result as PROJECT(S)
d) none of the above
Which of the following is correct
a) All FDs are aretoare relationships
b) All FDs are many toare relationships
c) None of them are true
d) All FDs are manytomany relationships
The following table and the functional dependencies exhibits whay type of
dependency table (Q,O,I)
Q I
Q O
O I
a) Transitive dependence b) Q and O
c) Full dependence d) partial dependence
e) None of the others
A prime attribute is an attribute that
a) a member of a foreign b) is single valued
c) is a member of the primary key d) is a member of all keys
e) is minimal f) is a member of any candidate key
Which of the following is (are) a capability (capabilities) that should be provided
by a database management system ?
a) all of the others b) restrict unauthorized access
c) represent relationships among data d) cantrol redundancy
Which of the follwing is not correct?
a) SQL may be used for data definition as well as data retrieval
b) SQL SELECT operation may be used for data retrieval as well as for data
modification
c) SQL may be used to defining base tables as well as view tables
d) SQL data definitions may be used for defining primary keys as well as foreign keys
e) SQL may be invoked either interactively or from an application program
A table is in 3NF if
Each functional dependency has a superkey on its left hand side
Each functional dependency either has a superkey on its left hand side, or has a
prime attribute on right hand side
There are no partial functional dependencies
There is more than one key
There are no transitive functional dependencies
A table in third normal form:
a) Cannot have any repeating groups
b) Has no non-keys fields depending on only a part of the composite primary key
c) Has no transitive dependencies
d) All of the others

If a relation schema has 5 attributes and 3 of those attributes make up the only
key, the how many different superkeys does the relation have
a) 5 b) 4 c) 3 d) 2
Table TT (YMBKGFD) and a set of functional dependencies
YM FD
G YMB
BF KD
BKD F
YMD G
Table TT is
2NF b) 3NF c) 1NF
Table A Table B
Col1 Col2 Col3 Col4
I 1 I 1
G 3 W 4
W 4 S 5
C 3
Consider the tables A and B shown above and select the result of
A LEFT OUTER JOIN col1=col3 B

Which of the attributes are extraneous in the functional dependency UIZE,
considering the relational schema R(UIZEOD) and FDs {IO;ZD
If a relation R is decomposed into {R1,R2,...,Rn} and
the decoposition is lossless then
a) none of them
b) The relations R
1
,R
2
,...,R
n
are each in 3
rd
normal
form
c) The relations R
1
,R
2
,...,R
n
can have more tuples than
the original relation
d) The natural join of R1,R2,...,Rn will have the same
number of tuples as the original

You might also like