Tải bản đầy đủ (.ppt) (51 trang)

Bài Giảng Cơ Sở Dữ Liệu Hướng Đối Tượng (Object-Oriented Data Base)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (373.24 KB, 51 trang )

Đoàn Văn Ban

OODB

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

(Object-Oriented Data Base)
Nội dung
1.

2.
3.

Các mô hình dữ liệu: CSDL hướng đối tượng
(CSDLHĐT)
Các hệ quản trị CSDLHĐT
Một số kết quả nghiên cứu về CSDLHĐT

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

1/51


Đoàn Văn Ban

1.

OODB

Mô hình dữ liệu


1.1 Các 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)
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

2/51


Đoàn Văn Ban

1.

OODB

Mô hình dữ liệu
File Systems
Hierarchical

Network
Relational


Object-Oriented
System

Semantic Data
Model (ERD)

Complex Object
Model

Object-Oriented
Databases

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

3/51


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu
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ệ







Các hệ thống thông tin (Information system) sử dụng hệ quản
trị CSDL để





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)

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


CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

4


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu
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ệ.

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

5


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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.
Me
ss

ĐT 2
Me
ss

ĐT 1

ag
e

ag
e

1

Messa3ge 3
ge
s
e
M sa



2

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG


ĐT 3

6


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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 (superclass). 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.
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

7


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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.

Person

Kế thừa đơn

(Java chỉ hỗ trợ kế thừa đơn)
Employee

SalePerson

Student


Developer

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

8


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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.

Person

Kế thừa bội

(C++ hỗ trợ kế thừa bội)
Employee

Student

PartTimeStudent


CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

9


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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).

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

10


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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
Shape


Đa xạ (Polymorphism)



Nạp chồng (Overloading)
Viết đè (Overriding)

paint()


Rectangle

paint()
paint(Point x)
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

11


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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)
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

12


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

1.2 Một số khái niệm cơ bản

HamDoi

3..5

TauChien

Kết tập thông thường
DeTai

0..2

3..10


CanBo

Kết tập chia sẻ
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

13


Đoàn Văn Ban

OODB

1. Mô hình cơ sở dữ liệu

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

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

14


Đoàn Văn Ban

OODB


2. Các hệ quản trị CSDLĐT




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

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

15


Đoàn Văn Ban

OODB

2. Các hệ quản trị CSDLĐT
Truy vấn
thông
thường
(SQL)
Không truy
vấn theo cấu
trúc
(OQL)

Relational
DBMS
File System

Object-Relational
DBMS
ObjectOriented
DBMS

Dữ liệu đơn giản


CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

Dữ liệu phức tạp

16


Đoàn Văn Ban

OODB

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.

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

17


Đoàn Văn Ban

OODB

Các hãng phần mềm chính phát triển ODBMS


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Ơ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

18


Đoàn Văn Ban

OODB

Các hãng phần mềm chính phát triển ODBMS
















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Ơ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

19


Đoàn Văn Ban

OODB

Các hãng phần mềm chính phát triển ODBMS





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Ơ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

20


Đoàn Văn Ban

OODB

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.
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

21


Đoàn Văn Ban

OODB

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.

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

22


Đoàn Văn Ban

OODB

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.

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

23


Đoàn Văn Ban

OODB


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.

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

24


Đoàn Văn Ban

OODB

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

CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

25


×