Tài liệu cực chất

download Tài liệu cực chất

of 19

Transcript of Tài liệu cực chất

  • 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