Upload
tulamst
View
96
Download
0
Embed Size (px)
Citation preview
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 1/831Bai giang BM HTTT - Khoa CNTT -
HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 2/83
• Cc phương php ngư ngh a đê mô hnh hahê thông thông tin xuât hiên ngy cng nhiêu
• Hnh anh "Yama" (Yet Another ModelingApproach) theo ngh a tiêng Nhât l"Mountain".
2Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 3/83
Gân đây, UML đươc xem như 1 phương phpth ch hơp đê mô hnh ha CTUD.
Đ c đê xuât "the modeling wars areover--UML has won".
3Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 4/83
UML đươc ưng dung chu yêu trong thiêt kê m chương trnh hương đôi tương.
Hiên nay UML cng đươc dng trong thiêt kê database nhưng chưa thay thê đươc phươngphp ER. Tuy nhiên trong tương lai khi phttriên HT theo hương đôi tương th UML l 1 ngôn ngư quan trong đê thiêt kê database.
4Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 5/83
Tương tư ER, UML sư dung attributes, tuy sô lương attribute c thê qu lơn nhưng dngattribute th dê mô hnh đươc môi quan hê giưa cc thưc thê, t bi anh hương khi thưc
thê thay đôi.
Cch tôt nhât đê pht triên mô hnh dư liêubăng UML l “first do an ORM model and
then map it to UML”.
5Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 6/83
No language is perfect, ORM cng khôngngoai lê.◦ UML cung câp 1 loat cc k hiêu đê mô hnh ha ca
dư liêu v qui trnh (process)
◦ ORM hiên chi tâp trung vo viêc mô hnh ha dư liêu.
6Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 7/83
V du cua 1 lươc đô class UML
7Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 8/83
Lươc đô class mô ta cc lơp Employee v Carv môi kêt hơp giưa chng.
Tương ưng vơi quan hê ORM Employeedrives Car
8Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 9/83
Role "driver" ph a bên tri môi kêt hơp lm rngư ngh a
Mi tên ơ bên phai môi kêt hơp đê chi răngmôt điên hnh cua employee c thê truy xuât
đên 1 điên hnh car cua n. Môi kêt hơp nychi liên quan đên viêc thưc thi v không chi ra niêm cua mô hnh nghiêp vu.
9Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 10/83
Băng cch bo qua chi tiêt, lươc đô class cthê đươc dng đê phân t ch niêm. Khi dngtheo cch ny th lươc đô class rât giông vơimô hnh ER.
Nhưng c 1 sư khc biêt đng kê nêu xttheo hương OO
Khc biêt g??
10Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 11/83
Không c sơ đô xc đinh (identificationschemas) trong class. Vơi lâp trnh OO, ccđôi tương c thê đươc nhân biêt thông quađia chi bô nhơ, v vây UML không cân đên sơ
đô ny.
Nhưng nêu dng đê phân t ch niêm th cânphai c sơ đô tham chiêu hương ngươi dng.
11Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 12/83
UML cho php thêm 1 sô thuôc t nh vơi cck hiêu không theo tiêu chuân đê khai bocch nhân biêt v rng buôc cua class◦ “{P}” đê chi tham chiêu hay dng (preferred
reference )◦ "{ Un }" đê chi t nh duy nhât (n > 0), vơi n l sô
trương hơp c cng ngh a khi cng rng buôc Uđươc p dung cho 1 tô hơp cc thuôc t nh.
12Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 13/83
Lươc đô class vơi cc k hiêu không theo tiêu
chuân đê chi kha Primary key v rng buôcduy nhât
13Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 14/83
• ORM chia object thnh 2 loai: entities (non-lexical objects) v values (lexical objects)v băt buôc môi entity phai đươc xc đinh bơimôt sơ đô tham chiêu (reference scheme ).
ORM sư dung "object", "entity", v "value"đê chi "object instance", "entity instance“v"value instance“.
• Cc entities c thê đươc tham chiêu theonhiêu cch, v c thê thay đôi trang thi(state) theo thơi gian
14Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 15/83
• UML chia cc instances thnh objects v datavalues.
• Cc UML objects tương ưng vơi cc ORMentities. Cc UML data values tương ưng vơi
cc ORM values, chng đêu l hăng sô.• Cc loai entity trong UML đươc goi l classes vcc loai value th đươc goi l data types.
• "object" c ngh a l 1 "object instance", chư không phai l "object type".
• Môi điên hnh quan hê (relationship instance)trong UML đươc goi l 1 link, v loai quan hê đươc goi l môt association.
15Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 16/83
16Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 17/83
• Trong UML, măc đinh cc thuôc t nh(attribute) l băt buôc (mandatory) v c gitri đơn.
• Trong ORM, predicate 1 ngôi "smokes" l ty
chon (optional). UML không hô trơ quan hê 1 ngôi, m chi dng thuôc t nh Boolean"isSmoker“.
•
Trong UML, domain cua môi thuôc t nh c thê đươc hiên thi ngay sau tên thuôc t nh, ngăncch bơi dâu : .
17Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 18/83
• Attribute multiplicity constraint – Trong mô hnh ORM, birth country, social security
number, hay passport number đêu l ty chon. TrongUML ty chon ny đươc thê hiên thông qua viêc thêmmultiplicity [0..1] vo môi thuôc tnh tương ưng.
• Uniqueness constraints (UC): – Trong ORM, cc UC dng đê chi môi employee number,
social security number, v passport number chi thamchiêu duy nhât đên 1 employee m thôi.
– UML không c k hiêu chuân đê chi "attributeuniqueness constraints", v vây n đươc bô sung bơi khiêu do ta tư quy đinh lây, chăng han {P} v {Un }
18Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 19/83
UML cng không c k hiêu đê chi rng buôcloai trư (inclusive-or constraint), rng buôcny c thê diên ta băng note đ nh km, hayđăt rng buôc vo {}.
19Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 20/83
Loai quan hê ORM Employee was born inCountry đươc mô hnh như thuôc t nhbirthcountry trong lươc đô class UML.
Nêu sau ny khi cân lưu trư lai phân bô cua
country th cân phai đưa vo lơp Country v đê lm r kêt nôi giưa birthcountry v Country cthê cân phai biên đôi thuôc t nh birthcountrythnh môi kêt hơp giưa 2 class Employee vCountry.
ORM trnh đươc sư bât ôn ngư ngh a ny vn luôn sư dung quan hê thay v dng thuôct nh.
20Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 21/83
C giai thuât đê pht triển lươc đô UML v ERtư lươc đô ORM.
Cc giai thuât ny gn cc mưc đô quantrong khc nhau vo cc loai đôi tương ty
thuôc vo role v cc rng buôc.
Mưc đô quan trong ny c thê thay đôi theothơi gian khi ta khm ph đươc nhiêu hơn mô
hnh tông thê v ban thân nghiêp vu cng bi thay đôi theo thơi gian.
21Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 22/83
Thuôc tnh đa tri “sports“ trong UML đươcchi ra băng rng buôc "[0..*]" (môt ngươi cthê chơi nhiêu môn thê thao khc nhauhoăc không chơi môn no)
Trong sơ đô ORM tương đương, loai quanhê many:many đươc dng thay cho thuôctnh đa tri sports.
22Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 23/83
Class Flag dng đê lưu trư nickname va mu cơ cua cc quôc gia
Cc rng buôc:◦ Môi flag c nhiêu nhât 2
nickname
◦ Môi Flag c t nhât 1 mu
Môt UC phu khc cng
cân xc đinh l môinickname tham chiêunhiêu nhât đên môt flag.
23Bai giang BM HTTT - Khoa CNTT -
HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 24/83
Không chi môi nicknames phai l duy nhâtđôi vơi môi flag m môi phân tư trong môitâp hơp cng phai duy nhât. Môi rng buôcphưc ny đươc xc đinh trong UML dươi
dang 1 note đ nh km (attached note)
24Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 25/83
Thuôc t nh Nickname: miên gi tri l môt loaidư liêu no đ, c thê l string
Thuôc t nh countries hay colors:◦ Nêu không cân lưu trư thêm thông tin , c thê chon
string như miên gi tri (domain)◦ Nêu muôn c thêm thông tin đê dng sau ny, tôt
hơn l nên dng class Country v Color đê xc đinhdomain cho n.
25Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 26/83
26Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 27/83
UML cho php ta mô hnh 1 t nh chât no đnhư môt attribute hay môt association. Đê phân t ch niêm th dng associationthương c nhiêu thuân lơi hơn so vơi
attributes, đăc biêt l vơi thuôc tnh đa tri.◦ Dê mô hnh ha v tao phân bô cho association
hơn. ◦ Cho php diên ta cc rng buôc c dang "role
played by the attribute" ơ dang chuân hơn l phaidng cc mơ rông không đng tiêu chuân.
27Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 28/83
Nêu dng association Flag is of Country thrng buôc each country has at most oneflag c thê đưa vo thông qua rng buôc"0..1" đăt bên tri môi kêt hơp ny.
Dng associations th ôn đinh hơnattributes. Thay v mô hnh 1 t nh châtthnh 1 attribute, đâu tiên thay thê attribute ny thnh 1 association. Sau đ d
l UML hay ORM đêu đê dng tao ra đôitương tư môt association v đ nh km von 1 sô chi tiêt mơi.
28Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 29/83
Khao st association Employee plays Sport.Nêu cân lưu trư lai skill level cho môt lân chơino đ play, ta c thê đôi tương haassociation ny thnh Play, v đưa thêm vo 1
loai quan hê: Play has SkillLevel. Trong môhnh UML viêc ny đươc thưc hiên dê dng nêuplay đươc mô hnh như 1 association.
Trong v du th play đươc mô hnh như
attribute sports , th cân thay thê thnh 1 association tương đương trươc khi thêm chitiêt mơi skill level vo.
29Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 30/83
Khi truy vân đên cc thuôc tnh đa tri th se phưc tap hơn thuôc tnh đơn tri.
V du: so snh cc truy vân Q1,
30Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 31/83
Thuôc tnh đa tri (multivalued attribute) nêntrnh dng trong mô hnh phân t ch. Tuynhiên vân c thê sư dung thuôc tnh đa tri trong thưc thi sau ny.
31Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 32/83
UML dng thuôc t nh Boolean đê chi môiquan hê 1 chiêu (unary relationship).
Vơi cc quan hê 2 chiêu trơ lên (association):◦ Thương đươc đăt tên băt đâu băng 1 k tư chư
hoa.◦ Cc associations 2 chiêu đươc k hiêu l đương
thăng nôi giưa 2 class.
◦ Association role đươc k hiêu như đâu cuôi cua
đương thăng (line end) thay v l cc box.
32Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 33/83
Trong UML, tên association l ty chonnhưng tên role l băt buôc. Nêu không đăttên role th tên lơp cng đươc xem l tênrole. Nêu c 2 hay nhiêu role cho cng 1
class th cc role phai c cc tên khc nhauđê phân biêt.
Trong ORM, cc predicate thuân v ngươccân đươc chi r, hoăc chi cân chi r 1 trong 2loai. Tên role l ty chon v đươc đăt trongngoăc vuông.
33Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 34/83
34Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 35/83
35Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 36/83
36Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 37/83
Association tư 3 ngôi trơ lên đươc k hiêunhư 1 diamond v nôi đên cc class băng
cc đương thăng.
37Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 38/83
Thương không c k hiêu chi hươg đoc(reading direction indicator), nên cc lươcđô class cua UML không đươc dng đê giaotiêp trong dang câu ni thông thương. Lươc
đô class cng không thuân tiên trong viêc taophân bô cho cc association nêu không đăttên role cho cc côt tương ưng trong bangphân bô.
38Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 39/83
Tương tư như cc rng buôc trong thuôc t nh
39Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 40/83
Trong lươc đô UML, ca hai căp Room-
HourSlot v HourSlot-Activity đêu l duynhât. Trong ORM l cc UC tương ưng.
40Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 41/83
Cc k hiêu rng buôc multiplicity cua UML thphong ph hơn cua ER. Tuy nhiên c nhiêutrương hơp k hiêu multiplicity cua UML khôngthê diên đat đươc rng buôc cua role băt buôc
hay rng buôc thương xuyên tôi thiêu lơn hơn1 (minimum frequency constraint above 1).
Cc k hiêu rng buôc cua ORM c thê diên đatđươc bât k rng buôc no trên cc role hay
cc predicate nhiêu ngôi. V vây ORM phongph hơn trong viêc diên đat rng buôc.
41Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 42/83
V UML cô đưa ca hai loai rng buôc băt buôc vduy nhât vo cng 1 k hiêu nên không thê diên
đat đươc cho tưng hoat đông book phng buôcphai đưa thêm 1 note vo lươc đô.
Lươc đô ORM tương ưng c thê diên đat đươc rngbuôc role băt buôc môt cch dê dng.
42Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 43/83
Nguyên nhân cua viêc kh diên đat rng buôctrong UML l do đ nh km rng buôcmultiplicity tôi thiêu vo role m không qua 1role trung gian.
Vơi cng l do ny, UML không thê diên đatđươc cc rng buôc thương xuyên (frequencyconstraints )khc cua ORM.
43Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 44/83
44Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 45/83
45Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 46/83
Ca UML v ORM đêu cho php đôi tương hacc môi kêt hơp (association) thnh cc loai đôitương.◦ Trong UML: tao thnh cc association class nhưng
cân phai giư nguyên tên trong association gôc lc đâuv association class tương ưng
◦ Trong ORM: tao thnh cc objectified associationhay cc loai nested object, không băt buôc môi kêthơp v đôi tương lông nhau phai cng tên (1 cum
đông tư đươc đôi tương ha thnh cum danh tư, nênca hai đêu c thê pht biêu thnh câu c đu ngư ngh a thông thương)
46Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 47/83
Trong UML, thuôc t nh period chi ra môt personmât bao nhiêu lâu đê viêt 1 paper.
Trong ORM, Writing đươc đnh dâu đôc lâp bơi khiêu "!“ đê chi ra đôi tương writing c thê tôn taimôt cch đôc lâp không cân quan tâm đên viêc clưu trư lai period hay không. ORM hiên thi Periodnhư 1 loai đôi tương, không phai l thuôc t nh.
47Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 48/83
Rng buôc Set-comparison bao gôm:◦ Rng buôc tâp con (subset)
◦ Rng buôc ngang băng (equality)
◦ Rng buôc quan hê loai trư (exclusion relationship)
◦ giưa cc phân bô cua cc role khc nhau. UML cho php tao cc rng buôc subset giưa
cc môi kêt hơp băng cch đ nh km nhnrng buôc "{ subset }" kê bên mi tên đưt nt
nôi giưa cc môi kêt hơp (association)
48Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 49/83
Rng buôc subset “any person who chairs a
committee must be a member of thatcommittee”
49Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 50/83
Trong ORM, rng buôc equality giưa hai quanhê c thê t ch hơp (compatible), l cch viêt tătcua 2 rng buôc subset theo 2 chiêu ngươcnhau, đươc k hiêu "=“ khoanh trn. Phân bô ưng vơi môi rng buôc subset phai băng nhau.
Nêu 2 role cua cng 1 object đêu băt buôc thgiưa chng se ngâm đinh c 1 rng buôcequality
UML không c k hiêu dnh cho rng buôc
equality, c thê dng note đê ch th ch rngbuôc loai ny.
50Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 51/83
Nêu đo đuơc p lưc mu vê tim (systolic) th
cng se đo đươc p lưc mu đi tư tim ra(diastolic) v ngươc lai.
51Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 52/83
Trong UML, c 1 k hiêu đê chi rng buôcexclusive-or: môi điên hnh (instance) cua1 class phai c ch nh xc 1 role trong sô 1tâp cc role khc nhau (set of alternatives).
K hiêu "{xor}" đăt bên canh đương đưt ntnôi cc association vơi nhau.
Trong ORM, k hiêu tương ưng se l 1 tô
hơp vuông gc cua rng buôc inclusive-or(châm đươc khoanh trn) v rng buôcexclusion (X đươc khoanh trn)
52Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 53/83
Môi account đươc dng bơi 1 person hay 1 corporation nhưng không thê cng lc cho ca hai.
53Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 54/83
Ca hai UML v ORM đêu hô trơ kiêu con(subtyping), môi điên hnh kiêu con cng l 1điên hnh cua siêu kiêu (supertype).
Cho 2 loai đôi tương A v B, A l subtype cua B
nêu vơi môi trang thi cua database, phân bô cua A đươc bao gôm trong phân bô cua B. A l proper subtype cua B nêu v chi nêu A l
subtype cua B v c thê tôn tai 1 trang thi saocho phân bô cua B chưa 1 điên hnh không ctrong A.
Viêt tăt "subtype" thay cho "proper subtype".
54Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 55/83
Trong ca UML v ORM, chuyên biêt ha(specialization) l qu trnh giơi thiêu ccsubtypes, v tông qut ha(generalization) l qu trnh ngươc lai đê
giơi thiêu môt supertype. Ca UML v ORM đêu cho php sư dung kê
thưa đơn (single inheritance) cng như đakê thưa (multiple inheritance) (môt subtype
c nhiêu hơn 1 supertype).◦ V du đa kê thưa: AsianWoman c thê l subtype
cua ca AsianPerson v Woman.
55Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 56/83
Trong UML, "subclass" v "superclass" đôngngh a vơi "subtype" v "supertype", tông qutha không chi p dung cho class m cho ca interfaces, use case actors, v packages
56Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 57/83
Trong ORM, subtype kê thưa tât ca role cuasupertype cua n.
Trong UML, subclass kê thưa tât attributes,associations, v operations/methods cua
supertype cua n. Đê mô hnh ha dư liêu, chi tâp trung vo kê
thưa cc thuôc t nh t nh không xt đên t nhkê thưa cua operations hay methods.
57Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 58/83
Subtypes đươc dng trong mô hnh ha dư liêu đê đnh gi cc rng buôc vê kiêu, hô trơ viêc sư dung lai cc thnh phân cua mô hnhv chi ra sơ đô phân loai.
Rng buôc kiêu (typing constraint) bao đaml cc role xc đinh subtype chi đươc dngtrong cc subtype ph hơp.
58Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 59/83
Ca UML v ORM hiên thi subtye dươi dangcây (acyclic graphs).
Mi tên đi tư node subtype đên supertype.
59Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 60/83
60Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 61/83
Nêu dng đương thăng vơi mi tên riêngbiêt đê kêt nôi cc subtype th rng buôc se đươc đăt trong {} kê bên đương đưt nt nôiđên link cua subtype.
61Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 62/83
UML c 4 rng buôc đinh săn dnh chosubtype◦ {overlapping} v {disjoint} đê chi cc subtype c
thê trng lăp (overlap) hay loai trư lân nhau
(mutually exclusive)◦ {complete} c ngh a l exhaustive (i.e.,
supertype băng vơi hơp cua tât ca subtype cuan, hay tât ca subtype đêu đươc chi ra .
◦
{incomplete } c ngh a l supertype c nhiêu hơnl hơp cc subtype cua n
Măc đinh l {disjoint, incomplete}
62Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 63/83
Măc đinh cc subtypes cua ORM c thê overlap v không cân phai xc đinh triêt đê cc supertype cua 1 subtype.
Môt sô k hiêu rng buôc cua ORM:◦ Mutually exclusive: "X" đươc khoanh trn nôi đên
link cua subtype
◦ Complete (collectively exhaustive): dâu châmkhoanh trn
◦
Ca hai rng buôc: môt châm đnh cho v đươckhoanh trn.
63Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 64/83
Trong ORM, cc rng buôc loai trư hay tonbô se đươc thê hiên trong bang phân bô hơnl trong cc loai (type)
Môt rng buôc overlap không c ngh a l
bang phân bô phai overlap, m chi l chngc thê overlap. V vây n không thưc sư l 1rng buôc v không cân mô ta chng.
64Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 65/83
Discriminator đươc đăt kê bên mi tên cuasubtype đê chi ra 1 sư phân loai cho ccsubtype.
V du: discriminator "gender" dng đê phân
loai Person thnh MalePerson vFemalePerson.
Discriminator không c ngh a l subtypesphai thuôc rng buôc complete
65Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 66/83
Gender đươc dng như discriminator đê phânloai patient
66Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 67/83
Viêc phân loai phai đươc thưc thi ca trênsubtype v loai quan hê dng đê phân loai.Ca hai phai đông bô vơi nhau.◦ Hoăc subtype đươc suy dân tư 1 đinh ngh a
subtype ch nh thưc◦ Hoăc loai quan hê dng đê phân loai phai đươc suy
dân tư cc subtype xc đinh no đ.
67Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 68/83
Dng theo cch 1 (suy dân cc subtype) Rng buôc phân loai đươc ngâm đinh bơi tô
hơp cua đinh ngh a subtype cng vơi 3 rngbuôc khc trên loai quan hê Patient is of Gender.
68Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 69/83
69Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 70/83
Bươc 1: tao quan hê nhi phân cho bât k tậpcác cặp loai trư no (sets of exclusivebinaries)
70Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 71/83
Ta nên quyêt đinh xem loai object no nênmô hnh thnh class v association n: 1 v1:1 no cua ORM nên chuyên thnhattributes. Thương cc loai entity c đng
vai tr l quan hê chưc năng th se trơ thnhclass. Quan hệ chức năng nhi phân (n:l and1:1) tư 1 loai entity A đên 1 loai gi tri B,hay đên 1 loai thưc thê B m vơi loai thưc thê
ny ta không muôn phai lưu trư chi tiêt thnên nh xa thnh 1 thuôc t nh cua A l đu.
71Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 72/83
72Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 73/83
Trương hơp đăc biêt: nêu loai gi tri l đôclâp, v đng 1 vai tr băt buôc tương minh,hay giư 1 vai tr chưc năng no đ trong loaiquan hê 1 :n đươc nh xa thnh class.
V du: biên loai gi tri PersonTitle thnh classTitle
73Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 74/83
Hnh a xt đên rng buôc title-gender (e.g.title 'Mr' bi giơi han thnh male)
Hnh b sư dung thuôc tnh đa tri đê lưu trư tâtca gender c thê p dung vo title (e.g., title'Dr.' p dung cho ca male v female).
74Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 75/83
Anh xa cc quan hê 1 ngôi thnh thuôc t nhBoolean hay cc subclass.
75Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 76/83
Cc loai quan hê cn lai đươc nh xa thnhassociations.
76Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 77/83
Nêu môi kêt hơp m:n c liên quan đênloai gi tri (e.g., Employee has PhoneNr)thay v dng thuôc tnh đa tri, c thê biên đôi môi kêt hơp m:n thnh nhiêu
môi kêt hơp n: 1 (e.g. Employee hasPh0neNrl; Employee has Ph0neNr2,etc.).
77Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 78/83
Nêu môi loai object trong loai quan hê nchiêu đươc nh xa thnh 1 class, khi đ loaiquan hê n chiêu se đươc nh xa thnh môikêt hơp n chiêu (vd1).
Nêu môt object trong loai quan hê tam ngôikhông đươc nh xa thnh class th đôi tươngha phân cn lai cua association như môtassociation class v nh xa role cua n như 1
thuôc t nh (vd2)
78Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 79/83
79Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 80/83
80Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 81/83
Rng buôc đơn gian nhât thương đươc nhxa thnh cc rng buôc multiplicity
Cc rng buôc phưc tap hơn không c khiêu tương ưng trong UML, v vây cân ghi
nhân lai chng trong dang note.
81Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 82/83
82Bai giang BM HTTT - Khoa CNTT - HUI
5/17/2018 Chuong 4 Lien He Giua UML Va ORM - slidepdf.com
http://slidepdf.com/reader/full/chuong-4-lien-he-giua-uml-va-orm 83/83
Cc subtype đươc nh xa thnh subclass, sauđ bô sung cc rng buôc th ch hơp