tài liệu cực chất
TRANSCRIPT
-
7/23/2019 Ti liu cc cht
1/19
Cc m hnh d liu
V Tuyt [email protected]
B mn Cc h thng thng tin, Vin CNTT&TTi hc Bch Khoa H Ni
2
M hnh d liu
M hnh d liu gm [Codd, 1980] Mt tp hp cc cu trc ca d liu Mt tp cc php ton thao tc vi cc d liu Mt tp cc rng buc v d liu
V d: m hnh mng, m hnh phn cp, m hnhquan h, m hnh thc th-lin kt, m hnhhng i tng
A data model is a plan for building a database*
*http://www.computerworld.com/databasetopics/data/story/0,10801,80205,00.html
-
7/23/2019 Ti liu cc cht
2/19
3
Vi nt v lch s
1965 1970 1975 1980 1985 1990 1995 2000 2005 2010
M hnh
mng
M hnh
phn cp
M hnh
quan h
M hnh
hng itng
M hnh
quan h m rng
M hnh bn
cu trcDMS(65),
CODASYL
(71), IDMS,
IMS,
System
2k,
...
System R(81), DB2,
ORACLE, SQL
Server, Sybase, ...
O2,
ORION,
IRIS, ...
DB2,
ORACLE-
10i, SQL
Server ...
Lore
(97), ...
XML
dbXML,natix,
Tamino,...
M hnh
Thc th-lin ktIRDS(87),CDD+,...
4
Mt vi m hnh d liu
M hnh phn cp
M hnh mng
M hnh quan h
M hnh thc th - lin kt
M hnh hng itng
M hnh bn cu trc M hnh d liu ca XML
-
7/23/2019 Ti liu cc cht
3/19
5
t vn
c im ca cc m hnh d liu?
S khc nhau gia cc m hnh d liu?
Cc m hnh d liu ph bin ngy nay
6
M hnh d liu phn cp(Hierarchical data model)
S ra i Khong nm 60-65
Biu din: bng cy Quan h cha/con Mi nt c mt cha duy nht 1 CSDL = tp cc cy
Cc khi nim c bn Bn ghi Mc ni Cc php ton: GET, GET UNIQUE, GET NEXT, GET
NEXT WITHIN PARENT, ...
-
7/23/2019 Ti liu cc cht
4/19
7
V d
lop
sinh_vien
giao_vien
diem_thi
mon_hoc mon_hoc
8
Nhn xt
u im D xy dng v thao tc Tng thch vi cc lnh vc t chc phn cp (vd:
t chc nhn s trong cc n v, ...) Ngn ng thao tc n gin (duyt cy)
Nhc im
S lp li ca cc kiu bn ghi d tha d liu vd liu khng nht qun Gii php: bn ghi o
Hn ch trong biu din ng ngha ca cc mc nigia cc bn ghi (ch cho php quan h 1-n)
-
7/23/2019 Ti liu cc cht
5/19
9
M hnh d liu mng(Network data model)
S ra i s dng ph bin t nhng nm 60, c nh ngha
li vo nm 1971
Biu din: bng th c hng Cc khi nim c bn
Tp bn ghi (record) Kiu bn ghi (record type) Cc trng (field)
Mc ni (link) Tn ca mc ni ch (owner) thnh vin (member): theo hng ca
mc ni Kiu mc ni: 1-1, 1-n, quy
Cc php ton Duyt: FIND, FIND member, FIND owner, FIND NEXT Th tc: GET
10
V d
lop
sinh_vien
gom
giao_vien
diem_thico
mon_hoc
giang_day
co_diem
hoc
-
7/23/2019 Ti liu cc cht
6/19
11
Nhn xt
u im n gin
C th biu din cc ng ngha a dng vi kiu bnghi v kiu mc ni
Truy vn thng qua php duyt th (navigation)
Nhc im S lng cc con tr ln
Hn ch trong biu din ng ngha ca cc mc nigia cc bn ghi
12
M hnh d liu quan h(Relational data model)
S ra i vo nm 1970[Codd, 1970]
Biu din: di dng bng Cc khi nim c bn
Thuc tnh: mt tnh cht ring bit ca mt i tng Tn
Kiu, min gi tr Quan h: c nh ngha trn mt tp cc thuc tnh B gi tr: cc thng tin ca mt i tng thuc quan
h Kho:
Cc php ton: hp, giao, tch -cc, la chn,chiu, kt ni, ...
-
7/23/2019 Ti liu cc cht
7/19
13
V d
maSV tenSV ngaysinh nam diachi lop
SV0011 Trn T. Bnh 1/4/1981 0 21 T. Q. B IT4
SV0025 Ng. . Trung 3/2/1980 1 56 . C. V IT5
SV0067 Trn M. Qu 26/3/1982 0 45 H. B. T IT6
SV0034 Ng. T. Phng 29/2/1980 0 86 L. T. N IT7
malop lop khoa GVCN loptruong
IT4 Tin 4 CNTT Ng. V. Anh Trn T. Bnh
IT5 Tin 5 CNTT L A. Vn Ng. . Trung
IT6 Tin 6 CNTT Ng. T. Tho Trn M. Qu
IT7 Tin 7 CNTT Ng. V. Qu Ng. T. Phng
maMH tenmon soHT
CNTT01 Nhp mn CSDL 4
CNTT02 Truyn DL v mng 4
CNTT03 Phn tch v thit kh thng 4
HTTT01 Qun l d n 3
MON_HOC
LOP
SINH_VIEN
14
Nhn xt
u im Da trn l thuyt tp hp
Kh nng ti u ho cc x l phong ph
Nhc im Hn ch trong biu din ng ngha
Cu trc d liu khng linh hot
-
7/23/2019 Ti liu cc cht
8/19
15
M hnh d liu thc th - lin kt(Entity-Relational data model)
S ra i Xut pht t nhu cu m hnh ho ng ngha d liu v
pht trin phn mm xut 1975 [Chen, 1976] [Chen, 2002]
Biu din: bng s thc th - lin kt Cc khi nim c bn
Thc th: mt i tng trong th gii thc Thuc tnh: mt c tnh ca mt tp thc tho Kho:xc nh s duy nht ca 1 thc th
o Lin kt: mi lin h c ngha gia nhiu thc tho Mi lin kt c th c cc thuc tnho 1-1, 1-n, n-m, quy
16
V d
sinh_vin lop
mon_hoc
gom
diem_thi chuong_trinh
maSV
tenSV
ngaysinh
nam
diachi
malop lop khoaGVCN
loptruong
maMH tenmon soHT
-
7/23/2019 Ti liu cc cht
9/19
17
Nhn xt
u im d dng biu din ci m con ngi nhn thc t th
gii thc
Biu din ng ngha phong ph ca cc thc th vquan h gia cc thc th
Nhc im Khng d dng nh x vo nhng cu trc lu tr
trn my tnh
18
M hnh d liu hng i tng(Object-oriented data model)
S ra i Khong u nhng nm 90
Biu din: s lp
Cc khi nim c bn i tng: mt i tng trong th gii thc, c xc
nh bi mt nh danh duy nht
Thuc tnh: biu din mt c tnh ca i tng,
Phng thc : thao tc c thc hin trn i tng. Tt c cc truy nhp vo thuc tnh ca i tng u phi
c thc hin thng qua cc phng thc ny.
Lp: mt cch thc khai bo mt tp cc i tng cchung mt tp thuc tnh v phng thc
-
7/23/2019 Ti liu cc cht
10/19
19
V d
class sinh_vien {string maSV;string tenSV;date ngaysinh;boolean nam;string diachi;string lop;
stringten();stringngay_sinh();
stringdia_chi();
stringlop();voidgan_DC(stringDC_moi);
void gan_lop(stringlop);}
20
V d
class lop {string tenlop;string khoa;
}
class sinh_vien {string maSV;string tenSV;date ngaysinh;
boolean nam;string diachi;lop lop_hoc;
}
-
7/23/2019 Ti liu cc cht
11/19
21
Nhn xt
u im Cho php nh ngha kiu i tng phc tp
Tnh cht: bao ng (encapsulation), k tha(heritage), a hnh (polymorphism)
Nhc im Cu trc lu tr phc tp v c th s dng nhiu
con tr
Kh nng ti u ho cc x l b hn ch trong nhiutrng hp
22
So snh v nh gi
khng h/q
khi s/d
nhiucontr
a dng
cu trcphc tp
a dng
khng cxem xt
(khng hiuqu)
kh lu tr
a dng
ti u hott
a dng
d dng vhiu qu
tng ia dng
t kh nngti u
n gin
d liu lp li
hn ch
t kh nngti u
n gin
s/d nhiu contr
hn ch
M hnh
HT
M hnh TT-
LK
M hnh
quan hM hnh
phn cpM hnh
mng
hiu qu catruy vn
kh nng truyvn
lu tr DL
biu din ngngha DL
Nhc li: M hnh d liu l mt tp hp cc khi nim dng m t cu trc ca mt CSDL
-
7/23/2019 Ti liu cc cht
12/19
23
Phn loi cc m hnh
Phn cp
Mng
Quan h
Thc th-lin kt
ngngha
i tng - Quan h Hng i tng
Th h 1
Th h 2
Th h 3
Cc m hnh
da trnbn ghi
Cc m hnh
da trn
i tng
24
Bin i gia cc m hnh d liu
Yu cu Chuyn mt s d liu t mt m hnh d liu
sang mt m hnh khc
m bo tnh tng ng ca s d liungun v ch
Cc bin i tng ng gia cc m hnh Thc th/lin kt - mng Thc th/lin kt - hng i tng
Quan h - hng i tng
-
7/23/2019 Ti liu cc cht
13/19
M hnh d liu quan h
26
c im
Da trn l thuyt tp hp
d dng nh x n cu trc lu tr vt l
Cc khi nim c bn Thut ng ton hc: quan h, b v thuc tnh
Thut ng hng d liu: bng, bn ghi v trng
c biu din bi lc quan h
-
7/23/2019 Ti liu cc cht
14/19
27
Thuc tnh - trng
/n: l mt tnh cht ring bit ca mt itng cn c lu tr trong CSDL phc vcho vic khai thc d liu v i tng K hiu: A
Tn thuc tnh: maSV, tenSV,ngaysinh,nam,diachi,lop
Kiu d liu, min gi tr (Dom(A)) text, number, boolean, date/time, memo maSV: text(10)
tenSV: text(30)
ngaysinh: datenam: boolean...
28
Quan h - bng
/n: c xc nhtrn mt tp ccthuc tnh Ai
K hiu:
R(A1,A2, An)
R(A1,A2, An) Dom(A1)x x Dom(An)
Tn t: quy tc xc nh mi quan hgia cc thuc tnhAi
SINH_VIEN (maSV,tenSV,ngaysinh,nam, diachi,lop)
LOP(malop,ten,khoa)
lop SINH_VIEN[lop],malop LOP[malop]:lop = malop
-
7/23/2019 Ti liu cc cht
15/19
29
B - bn ghi
/n: cc thng tin ca mt i tng thucquan h
K hiu
t(a1,a2, an)
t(a1,a2, an) Dom(A1) x x Dom(An)
SV0011 Trn T. Bnh 1/4/1981 0 21 T. Q. B IT4
SV0025 Ng. . Trung 3/2/1980 1 56 . C. V IT5
SV0067 Trn M. Qu 26/3/1982 0 45 H. B. T IT6
SV0034 Ng. T. Phng 29/2/1980 0 86 L. T. N IT7
30
Lc quan h
Lc quan h (S): l s tru tng ho caquan h mc cu trc ca mt bng 2chiu S = {Ri}
SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop)
LOP(malop,lop, khoa, GVCN, loptruong)
MON_HOC(maMH,tenmon,soHT)
...
Th hin ca quan h: tp hp cc b gi trca quan h R vo mt thi im
-
7/23/2019 Ti liu cc cht
16/19
31
Kho
/n Cho R(A1,A2, An), K {Ai},
K l kho nu vi t1, t2 R, Ai K: t1.Kt2.K
SINH_VIEN (maSV,tenSV,ngaysinh,nam, diachi,lop)
T/c: K K {Ai} l kho K cng l kho
SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop)
SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop)
32
Phn loi kho
Kho ti thiu Cho R(A1,A2, An),
K {Ai}, K l kho ti thiu nu
K l kho v !K Km K l kho
Kho ngoi
Cho R(A1,A2, An),R(A1,A2, Am), K {Ai},
K l kho ngoi ca Rtham chiu n quan hR nu K l kho chnhca R
SINH_VIEN (maSV,tenSV,ngaysinh,
nam, diachi,malop)
LOP(malop,lop, khoa, GVCN,loptruong)
-
7/23/2019 Ti liu cc cht
17/19
Mt s h qun tr CSDL quanh
MS. Access
MySQL
PostgreSQL
SQL Server
Oracle
DB2
33
nh ngha d liu
im chung Quan h
Kha chnh, kha ngoi, min gi tr
im ring C th h tr ha duy nht hay khng
C th cung cp giao din ha hay khng
34
-
7/23/2019 Ti liu cc cht
18/19
Kiu d liu
Cc kiu d liu c bn CHAR(n)
VARCHAR(n)
Int
Smallint
Numeric(p,d)
Real, double
float(n)
Datetime
Cc kiu d liu khc XML
Geometry
Variant 35
36
-
7/23/2019 Ti liu cc cht
19/19
37
Ti liu tham kho[Cattel,1997] R. G. G Cattel et al. The Object Database Standard: ODMG 2.0.
Morgan-Kaufmann, 1997
[Chen, 1976] The entity-relationship model: toward a unified view of data.
TODS, 1(1), 1976
[Chen, 2002] P. Chen. Entity-Relationship Modeling: Historical Events, Future
Trends, and Lessons Learned. Software Engeenering, 2002
[Codd, 1980] E. F. Codd. Data Models in Database Management. Proc. of
SIGMOD, 1980
[Codd, 1970] E. F. Codd. The relational model of data for large shared data
banks. CACM, 13(6), 1970
[McHugh,1997] J. McHugh et al. Lore: A Database Management System for
Semistructured Data. SIGMOD Record, 26(3), 1997
[XML] Extensible Markup Language. http://www.w3.org/XML
[Zdonik,1986] S. B. Zdonik et al. Language and Methodology for Object-
Oriented Database Environments. Proc. Of the Hawai
International Conference on System Sciences, 1986
38