Bài 2 1 Mô hình thực thể và chuẩn hóa.ppt

Embed Size (px)

Citation preview

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    1/42

    Session 2

    E-R (Entity Relationship)

    Model and Normalization

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    2/42

    RDBMS and Data Management/ Session 2/2 of 15

    Mc tiu bi hc

    nh ngha v m t v m hnh ha d liu. Nhn bit v m t cc thnh phn m hnh

    E-R

    Nhn bit cc quan h gia cc thc th Gii thch v lc E-R, cc k hiu s dng

    v v th hin cc quan h

    M t v cc dng chun Cc ton t quan h

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    3/42

    RDBMS and Data Management/ Session 2/3 of 15

    Data Modeling

    Data Model - l nhm cc cng c l thuyt m td liu, cc mi quan h v ng ngha ca chng.M hnh d liu cng bao gm cc rng buc ton

    vn m d liu phi tun theo. M hnh ha d liu c th c chia lm ba bc

    chnh sau:

    Conceptual Data Modeling (khi nim) Logical Data Modeling

    Physical Data Modeling

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    4/42

    RDBMS and Data Management/ Session 2/4 of 15

    Data Modeling

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    5/42

    RDBMS and Data Management/ Session 2/5 of 15

    Entity-Relationship (ER) model 1-4

    Cc m hnh d liu c phn thnh ba nhm khc nhau Object-based logical models Record-based logical models Physical models

    M hnh Entity-Relationship (E-R) thucvnhm utin. M hnhdatrn tngngin: D liuc thcnhnbitnhl ccitngtrong thgiithcgi l thcthv cc miquan htntigiachng.

    M hnh E-R gm 5 thnh phn c bn: Entity (thc th) Relationship (quan h) Attributes (thuc tnh) Entity Set (tp thc th) Relationship Set (tp quan h)

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    6/42

    RDBMS and Data Management/ Session 2/6 of 15

    Entity-Relationship (ER) model 1-4

    Accounts

    Production

    Human Resource

    Logistics

    works in

    Employee

    Entity Set

    Employee

    Entities

    Department

    Entity Set

    Department

    Entities

    Relationship

    Set

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    7/42RDBMS and Data Management/ Session 2/7 of 15

    Entity-Relationship (ER) model 2-4 Mi quan h gn kt mt hay nhiu thcthvinhau, cphn lm 3 loi:

    Self relationships: Cc miquan hgiacc

    thcthtrong cng tpthcth.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    8/42RDBMS and Data Management/ Session 2/8 of 15

    Entity-Relationship (ER) model 2-4 Binary relationships: Cc mi quan h tn

    tigiacc thcthcahai tpthcthkhcnhau.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    9/42RDBMS and Data Management/ Session 2/9 of 15

    Entity-Relationship (ER) model 2-4 Ternary relationships: Mi quan h tn ti

    gia ba thc th ca cc tp thc th khcnhau.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    10/42RDBMS and Data Management/ Session 2/10 of 15

    Entity-Relationship (ER) model 3-4

    Cc mi quan h c th c phn loi theo yu t nh xnh sau: One-to-One: Loi nh x ny tn ti khi mt thc th ca mt

    tp thc th c th gn kt ch vi mt thc th ca tp thc th

    khc.

    f

    Vehicle

    Entity Set

    registration

    Registration

    Entity Set

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    11/42RDBMS and Data Management/ Session 2/11 of 15

    Entity-Relationship (ER) model 3-4 Cc mi quan h c th c phn loi theo yu t nh xnh sau:

    One-to-Many:Loinh xny tntikhi mtthcthcatpthcthc thcgnktvinhiuhnmtthcthcamttpthcthkhc.

    f

    Vehicle

    Entity Set

    f

    f

    Vehicle

    Entity Set

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    12/42RDBMS and Data Management/ Session 2/12 of 15

    Many-to-One: Loi nh x nay tn ti khi nhiu thc th ca mttp thc th kt hp vi mt thc th ca mt tp thc th khc.S kt hp ny c thc hin khng k thc th k sau kthp vi cc thc th khc hay khng.

    f

    h

    f

    Vehicle

    Entity set

    F

    Location

    Entity set

    Entity-Relationship (ER) model 4-4

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    13/42RDBMS and Data Management/ Session 2/13 of 15

    Many-to-Many: Loi nh x ny tn ti khi mt sthc th ca tp thc th c th kt hp vi mt sthc th ca tp thc th khc.

    Account

    Entity Set

    Customer

    Entity Set

    Entity-Relationship (ER) model 4-4

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    14/42

    RDBMS and Data Management/ Session 2/14 of 15

    The E-R diagram is a graphical representationof the E-R model.

    The symbols used for the various componentscan be seen in the following table:

    Entity-Relationship Diagrams

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    15/42

    RDBMS and Data Management/ Session 2/15 of 15

    Entity-Relationship Diagrams

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    16/42

    RDBMS and Data Management/ Session 2/16 of 15

    Entity-Relationship Diagrams Steps to construct an E-R diagram are:

    Tp hp tt c cc d liu cn c m hnh ha Xc nh d liu c th c m hnh ha nh cc thc th

    thc t

    Nhn ra cc thuc tnh cho mi thc th Phn loi cc tp thc th thnh cc tp thc th mnh hoc

    yu Phn loi cc thuc tnh thc th thnh thuc tnh kha,

    thuc tnh a tr, thuc tnh phc hp, thuc tnh dn xut,..v..v.

    Nhn ra cc quan h gia cc thc th khc nhau. S dng cc k hiu v cc thc th, thuc tnh v cc mi

    quan h ca chng. S dng cc k hiu thch hp trong khi

    v cc thuc tnh.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    17/42

    RDBMS and Data Management/ Session 2/17 of 15

    Customer

    CusName

    CusAddress

    CusGender

    CusPhone

    CusEmail

    CusUser

    CusPass

    SAnswer

    Registerdate

    Have

    Classify

    N

    1

    ClassID

    ClassName

    Description

    CusID

    Status

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    18/42

    RDBMS and Data Management/ Session 2/18 of 15

    Customer

    CusName

    CusAddress

    CusGender

    CusPhone

    CusEmail

    CusUser

    CusPass

    SAnswer

    Registerdate

    Order

    1

    Have

    N

    OrdID

    OrderDate

    ShipAddress

    RequiredateDate

    ShippedDate

    ShipName

    ShipPhone

    StatusHave

    Classify

    N

    1

    ClassID

    ClassName

    Description

    CusID

    Status

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    19/42

    RDBMS and Data Management/ Session 2/19 of 15

    Normalization

    Chun ha l qu trnh tch bng (phn r) thnh ccbng nh hn da vo cc ph thuc hm m khnglm mt thng tin.

    Cc dng chun l cc ch dn thit k cc bngtrong CSDL.

    Mc ch ca chun ha l loi b cc d tha v Yu cu v khng gian lu tr

    Trnh cc li khi thao tc d liu (Insert, Delete,Update). Ch : chun ha lm tng thi gian truy vn.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    20/42

    RDBMS and Data Management/ Session 2/20 of 15

    Cc dng chun(Normal forms)Bngvicc thuctnh atr

    Chun 4(4NF)

    Chun1(1NF)

    Chun2(2NF)

    ChunBoyceCodd

    (BCNF)Chun 3(3NF)

    Chun 5(5NF)

    Loi b ccthuc tnh

    a tr

    Loi b ccph thucb phn

    Loi b ccph thucbc cu

    Ch cn cc phthuc X A

    m X l kha

    Loi b ccph thuc

    a tr

    Loi b ccph thuc

    ni

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    21/42

    RDBMS and Data Management/ Session 2/21 of 15

    1NF (1) Ban u, Codd (1972) m t ba dng

    chun (1NF, 2NF v 3NF), tt c da trn sph thuc gia cc thuc tnh ca quan h. First Normal Form - t c dng chun mt:

    To ra cc bng ring bit cho mi nhm dliu lin quan.

    Cc ct ca bng phi c cc gi tr nguyn t(atomic values)

    Tt c cc thuc tnh kha phi c nhndng

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    22/42

    RDBMS and Data Management/ Session 2/22 of 15

    1NF (2)

    MASV HOTEN IACHIMA

    MONTENMON

    TENGV PHONG IEM

    A01 L Na 12 Thi HM01 CSDL Mai P13 8

    M02 Anh 2 Lan P25 5

    A03 Trn An 56 M My M01 CSDL Mai P13 6

    A02 H Nam 34 CuG

    M04 Ton 1 Nam P40 10

    M02 Anh 2 Lan P25 7

    M03 Vi m Chi P30 9

    y khng phi l dng chun 1NF v thuc tnhMAMON,TENMON, TENGV, PHONG, DIEM c min gi tr"a tr".

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    23/42

    RDBMS and Data Management/ Session 2/23 of 15

    1NF (3)

    Nhn xt:Hai bng quan h trn u cng qun l mt mng thng tin camt nhm i tng, c cu trc logic nh nhau nhng cu trc vt l khcnhau. Bng 1 quan h c 3 phn t, bng 2 quan h c 6 phn t. Chng tac th a mi quan h v dng 1NF.

    MASV HOTEN IACHIMA

    MONTENMON

    TENGV PHONG IEM

    A01 L Na 12 Thi H M01 CSDL Mai P13 8

    A01 L Na 12 Thi H M02 Anh 2 Lan P25 5

    A03Trn An

    56 M My M01 CSDL Mai P13 6A02 H Nam 34 Cu G M04 Ton 1 Nam P40 10

    A02 H Nam 34 Cu G M02 Anh 2 Lan P25 7

    A02 H Nam 34 Cu G M03 Vi m Chi P30 9

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    24/42

    RDBMS and Data Management/ Session 2/24 of 15

    Dng chun 2 - 2NF (1)

    Mtquan h 2NF nuquan h dng1NF v ccthuctnh khng kha phthuchon ton vo kha. BngR c cc phthuchm sau:

    (1) Masv Hoten, Diachi

    (2) Mamon Tenmon, Tengv, Phong (3) Masv, Mamon iem (4) Tengv Phong

    Kha chnh: Masv, Mamon.

    Tenmon, Hoten, Diachi l cc thuctnh khng kha vchphthucvo mtphncakha chat2 NF.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    25/42

    RDBMS and Data Management/ Session 2/25 of 15

    MASV HOTEN IACHIMA

    MONTENMON

    TENGV PHONG IEM

    A01 L Na 12 Thi H M01 CSDL Mai P13 8

    A01 L Na 12 Thi H M02 Anh 2 Lan P25 5

    A03 Trn An 56 M My M01 CSDL Mai P13 6

    A02 H Nam 34 Cu G M04 Ton 1 Nam P40 10

    A02 H Nam 34 Cu G M02 Anh 2 Lan P25 7

    A02 H Nam34 Cu G

    M03 Vi m Chi P30 9

    MASV HOTEN IACHI

    A01 L Na 12 Thi H

    A03 Trn An 56 M My

    A02 H Nam 34 Cu G

    MAMON

    TENMON

    TENGV PHONG

    M01 CSDL Mai P13

    M02 Anh 2 Lan P25

    M04 Ton 1 Nam P40

    M03 Vi m Chi P30

    MASVMA

    MONIEM

    A01 M01 8

    A01 M02 5

    A03 M01 6

    A02 M04 10

    A02 M02 7

    A02 M03 9

    R1 R3R2

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    26/42

    RDBMS and Data Management/ Session 2/26 of 15

    Dng chun 2 - 2NF (2)

    Mtquan h dng2NF nuthamn 1 trong cc iukinsau Kha chnh chgm1 thuctnh. Bngkhng c cc thuctnh khng kha. Ttccc thuctnh khng kha phthuchon ton

    vo tpcc thuctnh kha chnh. Gi

    Chkimtra cc quan hc t2NF nuquan hc

    kho chnh gm2 thuctnh trln. chuynquan htdng1NF sang dng2NF, ta

    dng php chiu.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    27/42

    RDBMS and Data Management/ Session 2/27 of 15

    Cc likhi dng2NF

    LcR2(Mamon, Tenmon, Tengv, Phong) gmccphthuchm: (2) Mamon Tenmon, Tengv, Phong

    (4) Tengv Phong

    R2 t2NF. Vn

    Liuc thphn phng cho 1 gio vin khi gio vinchadymn no?

    Khi xa 1 mn hc, liuc lm mtthng tin vgiovin v phng?

    Khi iphng cho 1 gio vin th phicpnhtlibao nhiu dng?

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    28/42

    RDBMS and Data Management/ Session 2/28 of 15

    Dngchun33NF

    Mtquan h 3NF nuquan h 2NF v khng ccc phthucbccu. Mtlcquan hR 3NF nuvimiphthuc

    X A ngtrong R v A X th hocX l kha baohm hocA l nguyn t.

    A l thuctnh nguyn t(thuctnh kha)nuA lphntcamtkha caR (R c thc nhiukha),ngcliA l phi nguyn t.

    Gista c quan hsvien(masv, hoten, khuvuc,congdiem)

    Ta thynu1 thuctnh cxc nhbi1 thuctnh khngkho, n gil thuctnh bccu.Vycongdiemphthucvo khuvuc. chia thnh 2 quan h(3NF): svien(masv,hoten, khuvuc) v khu(khuvuc, congdiem)

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    29/42

    RDBMS and Data Management/ Session 2/29 of 15

    MASV HOTEN IACHI

    A01 L Na 12 Thi H

    A03 Trn An 56 M My

    A02 H Nam 34 CuG

    MA

    MON

    TEN

    MONTENGV PHONG

    M01 CSDL Mai P13

    M02 Anh 2 Lan P25

    M04 Ton 1 Nam P40

    M03 Vi m Chi P30

    MASVMA

    MONIEM

    A01 M01 8

    A01 M02 5

    A03 M01 6

    A02 M04 10

    A02 M02 7

    A02 M03 9

    R1 R3R2

    MAMON

    TENMON

    M01 CSDL

    M02 Anh 2

    M04 Ton 1

    M03 Vi m

    TENGV PHONG

    Mai P13

    Lan P25

    Nam P40

    Chi P30

    R2 R4

    Mamon Tenmon, Tengv, PhongTengv Phong

    MASV HOTEN IACHI

    A01 L Na 12 Thi H

    A03 Trn An 56 M MyA02 H Nam 34 Cu G

    R1

    MASVMA

    MONIEM

    A01 M01 8A01 M02 5

    A03 M01 6

    A02 M04 10

    A02 M02 7

    A02 M03 9

    R3

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    30/42

    RDBMS and Data Management/ Session 2/30 of 15

    Relational Operators

    M hnh quan h c da trn c s i squan h. i s quan h bao gm tphp ccphp ton hotngtrn cc quan h.

    Mi ton tgi1 hoc2 quan hnhu vocan v ktququan hmil ura.

    SELECT: This operator is used to extract data that

    satisfies a given condition. The lowercase Greek lettersigma,,is used to denote selection.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    31/42

    RDBMS and Data Management/ Session 2/31 of 15

    Select

    Php ton ny rt ra cc bn ghi thamn iu kin no y.

    Gi E l mt iu kin no bao

    gm: Cc ton hng (hng, tn thuc tnh, vi

    hng chui ta bao trong du nhy n

    hoc kp) Cc quan h s hc (, , , ) Cc php ton logic: v, hoc v ph nh.

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    32/42

    RDBMS and Data Management/ Session 2/32 of 15

    Project PROJECT: This operator is used to project

    certain details of a relational table. It onlydisplays the required details leaving outcertain columns. The PROJECT operator is

    denoted by the Greek letter pi, . php chiu l ta nhn c mt quan h

    t mt quan h cho bng cch b bti mt s thuc tnhno .

    V d c quan h svien (masv, ho, ten,gtinh, nsinh, dchi, diemvt) ta ly ra bngsv(masv, ho, ten, diemvt)

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    33/42

    RDBMS and Data Management/ Session 2/33 of 15

    Product

    PRODUCT: This operator is denoted byx. It helps combine information fromtwo relational tables.

    Php nhn kt hp mi bn ghi cabng 1 vi tt c cc bn ghi ca bng2 tc l n to ra tt c cc kt hp c

    th c gia cc bn ghi ca 2 bng

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    34/42

    RDBMS and Data Management/ Session 2/34 of 15

    Union (1)

    UNION: The UNION operator collects datafrom different tables and presents a unifiedversion of the complete data. The union

    operation is represented by the symbol,U. Cho R v S l hai quan h trn cng tp thuc

    tnh U (ta gi cc quan h R v S l tngthch). Khi hp ca quan h R v S l mt

    quan h H trn U, bao gm cc phn t thucR hoc thuc S. Hp ca R v S c k hiul R + S: R + S = {t | t R hoc t S}

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    35/42

    RDBMS and Data Management/ Session 2/35 of 15

    Union (2)

    A B C A B C

    a1 b1 c1 x1 y1 z1

    a2 b2 c2 a1 b1 c1

    a3 b3 c3 x2 y2 x2

    A B C

    a1 b1 c1

    a2 b2 c2

    a3 b3 c3

    x1 y1 z1

    x2 y2 z2

    quan h H = R + S l:Cho hai quan h R v S nh sau:

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    36/42

    RDBMS and Data Management/ Session 2/36 of 15

    Intersection(1) INTERSECT:This operator generates datathat holds true in all the tables it is applied

    on. It is based on the intersection settheory and is represented by the

    symbol. Cho R v S l hai quan h trn cng tp

    thuc tnh U. Khi giao ca quan h R vS l mt quan h G trn U, bao gm cc

    phn t thuc R v thuc S. Giao ca R vS c k hiu l G=R*S:R*S = {t | t R v t S}

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    37/42

    RDBMS and Data Management/ Session 2/37 of 15

    Intersection (2)

    A B C A B C

    a1 b1 c1 x1 y1 z1

    a2 b2 c2 a1 b1 c1

    a3 b3 c3 x2 y2 x2

    Cho hai quan h R v S nh sau: quan h G = R.S l:

    A B C

    a1 b1 c 1

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    38/42

    RDBMS and Data Management/ Session 2/38 of 15

    DIFFERENCE (1) DIFFERENCE:This operator, symbolized

    as -. It generates data from differenttables, that holds true in one table and notthe other.

    Hiu ca 2 quan h R v S trn cng tpthuc tnh U l mt quan h T trn U, baogm cc phn t thuc R v khng thuc

    S. Hiu ca R v S c k hiu l R - S:R - S = {t | t R v t S}

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    39/42

    RDBMS and Data Management/ Session 2/39 of 15

    DIFFERENCE (2)

    A B C A B C

    a1 b1 c1 x1 y1 z1

    a2 b2 c2 a1 b1 c1

    a3 b3 c3 x2 y2 x2

    Cho hai quan h R v S nh sau: quan h T = R-S l:

    A B C

    a2 b2 C2a3 b3 c3

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    40/42

    RDBMS and Data Management/ Session 2/40 of 15

    JOIN (1) JOIN: The join operation is anenhancement to the product operation. It

    allows a selection to be performed on theproduct of tables.

    Cho hai quan h R(U), S(V). Php kt nit nhin (Natural Join) ca hai quan h Rv S l quan h c k hiu l P = R|>

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    41/42

    RDBMS and Data Management/ Session 2/41 of 15

    Phnt

    HOTEN GIOITINH

    t1 Nguyn Vn Tun Nam

    t2 Nguyn Huy Khi Nam

    t3 L Th Hoa N

    t4 L Th Hin N

    t5 Phm Th o N

    Phnt

    HOTEN TUOI

    t1 Nguyn Vn Tun 30

    t2 Nguyn Huy Khi 32t3 L Th Hoa 25

    t4 L Th Hin 28

    t5 Phm Th o 22

    Phn t HOTEN TUOI GIOITINH

    t1 Nguyn Vn Tun 30 Nam

    t2 Nguyn Huy Khi 32 Nam

    t3 L Th Hoa 25 Nt4 L Th Hin 28 N

    t5 Phm Th o 22 N

  • 8/14/2019 Bi 2 1 M hnh thc th v chun ha.ppt

    42/42

    DIVIDE DIVIDE:The division operation, denoted

    by , is suited to queries that include thephrase for all.

    Cc thuc tnh ca bng chia lun l tpcon ca bng b chia