SlideShare uma empresa Scribd logo
1 de 64
1
Cơ sở dữ liệu hướng đối tượng
Phạm Thị Anh Lê – ĐH Sư phạm Hà nội
Phạm Thị Anh Lê -
ĐHSPHN 2
Giới thiệu
1. Mở đầu
2. Các khái niệm cơ sở:
- OODM,
- OODB,
- OODBM
3. Thiết kế CSDL hướng đối tượng
4. Hệ QTCSDL hướng đối tượng
5. ObjectStore
3
MỞ ĐẦU
Phạm Thị Anh Lê -
ĐHSPHN 4
Mở đầu
 Các ứng dụng CSDL tiên tiến
 Tính yếu của các hệ CSDL quan hệ
 Tiếp cận mô hình hướng đối tượng
Phạm Thị Anh Lê -
ĐHSPHN 5
Các ứng dụng CSDL tiên tiến
 Thiết kế có sự trợ giúp của máy tính
 Công nghệ phần mềm có sự trợ giúp
của máy tính
 Các hệ thông tin văn phòng
 Các hệ đa phương tiện và các hệ thông
tin địa lý
 CSDL siêu văn bản
Phạm Thị Anh Lê -
ĐHSPHN 6
Tính yếu của các hệ CSDL quan
hệ
 Biểu diễn yếu các thực thể thế giới thực
 Sự quá tải của ngữ nghĩa
 Hỗ trợ yếu cho các ràng buộc tác
nghiệp và ràng buộc toàn vẹn
 Cấu trúc dữ liệu homogenous
 Khó khăn trong điều khiển các truy vấn
đệ qui
Phạm Thị Anh Lê -
ĐHSPHN 7
Tiếp cận mô hình hướng đối tượng
 Bắt nguồn từ các mạng ngữ nghĩa và các
ngôn ngữ lập trình hướng đối tượng
 Tập hợp lại các khái niệm cốt yếu để mô
hình hoá một cách tiến triển các đối
tượng phức tạp và các thủ tục liên kết
 Cho phép sử dụng lại các đối tượng và
thủ tục nhằm xây dựng những thực thể
phức tạp hơn.
8
CÁC KHÁI NIỆM CƠ
SỞ
Phạm Thị Anh Lê -
ĐHSPHN 9
OODM, OODB, OODBMS
 OODM (Object-Oriented Data Model): Một mô
hình dữ liệu mà ngữ nghĩa của các đối tượng được
hỗ trợ cho lập trình hướng đối tượng.
 OODB (Object-Oriented DataBase): Một tập hợp
bền vững và có khả năng chia sẻ của các đối
tượng được định nghĩa bởi OODM.
 OODBMS (Object-Oriented DataBase
Management System): quản lý một OODB
Phạm Thị Anh Lê -
ĐHSPHN 10
OODM
Mô hình hoá các đối tượng
 Đối tượng (Object): Bộ sưu tập các yếu tố DL có
cấu trúc, được đồng nhất bởi một dẫn trỏ (tham
chiếu) duy nhất
 Mọi đối tượng đều được đặc trưng bằng một tên duy
nhất, gọi là OID (Object Indentifier)
 Hai đối tượng là đồng nhất (O1==O2) nếu chúng có
cùng OID
 Hai đối tượng là bằng nhau (O1=O2) nếu chúng có cùng
giá trị
 Các đối tượng đặc trưng bởi các tính chất
Phạm Thị Anh Lê -
ĐHSPHN 11
OODM
Mô hình hoá các đối tượng
 Tính chất (Property): đặc trưng của một đối
tượng được chỉ định bằng một tên có thể
ứng với một thuộc tính, một hàm hay một đối
tượng con thành phần
Ví dụ:
 Thuộc tính đơn: tên của một người,...
 Hàm: Hàm tuổi (của một người),...
 Thuộc tính kép: các con của một người,...
Phạm Thị Anh Lê -
ĐHSPHN 12
OODM
Mô hình hoá các đối tượng
 Lớp: nhóm các đối tượng có cùng tính chất,
được đặc trưng bởi một cấu trúc và tập các
phép toán tác dụng lên các đối tượng của
lớp bằng cách che dấu cấu trúc
 Việc đặc tả tiến triển của các lớp đối tượng làm
thành một CSDL hướng đối tượng, cho phép mô
hình hoá hành vi chung của các đối tượng một
cách đơn thể và mở rộng được.
 Ví dụ: các con người, các hình tròn,...
Phạm Thị Anh Lê -
ĐHSPHN 13
OODM
Mô hình hoá tính động
 Phương pháp: thao tác liên kết với một lớp, xử lý
hay đưa trả lại trạng thái của một đối tượng hay
một phần của đối tượng thuộc lớp
 Một đối tượng được thao tác bởi phương pháp của lớp
và được thấy qua các phương pháp: nguyên lý bọc kín
 Phương pháp có thể áp dụng được cho nhiều đối tượng
thuộc các lớp khác nhau: đa lớp  dùng để mô hình
hoá các mối liên kết giữa các lớp
Phạm Thị Anh Lê -
ĐHSPHN 14
OODM
Mô hình hoá tính động
Ví dụ:
class cửa
public: {các thuộc tính thấy được từ bên ngoài lớp}
trạng thái: mở, đóng
chiều cao: real {kiểu thực}
chiều rộng: real
chiều dầy: real
private:
trục: vectơ
góc: real
public operation: {các phương pháp}
mở(lực: real) ... end;
đóng ... end;
Phạm Thị Anh Lê -
ĐHSPHN 15
OODM
Mô hình hoá tính động
 Thông báo: các đối tượng trao đổi (giao lưu
thông tin) với nhau bằng thông báo.
 Thông báo gồm tên của một phương pháp và các
tham số của nó
 Khối tham số cho phép bằng việc gửi đi dẫn gọi một
phương pháp công cộng của một đối tượng
 Đối tượng phản ứng lại một thông báo bằng cách
thực hiện phương pháp liên kết và đưa trả về các
tham số kết quả của phương pháp.
Một CSDL đối tượng xuất hiện như một tập các đối
tượng sống trao đổi với nhau bằng các thông báo
Phạm Thị Anh Lê -
ĐHSPHN 16
OODM
Mô hình hoá tính động
Ví dụ: Có thể gửi thông báo tới một đối
tượng p của lớp cửa:
p: mở(30)
p: đóng
p: chiều rộng.read
p: chiều rộng.write
Phạm Thị Anh Lê -
ĐHSPHN 17
OODM
Mô hình hoá tính động
 Con quỉ (demon): Là thao tác trên các
đối tượng được khởi phát bởi hệ thống khi
có xuất hiện một điều kiện đặc biệt.
Phạm Thị Anh Lê -
ĐHSPHN 18
OODM
Mô hình hoá tính động
Ví dụ: Con quỉ có thể được thêm vào lớp
cửa nhằm duy trì tự động trạng thái của
nó:
if góc > 10o
then trạng thái = mở
Phạm Thị Anh Lê -
ĐHSPHN 19
OODM
Các liên kết ngữ nghĩa giữa các lớp
 Sự tổng quát hoá: liên kết phân cấp giữa hai lớp xác
định rằng các đối tượng của lớp trên tổng quát hơn các
đối tượng của lớp dưới, các đối tượng của lớp dưới có
các tính chất đầy đủ và tinh tế hơn
Ví dụ: * Con người
- Tên
- Nơi làm việc
* Nhân viên
* Người thất nghiệp
- Nơi làm việc = null
* Nhân viên thường* Cán bộ
Phạm Thị Anh Lê -
ĐHSPHN 20
OODM
Các liên kết ngữ nghĩa giữa các lớp
 Tính kế thừa: sự truyền tính chất của một
lớp tới lớp con của nó
 Mọi phần tử của lớp con kế thừa các tính
chất của lớp trên
 Một số tính chất của lớp con có thể được làm
tinh tế hơn  định nghĩa lại
Ví dụ: thuộc tính “Nơi làm việc” của lớp “Con
người” có thể được định nghĩa lại với giá trị
null ở mức của lớp “Người thất nghiệp”
Phạm Thị Anh Lê -
ĐHSPHN 21
OODM
Các liên kết ngữ nghĩa giữa các lớp

Tính kế thừa bội: cho phép một lớp có nhiều
lớp trên trực tiếp
 Lớp con kế thừa các tính chất và phương
pháp của các lớp trên
 Có thể xảy ra và cần được giải quyết những
xung đột về tên các tính chất hay phương
pháp
Phạm Thị Anh Lê -
ĐHSPHN 22
OODM
Ví dụ về kế thừa bội
* Tam giác
*Tam giác vuông
- diện tích
* Tam giác vuông cân
- diện tích {tính kế thừa hai hàm tính diện tích
cần được phân biệt}
*Tam giác cân -
diện tích
Phạm Thị Anh Lê -
ĐHSPHN 23
OODM
Các liên kết ngữ nghĩa giữa các lớp
 Các mô hình đối tượng thường phân biệt các tính
chất được phân chia bởi nhiều lớp và nhóm hợp
chúng trong những lớp đặc biệt gọi là các mối liên
kết
 Mối liên kết là liên hệ cấu trúc cho phép liên kết các
lớp đối tượng với nhau bằng các tính chất phân chia
Ví dụ: “Người” và “Sách” là hai lớp gộp một số tính
chất (Tên, ..., Tên sách,... ), thì có thể định nghĩa
mối liên kết Tác giả của như sau:
Người → Tác giả của → Sách
Phạm Thị Anh Lê -
ĐHSPHN 24
OODM
Tổ chức các nhóm đối tượng
 Tác tử xây (constructor): lớp cấu trúc, cho phép áp
đặt một cấu trúc lên một tập đối tượng và định nghĩa
các tính chất cấu trúc đa trị
 Các tác tử xây:

bộ (tuple): cho phép nhóm gộp các thuộc tính (tích Đề các)

tập (set): cho phép định nghĩa các nhóm không sắp thứ tự,
không chứa các phần tử giống nhau

túi (bag): các tập không sắp thứ tự, có các phần tủ giống
nhau

danh sách (list): cho phép định nghĩa các nhóm có thứ tự,
được phép có các phần tử giống nhau

bảng (table): các nhóm có thứ tự và có chỉ số
Phạm Thị Anh Lê -
ĐHSPHN 25
OODM
Tổ chức các nhóm đối tượng
 Một nhóm đối tượng kế thừa các tính chất
của tác tử xây nếu có tác tử xây đứng trước
Ví dụ có thể quản lý dễ dàng các danh sách
các bảng sau:
class câu
nội dung: list array char;
class văn-bản
đoạn : list câu
Phạm Thị Anh Lê -
ĐHSPHN 26
OODM
Lược đồ
Có thể mô tả một CSDL đối tượng. Mô tả của
nó phát sinh một lược đồ bao gồm:
 Mô tả các lớp. Mỗi lớp bao gồm các tính chất
(tuỳ theo tình hình được tổ chức thành các
nhóm bởi các toán tử xây) và các phương pháp.
 Mô tả các mối liên kết giữa các lớp.
Phạm Thị Anh Lê -
ĐHSPHN 27
OODM
Lược đồ đối tượng của CSDL rượu vang
Đối tượng
Đồ uống Ngườ
i
Đã-uống
SH {số hiệu}
SL {số lượng}
Độ-rượu
Vùng
SBH {số hiệu BH}
Tên
Địa chỉ
Tuổi
Loại {Ngày-
tháng, SL tiêu thụ,
Trạng thái}
Uống gì (Đồ uống)
Ai-uống(Người)
SL
Ngày-tháng
Vùng-nho
Niên-hiệu
Chất lượng
Tên
Mầu
Đồ-uống có rượu
Rượu-vang Rượu-ngọt
Người-uống Người-không-uống
Phạm Thị Anh Lê -
ĐHSPHN 28
OODM
Phạm Thị Anh Lê -
ĐHSPHN 29
OODBMS
- Tích hợp các tính năng của DB với các tính năng
của ngôn ngữ lập trình đối tượng  Hệ QT CSDL
HĐT (ODBMS)
- Một ODBMS làm cho các đối tượng DB xuất hiện
như các đối tượng trong ngôn ngữ lập trình.
- ODBMS mở rộng ngôn ngữ lập trình đối tượng với
các đặc điểm: dữ liệu bền vững, điều khiển tương
tranh, phục hồi dữ liệu, truy vấn kết hợp, và các
tính năng DB khác.
Phạm Thị Anh Lê -
ĐHSPHN 30
OODBMS
Một OODBMS phải:
- Cung cấp đầy đủ các chức năng DB
- Hỗ trợ tính đồng nhất đối tượng
- Cung cấp tính bao bọc dữ liệu
- Hỗ trợ các đối tượng với các trạng thái phức tạp
O-O = ADT + kế thừa + đồng nhất đối tượng
O-O DBMS = O-O + các tính năng của DB
Phạm Thị Anh Lê -
ĐHSPHN 31
OODBMS
Một số OODBMS phổ biến:
 Gemstone (Gemstone System Inc., Servio Logic
Corporation)
 Itasca (Itasca System Inc.)
 Objectivity/DB (Objectivity Inc.)
 ObjectStore (Object Design Inc.)
 Ontos (Ontos Inc.)
 O2 (O2 Technology)
 Poet (Poet Software Corporation)
 Versant (Versant Object Technology)
Phạm Thị Anh Lê -
ĐHSPHN 32
OODBMS
 Ngôn ngữ lập trình bền vững: là một ngôn ngữ
cung cấp cho nsd khả năng “bảo toàn dữ liệu”
khi một chương trình thực hiện thành công, và
thậm chí cho phép dữ liệu đó được sử dụng
bởi nhiều chương trình khác nhau.
 Ngôn ngữ lập trình DB: là ngôn ngữ tích hợp
một số ý tưởng của mô hình lập trình DB với
đặc trưng của ngôn ngữ lập trình truyền thống
Phạm Thị Anh Lê -
ĐHSPHN 33
Các chiến lược phát triển
OODBMS
 Extend an existing object-oriented programming
language with database capabilities (Smalltalk, C++,
Java, - Gemstone)
 Provide extensible object-oriented DBMS libraries
(Ontos, Versant, ObjectStore)
 Embed object-oriented database language constructs
in a conventional host language (O2 provides
embedded extensions for C)
 Extend an existing database language with object-
oriented capability (SQL3-RDBMS, OODBMS;
ODMG standard)
 Develop a novel database data model/ data language
(SIM)
Phạm Thị Anh Lê -
ĐHSPHN 34
Ưu điểm của OODBMS
 Enriched modeling capabilities
 Extensibility
 Removal of impedance mismatch
 More expressive query language
 Support for schema evolution
 Applicability to advanced database application
 Improved performance (30 fold over the RDBMS,
1989)
Phạm Thị Anh Lê -
ĐHSPHN 35
Nhược điểm của OODBMS
 Lack of universal data model (lack a theoretical
foundation)
 Lack of experience
 Lack of standards
 Query optimization compromises encapsulation
 Locking at object level may impact performance
 Complexity (more expensive, more difficult to use)
 Lack of support for views
 Lack of support for security
36
THIẾT KẾ OODB
Phạm Thị Anh Lê -
ĐHSPHN 37
Thiết kế OODB
 Định nghĩa lược đồ khái niệm trong một ngôn ngữ
(mô hình) sao cho gần với người dùng và độc lập với cài
đặt cuối cùng. Mô hình được dùng trong bước này phải có
khả năng biểu diễn mọi yêu cầu của người dùng (UML –
Unified Modeling Language).
 Dịch chuyển trực tiếp sang cài đặt cuối cùng trong
một hệ QTCSDL hướng đối tượng xác định.
 Có thể qua một bước trung gian để có một lược đồ
được mô tả trong ODL (Object Definition Language), biểu
diễn các chi tiết thiết kế độc lập với sản phẩm cuối cùng.
Phạm Thị Anh Lê -
ĐHSPHN 38
Thiết kế OODB
Thiết kế khái niệm sử
dụng kí pháp UML
Thiết kế cài đặt.
Hệ QTCSDL HĐT
Thiết kế chuẩn ODL
Quá trình thiết kế một lược đồ CSDL HĐT
Phạm Thị Anh Lê -
ĐHSPHN 39
Thiết kế OODB
Minh hoạ ở các trang 178->187
 Thiết kế khái niệm (UML)
 Thiết kế lược đồ tiêu chuẩn (ODMG)
 Thiết kế lược đồ cài đặt (Poet 4.0)
Phạm Thị Anh Lê -
ĐHSPHN 40
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 41
Kí pháp UML
 ‘+’ đứng trước tên thuộc tính, hàm xác định
tính công khai (public). Trong Rose kí hiệu là
ổ khoá không bị khoá.
 ‘#’ đứng trước tên thuộc tính, hàm xác định
tính được bảo vệ (protected). Trong Rose kí
hiệu là ổ khoá bị khoá nhưng có chìa để bên
cạnh.
 ‘-’ đứng trước tên thuộc tính, hàm xác định
tính sở hữu riêng (private). Trong Rose kí
hiệu là ổ khoá bị khoá nhưng không có chìa
để bên cạnh.
Phạm Thị Anh Lê -
ĐHSPHN 42
Kí pháp UML
(Liên kết giữa các đối tượng)
Phạm Thị Anh Lê -
ĐHSPHN 43
Kí pháp UML
(Quan hệ kết hợp giữa các lớp)
Phạm Thị Anh Lê -
ĐHSPHN 44
Thiết kế khái niệm
Kí pháp UML
Trong UML các bội số được biểu diễn:
Phạm Thị Anh Lê -
ĐHSPHN 45
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 46
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 47
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 48
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 49
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 50
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 51
Thiết kế khái niệm
Kí pháp UML
Phạm Thị Anh Lê -
ĐHSPHN 52
Thiết kế lược đồ tiêu chuẩn
Chuyển một lược đồ khái niệm biểu thị
trong kí pháp UML về một lược đồ
ODMG (Object Database Management
Group)
Phạm Thị Anh Lê -
ĐHSPHN 53
Chuẩn của ODMG
 ODMG đề xuất một CSDL tiêu chuẩn với mục tiêu thống nhất
mô hình đối tượng hạt nhân của nhiều hệ QTCSDL đối tượng
khác nhau.
 ODMG đưa ra một chuẩn mới cho OODM:
 Một mô hình đối tượng (OM)
 Một ngôn ngữ định nghĩa đối tượng (ODL)
 Một ngôn ngữ hỏi đối tượng với cú pháp tựa SQL
 Ràng buộc ngôn ngữ C++(Java/Smalltalk)
Những kết cấu chính được đặc tả bởi mô hình dữ liệu của
ODMG:
 Đối tượng và literal
 Kiểu
 Các kiểu con và tính kế thừa
 Ngoại diên
 Khoá
 Kiểu sưu tập và kiểu có cấu trúc
Phạm Thị Anh Lê -
ĐHSPHN 54
ODMG
Đối tượng và literal
 Đối tượng bền vững (đối tượng CSDL): là các
đối tượng tiếp tục tồn tại khi thủ tục hay quá
trình tạo ra chúng đã kết thúc. Chúng được
cấp phát bộ nhớ và được lưu trữ bởi hệ
QTCSDL HĐT.
 Đối tượng không bền (chuyển tiếp): chỉ tồn tại
bên trong thủ tục hay quá trình tạo ra chúng.
Chúng được cấp phát bộ nhớ bởi hệ thống
thời gian chạy của ngôn ngữ lập trình.
Phạm Thị Anh Lê -
ĐHSPHN 55
ODMG
Kiểu: lớp và giao diện
 Một kiểu xác định các tính chất chung (các thuộc tính và liên
kết) và hành vi (thao tác) của một tập các phần tử. Các giá trị
của những tính chất của một đối tượng có thể thay đổi bất kì lúc
nào.
 Một kiểu có một đặc tả ngoài và một hay nhiều cài đặt. ODL hỗ
trợ đặc tả ngoài với ba kết cấu: giao diện, lớp và literal
 Một định nghĩa của giao diện là một đặc tả chỉ định nghĩa hành vi
trừu tượng của một kiểu đối tượng.
 Định nghĩa của lớp là một đặc tả định nghĩa dáng điệu trừu tượng
và trạng thái trừu tượng của một kiểu đối tượng.
 Định nghĩa của literal chỉ định nghĩa trạng thái trừu tượng của một
literal.
Việc cài đặt của một kiểu đối tượng phải được thực hiện bởi một ràng
buộc ngôn ngữ
Phạm Thị Anh Lê -
ĐHSPHN 56
ODMG
Các kiểu con và tính kế thừa
Mô hình dữ liệu ODMG hỗ trợ 2 loại liên kết kế thừa:
 Liên kết is-a (biểu diễn bởi :): định nghĩa tính kế thừa
hành vi giữa các kiểu đối tượng, hoặc là giao diện hoặc
là lớp.
 Liên kết EXTENDS (biểu diễn bởi từ extend) chỉ tính kế
thừa trạng thái. Nó chỉ áp dụng cho kiểu đối tượng.
Như vậy, chỉ có các lớp có thể kế thừa trạng thái, các
literal thì không.
Phạm Thị Anh Lê -
ĐHSPHN 57
ODMG
 Ngoại diên (extents) của một kiểu là
nhóm (bộ sưu tập) của tất cả các đối
tượng (thể hiện-instances) của kiểu.
 Khoá (keys): là một hay một tập thuộc
tính xác định duy nhất mỗi đối tượng
của một kiểu (giống khái niệm khoá dự
tuyển của mô hình quan hệ).
Phạm Thị Anh Lê -
ĐHSPHN 58
ODMG
Kiểu sưu tập và kiểu có cấu trúc
 Kiểu sưu tập (collections)
 Một sưu tập là một kiểu có số phần tử biến đổi, tất cả đều
cùng kiểu.
 Mô hình dữ liệu ODMG hỗ trợ các kiểu sưu tập (đối tượng
hay literal): tập, túi, danh sách, từ điển và bảng.
 Kiểu có cấu trúc (structured types)
 Là kiểu có số cố định phần tử, có thể thuộc nhiều kiểu khác
nhau.
 Mô hình ODMG hỗ trợ các kiểu có cấu trúc (đối tượng hay
literal): date, interval, time và timestamp.
 Ngoài ra ODMG còn cho phép người dùng định nghĩa các
kiểu có cấu trúc mới.
Phạm Thị Anh Lê -
ĐHSPHN 59
Thiết kế lược đồ tiêu chuẩn
Dịch kiểu của đối tượng
 Mỗi lớp bền vững UML được dịch thành
một lớp ODL.
 Mỗi giao diện UML được dịch thành một
giao diện ODL.
 Mỗi thuộc tính được dịch sang một
thuộc tính. Nếu là thuộc tính đa trị được
dịch sang một kiểu sưu tập (collection
type).
Phạm Thị Anh Lê -
ĐHSPHN 60
Thiết kế lược đồ tiêu chuẩn
Các mối liên kết
 Các mối liên kết được định nghĩa là các mối
quan hệ trong ODL
 Số bội (multiplicity) (bao gồm số bội cực đại
và cực tiểu) biểu diễn có bao nhiêu đối tượng
của một lớp có thể được kết hợp với một đối
tượng xác định của lớp có liên quan.
 Trong ODMG, số bội cực đại hỗ trợ định
nghĩa mối quan hệ. Nếu số bội cực đại lớn
hơn 1, mối quan hệ được định nghĩa bởi kiểu
sưu tập (tập, danh sách hay túi).
Phạm Thị Anh Lê -
ĐHSPHN 61
Thiết kế lược đồ tiêu chuẩn
Tổng quát hoá
Sự tổng quát hoá được ngầm định trong
UML là tổng quát hoá rời nhau, không
đầy đủ và được hỗ trợ trực tiếp bởi mô
hình dữ liệu ODMG thông qua mối quan
hệ EXTEND.
Phạm Thị Anh Lê -
ĐHSPHN 62
Thiết kế lược đồ tiêu chuẩn
Gộp nhập
UML hỗ trợ hai cách biểu diễn gộp nhập:
 Gộp nhập phần tử - bộ sưu tập (member-
collection aggregation): biểu diễn một bộ sưu
tập các đối tượng, tất cả thuộc cùng một lớp
và cùng với nhau làm thành một lớp mới. Ví
dụ một bộ sưu tập các cây làm thành một
rừng.
 Gộp nhập bộ phận – toàn thể (part-whole
aggregation): biểu diễn một lớp có cấu trúc
gồm hai lớp hầu như khác nhau
Phạm Thị Anh Lê -
ĐHSPHN 63
Thiết kế lược đồ cài đặt
 Dịch lược đồ thiết kế chuẩn thành lược
đồ cài đặt trong POET 4.0
64
Xin cảm ơn !

Mais conteúdo relacionado

Mais procurados

Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Nguyễn Trọng
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcChu TheKop
 
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...MasterCode.vn
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3NguynMinh294
 
Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2NguynMinh294
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12K33LA-KG
 
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2
Tin hoc 12   chuong 3 - bai 10 - csdl quan he - tiet 2Tin hoc 12   chuong 3 - bai 10 - csdl quan he - tiet 2
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2Quang Dinh
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuChâu Trần
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2tranquanthien
 
Cơ sở dữ liệu ts.phạm thế quế[bookbooming.com]
Cơ sở dữ liệu   ts.phạm thế quế[bookbooming.com]Cơ sở dữ liệu   ts.phạm thế quế[bookbooming.com]
Cơ sở dữ liệu ts.phạm thế quế[bookbooming.com]bookbooming1
 

Mais procurados (20)

Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1Cơ Sở Dữ Liệu - Chương 1
Cơ Sở Dữ Liệu - Chương 1
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...
Bài 4: Phân tích hệ thống về dữ liệu Mô hình dữ liệu mức khái niệm - Giáo trì...
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3
 
Giaoandientu bai10lop12
Giaoandientu bai10lop12Giaoandientu bai10lop12
Giaoandientu bai10lop12
 
Com201 slide 1
Com201   slide 1Com201   slide 1
Com201 slide 1
 
Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2Cơ sở dữ liệu PTIT slide 2
Cơ sở dữ liệu PTIT slide 2
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12
Nguyễn Thị Thanh Hương - Bài 10 - Chương 3 - Lớp 12
 
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2
Tin hoc 12   chuong 3 - bai 10 - csdl quan he - tiet 2Tin hoc 12   chuong 3 - bai 10 - csdl quan he - tiet 2
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
Com201 slide 6
Com201   slide 6Com201   slide 6
Com201 slide 6
 
Bài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệuBài 2: Hệ quản trị cơ sở dữ liệu
Bài 2: Hệ quản trị cơ sở dữ liệu
 
Com201 slide 2
Com201   slide 2Com201   slide 2
Com201 slide 2
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2
 
Cơ sở dữ liệu ts.phạm thế quế[bookbooming.com]
Cơ sở dữ liệu   ts.phạm thế quế[bookbooming.com]Cơ sở dữ liệu   ts.phạm thế quế[bookbooming.com]
Cơ sở dữ liệu ts.phạm thế quế[bookbooming.com]
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
C2 2
C2 2C2 2
C2 2
 

Destaque

Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webxuandiencntt
 
Datalog and its Extensions for Semantic Web Databases
Datalog and its Extensions for Semantic Web DatabasesDatalog and its Extensions for Semantic Web Databases
Datalog and its Extensions for Semantic Web DatabasesGiorgio Orsi
 
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdfđề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdfAlexander Dung
 
De an-tttn-olap-slide
De an-tttn-olap-slideDe an-tttn-olap-slide
De an-tttn-olap-slideMan El
 
Data_Warehouse
Data_WarehouseData_Warehouse
Data_WarehouseThang Luu
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlptguest8fdbdd
 
Tài liệu data warehouse vietsub
Tài liệu data warehouse  vietsubTài liệu data warehouse  vietsub
Tài liệu data warehouse vietsubhoangdat1361
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệmNguyễn Phúc
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
OLAP & DATA WAREHOUSE
OLAP & DATA WAREHOUSEOLAP & DATA WAREHOUSE
OLAP & DATA WAREHOUSEZalpa Rathod
 

Destaque (17)

OOP
OOPOOP
OOP
 
Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren web
 
Section11
Section11Section11
Section11
 
Datalog and its Extensions for Semantic Web Databases
Datalog and its Extensions for Semantic Web DatabasesDatalog and its Extensions for Semantic Web Databases
Datalog and its Extensions for Semantic Web Databases
 
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdfđề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
 
De an-tttn-olap-slide
De an-tttn-olap-slideDe an-tttn-olap-slide
De an-tttn-olap-slide
 
Data_Warehouse
Data_WarehouseData_Warehouse
Data_Warehouse
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlpt
 
Access toan tap
Access toan tapAccess toan tap
Access toan tap
 
Data Warehouse
Data WarehouseData Warehouse
Data Warehouse
 
Tài liệu data warehouse vietsub
Tài liệu data warehouse  vietsubTài liệu data warehouse  vietsub
Tài liệu data warehouse vietsub
 
Fuzzy logic &_inference_system
Fuzzy logic &_inference_systemFuzzy logic &_inference_system
Fuzzy logic &_inference_system
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 
OLAP
OLAPOLAP
OLAP
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
OLAP & DATA WAREHOUSE
OLAP & DATA WAREHOUSEOLAP & DATA WAREHOUSE
OLAP & DATA WAREHOUSE
 

Semelhante a Csdl hdt

W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxHnginh10297
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượngHưởng Nguyễn
 
13929219602082.ppt
13929219602082.ppt13929219602082.ppt
13929219602082.pptminh dang
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02nguyen minh
 
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfBài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfNuioKila
 
[123doc] mo-hinh-thuc-the-moi-ket-hop
[123doc]   mo-hinh-thuc-the-moi-ket-hop[123doc]   mo-hinh-thuc-the-moi-ket-hop
[123doc] mo-hinh-thuc-the-moi-ket-hopMay Trang
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06xcode_esvn
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGTai Tran
 
on-tap-khai-thac-du-lieu-va-ung-dung.pdf
on-tap-khai-thac-du-lieu-va-ung-dung.pdfon-tap-khai-thac-du-lieu-va-ung-dung.pdf
on-tap-khai-thac-du-lieu-va-ung-dung.pdfMan_Ebook
 
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4kikihoho
 

Semelhante a Csdl hdt (20)

W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 
13929219602082.ppt
13929219602082.ppt13929219602082.ppt
13929219602082.ppt
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
 
lopvadoituong.pdf
lopvadoituong.pdflopvadoituong.pdf
lopvadoituong.pdf
 
Phân tích
Phân tíchPhân tích
Phân tích
 
Chuong2 c
Chuong2 c Chuong2 c
Chuong2 c
 
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdfBài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
 
[123doc] mo-hinh-thuc-the-moi-ket-hop
[123doc]   mo-hinh-thuc-the-moi-ket-hop[123doc]   mo-hinh-thuc-the-moi-ket-hop
[123doc] mo-hinh-thuc-the-moi-ket-hop
 
GIÁO TRÌNH ACCESS 2003
GIÁO TRÌNH ACCESS 2003GIÁO TRÌNH ACCESS 2003
GIÁO TRÌNH ACCESS 2003
 
Bai11 ooad bieu_dolop
Bai11 ooad bieu_dolopBai11 ooad bieu_dolop
Bai11 ooad bieu_dolop
 
Ch4.phan tich(1)
Ch4.phan tich(1)Ch4.phan tich(1)
Ch4.phan tich(1)
 
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06Lap trinh huong_doi_tuong_cpp_dhct_lesson06
Lap trinh huong_doi_tuong_cpp_dhct_lesson06
 
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNGBÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
 
on-tap-khai-thac-du-lieu-va-ung-dung.pdf
on-tap-khai-thac-du-lieu-va-ung-dung.pdfon-tap-khai-thac-du-lieu-va-ung-dung.pdf
on-tap-khai-thac-du-lieu-va-ung-dung.pdf
 
On thi kpdl
On thi kpdlOn thi kpdl
On thi kpdl
 
Oop 2
Oop 2Oop 2
Oop 2
 
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4
 
Chapter0
Chapter0Chapter0
Chapter0
 
01 database
01 database01 database
01 database
 

Csdl hdt

  • 1. 1 Cơ sở dữ liệu hướng đối tượng Phạm Thị Anh Lê – ĐH Sư phạm Hà nội
  • 2. Phạm Thị Anh Lê - ĐHSPHN 2 Giới thiệu 1. Mở đầu 2. Các khái niệm cơ sở: - OODM, - OODB, - OODBM 3. Thiết kế CSDL hướng đối tượng 4. Hệ QTCSDL hướng đối tượng 5. ObjectStore
  • 4. Phạm Thị Anh Lê - ĐHSPHN 4 Mở đầu  Các ứng dụng CSDL tiên tiến  Tính yếu của các hệ CSDL quan hệ  Tiếp cận mô hình hướng đối tượng
  • 5. Phạm Thị Anh Lê - ĐHSPHN 5 Các ứng dụng CSDL tiên tiến  Thiết kế có sự trợ giúp của máy tính  Công nghệ phần mềm có sự trợ giúp của máy tính  Các hệ thông tin văn phòng  Các hệ đa phương tiện và các hệ thông tin địa lý  CSDL siêu văn bản
  • 6. Phạm Thị Anh Lê - ĐHSPHN 6 Tính yếu của các hệ CSDL quan hệ  Biểu diễn yếu các thực thể thế giới thực  Sự quá tải của ngữ nghĩa  Hỗ trợ yếu cho các ràng buộc tác nghiệp và ràng buộc toàn vẹn  Cấu trúc dữ liệu homogenous  Khó khăn trong điều khiển các truy vấn đệ qui
  • 7. Phạm Thị Anh Lê - ĐHSPHN 7 Tiếp cận mô hình hướng đối tượng  Bắt nguồn từ các mạng ngữ nghĩa và các ngôn ngữ lập trình hướng đối tượng  Tập hợp lại các khái niệm cốt yếu để mô hình hoá một cách tiến triển các đối tượng phức tạp và các thủ tục liên kết  Cho phép sử dụng lại các đối tượng và thủ tục nhằm xây dựng những thực thể phức tạp hơn.
  • 9. Phạm Thị Anh Lê - ĐHSPHN 9 OODM, OODB, OODBMS  OODM (Object-Oriented Data Model): Một mô hình dữ liệu mà ngữ nghĩa của các đối tượng được hỗ trợ cho lập trình hướng đối tượng.  OODB (Object-Oriented DataBase): Một tập hợp bền vững và có khả năng chia sẻ của các đối tượng được định nghĩa bởi OODM.  OODBMS (Object-Oriented DataBase Management System): quản lý một OODB
  • 10. Phạm Thị Anh Lê - ĐHSPHN 10 OODM Mô hình hoá các đối tượng  Đối tượng (Object): Bộ sưu tập các yếu tố DL có cấu trúc, được đồng nhất bởi một dẫn trỏ (tham chiếu) duy nhất  Mọi đối tượng đều được đặc trưng bằng một tên duy nhất, gọi là OID (Object Indentifier)  Hai đối tượng là đồng nhất (O1==O2) nếu chúng có cùng OID  Hai đối tượng là bằng nhau (O1=O2) nếu chúng có cùng giá trị  Các đối tượng đặc trưng bởi các tính chất
  • 11. Phạm Thị Anh Lê - ĐHSPHN 11 OODM Mô hình hoá các đối tượng  Tính chất (Property): đặc trưng của một đối tượng được chỉ định bằng một tên có thể ứng với một thuộc tính, một hàm hay một đối tượng con thành phần Ví dụ:  Thuộc tính đơn: tên của một người,...  Hàm: Hàm tuổi (của một người),...  Thuộc tính kép: các con của một người,...
  • 12. Phạm Thị Anh Lê - ĐHSPHN 12 OODM Mô hình hoá các đối tượng  Lớp: nhóm các đối tượng có cùng tính chất, được đặc trưng bởi một cấu trúc và tập các phép toán tác dụng lên các đối tượng của lớp bằng cách che dấu cấu trúc  Việc đặc tả tiến triển của các lớp đối tượng làm thành một CSDL hướng đối tượng, cho phép mô hình hoá hành vi chung của các đối tượng một cách đơn thể và mở rộng được.  Ví dụ: các con người, các hình tròn,...
  • 13. Phạm Thị Anh Lê - ĐHSPHN 13 OODM Mô hình hoá tính động  Phương pháp: thao tác liên kết với một lớp, xử lý hay đưa trả lại trạng thái của một đối tượng hay một phần của đối tượng thuộc lớp  Một đối tượng được thao tác bởi phương pháp của lớp và được thấy qua các phương pháp: nguyên lý bọc kín  Phương pháp có thể áp dụng được cho nhiều đối tượng thuộc các lớp khác nhau: đa lớp  dùng để mô hình hoá các mối liên kết giữa các lớp
  • 14. Phạm Thị Anh Lê - ĐHSPHN 14 OODM Mô hình hoá tính động Ví dụ: class cửa public: {các thuộc tính thấy được từ bên ngoài lớp} trạng thái: mở, đóng chiều cao: real {kiểu thực} chiều rộng: real chiều dầy: real private: trục: vectơ góc: real public operation: {các phương pháp} mở(lực: real) ... end; đóng ... end;
  • 15. Phạm Thị Anh Lê - ĐHSPHN 15 OODM Mô hình hoá tính động  Thông báo: các đối tượng trao đổi (giao lưu thông tin) với nhau bằng thông báo.  Thông báo gồm tên của một phương pháp và các tham số của nó  Khối tham số cho phép bằng việc gửi đi dẫn gọi một phương pháp công cộng của một đối tượng  Đối tượng phản ứng lại một thông báo bằng cách thực hiện phương pháp liên kết và đưa trả về các tham số kết quả của phương pháp. Một CSDL đối tượng xuất hiện như một tập các đối tượng sống trao đổi với nhau bằng các thông báo
  • 16. Phạm Thị Anh Lê - ĐHSPHN 16 OODM Mô hình hoá tính động Ví dụ: Có thể gửi thông báo tới một đối tượng p của lớp cửa: p: mở(30) p: đóng p: chiều rộng.read p: chiều rộng.write
  • 17. Phạm Thị Anh Lê - ĐHSPHN 17 OODM Mô hình hoá tính động  Con quỉ (demon): Là thao tác trên các đối tượng được khởi phát bởi hệ thống khi có xuất hiện một điều kiện đặc biệt.
  • 18. Phạm Thị Anh Lê - ĐHSPHN 18 OODM Mô hình hoá tính động Ví dụ: Con quỉ có thể được thêm vào lớp cửa nhằm duy trì tự động trạng thái của nó: if góc > 10o then trạng thái = mở
  • 19. Phạm Thị Anh Lê - ĐHSPHN 19 OODM Các liên kết ngữ nghĩa giữa các lớp  Sự tổng quát hoá: liên kết phân cấp giữa hai lớp xác định rằng các đối tượng của lớp trên tổng quát hơn các đối tượng của lớp dưới, các đối tượng của lớp dưới có các tính chất đầy đủ và tinh tế hơn Ví dụ: * Con người - Tên - Nơi làm việc * Nhân viên * Người thất nghiệp - Nơi làm việc = null * Nhân viên thường* Cán bộ
  • 20. Phạm Thị Anh Lê - ĐHSPHN 20 OODM Các liên kết ngữ nghĩa giữa các lớp  Tính kế thừa: sự truyền tính chất của một lớp tới lớp con của nó  Mọi phần tử của lớp con kế thừa các tính chất của lớp trên  Một số tính chất của lớp con có thể được làm tinh tế hơn  định nghĩa lại Ví dụ: thuộc tính “Nơi làm việc” của lớp “Con người” có thể được định nghĩa lại với giá trị null ở mức của lớp “Người thất nghiệp”
  • 21. Phạm Thị Anh Lê - ĐHSPHN 21 OODM Các liên kết ngữ nghĩa giữa các lớp  Tính kế thừa bội: cho phép một lớp có nhiều lớp trên trực tiếp  Lớp con kế thừa các tính chất và phương pháp của các lớp trên  Có thể xảy ra và cần được giải quyết những xung đột về tên các tính chất hay phương pháp
  • 22. Phạm Thị Anh Lê - ĐHSPHN 22 OODM Ví dụ về kế thừa bội * Tam giác *Tam giác vuông - diện tích * Tam giác vuông cân - diện tích {tính kế thừa hai hàm tính diện tích cần được phân biệt} *Tam giác cân - diện tích
  • 23. Phạm Thị Anh Lê - ĐHSPHN 23 OODM Các liên kết ngữ nghĩa giữa các lớp  Các mô hình đối tượng thường phân biệt các tính chất được phân chia bởi nhiều lớp và nhóm hợp chúng trong những lớp đặc biệt gọi là các mối liên kết  Mối liên kết là liên hệ cấu trúc cho phép liên kết các lớp đối tượng với nhau bằng các tính chất phân chia Ví dụ: “Người” và “Sách” là hai lớp gộp một số tính chất (Tên, ..., Tên sách,... ), thì có thể định nghĩa mối liên kết Tác giả của như sau: Người → Tác giả của → Sách
  • 24. Phạm Thị Anh Lê - ĐHSPHN 24 OODM Tổ chức các nhóm đối tượng  Tác tử xây (constructor): lớp cấu trúc, cho phép áp đặt một cấu trúc lên một tập đối tượng và định nghĩa các tính chất cấu trúc đa trị  Các tác tử xây:  bộ (tuple): cho phép nhóm gộp các thuộc tính (tích Đề các)  tập (set): cho phép định nghĩa các nhóm không sắp thứ tự, không chứa các phần tử giống nhau  túi (bag): các tập không sắp thứ tự, có các phần tủ giống nhau  danh sách (list): cho phép định nghĩa các nhóm có thứ tự, được phép có các phần tử giống nhau  bảng (table): các nhóm có thứ tự và có chỉ số
  • 25. Phạm Thị Anh Lê - ĐHSPHN 25 OODM Tổ chức các nhóm đối tượng  Một nhóm đối tượng kế thừa các tính chất của tác tử xây nếu có tác tử xây đứng trước Ví dụ có thể quản lý dễ dàng các danh sách các bảng sau: class câu nội dung: list array char; class văn-bản đoạn : list câu
  • 26. Phạm Thị Anh Lê - ĐHSPHN 26 OODM Lược đồ Có thể mô tả một CSDL đối tượng. Mô tả của nó phát sinh một lược đồ bao gồm:  Mô tả các lớp. Mỗi lớp bao gồm các tính chất (tuỳ theo tình hình được tổ chức thành các nhóm bởi các toán tử xây) và các phương pháp.  Mô tả các mối liên kết giữa các lớp.
  • 27. Phạm Thị Anh Lê - ĐHSPHN 27 OODM Lược đồ đối tượng của CSDL rượu vang Đối tượng Đồ uống Ngườ i Đã-uống SH {số hiệu} SL {số lượng} Độ-rượu Vùng SBH {số hiệu BH} Tên Địa chỉ Tuổi Loại {Ngày- tháng, SL tiêu thụ, Trạng thái} Uống gì (Đồ uống) Ai-uống(Người) SL Ngày-tháng Vùng-nho Niên-hiệu Chất lượng Tên Mầu Đồ-uống có rượu Rượu-vang Rượu-ngọt Người-uống Người-không-uống
  • 28. Phạm Thị Anh Lê - ĐHSPHN 28 OODM
  • 29. Phạm Thị Anh Lê - ĐHSPHN 29 OODBMS - Tích hợp các tính năng của DB với các tính năng của ngôn ngữ lập trình đối tượng  Hệ QT CSDL HĐT (ODBMS) - Một ODBMS làm cho các đối tượng DB xuất hiện như các đối tượng trong ngôn ngữ lập trình. - ODBMS mở rộng ngôn ngữ lập trình đối tượng với các đặc điểm: dữ liệu bền vững, điều khiển tương tranh, phục hồi dữ liệu, truy vấn kết hợp, và các tính năng DB khác.
  • 30. Phạm Thị Anh Lê - ĐHSPHN 30 OODBMS Một OODBMS phải: - Cung cấp đầy đủ các chức năng DB - Hỗ trợ tính đồng nhất đối tượng - Cung cấp tính bao bọc dữ liệu - Hỗ trợ các đối tượng với các trạng thái phức tạp O-O = ADT + kế thừa + đồng nhất đối tượng O-O DBMS = O-O + các tính năng của DB
  • 31. Phạm Thị Anh Lê - ĐHSPHN 31 OODBMS Một số OODBMS phổ biến:  Gemstone (Gemstone System Inc., Servio Logic Corporation)  Itasca (Itasca System Inc.)  Objectivity/DB (Objectivity Inc.)  ObjectStore (Object Design Inc.)  Ontos (Ontos Inc.)  O2 (O2 Technology)  Poet (Poet Software Corporation)  Versant (Versant Object Technology)
  • 32. Phạm Thị Anh Lê - ĐHSPHN 32 OODBMS  Ngôn ngữ lập trình bền vững: là một ngôn ngữ cung cấp cho nsd khả năng “bảo toàn dữ liệu” khi một chương trình thực hiện thành công, và thậm chí cho phép dữ liệu đó được sử dụng bởi nhiều chương trình khác nhau.  Ngôn ngữ lập trình DB: là ngôn ngữ tích hợp một số ý tưởng của mô hình lập trình DB với đặc trưng của ngôn ngữ lập trình truyền thống
  • 33. Phạm Thị Anh Lê - ĐHSPHN 33 Các chiến lược phát triển OODBMS  Extend an existing object-oriented programming language with database capabilities (Smalltalk, C++, Java, - Gemstone)  Provide extensible object-oriented DBMS libraries (Ontos, Versant, ObjectStore)  Embed object-oriented database language constructs in a conventional host language (O2 provides embedded extensions for C)  Extend an existing database language with object- oriented capability (SQL3-RDBMS, OODBMS; ODMG standard)  Develop a novel database data model/ data language (SIM)
  • 34. Phạm Thị Anh Lê - ĐHSPHN 34 Ưu điểm của OODBMS  Enriched modeling capabilities  Extensibility  Removal of impedance mismatch  More expressive query language  Support for schema evolution  Applicability to advanced database application  Improved performance (30 fold over the RDBMS, 1989)
  • 35. Phạm Thị Anh Lê - ĐHSPHN 35 Nhược điểm của OODBMS  Lack of universal data model (lack a theoretical foundation)  Lack of experience  Lack of standards  Query optimization compromises encapsulation  Locking at object level may impact performance  Complexity (more expensive, more difficult to use)  Lack of support for views  Lack of support for security
  • 37. Phạm Thị Anh Lê - ĐHSPHN 37 Thiết kế OODB  Định nghĩa lược đồ khái niệm trong một ngôn ngữ (mô hình) sao cho gần với người dùng và độc lập với cài đặt cuối cùng. Mô hình được dùng trong bước này phải có khả năng biểu diễn mọi yêu cầu của người dùng (UML – Unified Modeling Language).  Dịch chuyển trực tiếp sang cài đặt cuối cùng trong một hệ QTCSDL hướng đối tượng xác định.  Có thể qua một bước trung gian để có một lược đồ được mô tả trong ODL (Object Definition Language), biểu diễn các chi tiết thiết kế độc lập với sản phẩm cuối cùng.
  • 38. Phạm Thị Anh Lê - ĐHSPHN 38 Thiết kế OODB Thiết kế khái niệm sử dụng kí pháp UML Thiết kế cài đặt. Hệ QTCSDL HĐT Thiết kế chuẩn ODL Quá trình thiết kế một lược đồ CSDL HĐT
  • 39. Phạm Thị Anh Lê - ĐHSPHN 39 Thiết kế OODB Minh hoạ ở các trang 178->187  Thiết kế khái niệm (UML)  Thiết kế lược đồ tiêu chuẩn (ODMG)  Thiết kế lược đồ cài đặt (Poet 4.0)
  • 40. Phạm Thị Anh Lê - ĐHSPHN 40 Kí pháp UML
  • 41. Phạm Thị Anh Lê - ĐHSPHN 41 Kí pháp UML  ‘+’ đứng trước tên thuộc tính, hàm xác định tính công khai (public). Trong Rose kí hiệu là ổ khoá không bị khoá.  ‘#’ đứng trước tên thuộc tính, hàm xác định tính được bảo vệ (protected). Trong Rose kí hiệu là ổ khoá bị khoá nhưng có chìa để bên cạnh.  ‘-’ đứng trước tên thuộc tính, hàm xác định tính sở hữu riêng (private). Trong Rose kí hiệu là ổ khoá bị khoá nhưng không có chìa để bên cạnh.
  • 42. Phạm Thị Anh Lê - ĐHSPHN 42 Kí pháp UML (Liên kết giữa các đối tượng)
  • 43. Phạm Thị Anh Lê - ĐHSPHN 43 Kí pháp UML (Quan hệ kết hợp giữa các lớp)
  • 44. Phạm Thị Anh Lê - ĐHSPHN 44 Thiết kế khái niệm Kí pháp UML Trong UML các bội số được biểu diễn:
  • 45. Phạm Thị Anh Lê - ĐHSPHN 45 Thiết kế khái niệm Kí pháp UML
  • 46. Phạm Thị Anh Lê - ĐHSPHN 46 Thiết kế khái niệm Kí pháp UML
  • 47. Phạm Thị Anh Lê - ĐHSPHN 47 Thiết kế khái niệm Kí pháp UML
  • 48. Phạm Thị Anh Lê - ĐHSPHN 48 Thiết kế khái niệm Kí pháp UML
  • 49. Phạm Thị Anh Lê - ĐHSPHN 49 Thiết kế khái niệm Kí pháp UML
  • 50. Phạm Thị Anh Lê - ĐHSPHN 50 Thiết kế khái niệm Kí pháp UML
  • 51. Phạm Thị Anh Lê - ĐHSPHN 51 Thiết kế khái niệm Kí pháp UML
  • 52. Phạm Thị Anh Lê - ĐHSPHN 52 Thiết kế lược đồ tiêu chuẩn Chuyển một lược đồ khái niệm biểu thị trong kí pháp UML về một lược đồ ODMG (Object Database Management Group)
  • 53. Phạm Thị Anh Lê - ĐHSPHN 53 Chuẩn của ODMG  ODMG đề xuất một CSDL tiêu chuẩn với mục tiêu thống nhất mô hình đối tượng hạt nhân của nhiều hệ QTCSDL đối tượng khác nhau.  ODMG đưa ra một chuẩn mới cho OODM:  Một mô hình đối tượng (OM)  Một ngôn ngữ định nghĩa đối tượng (ODL)  Một ngôn ngữ hỏi đối tượng với cú pháp tựa SQL  Ràng buộc ngôn ngữ C++(Java/Smalltalk) Những kết cấu chính được đặc tả bởi mô hình dữ liệu của ODMG:  Đối tượng và literal  Kiểu  Các kiểu con và tính kế thừa  Ngoại diên  Khoá  Kiểu sưu tập và kiểu có cấu trúc
  • 54. Phạm Thị Anh Lê - ĐHSPHN 54 ODMG Đối tượng và literal  Đối tượng bền vững (đối tượng CSDL): là các đối tượng tiếp tục tồn tại khi thủ tục hay quá trình tạo ra chúng đã kết thúc. Chúng được cấp phát bộ nhớ và được lưu trữ bởi hệ QTCSDL HĐT.  Đối tượng không bền (chuyển tiếp): chỉ tồn tại bên trong thủ tục hay quá trình tạo ra chúng. Chúng được cấp phát bộ nhớ bởi hệ thống thời gian chạy của ngôn ngữ lập trình.
  • 55. Phạm Thị Anh Lê - ĐHSPHN 55 ODMG Kiểu: lớp và giao diện  Một kiểu xác định các tính chất chung (các thuộc tính và liên kết) và hành vi (thao tác) của một tập các phần tử. Các giá trị của những tính chất của một đối tượng có thể thay đổi bất kì lúc nào.  Một kiểu có một đặc tả ngoài và một hay nhiều cài đặt. ODL hỗ trợ đặc tả ngoài với ba kết cấu: giao diện, lớp và literal  Một định nghĩa của giao diện là một đặc tả chỉ định nghĩa hành vi trừu tượng của một kiểu đối tượng.  Định nghĩa của lớp là một đặc tả định nghĩa dáng điệu trừu tượng và trạng thái trừu tượng của một kiểu đối tượng.  Định nghĩa của literal chỉ định nghĩa trạng thái trừu tượng của một literal. Việc cài đặt của một kiểu đối tượng phải được thực hiện bởi một ràng buộc ngôn ngữ
  • 56. Phạm Thị Anh Lê - ĐHSPHN 56 ODMG Các kiểu con và tính kế thừa Mô hình dữ liệu ODMG hỗ trợ 2 loại liên kết kế thừa:  Liên kết is-a (biểu diễn bởi :): định nghĩa tính kế thừa hành vi giữa các kiểu đối tượng, hoặc là giao diện hoặc là lớp.  Liên kết EXTENDS (biểu diễn bởi từ extend) chỉ tính kế thừa trạng thái. Nó chỉ áp dụng cho kiểu đối tượng. Như vậy, chỉ có các lớp có thể kế thừa trạng thái, các literal thì không.
  • 57. Phạm Thị Anh Lê - ĐHSPHN 57 ODMG  Ngoại diên (extents) của một kiểu là nhóm (bộ sưu tập) của tất cả các đối tượng (thể hiện-instances) của kiểu.  Khoá (keys): là một hay một tập thuộc tính xác định duy nhất mỗi đối tượng của một kiểu (giống khái niệm khoá dự tuyển của mô hình quan hệ).
  • 58. Phạm Thị Anh Lê - ĐHSPHN 58 ODMG Kiểu sưu tập và kiểu có cấu trúc  Kiểu sưu tập (collections)  Một sưu tập là một kiểu có số phần tử biến đổi, tất cả đều cùng kiểu.  Mô hình dữ liệu ODMG hỗ trợ các kiểu sưu tập (đối tượng hay literal): tập, túi, danh sách, từ điển và bảng.  Kiểu có cấu trúc (structured types)  Là kiểu có số cố định phần tử, có thể thuộc nhiều kiểu khác nhau.  Mô hình ODMG hỗ trợ các kiểu có cấu trúc (đối tượng hay literal): date, interval, time và timestamp.  Ngoài ra ODMG còn cho phép người dùng định nghĩa các kiểu có cấu trúc mới.
  • 59. Phạm Thị Anh Lê - ĐHSPHN 59 Thiết kế lược đồ tiêu chuẩn Dịch kiểu của đối tượng  Mỗi lớp bền vững UML được dịch thành một lớp ODL.  Mỗi giao diện UML được dịch thành một giao diện ODL.  Mỗi thuộc tính được dịch sang một thuộc tính. Nếu là thuộc tính đa trị được dịch sang một kiểu sưu tập (collection type).
  • 60. Phạm Thị Anh Lê - ĐHSPHN 60 Thiết kế lược đồ tiêu chuẩn Các mối liên kết  Các mối liên kết được định nghĩa là các mối quan hệ trong ODL  Số bội (multiplicity) (bao gồm số bội cực đại và cực tiểu) biểu diễn có bao nhiêu đối tượng của một lớp có thể được kết hợp với một đối tượng xác định của lớp có liên quan.  Trong ODMG, số bội cực đại hỗ trợ định nghĩa mối quan hệ. Nếu số bội cực đại lớn hơn 1, mối quan hệ được định nghĩa bởi kiểu sưu tập (tập, danh sách hay túi).
  • 61. Phạm Thị Anh Lê - ĐHSPHN 61 Thiết kế lược đồ tiêu chuẩn Tổng quát hoá Sự tổng quát hoá được ngầm định trong UML là tổng quát hoá rời nhau, không đầy đủ và được hỗ trợ trực tiếp bởi mô hình dữ liệu ODMG thông qua mối quan hệ EXTEND.
  • 62. Phạm Thị Anh Lê - ĐHSPHN 62 Thiết kế lược đồ tiêu chuẩn Gộp nhập UML hỗ trợ hai cách biểu diễn gộp nhập:  Gộp nhập phần tử - bộ sưu tập (member- collection aggregation): biểu diễn một bộ sưu tập các đối tượng, tất cả thuộc cùng một lớp và cùng với nhau làm thành một lớp mới. Ví dụ một bộ sưu tập các cây làm thành một rừng.  Gộp nhập bộ phận – toàn thể (part-whole aggregation): biểu diễn một lớp có cấu trúc gồm hai lớp hầu như khác nhau
  • 63. Phạm Thị Anh Lê - ĐHSPHN 63 Thiết kế lược đồ cài đặt  Dịch lược đồ thiết kế chuẩn thành lược đồ cài đặt trong POET 4.0