You are on page 1of 154

THIT K C S D LIU

GVHD: ThS. Trn Sn Hi


http://fit.hcmup.edu.vn/~haits
Email: transonhai@hcmup.edu.vn
2
Ni dung
Chng 4 : L thuyt m hnh CSDL quan h
Chng 3 : Tng quan qu trnh thit k CSDL
Chng 2 : H qun tr c s d liu SQL Server
Chng 1 : Tng quan cc h thng tin v c s d liu
Chng 6 : Thit k CSDL mc l-gc
Chng 5 : Thit k CSDL mc quan nim
Chng 7 : Thit k CSDL mc vt l
Bo Co v n Tp
3
1. Ti Liu Tham Kho
Thomas M. Connolly, Carolyn E. Begg, A Practical
Approach to Design, Implementation, and
Management, Addion-Wesley, 1999.
J. Ullman, Database and knowledge base
systems,Vol 1. Computer Science Press, 1988
Ramez Elmasri, Shamkant B. Navathe ,
Fundamentals of database systems, Addison Wesley -
4th edition, 2003
Joseph M. Hellerstein, Michael Stonebraker,
Readings in Database Systems. Fourth Edition, MIT
Press, 2005
4
Chng 1 : Tng quan cc
h thng tin v c s d liu
5
3. C s d liu (1)
nh ngha:
C s d liu l mt h thng cc thng tin c cu
trc, c lu tr trn cc thit b lu tr nhm
tha mn yu cu khai thc thng tin ng thi ca
nhiu ngi s dng hay nhiu chng trnh ng
dng vi nhng mc ch khc nhau
H S phm TPHCM 5
6
3. C s d liu (2)
u im:
Gim trng lp thng tin xung mc thp nht,
m bo tnh nht qun v ton vn d liu.
m bo d liu c truy xut theo nhiu cch
khc nhau.
Kh nng chia s thng tin cho nhiu ngi, nhiu
ng dng khc nhau.
H S phm TPHCM 6
7
3. C s d liu
Nhng vn cn gii quyt:
Tnh ch quyn d liu.
Tnh bo mt v quyn khai thc thng tin ca
ngi s dng
Tranh chp d liu
m bo d liu khi c s c
H S phm TPHCM 7
8
5. H qun tr c s d liu (1)
H qun tr c s d liu (DBMS DataBase Management
System) l h thng cc phn mm h tr tch cc cho cc
nh phn tch, thit k v khai thc CSDL.
Cc DBMS thng dng: Visual FoxPro, Microsoft Access,
SQL Server, DB2, Oracle hu ht cc DBMS hin nay
u da trn m hnh quan h.
H S phm TPHCM 8
9
5. H qun tr c s d liu (2)
Mt DBMS phi c:
Ngn ng giao tip gia ngi s dng v CSDL
T in d liu (Data Dictionary)
C bin php bo mt khi c yu cu
C ch gii quyt tranh chp d liu
C c ch sao lu (backup), phc hi (restore)
m bo tnh c lp gia d liu v chng trnh
H S phm TPHCM 9
10
5. H qun tr c s d liu (3)
Ngn ng giao tip:
Ngn ng m t d liu (DDL Data Definition Language): cho
php khai bo cu trc CSDL, cc mi lin h ca d liu, cc
quy nh, rng buc d liu.
Ngn ng thao tc d liu (DML Data Manipulation Language):
cho php thc hin thao tc thm, xa, sa d liu.
Ngn ng truy vn c cu trc (SQL Structured Query
Language): cho php ngi khai thc s dng truy vn thng
tin cn thit.
Ngn ng qun l d liu (DCL Data Control Language) cho
php thay i cu trc bng, khai bo bo mt, cp quyn cho
ngi s dng.
H S phm TPHCM 10
11
Cc Thnh Phn Lin Quan
B phn qun l tp tin
.mdf : meta data file
.ldf : log data file
.bak : bakup data file
B phn qun l a
B phn qun l d liu vt l
12
T Chc Vt L trn SQL Server
D liu trong CSDL c t chc thnh cc thnh
phn (Component) logic cho user s dng nh:
Table, View.
D liu vt l c th lu trn nhiu file hay thm
ch nhiu a.
Ngi dng (tr cc DBA) ch lmvic trn cc
thnh phn logic ca SQL Server.
13
Kin trc ca SQL Server
14
Kin trc ca SQL Server
Cc database h thng ca SQL Server
master Database cha thng tin v cu hnh,
phn quyn ca h thng
tempdb Database cha d liu tm cn lu
tr
model Database cha database mu to
mt database mi
msdb Database h tr SQL Server Agent
15
Kin trc ca SQL Server
16
H thng
Mt tp hp cc thnh phn lin kt vi nhau, th hin qua
mt phm vi (boundary) xc nh, hot ng kt hp vi
nhau nhm t n nhng mc ch xc nh.
u vo
Thnh phn
Phm vi
u ra Giao din Lin h gia cc
thnh phn
16
17
Cc c im ca h thng
Thnh phn (component)
Lin h gia cc thnh phn
Ranh gii (boundary)
Mc ch (purpose)
Mi trng (environment)
Giao din (interface)
u vo (input)
u ra (output)
Rng buc (constraints)t
u
vo
Thnh
phn
Phm
vi
u ra Giao
din
Lin h
gia cc
thnh phn
17
18
H thng V d
Ranh gii
u vo:
Nc gii
kht,
tin mt,
lao ng,
ti sn,
.
Phng
bn
hng
Kho
Vn phng
Mi trng: khch hng, nh cung cp,
ngn hng,
u ra:
Nc gii
kht,
tin mt,
bng gi,
ha n,

Xem ca hng bn nc gii kht nh mt h thng:


18
19
H thng thng tin
Thng tin: khi nim phn nh s hiu bit ca con
ngi v mt i tng
D liu
D liu
Sn xut thng tin
Sn xut thng tin
Thng tin
Thng tin
D liu nhp
hng
D liu nhp
hng
D liu xut
hng
D liu xut
hng
Lp bo co tn kho
Lp bo co tn kho
Bo co tn
kho
Bo co tn
kho
19
20
H thng v HTTT
H thng gn lin vi mt t chc c th nhm
iu hnh t chc mt cch tt nht. Hai yu t
quan tm:
T chc: c quan hnh chnh, trng hc, doanh
nghip,
Mi trng ca t chc:
Cc c quan hnh chnh khc m c quan cn lm vic
chung hoc h thng lut phi tun theo.
T chc kinh t: ngn hng, khch hng, nh cung ng, h
thng lut kinh doanh,
20
21
Cu hi tho lun
H thng thng tin l g?
Vai tr ca CSDL trong h thng thng tin.
Phn bit d liu, thng tin v tri thc?
xut mt quy trnh thit k c s d liu.
22
Tm li
Khi nim c s d liu
Mc tiu ca cc h CSDL
Kin trc v chc nng ca mt h CSDL
Vai tr c s d liu trong cc h thng thng tin
1 of 100
Chng 2 : H qun tr
c s d liu SQL Server
2 of 100
GII THIU TNG QUAN V SQL SERVER
I. Tng quan :
I. Tng quan :
1. 1. SQL SQL SerVer SerVer la la m m t t h h qu qu n n tr tr CSDL CSDL quan quan
h h
A. A. C S C S D D Li Li u u Quan Quan H H : :
M M t t b b ng ng du du ng ng lu lu tr tr thong thong tin tin
c c a a m m t t i i t t ng ng ngoa ngoa i i th th gi gi i i th th c c
M M t t b b ng ng c c t t o o t t do do ng ng va va c c t t
D D li li u u c c t t ch ch c c lu lu tr tr tha tha nh nh
t t ng ng b b ng ng
3 of 100
Tng Quan : (tt)
Tng Quan : (tt)
Ct :Dung lu tr thuc tnh ca i tng
Mt bng phi co toi thiu mt ct,Th t ct
khng quan trng
Mt cot co ba thuc tnh c bn
C C t t : :Du Du ng ng lu lu tr tr thu thu c c t t nh nh c c a a i i t t ng ng
M M t t b b ng ng ph ph i i co co to to i i thi thi u u m m t t c c t,Th t,Th t t c c t t
khng khng quan quan tr tr ng ng
M M t t co co t t co co ba ba thu thu c c t t nh nh c c b b n n
Column Name :Tenn ct,trong mt
bng khong th co hai cot trung ten
Data Type :Kiu d liu
Length :chiu dai ca d liu
Column Name : Column Name :Tenn Tenn c c t,trong t,trong m m t t
b b ng ng khong khong th th co co hai hai co co t t tru tru ng ng ten ten
Data Type : Data Type :Ki Ki u u d d li li u u
Length : Length :chi chi u u da da i i c c a a d d li li u u
4 of 100
Tng Quan(tt)
Dong :tp hp d liu ca nhiu ct
Trong mt bng khong the co hai
dong trung thong tin
Mot dong cho biet thong tin cu the
cua mot oi tng lu tr trong
bang
Mt bng co th khong co dong
nao
Dong :tp hp d liu ca nhiu ct
Trong mt bng khong the co hai
dong trung thong tin
Mot dong cho biet thong tin cu the
cua mot oi tng lu tr trong
bang
Mt bng co th khong co dong
nao
5 of 100
Tng Quan(tt)
Khoa Chnh (Primary Key) : Khoa Khoa Ch Ch nh nh (Primary Key) : (Primary Key) :
Tp hp ca mt hay nhiu ct trong bng
D liu ti ct nay khac rng
D liu ti ct nay la duy nht trong bng
T T p p h h p p c c a a m m t t hay hay nhi nhi u u c c t t trong trong b b ng ng
D D li li u u t t i i c c t t na na y y kha kha c c r r ng ng
D D li li u u t t i i c c t t na na y y la la duy duy nh nh t t trong trong b b ng ng
6 of 100
Tng Quan (tt)
Khoa ngoi (Foreign Key) : Khoa Khoa ngo ngo i i (Foreign Key) : (Foreign Key) :
Tp hp ca mt hay nhiu ct trong
bng,ma cac cot nay la khoa chnh ca bng
khac
D liu ti cac ct nay hoc rng,hoc phi
ly t bng ma ct lam khoa chnh
T T p p h h p p c c a a m m t t hay hay nhi nhi u u c c t t trong trong
b b ng,ma ng,ma ca ca c c co co t t na na y y la la khoa khoa ch ch nh nh c c a a b b ng ng
kha kha c c
D D li li u u t t i i ca ca c c c c t t na na y y ho ho c c r r ng,ho ng,ho c c ph ph i i
l l y y t t b b ng ng ma ma c c t t la la m m khoa khoa ch ch nh nh
7 of 100
T T ng ng Quan(tt Quan(tt) )
B.H Qun Tr CSDL Quan H : B.H B.H Qu Qu n n Tr Tr CSDL CSDL Quan Quan H H : :
La La mt h thng cac chng trnh co
cac chc nng
La La La La m m t t h h th th ng ng ca ca c c chng chng tr tr nh nh co co
ca ca c c ch ch c c nng nng
To va qun ly mt CSDL Quan h
khai thac Mt CSDL Quan h
Bo mt Mt CSDL Quan h
To bng sao (Backup) Mt CSDL Quan h
Phc hI(Restore) Mt CSDL Quan h
T T o o va va qu qu n n ly ly m m t t CSDL CSDL Quan Quan h h
khai khai tha tha c c M M t t CSDL CSDL Quan Quan h h
B B o o m m t t M M t t CSDL CSDL Quan Quan h h
T T o o b b ng ng sao sao (Backup) (Backup) M M t t CSDL CSDL Quan Quan h h
Ph Ph c c h h I(Restore I(Restore) ) M M t t CSDL CSDL Quan Quan h h
SQL Server la mt h qun tr CSDL
Quan h
SQL Server SQL Server la la m m t t h h qu qu n n tr tr CSDL CSDL
Quan Quan h h
8 of 100
Cac he thong SQL Server
He Thong SQL Server co the trien khai
cho mot he thong kieu Client-Server
hoac trien khai cho mot he thong may
n
He thong c trien khai phu thuoc vao
so ngi truy cap ong thi en CSDL
e thc hien mot cong viec
9 of 100
Cac he thong SQL Server
Trong mo hnh Client-
Server ta co the trien
khai theo mo hnh 2 lp
hoac 3 lp
10 of 100
Cac he thong SQL Server
11 of 100
Cai t SQL Server
A.Yeu cu phn cng : A.Yeu A.Yeu c c u u ph ph n n c c ng ng : :
VGA c phn gii
800X600 tr ln
Mn hnh
Cn trng 100MB tr
ln
a cng
T 64MB tr ln RAM
T Pentium 166 MHz
tr ln
CPU
Yu cu Phn cng
12 of 100
Cai t SQL Server
Co th chy tren tt
c cac h iu hanh
Personal Edition
Microsoft Windows
Server(nt,2000,Xp
Server)
Enterprise Edition
Standard Edition
H iu Hnh Phin bn SQL
Server
A.Yeu cu phn Mm: A.Yeu A.Yeu c c u u ph ph n n M M m m: :
13 of 100
Cai t Personal Edition SQL Server
1. a a CD chng trnh vao ,man hnh sau xuat
hien
1. 1. a a a a CD CD ch ch ng ng tr tr nh nh va va o o , ,ma ma n n h h nh nh sau sau xua xua t t
hie hie n n
Chon
14 of 100
Cai at Personal Edition SQL Server(tt)
2.Man hnh sau xuat hien 2.Ma 2.Ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon
15 of 100
Cai at Personal Edition SQL Server(tt)
3.Man hnh sau xuat hien 3.Ma 3.Ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon
16 of 100
Cai at Personal Edition SQL Server(tt)
4.Man hnh sau xuat hien 4.Ma 4.Ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon
17 of 100
Cai at Personal Edition SQL Server(tt)
5.Man hnh sau xuat hien 5.Ma 5.Ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon
18 of 100
Cai at Personal Edition SQL Server(tt)
6.Man hnh sau xuat hien 6.Ma 6.Ma n n h h nh nh sau sau xua xua t t hie hie n n
Nhap vao
ten ngi
dung
19 of 100
Cai at Personal Edition SQL Server(tt)
7.Man hnh canh bao xuat hien,chon yes 7.Ma 7.Ma n n h h nh nh ca ca nh nh ba ba o o xua xua t t hie hie n,cho n,cho n n yes yes
20 of 100
Cai at Personal Edition SQL Server(tt)
8.Man hnh ang nhap xuat hien ,nhap vao CD
Key
8.Ma 8.Ma n n h h nh nh ang ang nha nha p p xua xua t t hie hie n n , ,nha nha p p va va o o CD CD
Key Key
21 of 100
Cai at Personal Edition SQL Server(tt)
9.Chon kieu cai at 9.Cho 9.Cho n n kie kie u u ca ca i i a a t t
Chon
22 of 100
Cai at Personal Edition SQL Server(tt)
10.Chon Dang cai at 10.Cho 10.Cho n n Da Da ng ng ca ca i i a a t t
23 of 100
Cai at Personal Edition SQL Server(tt)
11.Chon kieu ang nhap vao SQL Server 11.Cho 11.Cho n n kie kie u u ang ang nha nha p p va va o o SQL Server SQL Server
24 of 100
Cai at Personal Edition SQL Server(tt)
12.Chon kieu ang nhap vao SQL Server 12.Cho 12.Cho n n kie kie u u ang ang nha nha p p va va o o SQL Server SQL Server
25 of 100
Cai at Personal Edition SQL Server(tt)
Nhap Next e chng trnh cai at vao may
Sau khi cai at xong,khi ong lai may, sau
khi khi ong xong,thay xuat hien bieu tng
Tren thanh Status cua Windows
Nha Nha p p Next Next e e ch ch ng ng tr tr nh nh ca ca i i a a t t va va o o ma ma y y
Sau Sau khi khi ca ca i i a a t t xong,kh xong,kh i i o o ng ng la la i i ma ma y y, , sau sau
khi khi kh kh i i o o ng ng xong,tha xong,tha y y xua xua t t hie hie n n bie bie u u t t ng ng
Tren Tren thanh thanh Status Status cu cu a a Windows Windows
26 of 100
Cac tien ch cua SQL Server
1.Tien ch EnterPriseManager:Man hnh quan
ly cac oi tng co trong SQL Server
1.Tie 1.Tie n n ch ch EnterPriseManager:Ma EnterPriseManager:Ma n n h h nh nh qua qua n n
ly ly ca ca c c o o i i t t ng ng co co trong trong SQL Server SQL Server
27 of 100
Cac tien ch cua SQL Server
A> Microsoft SQL Server:Cha cac nhom
Server
A> Microsoft SQL A> Microsoft SQL Server:Ch Server:Ch a a ca ca c c nho nho m m
Server Server
Tao mi mot nhom Server ta lam nh sau :
Click chuot phai vao Microsoft SQL
Server,chon New SQL Server Group
Ta Ta o o m m i i mo mo t t nho nho m m Server Server ta ta la la m m nh nh sau sau : :
Click Click chuo chuo t t pha pha i i va va o o Microsoft SQL Microsoft SQL
Server,cho Server,cho n n New SQL Server Group New SQL Server Group
28 of 100
Cac tien ch cua SQL Server
Man hnh sau xuat hien Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon Top Level
Group : Tao
mot nhom goc
Chon Sub-group
of: tao mot
nhom la con cua
mot nhom khac
Name:ten nhom
Cho Cho n n Top Level Top Level
Group : Group : Ta Ta o o
mo mo t t nho nho m m go go c c
Cho Cho n n Sub Sub- -group group
of: of: ta ta o o mo mo t t
nho nho m m la la con con cu cu a a
mo mo t t nho nho m m kha kha c c
Name:ten Name:ten nho nho m m
29 of 100
Cac tien ch cua SQL Server
B>ang ky mot Server vao he thong :Click
chuot phai vao SQL Server Group,chon New
SQL Server Registration
B> B> ang ang ky ky mo mo t t Server Server va va o o he he tho tho ng ng :Click :Click
chuo chuo t t pha pha i i va va o o SQL Server SQL Server Group,cho Group,cho n n New New
SQL Server Registration SQL Server Registration
30 of 100
Cac tien ch cua SQL Server
Man hnh sau xuat hien : Nhan Next Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n : : Nha Nha n n Next Next
31 of 100
Cac tien ch cua SQL Server
Man hnh sau xuat hien : chon Server can ang
ky,nhan Add,sau o nhan next
Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n : : cho cho n n Server Server ca ca n n ang ang
ky ky ,nha ,nha n n Add,sau Add,sau o o nha nha n n next next
32 of 100
.Cac tien ch cua SQL Server
Man hnh sau xuat hien :Man hnh sau xuat hien
chon dang ket noi ,chon la chon 1:
Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n : :Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n
cho cho n n da da ng ng ke ke t t no no i i , ,cho cho n n l l a a cho cho n n 1: 1:
33 of 100
Cac tien ch cua SQL Server
Man hnh sau xuat hien :Nhap Login
name,PassWord e ang nhap vao SQL
Server
Ma Ma n n h h nh nh sau sau xua xua t t hie hie n n : :Nha Nha p p Login Login
name,PassWord name,PassWord e e ang ang nha nha p p va va o o SQL SQL
Server Server
Chu y : Neu qua
trnh cai at
bc 11 va 12
chon nh tren
th :
Login name :Sa
Password :
Chu Chu y y : : Neu Neu qua qua
tr tr nh nh ca ca i i a a t t
b b c c 11 11 va va 12 12
cho cho n n nh nh tren tren
th th : :
Login name :Sa Login name :Sa
Password : Password :
34 of 100
Cac tien ch cua SQL Server
C>DataBases:Cha cac CSDL Trong SQL
Server, co 7 CSDL co san ,chia lam 2 loai
C> C>DataBases:Ch DataBases:Ch a a ca ca c c CSDL CSDL Trong Trong SQL SQL
Server, Server, co co 7 CSDL 7 CSDL co co sa sa n n , ,chia chia la la m m 2 2 loa loa i i
CSDL He thong :khong c xoa,sa
L CSDL phc v cho
dch v SQL Server
Agent
Msdb
La CSDL mau Mode
La CSDL quan ly thong
tin cua cac CSDL con lai
Master
Y ngha Ten CSDL
35 of 100
Cac tien ch cua SQL Server
La CSDL cha cac bang
tam c phat sinh trong
qua trnh x ly
Tempdb
CSDL mau
pubs
Northwind
Jobs
Y ngha Ten CSDL
36 of 100
Cac tien ch cua SQL Server
C>Client Network Utility : dung e
ang ky mot Server cho he thong
C>Client Network Utility : C>Client Network Utility : du du ng ng e e
ang ang ky ky mo mo t t Server Server cho cho he he tho tho ng ng
37 of 100
Cac tien ch cua SQL Server
Cach ang ky : chon Tab Alias nhan nut
Add,man hnh sau xuat hien
Ca Ca ch ch ang ang ky ky : : cho cho n n Tab Alias Tab Alias nha nha n n nu nu t t
Add,ma Add,ma n n h h nh nh sau sau xua xua t t hie hie n n
Chon TCP/IP
Server Alias
:nhap vao nhan
Server name :
nhap vao a ch
IP cua Server
Cho Cho n n TCP/IP TCP/IP
Server Alias Server Alias
: :nha nha p p va va o o nhan nhan
Server name : Server name :
nha nha p p va va o o a a ch ch
IP IP cu cu a a Server Server
Chu y: Tien ch nay ch s dung trong he
thong mang
Chu Chu y y : : Tie Tie n n ch ch na na y y ch ch s s du du ng ng trong trong he he
tho tho ng ng ma ma ng ng
38 of 100
Cac tien ch cua SQL Server
Tin ch Query Enalyzer :la man hnh vit lnh
ca SQL Server
Ti Ti n n ch ch Query Query Enalyzer Enalyzer : :la la ma ma n n h h nh nh vi vi t t l l nh nh
c c a a SQL Server SQL Server
39 of 100
Cac tien ch cua SQL Server
Tin ch Book Online :Tai lieu hng dan cach
s dung SQL Server
Ti Ti n n ch ch Book Online : Book Online :Ta Ta i i lie lie u u h h ng ng dan dan ca ca ch ch
s s du du ng ng SQL Server SQL Server
40 of 100
Cac tien ch cua SQL Server
Tin ch Service Manager :quan ly cac dch vu
lien quan en SQL Server
Muon s dung SQL Server phai khi ong dch
vu nay
Ti Ti n n ch ch Service Manager : Service Manager :qua qua n n ly ly ca ca c c dch dch vu vu
lien lien quan quan e e n n SQL Server SQL Server
Muo Muo n n s s du du ng ng SQL Server SQL Server pha pha i i kh kh i i o o ng ng dch dch
vu vu na na y y
Cac dch vu nay khi
ong bang cach : Start
-> Programs-
>Mcrosoft SQL
Server->Dch vu
41 of 100
Cac tien ch cua SQL Server
Tin ch Import and Export
Data
Tin ch ny cho php
chuyn d liu (Export) t
CSDL SQL Server ra cc
loI CSDL khc nh
Access,Excel..v ngc lI
Cch khI ng :Start-
>Programes->Microsoft
SQL Server,mn hnh sau
xut hin, click Next
42 of 100
Cac tien ch cua SQL Server
Tin ch Import and Export
Data
Mn hnh sau xut hin
Data Sourse :Chn loi
d liu ngun
Nu d liu ngun chn
l SQL Server:chn
Microsoft OLE DB for
SQL Server
Server :Chn tn Server
Chn kiu ng nhp
Database : Chn CSDL
43 of 100
Cac tien ch cua SQL Server
Tin ch Import and Export
Data
Nu d liu ngun l
Microsoft Access :chn
Microsoft Access
File Name :ng dn +
Tn CSDL
Username,PassWord
:nhp vo nu CSDL c
yu cu ng nhp
nhn Next
44 of 100
Cac tien ch cua SQL Server
Tin ch Import and Export
Data
Destination: chn loI d
liu ch
Nu chn SQL Server
:chn Server,nhp
Username, Password v
chn CSDL ch
Nu chn Access :phi
chn CSDL ch
Ch :ch Import hoc
Export c d liu
,khng c cc rng buc
45 of 100
Xay dng mot CSDL trong SQL Server
Mt (CSDL) ca SQL Server l tp
hp cc i tng
bng (Table):Cha d liu
bng o (View):cha d liu ly t
Bng
th tc ni ti (Stored Procedure):
Cha cc lnh thao tc vi D liu
M M t t (CSDL) (CSDL) c c a a SQL Server SQL Server l l t t p p
h h p p c c c c i i t t ng ng
b b ng ng ( (Table):Ch Table):Ch a a d d li li u u
b b ng ng o o ( (View):ch View):ch a a d d li li u u l l y y t t
B B ng ng
th th t t c c n n i i t t i i (Stored Procedure): (Stored Procedure):
Ch Ch a a c c c c l l nh nh thao thao t t c c v v i i D D li li u u
46 of 100
Xay dng mot CSDL trong SQL Server
Triger :Cha cc lnh thao tc vi D
liu,kimtra rng buc t ng
Constraint :Cha cc rng buc d
liu
Mt CSDL do mt hoc nhiu ngi to
nhng c th c nhiu ngi truy cp
Trong SQL Server c th to c
32767 CSDL khc nhau
Triger Triger : :Ch Ch a a c c c c l l nh nh thao thao t t c c v v i i D D
li li u,ki u,ki m m tra tra r r ng ng bu bu c c t t ng ng
Constraint : Constraint :Ch Ch a a c c c c r r ng ng bu bu c c d d
li li u u
M M t t CSDL do CSDL do m m t t ho ho c c nhi nhi u u ng ng i i t t o o
nhng nhng c c th th c c nhi nhi u u ng ng i i truy truy c c p p
Trong Trong SQL Server SQL Server c c th th t t o o c c
32767 32767 CSDL khc nhau
47 of 100
Xay dng mot CSDL trong SQL Server
Cu trc lu tr ca mt CSDL :
Mt CSDL trong SQL Server ti
thiu s dng hai tp tin vt l
lu tr d liu:
Mt dng lu tr d liu
(Data file)
Mt dng lu tr cc vt
giao tc (Transaction log file)

C
C

u
u
tr
tr

c
c
lu
lu
tr
tr

c
c

a
a
m
m

t
t
CSDL :
CSDL :
M M t t CSDL CSDL trong trong SQL Server SQL Server t t i i
thi
thi

u
u
s
s

d
d

ng
ng
hai
hai
t
t

p
p
tin
tin
v
v

t
t
l
l

lu lu tr tr d d li li u u: :
M M t t d d ng ng lu lu tr tr d d li li u u
(Data file)
(Data file)
M M t t d d ng ng lu lu tr tr c c c c v v t t
giao giao t t c c (Transaction log file) (Transaction log file)
48 of 100
Xay dng mot CSDL trong SQL Server
Thng c t chc lu tr trong
3 tp tin :
Thng c t chc lu tr trong
3 tp tin :
CSDL
Primary
DataFile
(*.MDF)
Secondary
Data Fie
(*.NDF)
Log file
(*.LDF)
Data Files
Log Files
49 of 100
Xay dng mot CSDL trong SQL Server
To mi mt CSDL
trong SQL Server
Cch 1: S dng
tin ch
EnterPriseMana
ger :Click chuc
phi vo i
tng Databases
chn New
Database
To mi mt CSDL
trong SQL Server
Cch 1: S dng
tin ch
EnterPriseMana
ger :Click chuc
phi vo i
tng Databases
chn New
Database
50 of 100
Xay dng mot CSDL trong SQL Server
Xut hin hp thoi :
Nhp tn
CSDL
51 of 100
Xay dng mot CSDL trong SQL Server
Chn Tab Data Files:
Filename :Tn tp tin Data Files
Location: V tr lu tr
Initial size(Mb) :Kch thc ban
u
Automatically grow file: T ng
tng kch thc
In megabytes : tng bao nhiu
mB
By percent :Tng theo phn trm
Maximun file size : kch thc ti
a
ca CSDL
Unrestricted file growth :Khng
gii hn kch thc
Restrict file growth(MB) :gii
hn
Tng t cho Transaction Log
52 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To CSDL bng cch vit lnh trong Query
Enalyzer
CREATE DATABASE QLBANHANG
ON PRIMARY
( NAME= QLBANHANG_DATA,
FILENAME=C:\MSSQL\DATA\ QLBANHANG_DATA.MDF,
SIZE=50MB,
MAXSIZE=200MB,
FILEGROWTH=10%)
LOG ON
(
NAME= QLBANHANG_LOG,
FILENAME=C:\MSSQL\DATA\ QLBANHANG_LOG.LDF,
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=5MB
)
53 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Cc kiu d liu trong SQL Server
t -3.40E+38 n +3.40E+38 4
bytes
Real
t -1.79E+308 n +1.79E+308 8
bytes
Float
> Cc kiu d liu dng s thc
t -10
^38
n +10
^38
17byt
es
Decimal,
Numeric
> Cc kiu d liu dng s thp phn
0, 1 hoc Null 1 byte Bit
t 0 n 255 1 byte TinyInt
t -32768 n +32767 2
bytes
SmallInt
t-2,147,483,648n
+2,147,483,647
4
bytes
Int
> Cc kiu d liu dng s nguyn
Min gi tr d liu lu tr Kch
thc
Kiu d liu
54 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Cc kiu d liu trong SQL Server
t 1 n 1,073,741,823 k t, mi
k t l 2 bytes
2*N
bytes
NText
t 1 n 4000 k t, mi k t l 2
bytes
2*N
bytes
NVarCh
ar
t 1 n 4000 k t, mi k t l 2
bytes
2*N
bytes
NChar
> Cc kiu d liu dng chui dng font ch Unicode
t 1 n 2,147,483,647 k t,
mi k t l 1 byte
N bytes Text
t 1 n 8000 k t, mi k t l
1 byte
N bytes VarChar
> Cc kiu d liu dng chui c di bin i
t 1 n 8000 k t, mi k t l
mt byte
N bytes Char
> Cc kiu d liu dng chui c di c nh
55 of 100
Xay dng mot CSDL trong SQL Server
Cc kiu d liu trong SQL Server
t 1 n 2,147,483,647
bytes
N bytes Image
t 1 n 8000 bytes N bytes VarBinary
t 1 n 8000 bytes N bytes Binary
> Cc kiu d liu dng chui nh phn (Binary String)
t01/01/1900n06/06/20
79
4
bytes
SmallDateTime
t01/01/1753n31/12/99
99
8
bytes
DateTime
> Cc kiu d liu dng ngy v gi
t -214,748.3648 n +
214,748.3647
4 bytes SmallMoney
t -922,337,203,685,477.5808 n
+922,337,203,685,477.5807
8 bytes Money
> Cc kiu d liu dng tin t
56 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Cc thuc tnh c bn ca Mt
Bng
Tn bng (Table Name) di<=
128 k t. Tn bng phi duy nht
bn trong phmvi ca ngi
to ra n trong mt CSDL
Tn ct (Column Name): l tn
ca cc ct bn trong bng, tn ca
cc ct bn trong bng phi duy
nht.
Kiu d liu (Data Type):qui nh
57 of 100
Chng II: Xay dng mot CSDL trong SQL Server
di d liu (Data Length): dng qui
nh di d liu m ct s lu tr i vi
cc kiu d liu dng chui, s.
S k s lu tr (Precision): l s k s ti
a m cc kiu d liu dng s c th lu
tr c.
S l lu tr (Scale): l s l ti a m cc
kiu d liu dng s thp phn dng lu
tr.
58 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Ct nh danh (Identity): Gi tr
ca ct nh danh l s nguyn
khng trng lp do h thng
Microsoft SQL Server t ng
cp pht.
Cc kiu d liu ca ct nh
danh : Int, SmallInt, TinyInt,
Decimal , Numeric
Thuc tnh Identity Seed :S
u tin
Thuc tnh Identity
59 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Cho php trng d liu
(Allow Null): qui nh d liu c
th c php trng hay l
phi nhp
Gi tr mc nh (Default
Value): l gi tr mc nhin s
c gn vo ct d liu khi
ngi s dng thm mi mt mu
tin nhng li trng gi tr ti
ct d liu .
60 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To Bng trong Sql Server
Cch 1: S dng tin ch
Enterprise Manager
M CSDL Click
chut phi trn i
tng Tables, chn
chc nng New
Table... trong thc
n tt.
61 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Mn hnh sau xut hin :
Nhp tn bng,nhp OK
Mn hnh thit k bng xut
hin :nhp thng tin v chn ct
lmkho chnh
62 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To bng bng lnh trong mn hnh Query Elyzer
To cu trc bng n gin
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu [NOT NULL] ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ , ...]
)
Trong :
+ Tn bng, tn ct v kiu d liu c m t trn
+ T kha NOT NULL ch nh khng cho php d liu
ti ct c php b trng.
63 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To bng bng lnh trong mn hnh Query Elyzer
To cu trc bng c gi tr mc nh
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
)
Trong :
+ Gi tr: l gi tr c th s c gn vo ct.
+ Hm: l tn hm cng vi cc thams (nu c), tuy
nhin kiu d liu m hmtr v phi l cng vi kiu d
liu m ct s lu tr.
64 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To bng bng lnh trong mn hnh Query Elyzer
V d 1
CREATE TABLE VATTU
(
MAVTU CHAR(4) NOT NULL,
TENVTU VARCHAR(100) NOT NULL,
DVTINH VARCHAR(10) NOT NULL,
PHANTRAM REAL DEFAULT 20
)
V d 2
CREATE TABLE DONDH
(
SODH CHAR(4) NOT NULL,
NGAYDH DATETIME DEFAULT GETDATE(),
MANHACC CHAR(3) NOT NULL
)
65 of 100
Chng II: Xay dng mot CSDL trong SQL Server
To cu trc bng c ct nh danh
C php:
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu_s IDENTITY [(S_bt_u,
Ch_s_tng)] ,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
)
Trong mt bng ch c ti a mt ct c ch nh lm
ct nh danh.
S bt u: l s m SQL Server s dng cp pht cho
mu tin u tin. Mc nh l 1.
Ch s tng: l ch s m SQL Server cng ln cp pht
cho tng mu tin kt tip. Mc nh l 1.
66 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Tnh ton vn d liu trong c s d liu : cc rng buc trong SQL
Server c qun l bI hai I tng :CONSTRAINT v TRIGGER
Constraint : qun l cc rng buc nh :
Rng buc d liu duy nht
Rng buc d liu tn ti
Rng buc min gi tr
Trigger :Qun l cc rng buc phc tp,lin quan n d liu trn
nhiu bng
67 of 100
Chng II: Xay dng mot CSDL trong SQL Server
Xy dng cc Constraint
A>Kimtra duy nht d liu :c hai loi
Primary Key (kho chnh ) :d liu khc
rng v duy nht
Unique : d liu c th rng v d liu
tn ti duy nht
68 of 100
Chng II: Xay dng mot CSDL trong SQL Server
nh ngha rng buc kho chnh :
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm
,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT PK_Tn_bng_TenCot
] PRIMARY
KEY (Danh_sch_ct_kha_chnh)
)
69 of 100
Chng II: Xay dng mot CSDL trong SQL Server
nh ngha rng buc d liu duy nht :
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm
,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT
UQ_Tn_bng_Tn_ct]
UNIQUE (Danh_sch_cc_ct)
)
Trong mt bng ch nh ngha mt rng
buc kho chnh nhng c th nh ngha
nhiu rng buc d liu duy nht
70 of 100
Xay dng mot CSDL trong SQL Server
V d :
CREATE TABLE VATTU
(
MAVTU varchar(4) not null,
TenVtu varchar(100),
Constraint PK_Vattu_Mavtu_tenvtu primary
key(Mavtu,tenvtu),
constraint UQ_Vattu_tenvtu unique(tenvtu)
)
71 of 100
Xay dng mot CSDL trong SQL Server
B>Kimtra tn ti D liu :nh ngha kho ngoi
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm
,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT
FK_Tn_bng_Tn_ct]
FOREIGN KEY
(Danh_sch_ct_kha_ngoi)
REFERENCES Tn_bng_tham_chiu
(Danh_sch_ct_tham_chiu)
)
Trong mt bng c th nh ngha nhiu kho ngoi
72 of 100
Chng II: Xay dng mot CSDL trong SQL Server
B>V d :
CREATE TABLE CTHOADON
(
SOHD Varchar(3) not null ,
MAVTU Varchar(3) not null,
Soluong int,
Dongia float,
CONSTRAINT FK_CTHOADON_SOHD
FOREIGN KEY (SOHD)
REFERENCES HOADON(SOHD),
CONSTRAINT FK_CTHOADON_MAVTU
FOREIGN KEY (MAVTU)
REFERENCES VATTU(MAVTU)
)
73 of 100
Xay dng mot CSDL trong SQL Server
C>Kimtra rng buc min gi tr :
C php :
CREATE TABLE Tn_bng
(
Tn_ct_1 Kiu_d_liu DEFAULT Gi_tr|Hm
,
Tn_ct_2 Kiu_d_liu [NOT NULL] [ ,...]
[CONSTRAINT
CK_Tn_bng_Tn_ct]
CHECK (Biu_thc_lun_l)
)
74 of 100
Xay dng mot CSDL trong SQL Server
B>V d :
CREATE TABLE CTHOADON
(
SOHD Varchar(3) not null ,
MAVTU Varchar(3) not null,
Soluong int,
Dongia float,
CONSTRAINT
CK_CTHOADON_SOLUONG
CHECK (Soluong>0),
CONSTRAINT CK_CTHOADON_DonGia
CHECK (Dongia>0)
)
75 of 100
Xay dng mot CSDL trong SQL Server
B>Thm Costraint vo bng c
C php chung:
ALTER TABLE Tn_bng
ADD [ CONSTRAINT Tn_Constraint ]
LOI Cc_tham_s [ , ...]
76 of 100
Xay dng mot CSDL trong SQL Server
C php chi tit tng loi constraint
PRIMARY KEY
ALTER TABLE Tn_bng
ADD [ CONSTRAINT PK_Tn_bng ]
PRIMARY KEY (Danh_sch_ct_kha_chnh)
77 of 100
Xay dng mot CSDL trong SQL Server
UNIQUE
ALTER TABLE Tn_bng ADD [ CONSTRAINT
UQ_Tn_bng_Tn_ct ]
UNIQUE (Danh_sch_cc_ct)
78 of 100
Xay dng mot CSDL trong SQL Server
FOREIGN KEY
ALTER TABLE Tn_bng
ADD [ CONSTRAINT FK_Tn_bng_Tn_ct ]
FOREIGN KEY (Danh_sch_ct_kha_ngoi)
REFERENCES Tn_Bng
(Danh_sch_ct_tham_chiu)
79 of 100
Xay dng mot CSDL trong SQL Server
Kim tra min gi tr :
ALTER TABLE Tn_bng
ADD [ CONSTRAINT CK_Tn_bng_Tn_ct ]
CHECK (Biu_thc_lun_l)
80 of 100
Xay dng mot CSDL trong SQL Server
Thm gi tr mc nh :
ALTER TABLE Tn_bng
ADD [ CONSTRAINT DF_Tn_bng_Tn_ct ]
DEFAULT Gi_tr_mc_nh FOR Tn_ct
81 of 100
Xay dng mot CSDL trong SQL Server
Hy mt Constraint :
ALTER TABLE Tn_bng
DROP CONSTRAINT Tn_constraint [ , ...]
Tt cc Constraint :
ALTER TABLE Tn_bng
NOCHECK CONSTRAINT ALL| Tn_constraint [
, ...]
Bt cc Constraint :
ALTER TABLE Tn_bng
CHECK CONSTRAINT ALL| Tn_constraint [ ,
...]
82 of 100
Xay dng mot CSDL trong SQL Server
Xa cu trc bng
DROP TABLE Danh_sch_tn_cc_bng
Thay i cu trc bng
a. Thm mt ct mi trong bng
ALTER TABLE Tn_bng
ADD Tn_ct Kiu_d_liu [ , ... ]
b. Hy b ct hin c bn trong bng
ALTER TABLE Tn_bng
DROP COLUMN Tn_ct [ , ...]
83 of 100
Xay dng mot CSDL trong SQL Server
Sa i kiu d liu ca ct
ALTER TABLE Tn_bng
ALTER COLUMN Tn_ct Kiu_d_liu_mi
i tn ct
EXEC SP_Rename
Tn_bng.Tn_ct,Tn_mi,COLUMN
i tn bng
EXEC sp_rename Tn_bng,Tn_mi
Ch :Mun thay i cu trc ca ct phi xo tt c cc Constraint lin
quan
84 of 100
BI 3: BNG o(view)
1>nh Ngha :
Bng o l mt i tng cha cu lnh Select ly
d liu
T cc bng trong csdl
Khi truy cp vo CSLD ,ngi s dng khng phn
bit c Bng o v Bng Tht
2> To View
Create view Ten_view
As
Cu lnh Select
85 of 100
Cu trc cu lnh Select
2>Cu trc cu lnh Select
Select[Ten_Bang.]Ten_Cot[,]
From Ten_Bang1 <Lin kt > Ten_Bang2
Where <iu kin>
Group by <cc ct gomnhm>
HaVing <iu kin lc nhm>
Order by [Ten_Bang.]Ten_cot [asc/desc,]
Compute Hmthng k [By Ten_cot]
86 of 100
Cu trc cu lnh Select
Mnh Select :cha cc ct,cc hm mun hin th
Nu ct tn ti trong hai bng trong mnh From ta phi ghi r
:Tn_Bng.Tn_Ct
Trong mnh Select ta c th dng cu trc lnh
Case
When iu kin 1 Then Gi tr 1
When iu kin 2 then Gi tr 2

Else
Gi tri n
End
hin th d liu
Mnh from : cho bit d liu trn cu truy vn c ly t cc bng
no
nu d liu ly t nhiu bng th cc bng ny phi c quan h vi
nhau:
C php :
87 of 100
Cu trc cu lnh Select
Mnh Where : mnh lc d liu tr v hoc gomnhm
Trong mnh Where c th s dng cc ton t :
Like tm chui gn ng
% Thay th 1 chui
_(Gch di) thay th 1 k t
Ton t BETWEEN Gt1 AND GT2
Inner
Left
Right
full
Join Bng 2 on Bng 1.tn ct= bng 2.tn
ct
Bng 1
88 of 100
Cu trc cu lnh Select
Mnh Group by : mnh gomnhmd liu
Mnh ny phi c khi trong cu truy vn c s
dng hm thng k v trn mnh Select c ly
cc gi tr khng s dng hm thng k
C php : Group By Danh sch ct,Biu thc
Vi Danh sch ct,Biu thc :c ly trn mnh
Select khng s dng hm thng k
Cc Hmthng k:
Sum(Ten_Cot) :tnh tng vi ct c kiu s
Count(Ten_Cot/*) :tnh tng s dng
AVG(Ten_Cot) :tnh gi tr trung bnh
Max(Ten_cot) : gi tr ln nht
Min(Ten_Cot) :gi tr nh nht)
89 of 100
Cu trc cu lnh Select
Mnh HaVing : mnh Lc nhmd liu
Mnh ny ch tn ti khi trong cu truy vn c mnh
Group By v iu kin lc d liu c hm thng k
Ch : trong cu truy vn c hai mnh lc d liu l
Where v havinh
Where :lc d liu to nhm( c iu kin khng s dng
hmthng k)
Having :lc nhm( cc iu kin c thng k)
Mnh OrDer By : Mnh sp xp d liu
C php Order by [Ten_bang.]Ten_Cot [asc/Desc] [,]
Mnh Compute /Compute .. By : l mnh to gi tr
thng k cui kt qu hoc thng k theo ct
C php
Compute Hm thng k : to thng k cui kt qu
Compute Hm thng k By [Ten_Bang.]Ten_cot :thng
k theo ct,d liu phi c sp xp theo ct ny
90 of 100
Cu trc cu lnh Select
Cc ton t dng trn mnh Select
C php : Select Ton t
Vi cc ton t :
Distict : loi b cc dng d liu trng
Top n : ly n dng u tin
Top n with ties : ly nhng dng thuc n cp u tin
Top n PERCENT : ly N % dng u tin
91 of 100
Cu trc cu lnh InSert into
Insert into : dng thm d liu vo bng,c 2
dng
Thmmt dng
C php : Inser into
Ten_bang(Ten_cot1,Ten_cot2[,])
Values(Gia_Tri1,)
vi gi tr :
kiu chui : nm trong hai du v d Trn thanh nht
Kiu Ngy : yyyy-mm-dd v d :1982-02-29
Thmnhiu dng
C php : Inser into
Ten_bang_Dich(Ten_cot1,Ten_cot2[,])
Select Ten_bang_nguon.ten_cot ,
from
92 of 100
Cu trc cu lnh UpDate
UpDate : dng cp nht d liu ca mt bng
D liu Update ch trn mt Bng :
C php :
UpDate Ten_Bang
Set Ten_Cot= Gi tr/Biu thc
[Where iu kin]
D liu Update trn nhiu Bng :
C php :
UpDate Ten_Bang
Set Ten_Cot= Gi tr/Biu thc
From
[Where iu kin]
Ch : d liu cp nht c th l mt gi tr thng k tr v t
cu truy vn con
C th dng cu trc Case trong lnh cp nht
Trong cu truy vn update khng s dng hm thng k
93 of 100
Cu trc cu lnh Delete
Delete : dng xa d liu ca mt bng
D liu xa ch trn mt Bng :
C php :
delete Ten_Bang
[Where iu kin]
D liu delete trn nhiu Bng :
C php :
delete Ten_Bang
From
[Where iu kin]
Ch : khi xa d liu trn bng quan h 1 m d liu
ny c bn bng quan h nhiu -> c li
94 of 100
Cu trc cu lnh Select .. into
Select .. into : dng to mt bng c cu trc v
d liu ly t cc bng c trong CSDL
C php :
Select [Ten_Bang.]tenCot [,]
From ..
95 of 100
Cu truy vn Con (Sub Query)
Sub Query :l cu truy vn m kt qu tr v l
iu kin so snh,gn gi tr cho cu truy vn
khc
t im :
Ch tr v 1 ct d liu
Nu tr v 1 dng : iu kin so snh gia cu truy vn
chnh v cu truy vn con l cc ton t
:=,>,<,<>,>=,<=
Nu tr v nhiu dng : iu kin so sch : in (nm
trong) hoc Not in(khng nm trong)
96 of 100
Bi 4: Lp trnh vi SQL SerVer
I>Bin v cc cu trc lnh trong SQL Server
A>Bin :
1> Bin cc b : l bin do ngi lp trnh khai bo,Bin c
th c khai bo trong th tc ni ti,hm, trong mt l
lnh
L Lnh : l tp hp cc lnh c kt thc bng t Go
C php khai bo bin : Declare @Tn_Bin
Kiu_D_Liu
Tn Bin :Lun bt u bng k t @,khng c khong trng,k t
t bit,k t s ng u
Gn gi tr cho bin:
Gn bng 1 gi tr :
Set @tn_bin=gitr/hm
hoc Select @tn_bin=Gitr/hm
Gn bng kt qu tr v ca cu truy vn
Select @tn_Bin=Tnct/Hm..from ..
97 of 100
Bi 4: Lp trnh vi SQL SerVer
1> Bin h thng (t155) : l bin do SQL Server cung
cp,Cho bit trng thi ca h thng,Bin h thng lun
bt u bng hai k t @@,Ch c
Mt s cc bin thng dng
Tr v <>0 nu lnh duyt
CurSor gy li
@@Fetch_Stat
us
Cho bit s dng b tc ng bi
cu truy vn gn nht
@@Rowcount
Cho bit cc lnh trc c li
hay khng,nu c li @@Error
<>0
@@Error
ngha Tn Bin
98 of 100
Bi 4: Lp trnh vi SQL SerVer
B>Cc cu trc lnh
1>lnh iu khin IF .. Else
C php :
If iu kin
Begin
<tp Lnh 1>
end
else
Begin
<tp Lnh 2>
End
- Nu iu kin ng : tp Lnh 1 thc hin, ngc li
tp lnh 2 thc hin
- Nu tp hp lnh 1 ,lnh 2 ch c 1 lnh th khng
cn Begin .. End
99 of 100
Bi 4: Lp trnh vi SQL SerVer
B>Cc cu trc lnh
2>Cu trc lp :While
While Biu thc iu kin
Begin
<Tp lnh>
end
Tp lnh s c thc hin n khi biu thc
iu kin tr v False
-c th dng lnh Break thot khi vng lp
100 of 100
Bi 4: Lp trnh vi SQL SerVer
2>Cc hm c bn trong SQL SerVer
A>Cc hm chuyn i kiu d liu :thng
dng chuyn d liu t s,ngy sang chui
Hm Cast : chuyn mt kiu d liu sang
kiu bt k
C php :Cast(Biu_Thc as Kiu_D
Liu)
V d : Cast (@tong as varchar(10))
Hm CONVERT : chuyn t ngy sang
chui
C php
:Convert(Kiu_d_Liu,Biu_Thc[,nh_
Dng])
V d : Convert(char(10),Getdate(),105)
1
Chng 3: Tng quan qu
trnh thit k CSDL
2
Gii Thiu
3
Cc tiu ch thit k
Tnh uyn chuyn ca cu trc CSDL: d dng
thm, bt, chnh sa trong tng lai
Chi ph lu tr v chi ph truy xut v chi ph cp
nht
Nhu cu ca cc nhm ngi s dng khc nhau
Phm vi ng dng
4
Chu k pht trin mt CSDL
Tri qua cc giai on:
Phn tch nhu cu NSD
Thit K:
Mc quan nim
Mc logic
Mc vt l
Ci t v cp nht d liu ban u
Khai thc
Bo hnh
5
Chu k pht trin mt CSDL
6
Giai on phn tch yu cu ca NSD
Mc tiu: lm vic vi NSD xc nh mt s
thng tin sau:
Mc tiu v yu cu chung v hiu sut ca h
thng.
Cc thng tin cn thit ca CSDL trong h thng
v nh khai thc. (lu thng tin g, chung chung,
chi tit hay ch tham kho)
Khi lng v tn sut truy xut.
Quy nh ca t chc
Yu cu v an ton v phng s c.
7
Giai on phn tch yu cu ca NSD
Cch thc hin:
Xc nh nhng ngi s dng v lp bng u
tin.
Phng vn (interviewing), tho lun (discussion),
lm bi kho st (quiz), theo di cng vic hng
ngy (shadowing)
V s lung d liu Data Flow Diagram (DFD)
c ci nhn tng th.
Xc nh cc nt trng im trong s (CSDL
phi phc v tt cho cc nt trng im.
Lp su liu th hin kt qu phn tch.
8
Giai on phn tch yu cu ca NSD
Xc nh nhng ngi s dng v lp bng u tin
cho csdl qun l kho hng. (bng)
Chn phng php thu thp thng tin thch
hp.(tn phng php)
V s lung d liu Data Flow Diagram (DFD)
v xc nh cc nt trng im trong s cho bi
ton qun l kho.(lc v danh sch nt)
Lp su liu th hin kt qu phn tch.(ti liu
tng hp)
9
Giai on Thit k CSDL
Qua trnh thit k phi thc hin 3 mc:
Mc quan nim.
Mc Logic
Mc vt l.
10
Mc quan nim
Quan tm n ni dung d liu (what)
Chn mt m hnhv din t d liu theo m
hnh .
Input: kt qu ca giai on phn tch v pht
tho cu trc CSDL.
Output: lc CSDL mc quan nim (bo m
lu va thng tin, tt hn v ph hp hn vi
mi trng pht trin ng dng.
11
Mc quan nim
Quan tm n ni dung d liu (what)
Chn mt m hnhv din t d liu theo m
hnh .
Input: kt qu ca giai on phn tch v pht
tho cu trc CSDL.
Output: lc CSDL mc quan nim (bo m
lu va thng tin, tt hn v ph hp hn vi
mi trng pht trin ng dng.
12
Mc logic
Trung gian gia mc quan nim v vt l
Quan tm n nhu cu khai thc
Tn sut truy xut
Cc con ng truy xut
Input: lc mc quan nim v nhu cu khai
thc.
Output: cu trc CSDL ph hp vi ng dng;
th quan h v cc con ng truy xut.
13
Gii Thiu
14
Mc vt l
Ci t trn mt h qun tr CSDL c th
Quan tm n hiu qu v tc x l
Input:
Kt qu thit k quan nim v logic.
Thng tin v h qun tr CSDL.
Output: ci t hon chnh, khai bo kha, rng
buc v thng s h thng.
1
Chng 4: L thuyt m
hnh CSDL quan h
2
1. Gii thiu
M hnh D liu Quan h (Relational Data
Model) da trn khi nim quan h.
Quan h l khi nim ton hc da trn nn
tng hnh thc v l thuyt tp hp.
M hnh ny do TS. E. F. Codd a ra nm
1970.
H S phm TPHCM 2
3
2.1 Thuc tnh (attribute)
Thuc tnh:
Tn gi: dy k t (gi nh)
Kiu d liu: S, Chui, Thi gian, Lun l, OLE.
Min gi trj: tp gi tr m thuc tnh c th nhn. K
hiu min gi tr ca thuc tnh A l Dom(A).
V d:GIOITINH kiu d liu l Chui,min gi tr
Dom(GIOITINH)=(Nam,Nu)
Ti mt thi im, mt thuc tnh khng c gi tr
hoc cha xc nh c gi tr => gi tr Null
H S phm TPHCM 3
4
2.2 Quan h (relation)
nh ngh a: quan h l mt tp hu hn cc
thuc tnh.
K hiu:
Trong Q l tn quan h, l tp cc
thuc tnh ca quan h Q
V d:
HOCVIEN (Mahv, Hoten, Ngsinh, Gioitinh, Noisinh, Malop)
LOP (Malop, Tenlop, Siso, Trglop, Khoa)
H S phm TPHCM 4
) ,..., , (
2 1 n
A A A Q
{ }
n
A A A Q ,..., ,
2 1
=
+
5
2.3 B (tuple)
nh ngh a: B l cc thng tin ca mt i
tng thuc quan h, c gi l mu tin
(record), dng.
Quan h l mt bng (table) vi cc ct l cc
thuc tnh v mi dng c gi l b.
Mt b ca quan h l
vi
V d: HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh)
c q=(1003,Nguyen Van Lam, 1/1/1987,Dong Nai)
ngha l hc vin c m s l 1003, h tn l
Nguyen Van Lam, sinh ngy 1/1/1987 Dong Nai
H S phm TPHCM 5
) ,..., , (
2 1 n
A A A Q ) ,..., , (
2 1 n
a a a q =
) (
i i
A Dom a
6
2.4 Th hin ca quan h
(instance)
nh ngh a: th hin ca mt quan h l tp hp cc
b gi tr ca quan h ti mt thi im.
K hiu: th hin ca quan h Q l T
Q
V d: T
HOCVIEN
l th hin ca quan h HOCVIEN
ti thi im hin ti gm c cc b nh sau:
H S phm TPHCM 6
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
7
2.5 Tn t
nh ngh a: tn t l mt quy tc dng m
t mt quan h.
K hiu: ||Q||
V d: THI (Mahv, Mamh, Lanthi, Diem)
||THI||: mi hc vin c php thi mt mn
hc nhiu ln, mi ln thi lu tr hc vin
no thi mn g? ln thi th my? v im l
bao nhiu?
H S phm TPHCM 7
8
2.6 Php chiu (1)
Php chiu : Dng trch gi tr ca mt s thuc tnh
trong danh sch cc thuc tnh ca quan h.
K hiu: php chiu ca quan h R ln tp thuc tnh X
l R[X] hoc R.X.
V d:
hv
1
=
hv
2
=
hv
3
=
8
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
9
2.6 Php chiu (2)
Php chiu ca quan h HOCVIEN ln thuc
tnh NoiSinh ca quan h HOCVIEN:
HOCVIEN[Noisinh] = {Nghe An,Kien Giang,Tay Ninh}
H S phm TPHCM 9
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
10
2.6 Php chiu (3)
Php chiu ln 1 tp thuc tnh
X={Hoten,Noisinh} ca quan h HOCVIEN
HOCVIEN[Hoten, Noisinh] = {(Ha Duy Lap, Nghe An),(Tran
Ngoc Han, Kien Giang),(Tran Ngoc Linh,Tay Ninh)}
10
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
11
2.6 Php chiu (4)
Chiu ca mt b ln tp thuc tnh: dng
trch chn cc gi tr c th ca b gi tr theo cc
thuc tnh c ch ra trong danh sch thuc tnh ca
mt quan h.
K hiu: chiu ca mt b gi tr t ln tp thuc tnh
X ca quan h R l t
R
[X] hoc t[X]. Nu X c 1
thuc tnh t
R
.X
V d: cho quan h HOCVIEN vi tp thuc tnh
HOCVIEN
+
={Mahv,Hoten,Gioitinh,Noisinh,Malop},
cha 3 b gi tr hv
1
,hv
2
v hv
3
H S phm TPHCM 11
12
2.6 Php chiu (5)
Php chiu 1 b ln 1 thuc tnh
hv
1
[Hoten] = (Ha Duy Lap)
H S phm TPHCM 12
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
hv
1
=
hv
2
=
hv
3
=
13
2.6 Php chiu (6)
Php chiu 1 b ln 1 tp thuc tnh
tp thuc tnh X={Hoten, Gioitinh}
hv
2
[X] = (Tran Ngoc Han,Nu)
hv
1
=
hv
2
=
hv
3
=
H S phm TPHCM 13
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
14
Cu hi ghi nh
Trong m hnh quan h ca Codd, quan h l g,
b l g, tn t v th hin. Biu din quan h, b,
th hin v tn t cho trng hp sau:
Lp hc c m lp, tn lp trng, s s, ghi ch.
V hin ti ch c 2 lp cn qun l: lp th nht
m M1, lp trng tn A, s s 61, ghi ch l i
hc u, lp th hai c m M2, lp trng tn B,
s s 69 ghi ch l hay vng.
15
2.7 Kha
2.7.1 Siu kha (super key)
2.7.2 Kha (key)
2.7.3 Kha chnh (primary key)
2.7.4 Kha tng ng
2.7.5 Kha ngoi (foreign key)
H S phm TPHCM 15
16
2.7.1 Siu kha (super key) (1)
Siu kha : l mt tp con cc thuc tnh ca Q
+
m
gi tr ca chng c th phn bit 2 b khc nhau
trong cng mt th hin T
Q
bt k.
Ngha l: t
1
, t
2
T
Q
, t
1
[K] t
2
[K] K l siu kha
ca Q.
Mt quan h c t nht mt siu kha (Q
+
) v c th
c nhiu siu kha.
H S phm TPHCM 16
17
2.7.1 Siu kha (super key) (2)
V d: cc siu kha ca quan h HOCVIEN l:
{Mahv};{Mahv,Hoten};{Hoten};{Noisinh,Hoten}

H S phm TPHCM 17
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11
18
2.7.2 Kha (key) (1)
Kha : K l kha ca quan h R, tha mn 2 iu kin:
K l mt siu kha.
K l siu kha nh nht (cha t thuc tnh nht v
khc rng) ngha l
K
1
K, K
1
sao cho K
1
l siu kha.
Thuc tnh tham gia vo mt kha gi l thuc tnh
kha, ngc li l thuc tnh khng kha.
H S phm TPHCM 18
19
2.7.2 Kha (key) (2)
V d: cc siu kha ca quan h HOCVIEN l:
{Mahv};{Mahv,Hoten};{Hoten};{Hoten,Gioitinh};
{Noisinh,Hoten};{Mahv,Hoten,Gioitinh,Noisinh}
=> th kha ca quan h HOCVIEN c th l
{Mahv}; {Hoten}
V d: kha ca quan h GIANGDAY (Malop,
Mamh, Magv, HocKy, Nam) l K={Malop,Mamh}.
Thuc tnh kha s l: Mamh,Malop. Thuc tnh
khng kha s l Magv, HocKy, Nam.
H S phm TPHCM 19
20
2.7.3 Kha chnh (primary key)
Khi ci t trn mt DBMS c th, nu quan h c
nhiu hn mt kha, ta ch c chn mt v gi l
kha chnh
K hiu: cc thuc tnh nm trong kha chnh khi
lit k trong quan h phi c gch di.
V d:
HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)
GIANGDAY(Mamh,Malop,Magv,Hocky,Nam)
H S phm TPHCM 20
21
2.7.4 Kha tng ng
Cc kha cn li (khng c chn lm kha
chnh) gi l kha tng ng.
V d: trong hai kha {Mahv},{Hoten} th
kha chnh l {Mahv}, kha tng ng l
{Hoten}
H S phm TPHCM 21
22
2.7.5 Kha ngoi (1)
Cho R(U), S(V). K
1
U l kha chnh ca R,K
2
V
Ta ni K
2
l kha ngoi ca S tham chiu n kha
chnh K
1
ca R nu tha cc iu kin sau:
K
1
v K
2
c cng s lng thuc tnh v ng
ngha ca cc thuc tnh trong K
1
v K
2
cng
ging nhau.
Gia R v S tn ti mi quan h 1-n trn K
1
v
K
2
,
s S, !r R sao cho r.K
1
=s.K
2
H S phm TPHCM 22
23
2.7.5 Kha ngoi (2)
V d, cho 2 quan h
LOP (Malop,Tenlop,Siso,Khoahoc)
HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)
Thuc tnh Malop trong quan h LOP l kha chnh
ca quan h LOP. Thuc tnh Malop trong quan h
HOCVIEN l kha ngoi, tham chiu n Malop
trong quan h LOP
H S phm TPHCM 23
24
2.7.5 Kha ngoi (3)
H S phm TPHCM 24
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11
LOP
Malop Tenlop Trglop Siso Magvcn
K11 Lop 1 khoa 1 K1106 11 GV07
K12 Lop 2 khoa 1 K1205 12 GV09
K13 Lop 3 khoa 1 K1305 12 GV14
25
Lc CSDL QLSV
HOCVIEN (MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP)
Tn t: mi hc vin phn bit vi nhau bng m hc vin, lu tr h tn, ngy sinh,
gii tnh, ni sinh, thuc lp no.
LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)
Tn t: mi lp gm c m lp, tn lp, hc vin lm lp trng ca lp, s s lp v
gio vin ch nhim.
KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
Tn t: mi khoa cn lu tr m khoa, tn khoa, ngy thnh lp khoa v trng khoa
(cng l mt gio vin thuc khoa).
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)
Tn t: mi mn hc cn lu tr tn mn hc, s tn ch l thuyt, s tn ch thc
hnh v khoa no ph trch.
DIEUKIEN (MAMH, MAMH_TRUOC)
Tn t: c nhng mn hc hc vin phi c kin thc t mt s mn hc trc.
H S phm TPHCM 25
26
Lc CSDL qun l thi hc k
GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL,
HESO, MUCLUONG, MAKHOA)
Tn t: m gio vin phn bit gia cc gio vin, cn lu tr h tn, hc v,
hc hm, gii tnh, ngy sinh, ngy vo lm, h s, mc lng v thuc mt khoa.
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
Tn t: mi hc k ca nm hc s phn cng ging dy: lp no hc mn g do
gio vin no ph trch.
KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Tn t: lu tr kt qu thi ca hc vin: hc vin no thi mn hc g, ln thi th
my, ngy thi l ngy no, im thi bao nhiu v kt qu l t hay khng t.
H S phm TPHCM 26
27
Cu hi v n tp
Kt qu kho st hin trng h thng qun l nhn s tin lng ti
mt doanh nghip thu thp c cc thng tin sau:
Mi nhn vin c mt m nhn vin duy nht, v c h tn, ngy thng
nm sinh v c lnh lng theo h bc lng ca mnh. ng thi
mt nhn vin th ch thuc bin ch ca mt v ch mt phng ban. V
d: Nhn vin tn A c m s NV1 thuc bin ch phng Tng Hp
(vi m phng TH) sinh nm 1986 lnh lng chuyn vin chnh.
Thng tin cn qun l v phng ban bao gm: tn phng ban, m
phng ban v s lng nhn vin v ngi trng phng.V d: phng
Tng Hp c m TH, s lng nhn vin l 5 c trng phng l Nhn
Vin A.
Mc lng gm tn, s tin v m t yu cu cng vic. V d: Mc
lng chuyn vin chnh l 2,5 triu VN, cn ti thiu 5 nm kinh
nghim.
V Lc CSDL Nhn S Tin Lng ni trn
28
Ph thuc hm

29
Ph thuc hm

30
Ph thuc hm

31
Ph thuc hm

32
Ph thuc hm

33
Ph thuc hm

34
Ph thuc hm

35
Ph thuc hm

36
Ph thuc hm

37
Ph thuc hm

38
Ph thuc hm

39
Ph thuc hm

40
Ph thuc hm

BD ???
Theo luat D EG {B D E G}
Theo luat BE C {B D E G C}
Theo luat BC D, CG BD, CE AG {B D E G C A G}
41
Ph thuc hm

42
Ph thuc hm

43
Ph thuc hm

44
Ph thuc hm

45
Ph thuc hm

46
Ph thuc hm

47
Ph thuc hm

48
Ph thuc hm

49
Ph thuc hm

50
Ph thuc hm

51
Ph thuc hm

52
Ph thuc hm

53
Ph thuc hm

54
Ph thuc hm

55
Ph thuc hm

56
Ph thuc hm

57
Ph thuc hm

58
Ph thuc hm

59
Ph thuc hm

60
Ph thuc hm

61
Ph thuc hm

62
Ph thuc hm

63
Ph thuc hm

64
Ph thuc hm

65
Ph thuc hm

66
Ph thuc hm

67
Ph thuc hm

68
Ph thuc hm

69
Ph thuc hm

70
Ph thuc hm

71
Ph thuc hm

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 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
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
Chun ha d liu
data normalization
Chun ha d liu l mt qu trnh thun nghch
tng bc thay th tp hp cc quan h cho
trc thnh cc quan h c cu trc n gin hn
v chun hn.
Chun ha d liu nhm ci tin mt thit k
CSDL tha mn cc rng buc ton vn v trnh d
liu b lp li khng cn thit.
Chun ha d liu
Mc ch ca chun ha d liu
Loi b cc bt thng (anomaly) ca mt quan h
c c cc quan h c cu trc tt hn, nh
hn.
Quan h c cu trc tt (well-structured relation)
C s d tha d liu l ti thiu.
Cho php ngi s dng thm vo, cp nht v xa b
d liu m khng gy ra s mu thun d liu.
Chun ha d liu
Ph thuc hm
FD Functional Dependency
Cho r l mt quan h, X v Y l hai tp thuc tnh
ca r.
Chng ta ni X xc nh hm Y hoc Y ph thuc
hm vo X, k hiu l X Y v c gi l ph
thuc hm nu vi mi gi tr ca X trong r ch
tng ng vi mt gi tr ca Y.
Kha ca mt quan h xc nh hm cc thuc tnh
khng kha ca quan h ny.
Ph thuc hm
Ph thuc hm ring phn
partial functional dependency
X A c gi l ph thuc hm ring phn nu
tn ti Y X cho Y A.
Ph thuc hm y
full functional dependency
X A c gi l ph thuc hm y nu khng
tn ti Y X cho Y A.
Ph thuc bc cu
transitive dependency
X A c gi l ph thuc bc cu nu tn ti Y
cho X Y, Y A, Y /X v A XY.
Ph thuc hm
Ph thuc hm
R
im Mnhc Tnlp Mlp Htn Msv
5 M1 MT02 L2 Hin S3
8 M3 MT01 L1 Tin S1
9 M1 MT01 L1 Trc S2
8 M2 MT01 L1 Trc S2
7 M2 MT01 L1 Tin S1
9 M1 MT01 L1 Tin S1
Cc ph thuc hm: Kha ca R: {Msv, Mnhc}
Msv {Htn, Mlp}
Mlp Tnlp
{Msv, Mnhc} im
{Msv, Mn hc} Htn l ph thuc hm ring phn
{Msv, Mnhc} im l ph thuc hm y
nh ngha
Quan h R dng chun 1 (1NF - First Normal
Form) nu mi thuc tnh ca R u cha cc gi tr
nguyn t (atomic value), gi tr ny khng l mt
danh sch cc gi tr hoc cc gi tr phc hp
(composite value).
Cc thuc tnh ca quan h R
Khng l thuc tnh a tr (multivalued attribute).
Khng l thuc tnh phc hp (composite attribute).
Dng chun 1
Dng chun 1
R
5 M1 MT02 L2 Hin S3
8 M3 MT01 L1 Tin S1
9 M1 MT01 L1 Trc S2
8 M2 MT01 L1 Trc S2
7 M2 MT01 L1 Tin S1
9 M1 MT01 L1 Tin S1
imthi Tnlp Mlp Htn Msv
Quan h R khng dng chun 1 v thuc tnh imthi l thuc
tnh phc hp.
Dng chun 1
R
im Mnhc Tnlp Mlp Htn Msv
5 M1 MT02 L2 Hin S3
8 M3 MT01 L1 Tin S1
9 M1 MT01 L1 Trc S2
8 M2 MT01 L1 Trc S2
7 M2 MT01 L1 Tin S1
9 M1 MT01 L1 Tin S1
Quan h R 1NF v cc thuc tnh ca R khng l thuc tnh a tr,
khng l thuc tnh phc hp.
Cc bt thng ca quan h 1NF
Thm vo
Khng th thm thng tin ca sinh vin mi c m l S4,
tn l Thnh, thuc lp c m l L1 nu sinh vin ny
cha ng k hc mn hc no c.
Cp nht
Sa tn ca sinh vin c tn l Tin vi tn mi l
Thnh s phi sa tt c cc hng ca sinh vin ny.
Xa b
Xa thng tin sinh vin S3 ng k mn hc M1 s lm
mt thng tin ca sinh vin ny.
Nguyn nhn
Tn ti thuc tnh khng kha ph thuc hm ring
phn vo kha.
Dng chun 1
nh ngha
Quan h R dng chun 2 (2NF - Second Normal
Form) nu R dng chun 1 v mi thuc tnh
khng kha u ph thuc hm y vo mi
kha ca R.
Dng chun 2
Dng chun 2
R
im Mnhc Tnlp Mlp Htn Msv
5 M1 MT02 L2 Hin S3
8 M3 MT01 L1 Tin S1
9 M1 MT01 L1 Trc S2
8 M2 MT01 L1 Trc S2
7 M2 MT01 L1 Tin S1
9 M1 MT01 L1 Tin S1
Cc ph thuc hm: Kha ca R: {Msv, Mnhc}
Msv {Htn, Mlp}
Mlp Tnlp
{Msv, Mnhc} im
Lc quan h R khng 2NF v thuc tnh khng kha Htn
ph thuc hm ring phn vo kha {Msv, Mnhc}.
Dng chun 2
R
1
Tnlp Mlp Htn Msv
MT02 L2 Hin S3
MT01 L1 Trc S2
MT01 L1 Tin S1
im Mnhc Msv
5 M1 S3
8 M3 S1
9 M1 S2
8 M2 S2
7 M2 S1
9 M1 S1
R
2
Kha ca R
1
: Msv
Lc quan h R
1
v R
2
u 2NF v cc thuc tnh khng
kha u ph thuc hm y vo kha.
Kha ca R
2
: {Msv, Mnhc}
Cc bt thng ca quan h 2NF
Thm vo
Khng th thm thng tin ca lp L3 c tn l MT03 nu
cha c sinh vin no hc lp ny.
Cp nht
Sa tn ca lp c m L1 vi tn mi l MT_1 s phi
sa tt c cc hng ca lp ny.
Xa b
Xa thng tin ca sinh vin c m S3 s lm mt thng
tin ca lp L2.
Nguyn nhn
Tn ti thuc tnh khng kha ph thuc bc cu vo
kha.
Dng chun 2
nh ngha
Quan h R dng chun 3 (3NF- Third Normal
Form) nu R dng chun 1 v mi thuc tnh
khng kha u khng ph thuc bc cu vo mt
kha ca R.
Dng chun 3
Dng chun 3
R
1
Tnlp Mlp Htn Msv
MT02 L2 Hin S3
MT01 L1 Trc S2
MT01 L1 Tin S1
Lc quan h R
1
khng 3NF v thuc tnh khng kha
Tnlp ph thuc bc cu vo kha Msv.
Msv Mlp Mlp Tnlp
Mlp / Msv Tnlp {Msv, Mlp}
Dng chun 3
R
11
Tnlp Mlp
MT02 L2
MT01 L1
Mlp Htn Msv
L2 Hin S3
L1 Trc S2
L1 Tin S1
R
12
Kha ca R
11
: Mlp
Kha ca R
12
: Msv
Lc quan h R
11
v R
12
u 3NF v cc thuc tnh khng
kha u khng ph thuc bc cu vo kha.
Ngn ng truy vn c cu trc (SQL -Structured Query
Language) l mt ngn ng chun c dng to
lp v truy vn cc c s d liu quan h.
SQL l mt ngn ng chun cho cc h qun tr CSDL
quan h (RDBMS - Relational DBMS).
Ngn ng SQL
1
Chng 5: Thit K
CSDL Mc Quan Nim
2
Ni Dung Chnh
Mc tiu thit k mc quan nim
C ch kim tra rng buc
Cc dng chun
Cch tip cn phn r v tng hp
2
3
Thit k Mc Quan Nim
Input: S phc cu trc v CSDL (biu din bng
mt m hnh d liu nh: m hnh quan h, m hnh
thc th kt hp, m hnh i tng
Output: Cu trc CSDL ph hp hn vi mi trng
ng dng.
Processing: da trn mt s tiu chun thit k.
3
4
Quan h ph qut
Quan h ph qut: nn tng ca nghin cu m hnh
quan h v ph thuc d liu vo thit k CSDL
Khi nim:
Mi CSDL ng dng u c th m hnh bng
mt quan h duy nht, gi l quan h ph qut k
hiu U.
Quan h ph qut cha tt c thuc tnh ca cc
quan h trong csdl ng dng.
Nu csdl c Q
i
quan h vi i=1..n th
U
+
= Q
1
+
U Q
2
+
.. U Q
n
+
Q
i
= U[Q
i
+
]
4
5
Quan h ph qut
H qu:
Mi thuc tnh c mt ngha duy nht d thuc
tnh ny nm trong quan h con hay quan h ph
qut.
Gia hai thuc tnh ch c mt mi kt hp mang
ngha duy nht.
5
6
V d Quan h ph qut
6
7
V d Quan h ph qut
7
U(Ma_DH,Ngay_DH,Ngay_TK,Luong_Dat,Luong_Gia
o,Ma_HG)
8
V d Quan h ph qut
8
9
C ch kim tra ph thuc hm
9
10
C ch kha
kim tra ph thuc hm
10
11
C ch kim tra ph thuc hm
11
12
C ch kim tra ph thuc hm
12
13
Mc tiu ca Thit K CSDL
13
14
Mc tiu ca Thit K CSDL
14
15
Mc tiu ca Thit K CSDL
15
16
Cc dng chun
16
17
Cc dng chun
Dng chun 1: cu trc csdl t dng chun mt khi
ht a tr hay trng lp (cu trc phng).
Dng chun 1: cha ch n gim trng lp thng
tin cp nht kh.
17
18
Cc dng chun
18
HR 2009 P_C P3 HCM 08 C E3
FA 2009 P_B P2 NT 058 A E1
IT 2008 P_A P1 NT 058 B E2
IT 2008 P_A P1 NT 058 A E1
Prj_Type Time Prj_name Prj_ID Post_Na
me
Post_Cod
e
Emp_Na
me
Emp_ID
Nhn xt s trng lp thng tin v kh khn khi cp nht d liu.
Quan h CHUAN1
19
Cc dng chun
Khi dng chun 1 cn tch nh quan h theo cc
tiu chun nghim ngt hn gim trng lp thng
tin v csdl hot ng hiu qu hn.
19
20
Cc dng chun
Dng chun 2: mt quan h dng chun 2 khi cc
thuc tnh khng kha ph thuc hon ton (y )
vo kha.
Xt quan h CHUAN1 slide trc:
Kha: Emp_ID v Prj_ID
Thuc tnh khng kha: Emp_Name, Post_Code,
Post_Name, Prj_Name, Time, Prj_Type
Prj_ID Prj_Name. Vy Prj_Name ch ph
thuc mt phn vo kha.
V vy quan h ny cha t chun 2
20
21
Cc dng chun
21
HCM 08 C E3
NT 058 B E2
NT 058 A E1
Post_Name Post_Code Emp_Name Emp_ID
HR 2009 P_C P3
FA 2009 P_B P2
IT 2008 P_A P1
IT 2008 P_A P1
Prj_Type Time Prj_name Prj_ID
Pro_ID Emp_ID
P3 E3
P2 E1
P1 E2
P1 E1
22
Cc dng chun
Dng chun 3: mt quan h dng chun 3 khi cc
thuc tnh khng kha ph thuc hon ton (y )
v khng ph thuc bc cu vo kha.
Xt quan h CHUAN2 slide trc:
Thuc tnh khng kha Post_Name ph thuc bc
cu vo kha Emp_ID:
Emp_ID Post_Code
Post_Code Post_Name
Vy cha t chun 3, phi tip tc tch bng
gim trng lp thng tin.
22
23
Cc dng chun
23
08 C E3
058 B E2
058 A E1
Post_Code Emp_Name Emp_ID
HR 2009 P_C P3
FA 2009 P_B P2
IT 2008 P_A P1
IT 2008 P_A P1
Prj_Type Time Prj_name Prj_ID
Pro_ID Emp_ID
P3 E3
P2 E1
P1 E2
P1 E1
HCM 08
NT 058
Post_Name Post_Code
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc logic
Thit k mc vt l
C s cn nhc:
khai thc
c trng k thut ca h qun tr csdl
Thit k mc vt l
Thit k mc vt l
Thit k mc vt l
Thit k mc vt l
Thit k mc vt l
38
1 1
C/U T
C/U T
Chc c|e Chc c|e l l c cc c | l | lU Uc c ng Uer nc ng Uer nc c lh c lhU U c h|e c h|e n cc n cc c c
ch chU U c ncng cU lrcng He c ncng cU lrcng He lhc lhc ng ch| lrc ng ch| lrc
cU cU c T ccng ly: c T ccng ly:
c) c) V|e V|e l T ch l T chU Ucng lr cng lr| |nh nh c ce e lc lc c vc c vc |n cc |n cc c c
hc hc c c c ccn cn
c) c) fhcy fhcy c cc c | | c c|c ch |c ch| | lrcng CSDl lrcng CSDl
c) c) fc fc c T lc c T lc | khcc | khcc n chc Uer mc n chc Uer mc | |
2 2
C/U 2
C/U 2
lc lc l ccng ly, lrcng l ccng ly, lrcng c cc c fen vc fen vc |c ch |c ch| |
khc khc ch hc ch hc ng ng cU cUc c c | c |U UU lrcng T CSDl cU U lrcng T CSDl cU c c
Bc Bc phc phc n cc n cc n hc n hc ng vc ng vc T CSDl khc T CSDl khc c cU c cU c c
Bc Bc phc phc n hc n hc c c c ccn. Hc cn. Hc | | U U c cU U lh lhU U c c c cU U
||e ||e U nc U nc y vcn y vcn c ce e n vc n vc n n c ce e lh|e lh|e U nhc U nhc l l
Uc Uc n nh n nhU U lhe lhe nc nc c? c?
3 3
C/U 3
C/U 3
Uer e cU Uer e cU ng ngcn ng ng ngcn ngU U nc nc c (mc lc c (mc lc , lhcc , lhcc
lc lc c, lrUy vc c, lrUy vc n, Uc n, Uc n |y n |y ) ) c ce e lh lhU U c h|e c h|e n: n:
c) c) |e |e U ch U ch| |nh nh c c|c ch |c ch| | khc khc ch hc ch hc ng ng
c) c) |nh ngh |nh ngh| |c Bc c Bc ng Hc ng Hc ng lc ng lc n khc n khc
c) c) Nhc Nhc p lhcng l|n chc nhcn v|en mc p lhcng l|n chc nhcn v|en mc | |
4 4
C/U 4
C/U 4
Uer e cU Uer e cU ng ngcn ng ng ngcn ngU U nc nc c (mc lc c (mc lc , lhcc , lhcc
lc lc c, lrUy vc c, lrUy vc n, Uc n, Uc n |y n |y ) ) c ce e lh lhU U c h|e c h|e n: n:
c) c) Cc Cc p nhc p nhc l l c c|e |e m lrUng c m lrUng c| |nh chc |nh v|en nh chc |nh v|en
c) c) |nh ngh |nh ngh| |c Bc c Bc ng Dcnh c ng Dcnh c ch |c ch |c p p
c) c) fhem T cc fhem T cc l mc l mc | vc | vc c Bc c Bc ng ng
1 1
C/U T
C/U T
Chc Ucn he Chc Ucn he C (/BC) C (/BC)
Ho Ho | O co | O co Iho Iho o co o co c pIh sou khong c pIh sou khong: :
/ / B, / B, / C, /B C, /B C, C,
C C /, BC /, BC /, /C /, /C B B
T T
8 8 3 3 7 7
4 4 3 3
5 5 3 3
2 2 4 4 T T
C C B B / /
2 2
C/U 2
C/U 2
Chc lc Chc lc p phU p phU lhUc lhUc c hc c hc m m
F = A F = A 8, C 8, C X, 8X X, 8X I J I J
ClP: /C ClP: /C Z Z
3 3
C/U 3
C/U 3
Chc Ucn he Chc Ucn he C (/BCD) vc C (/BCD) vc | lc | lc p phU p phU
lhUc lhUc c hc c hc m l = / m l = / B, BC B, BC D } D }
Hc Hc | cc | cc c phU c phU lhUc lhUc c hc c hc m cU cc m cU cc cU cUc c c c
Uy c|en l Uy c|en lU U l khcng (ch l khcng (chU U ng m|nh): ng m|nh):
o) o) AC AC D D
b) b) 8 8 D D
c) c) AD AD 8 8
4 4
C/U 4
C/U 4
Chc Ucn he Chc Ucn he C (/BC) C (/BC)
f f| |m lc m lc p phU p phU lhUc lhUc c hc c hc m l m l
c c c c c c
c c c c c c
e e c c c c
e e e e c c
e e e e f f
C C B B / /
5 5
C/U 5
C/U 5
Chc Ucn he Chc Ucn he C(/BCDLGH) C(/BCDLGH)
Chc l = /B Chc l = /B D, B D, B C, DC C, DC L, L,
DL DL GH, G GH, G / } / }
CMP. A8 CMP. A8 O O
+ +
F F
+ +
6 6
C/U
C/U
Chc Ucn he Chc Ucn he C(/BCD) C(/BCD)
Cho F = A8 Cho F = A8 C, C C, C D, D D, D A J A J
f f| |m khc m khc c c
7 7
C/U 7
C/U 7
Chc Ucn he Chc Ucn he C(/BC) C(/BC)
Cho F = A8 Cho F = A8 C, 8 C, 8 D, D D, D 8 J 8 J
f f| |m khc m khc c c
8 8
C/U 8
C/U 8
Chc Ucn he Chc Ucn he C(XYZWP) C(XYZWP)
Cho F = Y Cho F = Y I, I I, I Y, I Y, I W, Y W, Y F J F J
f f| |m khc m khc c c
9 9
C/U
C/U
Chc Ucn he Chc Ucn he C(/BCDLG) C(/BCDLG)
Cho F = EC Cho F = EC 8, A8 8, A8 C, E8 C, E8 D, D,
8G 8G A, AE A, AE G J G J
f f| |m khc m khc c c
10 10
C/U T
C/U T
Chc Ucn he Chc Ucn he C(/BCDLH) C(/BCDLH)
Cho F = A8 Cho F = A8 C, CD C, CD E, EC E, EC A, A,
CD CD H, H H, H 8 J 8 J
f f| |m khc m khc c c
11 11
C/U TT
C/U TT
Chc lc Chc lc p phU p phU lhUc lhUc c hc c hc m m
F = X F = X YI, IW YI, IW F, F F, F I, W I, W XFO, XFO,
XYO XYO YW, WO YW, WO YI J YI J
f f| |m phU m phU lc lc | lh|e | lh|e U U
12 12
C/U T2
C/U T2
Chc lc Chc lc p phU p phU lhUc lhUc c hc c hc m m
F = X F = X Y, Y Y, Y X, Y X, Y I, I,
I I Y, X Y, X I, I I, I X J X J
f f| |m phU m phU lc lc | lh|e | lh|e U U
13 13
C/U T3
C/U T3
Chc lc Chc lc p phU p phU lhUc lhUc c hc c hc m m
F = X F = X YW, XW YW, XW I, I I, I Y, XY Y, XY I J I J
f f| |m phU m phU lc lc | lh|e | lh|e U U
14 14
C/U T4
C/U T4
Cho quon he Cho quon he
Gl/ Gl/ NG_D/ NG_D/ Y ( lS_CBGD, lS_lONHO Y ( lS_CBGD, lS_lONHO C, C,
fLN_CBGD, HO fLN_CBGD, HO CH/ CH/ l, l/lO l, l/lO P, SO P, SO SV ) SV )
F = M$_C8GD F = M$_C8GD IEN_C8GD, IEN_C8GD,
M$_C8GD M$_C8GD HO HO CHA CHA M, M,
M$_C8GD, M$_MONHO M$_C8GD, M$_MONHO C C $O $O $V, $V,
M$_MONHO M$_MONHO C C HO HO CHA CHA M, MAIO M, MAIO F J F J
T T m kho m kho a a

You might also like