intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Chương 4: ORM và UML

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:83

84
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Chương 4: ORM và UML được biên soạn nhằm trang bị cho các bạn những kiến thức về vai trò của UML; so sánh UML và ORM; lược đồ class của UML và ORM; thuộc tính trong UML và ORM; thuộc tính đa trị; miền giá trị (domain); sơ đồ ORM tương ứng và một số nội dung khác.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Chương 4: ORM và UML

  1. Bai giang BM HTTT - Khoa CNTT - HUI 1
  2. • Các phương pháp ngữ nghĩa đê mô hi ̉ ̀nh hóa  hê thô ̣ ́ng thông tin xuất hiên nga ̣ ̀y càng nhiều • Hình anh "Yama"  (Yet Another Modeling  ̉ Approach) theo nghĩa tiếng Nhât la ̣ ̀ "Mountain".  Bai giang BM HTTT - Khoa CNTT - HUI 2
  3. Gần đây, UML được xem như 1 phương pháp  thích hợp đê mô hi ̉ ̀nh hóa CTUD.   Đã có đề xuất "the modeling wars  are  over­­ UML has won".   Bai giang BM HTTT - Khoa CNTT - HUI 3
  4.  UML  được ứng dung chu yê ̣ ̉ ́u trong thiết kế  mã chương trình hướng đối tượng.  Hiên nay UML cu ̣ ̃ng được dùng trong thiết kế  database nhưng chưa thay thế được phương  pháp ER. Tuy nhiên trong tương lai khi phát triên  ̉ HT theo hướng đối tượng thì UML là 1 ngôn  ngữ quan trong đê thiê ̣ ̉ ́t kế database. Bai giang BM HTTT - Khoa CNTT - HUI 4
  5.  Tương tự ER, UML  sử dung attributes, tuy sô ̣ ́  lượng attribute có thê qua ̉ ́ lớn nhưng dùng  attribute thì dễ mô hình được mối quan hê ̣ giữa các thực thê, ỉ ́t bi anh h ̣ ̉ ưởng khi thực thê ̉ thay đôi.  ̉  Cách tốt nhất đê pha ̉ ́t triên mô hi ̉ ̀nh dữ liêu  ̣ bằng UML là “first  do  an ORM model  and  then  map  it  to UML”.   Bai giang BM HTTT - Khoa CNTT - HUI 5
  6.  No  language  is perfect, ORM cũng không ngoai  ̣ lê.̣ ◦UML cung cấp 1 loat ca ̣ ́c ký hiêu đê mô hi ̣ ̉ ̀nh hóa ca ̉ dữ liêu va ̣ ̀ qui trình (process) ◦ORM hiên chi tâp trung va ̣ ̉ ̣ ̀o viêc mô hi ̣ ̀nh hóa dữ liêu. ̣ Bai giang BM HTTT - Khoa CNTT - HUI 6
  7.  Ví du cua 1 l ̣ ̉ ược đố class UML Bai giang BM HTTT - Khoa CNTT - HUI 7
  8.  Lược đồ class mô ta ca ̉ ́c lớp Employee và Car   và mối kết hợp giữa chúng.  Tương ứng với quan hê ORM  ̣ Employee  drives  Car Bai giang BM HTTT - Khoa CNTT - HUI 8
  9.  Role "driver" phía bên trái mối kết hợp làm rõ  ngữ nghĩa  Mũi tên ở bên phai mổ ́i kết hợp đê chi ră ̉ ̉ ̀ng môt  ̣ điên hi ̉ ̀nh cua employee co ̉ ́ thê truy xuâ ̉ ́t đến 1  điên hỉ ̀nh car cua no ̉ ́. Mối kết hợp này chi liên  ̉ quan đến viêc tḥ ực thi và không chi ra ỷ ́ niêm  ̣ cua mô hi ̉ ̀nh nghiêp vu.  ̣ ̣ Bai giang BM HTTT - Khoa CNTT - HUI 9
  10.  Bằng cách bo qua chi tiê ̉ ́t, lược đồ class có  thê đ ̉ ược dùng đê phân ti ̉ ́ch ý niêm. Khi du ̣ ̀ng  theo cách này thì lược đồ class rất giống với  mô hình ER.   Nhưng có 1 sự khác biêt đa ̣ ́ng kế nếu xét  theo hướng OO  Khác biêt gi ̣ ̀?? Bai giang BM HTTT - Khoa CNTT - HUI 10
  11.  Không có sơ đồ xác đinh (identification   ̣ schemas) trong class. Với lâp tri ̣ ̀nh OO, các đố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ơ đồ  này.   Nhưng nếu dùng đê phân ti ̉ ́ch ý niêm thi ̣ ̀ cần  phai co ̉ ́ sơ đồ tham chiếu hướng người dùng.  Bai giang BM HTTT - Khoa CNTT - HUI 11
  12.  UML  cho phép thêm 1 số thuôc ti ̣ ́nh với các  ký hiêu không theo tiêu chuân đê khai ba ̣ ̉ ̉ ́o cách  nhân biê ̣ ́t và ràng buôc cua class ̣ ̉ ◦“{P}” đê chi tham chiê ̉ ̉ ́u hay dùng (preferred  reference ) ◦ "{ Un }" đê chi ti ̉ ̉ ́nh duy nhất (n  >  0), với n là số  trường hợp có cùng nghĩa khi cùng ràng buôc U  ̣ được áp dung cho 1 tô h ̣ ̉ ợp các thuôc ti ̣ ́nh. Bai giang BM HTTT - Khoa CNTT - HUI 12
  13.  Lược đồ class với các ký hiêu không theo tiêu  ̣ chuân đê chi kho ̉ ̉ ̉ ́a Primary key và ràng buôc ̣ duy nhất Bai giang BM HTTT - Khoa CNTT - HUI 13
  14. • ORM  chia object thành 2 loai: entities (non­ ̣ lexical  objects)  và values  (lexical objects)  và  bắt buôc mô ̣ ̃i entity phai đ ̉ ược xác đinh ḅ ởi  môt  ̣ sơ đồ tham chiếu (reference  scheme ). ORM sử  dung "object",  "entity", va ̣ ̀  "value"  đê chi "object   ̉ ̉ instance",  "entity  instance“và  "value instance“.  • Các entities có thê đ̉ ược tham chiếu theo nhiều  cách, và có thê thay đôi trang tha ̉ ̉ ̣ ́i (state) theo  thời gian Bai giang BM HTTT - Khoa CNTT - HUI 14
  15. • UML  chia các instances  thành objects  và data   values.  • Các UML  objects tương ứng với các ORM   entities. Các UML  data  values  tương ứng với các  ORM  values, chúng đều là hằng số.  • Các loai entity trong UML đ ̣ ược goi la ̣ ̀ classes và  các loai value  thi ̣ ̀ được goi la ̣ ̀ data  types.  • "object" có nghĩa là 1 "object  instance", chứ không  phai la ̉ ̀ "object type". • Mối điên hi ̉ ̀nh quan hê (relationship  instance)  trong  ̣ UML được goi la ̣ ̀ 1 link,  và loai quan hê đ ̣ ̣ ược goi la ̣ ̀  môt  association.  ̣ Bai giang BM HTTT - Khoa CNTT - HUI 15
  16. Bai giang BM HTTT - Khoa CNTT - HUI 16
  17. • Trong  UML,  măc đinh ca ̣ ̣ ́c thuôc ti ̣ ́nh (attribute)  là bắt buôc (mandatory) va ̣ ̀ có giá tri đ ̣ ơn.  • Trong ORM, predicate 1 ngôi "smokes"  là tùy  chon (optional). UML không hô ̣ ̃ trợ quan hê 1  ̣ ngôi, mà chi dủ ̀ng thuôc ti ̣ ́nh Boolean   "isSmoker“.  • Trong UML, domain cua mô ̉ ̃i thuôc ti ̣ ́nh có thê ̉ được hiên thi ngay sau tên thuôc ti ̉ ̣ ̣ ́nh, ngăn cách  bởi dấu : . Bai giang BM HTTT - Khoa CNTT - HUI 17
  18. • Attribute  multiplicity  constraint – Trong mô hình ORM, birth  country,  social  security number,   hay  passport  number đều là tùy chon. Trong UML tu ̣ ̀y  chon na ̣ ̀y được thê hiên thông qua viêc thêm multiplicity  [0..1]  ̉ ̣ ̣  vào mỗi thuôc ti ̣ ́nh tương ứng.  • Uniqueness  constraints (UC): – Trong ORM, các UC  dùng đê chi mô ̉ ̉ ̃i employee  number,   social  security  number,  và  passport  number chi tham  ̉ chiếu duy nhất đến 1 employee mà thôi.  – UML  không có ký hiêu chuân đê chi "attribute  uniqueness   ̣ ̉ ̉ ̉ constraints", vì vây no ̣ ́ được bô sung b ̉ ởi ký hiêu do ta t ̣ ự  quy đinh lâ ̣ ́y, chăng han  {P}  va ̉ ̣ ̀   {Un }  Bai giang BM HTTT - Khoa CNTT - HUI 18
  19.  UML cũng không có ký hiêu đê chi ra ̣ ̉ ̉ ̀ng buôc  ̣ loai tr ̣ ừ (inclusive­or  constraint),  ràng buôc na ̣ ̀y  có thê diê ̉ ̃n ta bă ̉ ̀ng note đính kèm, hay đăt ̣ ràng buôc va ̣ ̀o {}. Bai giang BM HTTT - Khoa CNTT - HUI 19
  20.  Loai quan hê ORM   ̣ ̣ Employee was born in Country   được mô hình như thuôc ti ̣ ́nh birthcountry  trong  lược đồ class UML.   Nếu sau này khi cần lưu trữ lai phân bô ̣ ́ cua ̉ country thì cần phai đ̉ ưa vào lớp Country và đê ̉ làm rõ kết nối giữa birthcountry và Country  có  thê câ ̉ ̀n phai biê ̉ ́n đôi thuôc ti ̉ ̣ ́nh birthcountry   thành mối kết hợp giữa 2 class Employee  và   Country.   ORM  tránh được sự bất ôn ng ̉ ữ nghĩa này vì  nó luôn sử dung quan hê  thay vi ̣ ̣ ̀ dùng thuôc  ̣ tính.  Bai giang BM HTTT - Khoa CNTT - HUI 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2