1/30/2012
1
Các mô hình d liuCác mô hình d liu
Ng nNg n
HngHng
PhươngPhương
1
Ng
uy
nNg
uy
n
HngHng
PhươngPhương
phuongnh@soict.hut.edu.vnphuongnh@soict.hut.edu.vn
http://is.hut.edu.vn/~phuongnhhttp://is.hut.edu.vn/~phuongnh
BBmônmôn HHthngthng thôngthông tintin
VinVinCôngCông nghnghthôngthông tin tin và TruynTruyn thôngthông
ĐạiĐạihchcBáchBách KhoaKhoa NiNi
Ni dungNi dung
•Tng quan v mô hình d liu
Mô hình phân cp
Mô hình mng
2
Mô hình quan h
Mô hình thc th liên kết
Mô hình hướng đối tượng
Đánh giá, bài tp
Tng quan v mô hình d liuTng quan v mô hình d liu
Mô hình d liu [Codd, 1980] gm:
–Mt tp hp các cu trúc ca d liu
–Mt tp hp các phép toán để thao tác vi các
d liu
–Mt tp hp các ràng buc v d liu
Mô hì h d li t t h á khái
3
Mô hì
n
h d li
u
m
t t
p
h
p
c
á
c
khái
nim dùng để mô t:
–D liu
–Ng nghĩa ca d liu
–Các mi quan h trong d liu
–Các ràng buc d liu
Tng quan...(tiếp)Tng quan...(tiếp)
•Nhiumôhìnhcònbaogmcmttp
các phép toán để thao tác các dliu
•Môhìnhthucdng ngnghĩa: tp trung
vngnghĩacadliunhư hình
thc
th
liên
kết
dng
h
tr
người
4
thc
th
liên
kết
,
dng
h
tr
người
dùng cái nhìn khái quát vdliu
•Môhìnhthucdng khái nim: tp trung
vào cách thctchcdliutimckhái
nimnhư hình mng, hình liên kết,
hình quan h,độclpviDBMSvàh
thng phncng để cài đặtcơsdliu
Vài nét v lch sVài nét v lch s
hình
phân cp
hình
quan hMô hình
quan h m rng
2k,
IMS,
System
2k,
System R(81), DB2,
ORACLE, SQL
Server, Sybase, ...
Server ...
DB2,
ORACLE-
10i, SQL
Server ...
XML
Tamino,...
dbXML,natix,
Tamino,...
5
1965 1970 1975 1980 1985 1990 1995 2000 2005 2010
hình
mng Mô hình
hướng đối
tượng
hình bán
cutrúc
IDS
DMS(65),
CODASYL
(71), IDMS,
IDS
......
IRIS, ...
O2,
ORION,
IRIS, ...
Lore
(97), ...
hình
Thcth-liên kết
...
IRDS(87)
,CDD+,
...
Mt vài mô hình d liuMt vài mô hình d liu
Mô hình phân cp
Mô hình mng
Mô hình quan h
6
Mô hình thc th liên kết
Mô hình hướng đối tượng
Mô hình bán cu trúc
Mô hình d liu ca XML
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
2
Đặt vn đềĐặt vn đề
Đặcđimca các hình dliu?
•Skhác nhau gia các hình d
liu?
C
á
ô
h
ìh
d
li
h
bi
ế
à
7
C
á
cm
ô
h
ì
n
h
d
li
up
h
bi
ế
nng
à
y
nay
Mô hình d liu phân cp Mô hình d liu phân cp
((Hierarchical data modelHierarchical data model))
•Ra đời nhng năm 60-65
•Biu din bng cây
Quan h cha-con
–Mi nút có 1 cha duy nht
1 CSDL 1 á â 1
8
1 CSDL
=
1
t
p
c
á
c
c
â
y
=
1
r
ng
Các khái nim cơ bn
–Bn ghi
Móc ni
Các phép toán: GET, GET UNIQUE, GET NEXT,
GET NEXT WITHIN PARENT,…
Mô hình d liu phân cp Mô hình d liu phân cp ––Ví dVí d
lop giao_vien
9
sinh_vien
diem_thi
mon_hoc mon_hoc
Mô hình d liu phân cpMô hình d liu phân cp
Ưu đim
–D xây dng và thao tác
–Tương thích vi các lĩnh vc t chc phân cp
Ngôn ng thao tác đơn gin: duyt cây.
Nhược đim:
10
Nhược đim:
–S lp li ca các kiu bn ghi d liu dư
tha và không nht quán.
•Gii pháp: bn ghi o
–Hn chế trong biu din ng nghĩa ca các
móc ni gia các bn ghi (ch cho phép quan
h 1-n)
Mô hình d liu mng Mô hình d liu mng
((Network data modelNetwork data model))
•S ra đời
–S dng ph biến t nhng năm 60, được định nghĩa li vào
năm 71
•Biu din bng đồ th có hướng
Các khái nim cơ bn
Tp bn ghi (record)
11
Tp bn ghi (record)
•Kiu bn ghi (record type)
•Các trường (field)
–Móc ni
•Tên ca móc ni
•Ch (owner) thành viên (member): theo hướng ca móc ni
•Kiu móc ni: 1-1, 1-n, đệ quy
Các phép toán
•Duyt: FIND, FIND member, FIND owner, FIND NEXT
•Th tc: GET
Mô hình d liu mng Mô hình d liu mng ––Ví dVí d
l
giao_vien
h
giang_day
hoc
12
l
op
sinh_vien
gom
diem_thi
co
mon_
h
oc
co_diem
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
3
Mô hình d liu mngMô hình d liu mng
Ưu đim
Đơn gin
–Có th biu din các ng nghĩa đa dng
vi kiu bn ghi và kiu móc ni
13
–Truy vn thông qua phép duyt đồ th
(navigation)
•Nhược đim:
–S lượng các con tr ln
–Hn chế trong biu din ng nghĩa ca
các móc ni gia các bn ghi
Mô hình d liu quan hMô hình d liu quan h
•S ra đời: vào năm 1970[Codd, 1970]
•D liu được biu din dưới dng bng
Là mô hình d liu khái nim ph biến cho
đến tn thi đim hin ti
14
•Da trên lý thuyết toán hc, đồng thi
cũng gn vi cu trúc tp và cu trúc d
liu nên có hai loi thut ng liên quan:
–Thut ng toán hc: quan h, b, thuc tính
–Thut ng hướng d liu: bng, bn ghi, trường
Ví d Ví d
mô hình mô hình
d liu d liu
quan hquan h
Ví dVí d
malop lop khoa GVCN loptruong
IT4 Tin 4 CNTT Ng. V. Anh TrnT. Bình
maMH tenmon soHT
CNTT01 Nhpmôn CSDL 4
CNTT02 TruynDL vàmng 4
CNTT03 Phân tích thiếtkếhthng 4
HTTT01 Qunlýdán 3
MON_HOC
LOP
15
maSV tenSV ngaysinh gt diachi malop
SV0011 Trn T. Bình 1/4/1981 0 21 T. Q. B IT4
SV0025 Ng. Đ. Trung 3/2/1980 1 56 Đ. C. V IT5
SV0067 TrnM. Quế26/3/1982 0 45 H. B. T IT6
SV0034 Ng. T. Phương 29/2/1980 0 86 L. T. N IT7
IT5 Tin 5 CNTT A. VănN
g
. Đ. Trun
g
IT6 Tin 6 CNTT Ng. T. ThoTrnM. Quế
IT7 Tin 7 CNTT Ng. V. Quý Ng. T. Phương
SINH_VIEN
Mô hình d liu quan hMô hình d liu quan h
Các khái nim cơ bn
–Thuc tính, min thuc tính
Quan h
Khóa
16
Khóa
Mô hình d liu quan hMô hình d liu quan h
Thuc tính (~trường): là các đặc tính ca
mt đối tượng
•Mi thuc tính đưc xác định trên mt min
giá tr nht định gi là min thuc tính
•Ví
d
:
17
d
Sinhviên (MãSV, TênSV, Nămsinh, GiiTính, ĐịaCh)
dom(MãSV) = {char(5)}
dom(TênSV) = {char(30)}
–dom(Nămsinh) = {date}
–dom(GiiTính) = {0, 1}
–dom(ĐịaCh) = {char(50)}
Quan h(~bng):Cho n mingiátrD1,
D2,…,D
nkhông nhtthiếtphânbit, r
mtquanhtrênnmingiátrịđónếur
mttpcácn-b(d1,d
2,…,d
n)sao
cho diDi
Mt
quan
h
th
được
biu
din
dưới
Mô hình d liu quan hMô hình d liu quan h
18
Mt
quan
h
th
được
biu
din
dưới
dng 1 bng trong đó1dòng trong bng
tương đương vi1b,mtcttrong bng
tương đương vi1thuctínhcaquanh
•Bcca1quanh scác thuctính
trong quan h
•Lclượng ca1quanh scác b
trong quan h
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
4
Mô hình d liu quan hMô hình d liu quan h
Định nghĩa(tiếp):Cho U = {A1,A
2
,…,A
n}làmttphuhncác
thuctínhtrongđódom(A
i)=D
i,r
quan
h
trên
tp
thuc
tính
U
19
quan
h
trên
tp
thuc
tính
U
hiulàr(U)nếu:
•U đượcgilàsơđquan h(lược
đồ quan h)
n
DDDr ...
21
Định nghĩaKhoá caquanhrtrên
tpthuc tính U = {A1,A
2,…,A
n}
mttpKUsaochovibtk2
b
t
1
,
t
2
thu
crđềutnt
im
t
Mô hình d liu quan hMô hình d liu quan h
20
1
,
2
thuc tính A thucKmàt
1[A] t2
[A]
•Mtquanh th nhiukhoá
•Nếu K khoá carthìmiK’sao
cho K K’ đềulàkhoácar.Kđược
gilàsiêu khoá car
Định nghĩa:Klàkhoá ti
thiucarnếuKlàmtkhoá
carvàbtktpconthcs
nào caKđềukhôn
g
p
hilà
Mô hình d liu quan hMô hình d liu quan h
21
g
p
khoá car
Định nghĩa:MttpconKU
đượcgilàkhoá ngoài ca
quan hr(U) tham chiếuđến
mtquanhr’ nếuKlàkhoá
chính car
•Quan h: SinhViên(MãSV, TênSV, NămSinh,
GiiTính, Lp)
SV001 Nguyn Văn An 1982 1 Tin 7
SV002 Nguyn Văn An 1985 1 HTTT
Mô hình d liu quan hMô hình d liu quan h
Ví d:Ví d:
22
SV003 Lê Văn Cường 1981 1 HTTT
SV004 Nguyn Thùy Linh 1981 0 BK65
Siêu khoá: {MãSV, HTên};
•Khoá ti thiu: {MãSV}; {HTên, NămSinh}
Khoá ngoài: TênLp nếu coi nó là khoá chính
ca quan h Lp
Mô hình d liu quan h Mô hình d liu quan h --
nhn xétnhn xét
Ưu đim
–Da trên lý thuyết tp hp
Kh năng ti ưu hoá các x lý phong
23
Kh năng ti ưu hoá các x lý phong
phú
•Nhược đim
–Hn chế trong biudinngnghĩa
–Cutrúcdliu không linh hot
Mô hình thc th liên kếtMô hình thc th liên kết
((EntityEntity--Relationship data modelRelationship data model))
•Cho phép mô tcác dliu liên quan
trong mtxínghiptrongthếgiithcdưới
dng các đốitượng các miquanhca
chúng.
Được
dng
cho
bước
đầu
thiết
kế
CSDL
24
Được
dng
cho
bước
đầu
thiết
kế
CSDL
,
làm nntng để ánh xsang mtmôhình
khái nimnàođómàHquntrCSDL ss
dng
Trong hình thcthliên kết, CSDL được
hình hóa nhưlà:
–Mttphpcácthcth
–Liênhgiacácthcthnày
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
5
•Thc th, tp
thc th
•Thuc tính
Kh á
Mô hình thc th liên kếtMô hình thc th liên kết
Các khái nim cơ bnCác khái nim cơ bn
25
Kh
o
á
Liên kết, tp
liên kết
•Thcth:mtđốitượng trong thế
giithc, tntiđộclpvàphânbit
đượcvicácđốitượng khác
Tp
thc
th
:
mt
tp
hp
các
thc
Mô hình thc th liên kết...Mô hình thc th liên kết...
26
Tp
thc
th
:
mt
tp
hp
các
thc
th tính chtging nhau
•Víd:
–Thcth:mt sinh viên, mtlp
–Tpthcth:toànthsinh viên ca1
lp, toàn thcác lpca1khoa
•Thuctính đặctính
camttpthcth
–TpthcthSinhViên
các thuctínhnhư:nSV,
NămSinh,…
Mô hình thc th liên kết...Mô hình thc th liên kết...
•sv1
sinh_viên
27
•M
ithcth
trong tp
thcth mtgiátr
đặctínhnmtrongmin
giá trcathuctính
Sinh viên 1 có: Htên
NguynHi Anh, Nămsinh
1980
•sv2
•sv3
maSV
tenSV
namsinh
gioitinh
diachi
•Thuc tính đơn gin
(thuc tính nguyên
t)
có kiu d liu
Mô hình thc th liên kết...Mô hình thc th liên kết...
Kiu thuc tính
sinh_viên
gioitinh
28
có kiu d liu
nguyên t
•Thuc tính phc
–có kiu phc, định
nghĩa bi các thuc
tính khác
maSV
tenSV
namsinh
gioitinh
diachi
so_pho quan thanh_pho
•Thuctínhđa g
tr
–tương ng vi mi
th
c th
,
có th
Mô hình thc th liên kết...Mô hình thc th liên kết...
Kiu thuc tính
mon_hoc
maMH
tenmon
soHT
29
,
nhn nhiu giá tr
•Thuctínhsuy
din
–cóthtính toán
đượct(các) thuc
tính khác
soHT
giao_vien
sinh_viên
maSV
tenSV
ngaysinh
nam
diachi
tuoi
•Mthaymttpthuc tính giá trca
chúng thxác định duy nhtmtthc
thtrong tpthcth
–TpthcthSinhViên thdùng MãSV làm
kh á
Mô hình thc th liên kết...Mô hình thc th liên kết...
Khóa
30
kh
o
á
•Khoágm nhiuthuctínhthìgilàkhoá
phc
•Mttpthcth th nhiukhoá
nhưng chmttrongscác khoá đưc
chnlàmkhoá chính
•TrongsơđER, thuctínhnàođượcchn
làm khoá chính sẽđưcgch chân
CuuDuongThanCong.com https://fb.com/tailieudientucntt