CHƯƠNG CHƯƠNG 1212::
MôMô hìhìnhnh ddưữ ̃ liliệệuu
1
NNôộ̣ii dung dung
2
So sánh mô hình dữ liệu và mô hình đối
tượng
Quy tắc nghiệp vụ và tính logic trong mô
hình dữ liệu
Trình tự tạo mô hình dữ liệu
◦ Từ việc thiết kế bảng
◦ Từ mô hình đối tượng
Phát CSDL hay file DDL
Object Model và Data ModelObject Model và Data Model
Mô hình Object được dùng cho hầu hết các
thành phần của ứng dụng như class, attributes,
operations, relationships, components, và các
cấu trúc khác (ngoại trừ dữ liệu) liên quan đến
tính hiệu quả của bộ nhớ
◦ Đối tượng gì được tạo trong bộ nhớ, chúng giao tiếp
nhau như thế nào, mỗi đối tượng có nhiệm vụ gì?
Data model liên quan nhiều đến tính hiệu quả
của database.
3
So sánh 2 mô hìnhSo sánh 2 mô hình
4
So sánh So sánh 2 2 mô hìnhmô hình
có sẵn, có thể reverse engineer mô hình
này để phát ra một mô hình object.
Nếu có mô hình object nhưng không có
mô hình data, có thể phát tự động mô
hình data từ mô hình này.
7
Quy tQuy tắắc nghic nghiệệp vp vụụ Business rulesBusiness rules
Nếu muốn thực thi mô hình data, cần phải áp
dụng các quy tắc nghiệp vụ (business rules) vào
mô hình.
Các quy tắc nghiệp vụ bao gồm: yêu cầu, chính
sách, hướng dẫn cần thiết để hoàn tất giao dịch
trong thực tế.
Khi áp dụng các quy tắc nghiệp vụ, phải chỉ ra
được:
◦ các giá trị có thể chấp nhận trong các cột (not null,
unique, default )
◦ Các biểu thức điều kiện (check constraint)
◦ Các hành động cần làm khi cập nhật database (trigger
bảo toàn tham chiếu)
8
Tính logic trong mô hình dTính logic trong mô hình dữữ liliệệu u
Thực tế của hướng đối tượng chỉ ra rằng
nên giữ các business logic trong ứng dụng
hơn là trong database
Chỉ có logic nào liên quan đến chính dữ
liệu mới nên đưa vào database như: các
field, giá trị hợp lệ trong các field, chiều dài
Tuy nhiên cũng có những bất lợi khi dùng
stored procedure để thực thi business
logic:
◦ Chia business logic ngang qua ít nhất là 2
layer (business logic layer và the database
layer). Khi business logic thay đổi, có thể
cần cập nhật cả 2 layer
◦ Nếu dùng quá nhiều stored procedures
có thể khó di chuyển chúng từ DBMS
này sang DBMS khác do cú pháp có thể
khác nhau.
12
Tính logic trong mô hình dTính logic trong mô hình dữữ liliệệuu
Không dễ quyết định logic nên đặt trong
database hay trong ứng dụng.
Ngay khi quyết định đặt logic trong
database, có thể mô hình logic này bằng
cách mô hình hoá stored procedures,
constraints, và triggers.
13
TTạạo mô hình do mô hình dữữ liliệệuu
Mô hình Data được xây dựng cả trong
logical view và Component view.
Trong logical view, có thể tạo schema,
table, domain và các domain packages.
Trong Component view, mỗi database
được mô hình như 1 component với
stereotype là <<database>>
◦ MS SQL server
◦ IBM DB2
◦ Oracle
17
BBướướcc 11: : TaTạ̣oo DatabaseDatabase
Database được mô hình hoá như 1
component. Nó cần có tên riêng biệt và
phải được gán vào 1 DBMS xác định.
Để tạo database:
◦ Tại Component view, nhấp phải và chọn lệnh
Data Modeler\ New\ Database
◦ Sau khi tạo DB, mở open specification và
chọn DBMS thích hợp.
18
TablespaceTablespace ((filegroupfilegroup))
Khi sử dụng DB2, Oracle hay SQL server,
có thể thêm tablespace vào DB
Tablespace là 1 đơn vị lưu trữ logical cho
các bảng.
◦ Mỗi tablespace chứa 1 hay nhiều container.
◦ Mỗi container là 1 thiết bị lưu trữ vật lý chẳng
hạn như đĩa cứng. Một container được chia
thành nhiều đơn vị nhỏ hơn gọi là extent.
◦ Các bảng được phân bổ ngang qua các
container trong cùng 1 tablespace
19
TablespaceTablespace
dựa vào đó Data Modeler sẽ chuyển đổi mô hình
data thành mô hình object.
Schema sẽ được ánh xạ thành 1 package của mô
hình object dù cho schema có nhiều chức năng
hơn là 1 component thông thừong của UML
Tất cả tables, fields, triggers, constraints, và các
phần tử mô hình hóa dữ liệu khác đều được chứa
trong 1 schema ngoại trừ domain (đuợc lưu trong
domain packages) và database (được lưu trong
Component view).
23
SchemaSchema
Tất cả các schema đều được lưu trong package
tên Schema nằm trong Logical.
Mỗi schema phải được ánh xạ vào 1 database
trong mô hình. Mỗi database có thể chứa trong
một hay nhiều schema
Tạo schema
◦ Logical view\Data Modeler\New\Schema
◦ Gán database cho schema
24
Data Model DiagramData Model Diagram
Ngay khi schema được tạo, có thể tạo 1 lược
đồ mô hình Data ngay trong nó.
Data Model diagram được dùng để thêm, chỉnh
sửa hay xem các bảng và các phần tử khác bên
trong mô hình data. Nó có cùng mục đích như
lược đồ Class trong mô hình object
Mặc dù có thể thêm các phần tử trực tiếp ngay