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

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

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 (456.46 KB, 51 trang )

Đ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
Đ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
Đ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
Đ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
Đ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
Đ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
ĐT 2
ĐT 3
Đ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
Đ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)
Đ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
Đ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
Đ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)
Đ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
Đ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ẻ
Đ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
Đ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 (A
ssociative 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
Đ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
Đ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.
Đ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
Đoàn Văn Ban OODB
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG
19

GemStone Systems

IBEX Computing SA

O
2
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
Đ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),

O
2
(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
Đ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.
Đ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.
Đ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.
Đ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.
Đ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

×