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
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.
Lươc đô y niêm vơi quan hê 2 ngôi
Hai lươc đô co tương đương nhau không??
• 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 )
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)
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ơ
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.
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.
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:
• 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.
• 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' }
• 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.
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.
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).
PSGI: “R co thê đươc chuyên biêt hoa thanh S1 .. Sn băng cach sap nhâp B”
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.
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.
• 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.
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
UC bên lươc đô trai tương đương vơi rang buôc loai trư (exclusion constraint) bên lươc đô phai.
If a UC spans all roles of R except for B's role, then S1, .. Sn, are mutually exclusive; and conversely.
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).
Rang buôc băt buôc (mandatory constraint) trong sơ đô (a) Anh xa thanh 1 rang buôc inclusive-or trong sơ đô (b).
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.
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.
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).
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.
"LHS" viêt tăt cua "left-hand schema" “RHS” viêt tăt cua "right-hand schema".
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.
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
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 708
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.
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)
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ê.
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.
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)
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
Dang chuân nao??◦ Chuân NF2
Repeat attribute : regNr, course, rating Repeat group: Result
Dang chuân nao??◦ Bang (a): 2NF◦ Bang (b): 1NF
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ê
Dang chuân nao??◦ Bang (a): 3NF◦ Bang (b) : 2NF
Lươc đô y niêm cho hinh (b) va lươc đô quan hê đung băng ky thuât Rmap
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.
Co 2 khoa sơ câp la cityNr va (cityName, stateCode)
Bang thuôc dang chuân nao???◦ Elementary key normal form (EKNF)
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.
Bang ơ dang chuân nao? Chuân BCNF?◦ Dang chuân EKNF
Dung Rmap đê tao lươc đô quan hê đung Bang ơ dang chuân BCNF
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.
• 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?)
• 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??
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.
• 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.
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
Đ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)
• 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.
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.
• Đê 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