Chuong 4 Lien He Giua UML Va ORM

83
 1 Bai giang BM HTTT - Khoa CNTT - HUI

Transcript of Chuong 4 Lien He Giua UML Va ORM

Page 1: Chuong 4 Lien He Giua UML Va ORM

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

Page 2: Chuong 4 Lien He Giua UML Va ORM

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

Page 3: Chuong 4 Lien He Giua UML Va ORM

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

Page 4: Chuong 4 Lien He Giua UML Va ORM

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

Page 5: Chuong 4 Lien He Giua UML Va ORM

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

Page 6: Chuong 4 Lien He Giua UML Va ORM

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

Page 7: Chuong 4 Lien He Giua UML Va ORM

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

Page 8: Chuong 4 Lien He Giua UML Va ORM

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

Page 9: Chuong 4 Lien He Giua UML Va ORM

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

Page 10: Chuong 4 Lien He Giua UML Va ORM

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

Page 11: Chuong 4 Lien He Giua UML Va ORM

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

Page 12: Chuong 4 Lien He Giua UML Va ORM

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

Page 13: Chuong 4 Lien He Giua UML Va ORM

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

Page 14: Chuong 4 Lien He Giua UML Va ORM

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

Page 15: Chuong 4 Lien He Giua UML Va ORM

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

Page 16: Chuong 4 Lien He Giua UML Va ORM

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

Page 17: Chuong 4 Lien He Giua UML Va ORM

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

Page 18: Chuong 4 Lien He Giua UML Va ORM

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

Page 19: Chuong 4 Lien He Giua UML Va ORM

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

Page 20: Chuong 4 Lien He Giua UML Va ORM

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

Page 21: Chuong 4 Lien He Giua UML Va ORM

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

Page 22: Chuong 4 Lien He Giua UML Va ORM

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

Page 23: Chuong 4 Lien He Giua UML Va ORM

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

Page 24: Chuong 4 Lien He Giua UML Va ORM

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

Page 25: Chuong 4 Lien He Giua UML Va ORM

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

Page 26: Chuong 4 Lien He Giua UML Va ORM

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

Page 27: Chuong 4 Lien He Giua UML Va ORM

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

Page 28: Chuong 4 Lien He Giua UML Va ORM

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

Page 29: Chuong 4 Lien He Giua UML Va ORM

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

Page 30: Chuong 4 Lien He Giua UML Va ORM

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

Page 31: Chuong 4 Lien He Giua UML Va ORM

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

Page 32: Chuong 4 Lien He Giua UML Va ORM

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

Page 33: Chuong 4 Lien He Giua UML Va ORM

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

Page 34: Chuong 4 Lien He Giua UML Va ORM

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

Page 35: Chuong 4 Lien He Giua UML Va ORM

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

Page 36: Chuong 4 Lien He Giua UML Va ORM

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

Page 37: Chuong 4 Lien He Giua UML Va ORM

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

Page 38: Chuong 4 Lien He Giua UML Va ORM

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

Page 39: Chuong 4 Lien He Giua UML Va ORM

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

Page 40: Chuong 4 Lien He Giua UML Va ORM

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

Page 41: Chuong 4 Lien He Giua UML Va ORM

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

Page 42: Chuong 4 Lien He Giua UML Va ORM

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

Page 43: Chuong 4 Lien He Giua UML Va ORM

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

Page 44: Chuong 4 Lien He Giua UML Va ORM

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

Page 45: Chuong 4 Lien He Giua UML Va ORM

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

Page 46: Chuong 4 Lien He Giua UML Va ORM

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

Page 47: Chuong 4 Lien He Giua UML Va ORM

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

Page 48: Chuong 4 Lien He Giua UML Va ORM

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

Page 49: Chuong 4 Lien He Giua UML Va ORM

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

Page 50: Chuong 4 Lien He Giua UML Va ORM

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

Page 51: Chuong 4 Lien He Giua UML Va ORM

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

Page 52: Chuong 4 Lien He Giua UML Va ORM

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

Page 53: Chuong 4 Lien He Giua UML Va ORM

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

Page 54: Chuong 4 Lien He Giua UML Va ORM

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

Page 55: Chuong 4 Lien He Giua UML Va ORM

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

Page 56: Chuong 4 Lien He Giua UML Va ORM

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

Page 57: Chuong 4 Lien He Giua UML Va ORM

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

Page 58: Chuong 4 Lien He Giua UML Va ORM

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

Page 59: Chuong 4 Lien He Giua UML Va ORM

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

Page 60: Chuong 4 Lien He Giua UML Va ORM

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

Page 61: Chuong 4 Lien He Giua UML Va ORM

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

Page 62: Chuong 4 Lien He Giua UML Va ORM

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

Page 63: Chuong 4 Lien He Giua UML Va ORM

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

Page 64: Chuong 4 Lien He Giua UML Va ORM

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

Page 65: Chuong 4 Lien He Giua UML Va ORM

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

Page 66: Chuong 4 Lien He Giua UML Va ORM

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

Page 67: Chuong 4 Lien He Giua UML Va ORM

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

Page 68: Chuong 4 Lien He Giua UML Va ORM

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

Page 69: Chuong 4 Lien He Giua UML Va ORM

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

Page 70: Chuong 4 Lien He Giua UML Va ORM

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

Page 71: Chuong 4 Lien He Giua UML Va ORM

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

Page 72: Chuong 4 Lien He Giua UML Va ORM

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

Page 73: Chuong 4 Lien He Giua UML Va ORM

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

Page 74: Chuong 4 Lien He Giua UML Va ORM

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

Page 75: Chuong 4 Lien He Giua UML Va ORM

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

Page 76: Chuong 4 Lien He Giua UML Va ORM

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

Page 77: Chuong 4 Lien He Giua UML Va ORM

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

Page 78: Chuong 4 Lien He Giua UML Va ORM

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

Page 79: Chuong 4 Lien He Giua UML Va ORM

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

Page 80: Chuong 4 Lien He Giua UML Va ORM

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

Page 81: Chuong 4 Lien He Giua UML Va ORM

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

Page 82: Chuong 4 Lien He Giua UML Va ORM

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

Page 83: Chuong 4 Lien He Giua UML Va ORM

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