Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base).pdf
1. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 1/51
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG
(Object-Oriented Data Base)
Nội dung
1. Các mô hình dữ liệu: CSDL hướng đối tượng
(CSDLHĐT)
2. Các hệ quản trị CSDLHĐT
3. Một số kết quả nghiên cứu về CSDLHĐT
2. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 2/51
1. Mô hình dữ liệu
Cơ sở dữ liệu (Data Base) - CSDL
Một sưu tập (Collection) các bản ghi dữ liệu được tổ
chức để tiện lợi cho việc lưu trữ và tìm kiếm dữ liệu bởi
các hệ thống thông tin.
Các mô hình dữ liệu phổ biến:
1. Mô hình mạng (Network DB)
2. Mô hình phân cấp (Hierarchical DB)
3. Mô hình quan hệ (Relational DB)
4. Mô hình đối tượng (Object DB or Object-Oriented DB)
5. Mô hình quan hệ - đối tượng (Object-Relational DB)
1.1 Các mô hình dữ liệu
3. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 3/51
1. Mô hình dữ liệu
File Systems
Network Hierarchical
Relational
Object-Oriented
System
Semantic Data
Model (ERD)
Complex Object
Model
Object-Oriented
Databases
4. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 4
1.2 Một số khái niệm cơ bản
Hệ quản trị CSDL (Database management system)
Phần mềm thực thi (quản trị) một CSDL.
Phần lớn các hệ quản trị CSDL truyền thống là quan hệ
Dữ liệu được tổ chức lưu trữ thành các bảng (tables)
Mỗi bộ dữ liệu (record, tuple) mô tả cho một thực thể được xác định bởi thuộc tính khoá (primary
key)
Thuộc tính khoá có thể được sử dụng để xác định các bộ dữ liệu ở những bảng khác được gọi là
khoá ngoại (foreign key)
Các hệ thống thông tin (Information system) sử dụng hệ quản
trị CSDL để
Ghi dữ liệu lên thiết bị nhớ (chủ yếu là đĩa)
Tìm kiếm dữ liệu từ đĩa (CSDL)
Ví dụ:
Trên máy lớn: DB2, Oracle, Informix, Sybase
PC: Microsoft Access
1. Mô hình cơ sở dữ liệu
5. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 5
1.2 Một số khái niệm cơ bản
Mô hình CSDLĐT
Thông tin được biểu diễn thành các đối tượng giống như
các đối tượng trong lập trình hướng đối tượng.
Dữ liệu thuộc tính mô tả các đặc trưng của các thực thể (đối tượng)
Các phương thức mô tả hành vi ứng xử của đối tượng
Mối quan hệ giữa các lớp với nhau.
Thuộc tính khoá có thể được sử dụng để xác định các bộ dữ liệu ở những bảng khác được
gọi là khoá ngoại (foreign key).
Mỗi đối tượng (thực thể) có một định danh ID để xác định
duy nhất trong CSDL.
Các CSDLĐT được thiết kế để làm việc tốt đối với những
ngôn ngữ lập trình như Java, C++, C#, Smalltalk, v.v.
Mục đích của CSDLHĐT là để quản trị hiệu quả những kiểu dữ
liệu phức hợp như âm thanh, hình ảnh, dữ liệu đa phương tiện,
v.v., nhằm khắc phục những hạn chế của CSDL quan hệ.
1. Mô hình cơ sở dữ liệu
6. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 6
1.2 Một số khái niệm cơ bản
Các nguyên lý chính áp dụng cho CSDLĐT
Bao gói che giấu thông (Encapsulation and hiding)
Các thuộc tính và các phương thức (method, operation) được gộp vào trong một cấu
trúc lớp cho phép quản lý truy cập.
Một chương trình (đối tượng) có thể trao đổi với các đối tượng khác (phần mềm khác)
bằng cách gửi và nhận thông điệp (message). Các phương thức được cung cấp bởi các
đối tượng sẽ xác định một tập thông điệp cần trao đổi với nhau.
1. Mô hình cơ sở dữ liệu
ĐT 1
Message 2
M
e
s
s
a
g
e
3
ĐT 2
Message 1
ĐT 3
M
e
s
s
a
g
e
3
7. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 7
1.2 Một số khái niệm cơ bản
Các nguyên lý chính áp dụng cho CSDLĐT
Kế thừa (Inheritance) và sử dụng lại (Reuse).
Những lớp mới có thể mở rộng, kế thừa những lớp khác có sẵn (super-
class). Ngoài những thuộc tính, phương thức được kế thừa, ta có thể bổ
sung thêm những thuộc tính, phương thức mới để mô tả đúng những lớp
các đối tượng của bài toán ứng dụng.
Quan hệ kế thừa là quan hệ kiểu “thành viên” (”is-a“), nghĩa là mội đối
tượng của lớp con cũng là đối tượng của lớp cha và ngược lại đối tượng
của lớp cha đại diện cho mội đối tượng của lớp con.
Quan hệ kế thừa tuân theo qui luật 100%, nghĩa là các đối tượng của lớp
con đều có tất cả các mối quan hệ giống như đối tượng của lớp cha đối với
các lớp khác.
1. Mô hình cơ sở dữ liệu
8. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 8
1.2 Một số khái niệm cơ bản
Có 2 loại kế thừa cơ bản:
Kế thừa đơn (Single Inheritance)
Kế thừa bội (Multiple Inheritance).
1. Mô hình cơ sở dữ liệu
Person
Employee Student
SalePerson Developer
1. Kế thừa đơn
(Java chỉ hỗ trợ kế thừa đơn)
9. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 9
1.2 Một số khái niệm cơ bản
Có 2 loại kế thừa cơ bản:
Kế thừa đơn (Single Inheritance)
Kế thừa bội (Multiple Inheritance)
1. Mô hình cơ sở dữ liệu
1. Kế thừa bội
(C++ hỗ trợ kế thừa bội)
Person
Employee Student
PartTimeStudent
10. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 10
1.2 Một số khái niệm cơ bản
Các nguyên lý chính áp dụng cho CSDLĐT
Đa xạ (Polymorphism)
Đa xạ hay tương ứng bội là khái niệm rất mạnh của toán học: một thông điệp (lời
gọi hàm) có nhiều nội dung thực hiện khác nhau, mỗi đối tượng nhận được sẽ thực
hiện theo ngữ cảnh riêng của mình.
Khái niệm này liên quan chặt chẽ với khái niệm kế thừa đã nêu. Các phương thức
của các lớp dẫn xuất (lớp kế thừa) có thể định nghĩa lại (viết đè – Overriding) những
phương thức của lớp cha.
Trong một lớp, có thể có những phương thức cùng tên (name) nhưng cho phép định
nghĩa nhiều nội dung thực hiện khác nhau theo cơ chế nạp chồng (Overloading).
Để thực hiện được những khái niệm trên thì ngôn ngữ lập trình phải hỗ trợ liên kết
động, hay còn được gọi là liên kết muộn (Dynamic Binding).
1. Mô hình cơ sở dữ liệu
11. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 11
1.2 Một số khái niệm cơ bản
Các nguyên lý chính áp dụng cho CSDLĐT
1. Mô hình cơ sở dữ liệu
Shape
paint()
Rectangle
paint()
paint(Point x)
Đa xạ (Polymorphism)
Nạp chồng (Overloading)
Viết đè (Overriding)
12. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 12
1.2 Một số khái niệm cơ bản
Các nguyên lý chính áp dụng cho CSDLĐT
Quan hệ kết tập (Aggregation)
Ngoài quan hệ kết hợp (Association) phổ biến giữa các thực thể trong các
mô hình dữ liệu, hướng đối tượng hỗ trợ để thể hiện được cả quan hệ kết
tập mô tả về mối quan hệ bộ phận – tổng thể.
Các đối tượng hợp thành có thể được xây dựng như là bộ chứa
(Container) bao gồm một số các đối tượng khác.
Có hai loại quan hệ kết tập:
1. Kết tập thông thường (Normal Aggregation)
2. Kết tập chia sẻ (Shared Aggregation)
1. Mô hình cơ sở dữ liệu
13. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 13
1.2 Một số khái niệm cơ bản
1. Mô hình cơ sở dữ liệu
Kết tập thông thường
3..10 CanBo
DeTai 0..2
TauChien
HamDoi 3..5
Kết tập chia sẻ
14. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 14
Abstract Data Type (ADT)= Representation + Operarions
Object Orientation = Abstract DataTyping + Inheritance + Object Identity
Object-Oriented Programming (OOP) = Classes + Inheritance
Object-Oriented Databases (OODB) = Object Orientation + Database
Capabilities
1. Mô hình cơ sở dữ liệu
15. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 15
Các hệ quản trị CSDLĐT tạo ra CSDL các đối tượng giống như các
đối tượng giống như trong các ngôn ngữ lập trình.
Hệ quản trị CSDLĐT mở rộng ngôn ngữ lập trình hướng đối
tượng:
Đảm bảo tính nhất quán dữ liệu (Persistent data)
Điều khiển sự truy cập tương tranh (Concurrency Control)
Cho phép truy cập kết hợp (Associative Queries)
Khôi phục dữ liệu (Data Recovery), v.v.
Việc lựa chọn hệ quản trị dữ liệu CSDLĐT phụ thuộc chủ yếu vào
ba yếu tố chính
Nhu cầu nghiệp vụ
Đòi hỏi hiệu năng cao
Dữ liệu phức tạp
2. Các hệ quản trị CSDLĐT
16. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 16
2. Các hệ quản trị CSDLĐT
Relational
DBMS
Object-Relational
DBMS
Dữ liệu đơn giản Dữ liệu phức tạp
Truy vấn
thông
thường
(SQL)
Không truy
vấn theo cấu
trúc
(OQL)
File System
Object-
Oriented
DBMS
17. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 17
2. Các hệ quản trị CSDLĐT
UniSQL/X (1992) hợp nhất hệ CSDL quan hệ và hệ
CSDL đối tượng.
OpenODB (Hewlett Packard released (sau
đó là Odapter), mở rộng tất cả các RDBMS.
Montage Systems (1993), (sau đó là
Illustra của Informix): là phiên bản thương
mại đầu tiên của object-relational
Postgres.
SQL3 (bản thảo July 1998) tương tự như
OQL.
18. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 18
Informix: Illustra (Informix-Universal Server)
Oracle: Oracle8
Hewlett-Packard
Unisys: OSMOS
IBM: DB2 version 3
Sybase: Adaptive Server (introduced Sept. ‘97)
Just released--a Java-based ORDBMS:
Cloudscape’s JBMS
Các hãng phần mềm chính phát triển ODBMS
19. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 19
GemStone Systems
IBEX Computing SA
O2 Technology
Object Design
Andersen Consulting
CERN
Electronic Data Systems
(EDS)
Fujitsu Software
Corporation
Hitachi
Lockheed Martin
Microsoft
Objectivity
POET Software
UniSQL
Versant Object
Technology
MITRE Corporation
NEC Corporation
ONTOS
Persistence Software
Sybase
Unidata
VMARK Software
Các hãng phần mềm chính phát triển ODBMS
20. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 20
Hệ QTCSDL HĐT quản lý dữ liệu, mã chương trình và
các cấu trúc kết hợp nhằm thiết lập một CSDLHĐT.
Nhiều hệ QTCSDL HĐT được xây dựng có cú pháp, và
những khả năng rất khác nhau. Một số hệ QTCSDL
HĐT phổ biến trên thị trường như:
ObjectStore (www.odi.com),
GemStore (www.gemstore.com),
Objectivity (www.Objectivity.com),
O2 (www.ardensoftawre.com),
Jasmine (www.cai.com),
Versant (www.versant.com) và
POET (www.poet.com).
Các hãng phần mềm chính phát triển ODBMS
21. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 21
Nh ng u đi m c a các CSDL ĐT
ữ ư ể ủ :
Hỗ trợ những kiểu dữ liệu được định nghĩa bởi NSD. CSDL ĐT có
khả năng lưu trữ các kiểu phức hợp, kiểu được định nghĩa bởi NSD,
các lớp và thao tác trên chúng một cách dễ dàng.
Cung cấp một mẫu hình phát triển CSDL cho cả phân tích, thiết kế
và cài đặt ứng dụng. Bạn không phải chuyển từ mẫu hình này sang
mẫu hình khác như trong quá trình phát triển phần mềm.
Cải tiến đáng kể về chất lượng dữ liệu. Ta có thể đưa ra nhiều ràng
buộc vào cấu trúc dữ liệu. Mô hình còn cho phép thể hiện cả những
ràng buộc không cấu trúc để chương trình phải thoả mãn khi nó
thực hiện trong CSDL. Một CSDLHĐT có thể dẫn về một CSDLQH
được chuẩn hoá.
Tốc độ phát triển phần mềm nhanh hơn. Cấu trúc CSDL nhất quán
và rõ ràng giúp cho lập trình ứng dụng trở nên đơn giản và nhanh
hơn. Những người phát triển ứng dụng có kinh nghiệm thường sử
dụng những câu lệnh rất mạnh của các hệ QT CSDL thay cho những
đoạn chương trình của NSD.
Tích hợp dễ dàng. Việc tích hợp nhiều hệ thống độc lập có thể giảm
bớt sự sao chép dữ liệu của con người và mở rộng những câu truy
vấn có thể trả lời được. Mô hình hướng đối tượng cung cấp cách
biểu diễn thống nhất làm thuận tiện hơn cho việc tìm hiểu và tích
hợp thông tin.
22. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 22
Yếu điểm của các hệ QTCSDL HĐT
Thiếu cơ sở lý thuyết và chuẩn hoá. Các hệ CSDL QH được thiết kế và
xây dựng dựa trên mô hình đại số quan hệ rất chuẩn mực, trong khi
các hệ QT CSDL HĐT được cài đặt nhưng thiếu cơ sở lý thuyết hình
thức. Hậu quả là các sản phẩm QTCSDL HĐT rất khác nhau và gây ra
nhiều trở ngại cho quá trình phát triển ứng dụng khi không muốn
phụ thuộc vào các hãng sản xuất phần mềm hệ thống.
Có thể sửa đổi làm sai lệch CSDL. Một số hệ QTCSDL HĐT thực hiện
trong không gian của tiến trình ứng dụng, kết quả là CSDL có thể là
chủ điểm dẫn đến vi phạm tính an ninh hoặc dữ liệu bị sửa đổi bởi
những con trỏ, tham chiếu lạ.
Khó mở rộng logic. Các sản phẩm hiện nay đều không có sự độc lập
dữ liệu cần thiết và chưa có các quan sát (view) CSDL tương tự như
các hệ QTCSDL QH.
Chưa hỗ trợ các siêu (meta) ứng dụng. Một số hệ QTCSDL HĐT dựa
vào C++ không thực hiện được liên kết động, liên kết lúc thực hiện,
mà chỉ cung cấp liên kết tĩnh, liên kết lúc dịch chương trình ứng
dụng. Hạn chế này là do hạn chế của ngôn ngữ. C++ sử dụng những
khai báo về kiểu để sinh mã chương trình tối ưu trong quá trình biên
dịch và sau đó huỷ bỏ các khai báo đó. Ngược lại, hầu hết các CSDL
QH và những hệ QTCSDL HĐT dựa vào Smallalk hỗ trợ cho cả liên kết
tĩnh và liên kết động.
23. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 23
Các hệ QTCSDL HĐT là thích hợp với những ứng dụng mới, như:
Những ứng dụng thiết kế công nghệ. Các hệ QTCSDL HĐT rất phù
hợp cho những chương trình thiết kế ứng dụng, như thiết kế với
sự trợ giúp máy tính (CAD: Computer-Aided Design), chế tạo với
sự trợ giúp của máy tính (CAM: Computer-Aided Manufacturing),
chế tạo tích hợp với máy tính (CIM: Computer-Integrated
Manufacturing), và kỹ nghệ phần mềm với sự trợ giúp của máy
tính (CASE: Computer-Aided Software Engineering ).
Các ứng dụng đa phương tiện (Multimedia) như hệ Jasmine. Các
hệ QTCSDL HĐT rất thích hợp cho những ứng dụng đa phương tiện
với những đồ hoạ, audio, video phức hợp.
Các cơ sở tri thức. Các luật của các hệ chuyên gia rất khó lưu trữ
trong các hệ CSDL QH. Mỗi khi có một luật mới cần bổ sung thì
phải kiểm tra toàn bộ cơ sở luật xem tính phi mâu thuẫn và dư
thừa của hệ thống có bị vi phạm hay không. Hệ QTCSDL HĐT có
thể hỗ trợ để thực hiện công việc trên ở mức thấp.
Những ứng dụng đòi hỏi xử lý phân tán và tương tranh. Hệ
QTCSDL cho phép thực hiện những truy nhập cần thiết vào các
dịch vụ mức thấp.
Các phần mềm nhúng. Hệ QTCSDL HĐT thích hợp để tạo ra những
phần mềm nhúng vào các thiết bị điện, các thiết bị điều khiển, v.v.
24. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 24
Các chu n phát tri n OODBMS
ẩ ể
ODMG (Object Database Management
Group): xây dựng các chuẩn cho
OODBMS từ 1991
Chuẩn mới (ODMG standard) được xây
dựng dựa trên SQL-92, và ANSI để định
nghĩa mô hình khung ứng dụng cho các
OODBMS.
25. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 25
Standard: ODMG-93
ODMG-93: trả lời theo SQL
ODMG-93: mở rộng của CORBA Persistent Object Service
ODMG-93 có ba thành phần chính:
Object Definition Language (ODL)
Object Query Language (OQL)
C++ and Smalltalk language bindings
Tải bản FULL (51 trang): https://bit.ly/3EZySKB
Dự phòng: fb.com/TaiHo123doc.net
26. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 26
Standard: ODMG 2.0 (July 1997)
The Object Database Management Group (ODMG)
công bố chuẩn ODMG 2.0, áp dụng cho các hãng
công nghiệp CSDLĐT
The ODMG 2.0 standard:
ODMG liên kết mới cho Java, được chuẩn hóa và
đơn giản hóa trong việc lưu trữ các đối tượng Java
trong các CSDL
Xây dựng mô hình siêu ngữ nghĩa (metamodel)
cung cấp những mô tả sơ đồ CSDL độc lập với các
ngôn ngữ để tạo ra các công cụ và các ứng
Nâng cấp các mối liên kết giữa C++ và Smalltalk
Tải bản FULL (51 trang): https://bit.ly/3EZySKB
Dự phòng: fb.com/TaiHo123doc.net
27. Đoàn Văn Ban OODB
C S D LI U H NG Đ I T NG
Ơ Ở Ữ Ệ ƯỚ Ố ƯỢ 27
Object-Relational DBMS &
Object-Oriented DBMS:
Thị trường Relational DBMS tăng từ $6.8 billion 1997 lên
$8.1 billion năm 2000 (so với $2.9 billion năm 1995)
Thị trường ORDBMS đạt $1 billion năm 2000 (so với $14
million in 1995)
Thị trường OODBMS tăng từ $430 million năm 1997 lên
$600 million năm 2000 (so với $100 million in 1995)
Có thể kết luận: Thị trường OODBMS sẽ tăng rất mạnh trong
thời gian tới.
Trong tương lai:
Relational DBs sẽ dần được thay bởi object-relational
DBs.
Object-relational DBs nhanh chóng thích ứng để xử lý các
đối tượng dữ liệu phức tạp.
Object-oriented DBs sẽ được bổ sung thêm những đặc tính
truy vấn đối tượng tương tự như đối với relational DBs.
4231601