65

Schema Transformations

  • Upload
    keelty

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Schema Transformations. Sự tương đương giữa các lược đồ. Cùng mô hình nghiệp vụ (business domain) có thể được mô hình hóa trong nhiều cách khác nhau. Cùng 1 sơ đồ ý niệm có thể ánh xạ thành lược đồ logical theo nhiều cách - PowerPoint PPT Presentation

Citation preview

Page 1: Schema  Transformations
Page 2: Schema  Transformations

Cung mô hinh nghiêp vu (business domain) co thê đươc mô hinh hoa trong nhiêu cach khac nhau.

Cung 1 sơ đô y niêm co thê anh xa thanh lươc đô logical theo nhiêu cach

Cung 1 lươc đô logical co thê đươc thưc thi theo nhiêu cach khac nhau.

Page 3: Schema  Transformations
Page 4: Schema  Transformations

Lươc đô y niêm vơi quan hê 2 ngôi

Hai lươc đô co tương đương nhau không??

Page 5: Schema  Transformations

• Tư cac quan hê 1 ngôi trong sơ đô 1 co thê dich thanh cac quan hê 2 ngôi trong sơ đô 2

Patient smokes iff Patient indulges in Vice 'S'

Patient drinks iff Patient indulges in Vice 'D' • Va ngươc laiPatient indulges in Vice iff

Patient smokes and Vice has ViceCode 'S' or

Patient drinks and Vice has ViceCode 'D' Tương đương ngư canh (contextual equivalence )

Page 6: Schema  Transformations

Tương đương ngư canh vi no bô sung ngư canh co tinh đinh nghia (definitional context) vao sơ đô gôc, thưa nhân co "virtual object types" (e.g., Vice tôn tai ngâm đinh trong lươc đô 1)

Page 7: Schema  Transformations
Page 8: Schema  Transformations

Viêc săp xêp lai 1 lươc đô nay cho giông vơi 1 lươc đô khac goi la phep biên đôi lươc đô y niêm.

Co thê thưc hiên nhiêu phep biên đôi phưc trong ORM ma không cân phai dung đên cac chu thich đê hô trơ

Page 9: Schema  Transformations

Giup ta phân biêt đươc sư khac biêt giưa cac chon lưa thiêt kê.

Nêu 2 lươc đô đươc xây dưng đôc lâp vơi nhau co thê tich hơp vơi nhau 1 phân hay hoan toan, chi cân giai quyêt đươc sư khac nhau trong cach ma môi lươc đô dung đê mô hinh miên nghiêp vu.

Page 10: Schema  Transformations

Nhơ phep biên đôi lươc đô y niêm ma co thê thay đôi 1 lươc đô gôc thanh 1 lươc đô khac co thê dê dang hơn cho viêc thưc thi. Qua trinh biên đôi nay đươc goi la conceptual schema optimization.

Page 11: Schema  Transformations

Tư 2 lươc đô y niêm trong vi du 1, tao cac câu truc bang (table scheme ) va bang phân bô mâu tương ưng như sau:

Page 12: Schema  Transformations

• Trong 1 sô ưng dung thi dung dang 1 (1 bang) hiêu qua hơn, không cân phai thưc thi phep join khi muôn hiên thi thông tin moi bênh nhân.

• Nhưng nêu cac tât nghiên (vice) thương xuyên thay đôi thi giai phap dung 2 bang lai hiêu qua hơn

• Nêu sau khi tôi ưu hoa 1 lươc đô y niêm khi anh xa sang bang không hiêu qua thi co thê dung phep denormalization.

Page 13: Schema  Transformations

• Chuyên biêt hoa va khai quat hoa Predicate tương tư như chuyên biêt hoa va khai quat hoa cac loai đôi tương, nhưng không cân phai xac đinh môi liên kêt subtype nao giưa cac predicate

• Môt predicate co thê đươc specialized nêu rang buôc gia tri (value constraint) hay rang buôc tân sô (frequency constraint) la 1 sô hưu han.

• Trong vi du drinker-smoker, Vice co rang buôc gia tri { 'S', 'D' }

Page 14: Schema  Transformations

• Vi co chinh xac 3 loai huy chương , quan hê 3 ngôi (ternary) co thê đươc chuyên biêt hoa thanh 3 quan hê 2 ngôi, môi ngôi cho 1 loai huy chương.

• Khi loai đôi tương MedalKind đươc sap nhâp (is absorbed) vao predicate 3 ngôi, no chia thanh( chuyên biêt hoa) thanh 3 predicate 2 ngôi.

Phep biên đôi nay đươc goi la object type absorption.

Page 15: Schema  Transformations

Phep biên đôi ngươc lai khai quat hoa tư 3 quan hê nhi phân thanh 1 quan hê tam phân băng cach rut ra (extracting) loai đôi tương MedalKind

Phep biên đôi nay đươc goi la object type extraction.

Page 16: Schema  Transformations

In general, when an n-valued object type is absorbed into a predicate, the n specialized predicates that result each have one less role than the original (since the object type has been absorbed).

Page 17: Schema  Transformations

PSGI: “R co thê đươc chuyên biêt hoa thanh S1 .. Sn băng cach sap nhâp B”

Page 18: Schema  Transformations

Cac predicate R va S, theo thư tư, co m + 1 roles va m roles, vơi m 1. Cac loai đôi tương A1 .. Am va B không cân phân biêt. Loai gia tri cua B co n gia tri b1 .... bn. ◦ Nêu m =1 biên đôi 1 quan hê hai ngôi (binary)

thanh n quan hê 1 ngôi (unary)◦ Nêu m = 2, biên đôi 1 quan hê 3 ngôi thanh n

quan hê nhi phân.

Page 19: Schema  Transformations

Phep biên đôi tư trai sang phai chuyên biêt hoa predicate R thanh n predicate S1 .. Sn băng cach sat nhâp loai đôi tương B. Phep biên đôi ngươc lai tư phai sang trai khai quat hoa cac predicate ngăn hơn thanh 1 predicate dai hơn băng cach rut ra B.

Page 20: Schema  Transformations

• PSG1 vân đung ngay ca khi co cac rang buôc khac đươc thêm vao. Tuy nhiên khi bât ky 1 rang buôc nao đươc bô sung vao thi phai biên đôi thanh 1 rang buôc phu tương đương trong lươc đô biên đôi tương ưng.

• Hê qua: If a UC in R spans a combination of B's role and other roles, a UC spans the specialization of these other roles in S1 .. Sn; and conversely.

Page 21: Schema  Transformations
Page 22: Schema  Transformations

Cac UC trong lươc đô trai tương đương vơi cac rang buôc loai trư (exclusion constraint ) trong lươc đô phai.

Exclusion constraint means that no row of values may appear in more than one of the Si fact tables

Page 23: Schema  Transformations

UC bên lươc đô trai tương đương vơi rang buôc loai trư (exclusion constraint) bên lươc đô phai.

Page 24: Schema  Transformations

If a UC spans all roles of R except for B's role, then S1, .. Sn, are mutually exclusive; and conversely.

Page 25: Schema  Transformations

If Ai’s role (or role disjunction) in R is mandatory, then the disjunction of its specialized roles is mandatory, and conversely (1 i m).

Page 26: Schema  Transformations

Rang buôc băt buôc (mandatory constraint) trong sơ đô (a) Anh xa thanh 1 rang buôc inclusive-or trong sơ đô (b).

Page 27: Schema  Transformations

If R is a ternary with a UC spanning just B's role and one other role, then adding a frequency constraint of n to this other role is equivalent to adding an equality constraint over the specialized versions of that role.

Page 28: Schema  Transformations
Page 29: Schema  Transformations

If R is a ternary with a UC spanning just B's role and one other role, then adding a mandatory role constraint and frequency constraint of n (the number of possible values for B) to this other role is equivalent to making each specialized version of that role mandatory.

Page 30: Schema  Transformations
Page 31: Schema  Transformations

UC ngoai trong (a) chi ra răng môi xe co nhiêu nhât môt lai xe chinh (main driver) va nhiêu nhât 1 lai xe dư trư (backup driver).

Page 32: Schema  Transformations

Lươc đô (a) đươc anh xa thanh (b) băng cach sap nhâp loai đôi tương DriverStatus vao predicate “drives”, chuyên biêt hoa thanh 2 predicate main driver va backup driver.

Phep biên đôi ngươc lai khai quat hoa cac predicate driver chuyên biêt thanh môt predicate tông quat băng cach rut ra loai đôi tương DriverStatus.

Vi loai đôi tương nay xuât hiên trong 1 loai quan hê khac, không phu hơp vơi PSG 1.

Page 33: Schema  Transformations
Page 34: Schema  Transformations

"LHS" viêt tăt cua "left-hand schema" “RHS” viêt tăt cua "right-hand schema".

Page 35: Schema  Transformations

A, B va C tương ưng vơi Driver, DriverStatus, va Car; Rang buôc ngang băng đươc ngâm đinh bơi 2 rang buôc role băt buôc trên Driver.

Page 36: Schema  Transformations

Co thê chuyên biêt hoa sơ đô ??? Măc du không co loai đôi tương DriverStatus

nhưng rang buôc tân sô (frequency constraint) cho thây la each car has at most two drivers cho phep chuyên biêt hoa thanh 2 trương hơp

Page 37: Schema  Transformations

Vi viêc phân biêt ra 2 trương hơp nay không co trong sơ đô gôc nên phep biên đôi nay không tương đương vơi lươc đô gôc

Page 38: Schema  Transformations

Page 708

Page 39: Schema  Transformations

Liên quan đên viêc biên đôi 1 lươc đô y niêm thanh 1 lươc đô y niêm khac ma co thê thưc thi hiêu qua hơn.

Bôn yêu tô cân xem xet khi tôi ưu hoa lươc đô: ◦ Target system◦ Query pattern◦ Update pattern◦ Clarity.

Page 40: Schema  Transformations

Trươc khi tôi ưu hoa,lươc đô y niêm toan cuc phai đươc hoan tât va hơp lê

Bât ky chon lưa anh xa nao cung nên khai bao.

Thu tuc bao gôm hai giai đoan chinh sau:◦ Transform to reduce the number of mapped

tables (steps 1 and 2) ◦ Transform to simplify individual tables (steps

3-5)

Page 41: Schema  Transformations

Quy trinh anh xa tư lươc đô y niêm thanh lươc đô quan hê đươc goi la deconceptualization

Ngay nay cac nha thiêt kê database thương tao lươc đô y niêm trươc băng ORM, ER, hay UML sau đo ap dung thu tuc anh xa đê tao lươc đô quan hê.

Trươc đây khi thiêt kê database, thương dung ky thuât normalization, môt sô ngươi hiên vân dung ky thuât nay chu yêu đê tinh chinh lươc đô quan hê.

Page 42: Schema  Transformations

Nêu lươc đô y niêm la đung, thi thiêt kê bang băng Rmap luôn ơ dang chuân, vi vây cac nha mô hinh hoa ORM không cân phai dung đên ky thuât chuân hoa.

Tuy nhiên biêt vê normalization giup hơp nhât đươc hương thiêt kê va tao điêu kiên đê lam viêc vơi nhưng ngươi con sư dung phương phap cu normalization.

Page 43: Schema  Transformations

Co hai ky thuât chuân hoa:◦ Synthesis ◦ Decomposition ( hay con goi "analysis").

Môi ky thuât chi thưc hiên trên cac lươc đô quan hê va tâp cac phu thuôc ham (functional dependencies - FD).

Kêt qua chuân hoa: tâp cac bang ơ dang chuân (normal form)

Page 44: Schema  Transformations
Page 45: Schema  Transformations

Môt bang không ơ dang chuân 1NF thi đươc goi la "unnormalized" hay Non-First Normal Form (NFNF = NF2).

Môt bang ơ dang chuân cao hơn cung co nghia la no cung ơ cac dang chuân thâp hơn

Vi du: môt bang ơ dang 3NF đương nhiên ơ dang chuân 1NF va 2NF

Page 46: Schema  Transformations

Dang chuân nao??◦ Chuân NF2

Repeat attribute : regNr, course, rating Repeat group: Result

Page 47: Schema  Transformations

Dang chuân nao??◦ Bang (a): 2NF◦ Bang (b): 1NF

Page 48: Schema  Transformations

Nêu dưa vao bang (b), phat biêu cac luât cơ ban (elementary facts), rôi xây dưng lươc đô y niêm va dung Rmap đê co lươc đô quan hê

Page 49: Schema  Transformations

Dang chuân nao??◦ Bang (a): 3NF◦ Bang (b) : 2NF

Page 50: Schema  Transformations

Lươc đô y niêm cho hinh (b) va lươc đô quan hê đung băng ky thuât Rmap

Page 51: Schema  Transformations

Môt khoa đươc goi la khoa sơ câp nêu co môt FD tư no đên 1 sô thuôc tinh khac trong bang.

Môt thuôc tinh đươc goi la thuôc tinh khoa sơ câp (elementary key attribute) nêu no thuôc vao 1 trong cac khoa sơ câp.

Page 52: Schema  Transformations

Co 2 khoa sơ câp la cityNr va (cityName, stateCode)

Bang thuôc dang chuân nao???◦ Elementary key normal form (EKNF)

Page 53: Schema  Transformations

Môt lươc đô bang ơ dang EKNF nêu va chi nêu tât ca cac FD cua no đêu băt đâu tư ca khoa hay kêt thuc ơ cac thuôc tinh khoa cơ ban.

Page 54: Schema  Transformations

Bang ơ dang chuân nao? Chuân BCNF?◦ Dang chuân EKNF

Page 55: Schema  Transformations

Dung Rmap đê tao lươc đô quan hê đung Bang ơ dang chuân BCNF

Page 56: Schema  Transformations

A table T in a database schema with FD set F is said to be in Boyce-Codd normal form (BCNF) when the following property holds. For any functional dependency X → A implied by F that lies in T, where A is a single attribute that is not in X, X must be a superkey for T. A database schema is in BCNF when all the tables it contains are in BCNF.

Page 57: Schema  Transformations

• Khao sat 1 lươc đô quan hê đê quan ly lich lam viêc cua nhân viên. Môi nhân viên (employee) lam viêc 1 hay 2 ca (shift) môi ngay ơ cưa hang. Môi ca 4 tiêng. Trong môi ca, nhân viên sẽ đươc phân lam viêc ơ bô phân (station) nao đo trong cưa hang ( như quây thâu ngân, kho sach,…) . Chi co duy nhât 1 nhân viên cho môi bô phân trong suôt ca lam viêc. Lươc đô quan hê đươc thiêt kê như sau:

schedule (employee ID, date, shift, station, worked shift?)

Page 58: Schema  Transformations

• Vơi quy tăc nghiêp vu (one person per station per shift), co hai khoa dư tuyên cho lươc đô trên la:– employee ID + date + shift – date + shift + station

• Cac FD cua lươc đô :– employee ID + date + shift - > station,

worked shift? – date + shift + station - > employee ID,

worked shift? • Lươc đô thuôc chuân BCNF??

Page 59: Schema  Transformations

Khao sat 1 lươc đô quan hê sau: movie info ( title , star , producer )

Môt phim co thê co nhiêu hơn 1 star, cung co thê co nhiêu hơn 1 producer. Cung 1 star co thê đong nhiêu hơn 1 phim, 1 producer co thê lam nhiêu hơn 1 phim.

Page 60: Schema  Transformations

• Khoa cua lươc đô bao gôm tât ca cac thuôc tinh không co thuôc tinh không khoa Lươc đô ơ dang chuân BCNF

• Tuy nhiên lươc đô nay co cac bât thương (anomalies):– You cannot insert the stars of a movie without knowing

at least one producer. – You cannot insert the movie ‘s producer without

knowing at least one star. – If you delete the only producer from a movie, you lose

information about its stars. – If you delete the only star from a movie, you lose

information about its producers. – Each producer ’ s name is duplicated for every star in

the movie. By the same token, each star ’ s name is duplicated for each movie producer.

Page 61: Schema  Transformations

Co it nhât 2 entity không liên quan gi đên nhau trong quan hê nay:◦ Môt thưc thê quan ly môi quan hê giưa phim va

cac star cua no◦ Môt thưc thê quan ly môi quan hê giưa phim va

cac producers cua no.Gây ra bât thương

Page 62: Schema  Transformations

Đinh nghia: Quan hê ơ dang chuân 4NF nêu no ơ dang chuân BCNF va không co phu thuôc đa tri (multivalued dependency)

Page 63: Schema  Transformations

• Phu thuôc đa tri xay ra khi vơi môi gia tri cua thuôc tinh A, tôn tai 1 tâp hưu han cac gia tri cua thuôc tinh B co liên quan va 1 tâp hưu han cac gia tri cua thuôc tinh C cung co liên quan đên gia tri cua thuôc tinh A đo. Thuôc tinh B va C đôc lâp nhau.

• Vơi môi tiêu đê phim (movie title) co 1 nhom cac diên viên (stars) co liên quan đên phim đo. Cung vơi môi phim co 1 nhom cac đao diên (producers) cua phim đo. Cac diên viên va nha san xuât phim đôc lâp nhau.

Page 64: Schema  Transformations

Ky hiêu:

title - >> star title - >> producer

Đoc la “title multidetermines star and title multidetermines producer. ”

FD la trương hơp đăc biêt cua phu thuôc đa tri nhưng thuôc tinh đươc xac đinh chi la 1 gia tri đơn hơn la 1 nhom cac gia tri.

Page 65: Schema  Transformations

• Đê loai bỏ phu thuôc đa tri va chuân hoa thanh dang chuân 4NF: phân rã quan hê, đăt môi phân cua phu thuôc vao 1 quan hê riêng:movie stars ( title , star ) movie producers ( title , producer )

Co thê thêm hay xoa cac diên viên hay nha san xuât 1 cach tuy y ma không bi anh hương lân nhau.

Tên cac diên viên va nha san xuât chi xuât hiên 1 lân cho môi phim