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 )
Bạn đang đọc: BÀI GIẢNG CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG – Tài liệu text
Đ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
Mô hình quan hệ – đối tượng ( Object-Relational DB1. 1C ác quy mô dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG 3/511. Mô hình dữ liệuFile SystemsNetworkHierarchicalRelationalObject-OrientedSystemSemantic DataModel ( ERD ) Complex ObjectModelObject-OrientedDatabasesĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnHệ quản trị CSDL ( Database management system ) Phần mềm thực thi ( quản trị ) một CSDL.Phần lớn những hệ quản trị CSDL truyền thống lịch sử là quan hệDữ liệu được tổ chức triển khai tàng trữ thành những bảng ( tables ) Mỗi bộ dữ liệu ( record, tuple ) miêu tả cho một thực thể được xác lập bởi thuộc tínhkhoá ( primary key ) Thuộc tính khoá hoàn toàn có thể được sử dụng để xác lập những bộ dữ liệu ở những bảng khácđược gọi là khoá ngoại ( foreign key ) Các mạng lưới 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ớ ( đa phần là đĩa ) Tìm kiếm dữ liệu từ đĩa ( CSDL ) Ví dụ : Trên máy lớn : DB2, Oracle, Informix, SybasePC : Microsoft Access1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnMô hình CSDLĐTThông tin được trình diễn thành những đối tượng giống như những đối tượng tronglập trình hướng đối tượng. Dữ liệu thuộc tính diễn đạt những đặc trưng của những thực thể ( đối tượng ) Các phương pháp diễn đạt hành vi ứng xử của đối tượngMối quan hệ giữa những lớp với nhau. Thuộc tính khoá hoàn toàn có thể được sử dụng để xác lập những 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 lập duy nhất trongCSDL. Các CSDLĐT được phong cách thiết kế để thao tác tốt so với những ngôn từ lập trìnhnhư Java, C + +, C #, Smalltalk, v.v. Mục đích của CSDLHĐT là để quản trị hiệu suất cao những kiểu dữ liệu phức hợpnhư âm thanh, hình ảnh, dữ liệu đa phương tiện, v.v., nhằm mục đích khắc phục nhữnghạn chế của CSDL quan hệ. 1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnCác nguyên tắc chính vận dụng cho CSDLĐTBao gói che giấu thông ( Encapsulation and hiding ) Các thuộc tính và những phương pháp ( method, operation ) được gộp vào trong mộtcấu trúc lớp được cho phép quản trị truy vấn. Một chương trình ( đối tượng ) hoàn toàn có thể trao đổi với những đối tượng khác ( phần mềmkhác ) bằng cách gửi và nhận thông điệp ( message ). Các phương pháp đượccung cấp bởi những đối tượng sẽ xác lập 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 OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnCác nguyên tắc chính vận dụng cho CSDLĐTKế thừa ( Inheritance ) và sử dụng lại ( Reuse ). Những lớp mới hoàn toàn có thể lan rộng ra, thừa kế những lớp khác có sẵn ( super-class ). Ngoài những thuộc tính, phương pháp được thừa kế, ta hoàn toàn có thể bổ trợ thêmnhững thuộc tính, phương pháp mới để miêu tả đúng những lớp những đối tượngcủa bài toán ứng dụng. Quan hệ thừa kế là quan hệ kiểu “ thành viên ” ( ” is-a “ ), nghĩa là mội đốitượ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ủalớp cha đại diện thay mặt cho mội đối tượng của lớp con. Quan hệ thừa kế tuân theo qui luật 100 %, nghĩa là những đối tượng của lớpcon đều có tổng thể những mối quan hệ giống như đối tượng của lớp cha đối vớicác lớp khác. 1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnCó 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ệuPersonEmployee StudentSalePerson Developer1. Kế thừa đơn ( Java chỉ tương hỗ thừa kế đơn ) Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG1. 2 Một số khái niệm cơ bảnCó 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ệu1. Kế thừa bội ( C + + tương hỗ thừa kế bội ) PersonEmployeeStudentPartTimeStudentĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG101. 2 Một số khái niệm cơ bảnCác nguyên tắc chính vận 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ọihàm ) có nhiều nội dung triển khai khác nhau, mỗi đối tượng nhận được sẽ thực hiệntheo ngữ cảnh riêng của mình. Khái niệm này tương quan ngặt nghèo với khái niệm thừa kế đã nêu. Các phương pháp củacác lớp dẫn xuất ( lớp thừa kế ) hoàn toàn có thể định nghĩa lại ( viết đè – Overriding ) nhữngphương thức của lớp cha. Trong một lớp, hoàn toàn có thể có những phương pháp cùng tên ( name ) nhưng được cho phép địnhnghĩa nhiều nội dung thực thi khác nhau theo chính sách nạp chồng ( Overloading ). Để triển khai được những khái niệm trên thì ngôn từ lập trình phải tương hỗ liên kếtđộng, hay còn được gọi là link muộn ( Dynamic Binding ). 1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG111. 2 Một số khái niệm cơ bảnCác nguyên tắc chính vận dụng cho CSDLĐT1. Mô hình cơ sở dữ liệuShapepaint ( ) Rectanglepaint ( ) paint ( Point x ) Đa xạ ( PolymorphismNạp chồng ( Overloading ) Viết đè ( Overriding ) Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG121. 2 Một số khái niệm cơ bảnCác nguyên tắc chính vận dụng cho CSDLĐTQuan hệ kết tập ( AggregationNgoài quan hệ phối hợp ( Association ) phổ cập giữa những thực thể trong cácmô hình dữ liệu, hướng đối tượng tương hỗ để biểu lộ được cả quan hệ kết tậpmô tả về mối quan hệ bộ phận – toàn diện và tổng thể. Các đối tượng hợp thành hoàn toàn có thể được thiết kế xây dựng như thể bộ chứa ( Container ) gồm có 1 số ít những đối tượng khác. Có hai loại quan hệ kết tập : 1. Kết tập thường thì ( Normal Aggregation2. Kết tập san sẻ ( Shared Aggregation1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG131. 2 Một số khái niệm cơ bản1. Mô hình cơ sở dữ liệuKết tập thông thường3 10C anBoDeTai0 2T auChienHamDoi3 5K ết tập chia sẻĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG14Abstract Data Type ( ADT ) = Representation + OperarionsObject Orientation = Abstract DataTyping + Inheritance + Object IdentityObject-Oriented Programming ( OOP ) = Classes + InheritanceObject-Oriented Databases ( OODB ) = Object Orientation + DatabaseCapabilities1. Mô hình cơ sở dữ liệuĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG15Các hệ quản trị CSDLĐT tạo ra CSDL những đối tượng giống nhưcác đối tượng giống như trong những ngôn từ lập trình. Hệ quản trị CSDLĐT lan rộng ra ngôn từ lập trình hướng đốitượng : Đảm bảo tính đồng nhất dữ liệu ( Persistent data ) Điều khiển sự truy vấn tương tranh ( Concurrency Control ) Cho phép truy vấn phối hợp ( Associative QueriesKhô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 nhờ vào hầu hết vàoba yếu tố chínhNhu cầu nghiệp vụĐòi hỏi hiệu năng caoDữ liệu phức tạp2. Các hệ quản trị CSDLĐTĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG162. Các hệ quản trị CSDLĐTRelational DBMSObject-RelationalDBMSDữ liệu đơn thuần Dữ liệu phức tạpTruy vấnthông thường ( SQL ) Không truy vấntheo cấu trúc ( OQL ) File SystemObject-OrientedDBMSĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG172. Các hệ quản trị CSDLĐTUniSQL / X ( 1992 ) hợp nhất hệ CSDL quan hệ và hệCSDL đối tượng. OpenODB ( Hewlett Packard released ( sau đó làOdapter ), lan rộng ra toàn bộ những RDBMS.Montage Systems ( 1993 ), ( sau đó là Illustra củaInformix ) : là phiên bản thương mại tiên phong củaobject-relational Postgres. SQL3 ( bản thảo July 1998 ) tương tự như như OQL.Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG18Informix : Illustra ( Informix-Universal Server ) Oracle : Oracle8Hewlett-PackardUnisys : OSMOSIBM : DB2 version 3S ybase : Adaptive Server ( introduced Sept. ‘ 97 ) Just released a Java-based ORDBMS : Cloudscape’s JBMSCác hãng ứng dụng chính tăng trưởng ODBMSĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG19GemStone SystemsIBEX Computing SATechnologyObject DesignAndersen ConsultingCERNElectronic Data Systems ( EDS ) Fujitsu Software CorporationHitachiLockheed MartinMicrosoftObjectivityPOET SoftwareUniSQLVersant Object TechnologyMITRE CorporationNEC CorporationONTOSPersistence SoftwareSybaseUnidataVMARK SoftwareCác hãng ứng dụng chính tăng trưởng ODBMSĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG20Hệ QTCSDL HĐT quản trị dữ liệu, mã chương trình và những cấutrúc tích hợp nhằm mục đích thiết lập một CSDLHĐT.Nhiều hệ QTCSDL HĐT được kiến thiết xây dựng có cú pháp, và nhữngkhả năng rất khác nhau. Một số hệ QTCSDL HĐT thông dụng trênthị trường như : ObjectStore ( www.odi.com ), GemStore ( www.gemstore.com ), Objectivity ( www. Objectivity. com ), ( www.ardensoftawre.com ), Jasmine ( www.cai.com ), Versant ( www.versant.com ) vàPOET ( www.poet.com ). Các hãng ứng dụng chính tăng trưởng ODBMSĐoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG21Những ưu điểm của những CSDL ĐT : Hỗ trợ những kiểu dữ liệu được định nghĩa bởi NSD. CSDL ĐT có năng lực lưutrữ những kiểu phức tạp, kiểu được định nghĩa bởi NSD, những lớp và thao tác trênchúng một cách thuận tiện. Cung cấp một mẫu hình tăng trưởng CSDL cho cả nghiên cứu và phân tích, phong cá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 quy trình tăng trưởng ứng dụng. Cải tiến đáng kể về chất lượng dữ liệu. Ta hoàn toàn có thể đưa ra nhiều ràng buộc vàocấu trúc dữ liệu. Mô hình còn được cho phép biểu lộ cả những ràng buộc khôngcấu trúc để chương trình phải thoả mãn khi nó triển khai trong CSDL. MộtCSDLHĐT hoàn toàn có thể dẫn về một CSDLQH được chuẩn hoá. Tốc độ tăng trưởng ứng dụng nhanh hơn. Cấu trúc CSDL đồng nhất và rõ rànggiúp cho lập trình ứng dụng trở nên đơn thuần và nhanh hơn. Những ngườiphát triển ứng dụng có kinh nghiệm tay nghề thường sử dụng những câu lệnh rất mạnhcủa những hệ QT CSDL thay cho những đoạn chương trình của NSD.Tích hợp thuận tiện. Việc tích hợp nhiều mạng lưới hệ thống độc lập hoàn toàn có thể giảm bớt sựsao chép dữ liệu của con người và lan rộng ra những câu truy vấn hoàn toàn có thể trả lờiđược. Mô hình hướng đối tượng cung ứng cách trình diễn thống nhất làmthuận tiện hơn cho việc tìm hiểu và khám phá và tích hợp thông tin. Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG22Yếu điểm của những hệ QTCSDL HĐTThiếu cơ sở triết lý và chuẩn hoá. Các hệ CSDL QH được phong cách thiết kế và xâydựng dựa trên quy mô đại số quan hệ rất chuẩn mực, trong khi những hệ QTCSDL HĐT được setup nhưng thiếu cơ sở triết lý hình thức. Hậu quả là cácsản phẩm QTCSDL HĐT rất khác nhau và gây ra nhiều trở ngại cho quá trìnhphát triển ứng dụng khi không muốn phụ thuộc vào vào những hãng sản xuất phầnmềm mạng lưới hệ thống. Có thể sửa đổi làm xô lệch CSDL. Một số hệ QTCSDL HĐT triển khai trongkhông gian của tiến trình ứng dụng, tác dụng là CSDL hoàn toàn có thể là chủ điểm dẫnđến vi phạm tính bảo mật an ninh hoặc dữ liệu bị sửa đổi bởi những con trỏ, thamchiếu lạ. Khó lan rộng ra logic. Các loại sản phẩm lúc bấy giờ đều không có sự độc lập dữ liệucần thiết và chưa có những quan sát ( view ) CSDL tương tự như như những hệ QTCSDLQH.Chưa tương hỗ những siêu ( meta ) ứng dụng. Một số hệ QTCSDL HĐT dựa vào C + + không triển khai được link động, link lúc thực thi, mà chỉ cung cấpliên kết tĩnh, link lúc dịch chương trình ứng dụng. Hạn chế này là do hạnchế của ngôn từ. C + + sử dụng những khai báo về kiểu để sinh mã chươngtrình tối ưu trong quy trình biên dịch và sau đó huỷ bỏ những khai báo đó. Ngượclại, hầu hết những CSDL QH và những hệ QTCSDL HĐT dựa vào Smallalk hỗ trợcho cả link tĩnh và link động. Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG23Cá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 phong cách thiết kế công nghệ tiên tiến. Các hệ QTCSDL HĐT rất tương thích chonhững chương trình phong cách thiết kế ứng dụng, như phong cách thiết kế với sự trợ giúp máy tính ( CAD : Computer-Aided Design ), sản xuất với sự trợ giúp của máy tính ( CAM : Computer-Aided Manufacturing ), sản xuất tích hợp với máy tính ( CIM : Computer-Integrated Manufacturing ), và kỹ nghệ ứng dụng với sự trợ giúpcủ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ệ QTCSDLHĐ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 tạp. Các cơ sở tri thức. Các luật của những hệ chuyên viên rất khó tàng trữ trong những hệCSDL QH. Mỗi khi có một luật mới cần bổ trợ thì phải kiểm tra hàng loạt cơ sởluật xem tính phi xích míc và dư thừa của mạng lưới hệ thống có bị vi phạm hay không. Hệ QTCSDL HĐT hoàn toàn có thể tương hỗ để thực thi việc làm trên ở mức thấp. Những ứng dụng yên cầu giải quyết và xử lý phân tán và tương tranh. Hệ QTCSDL cho phépthực hiện những truy nhập thiết yếu vào những dịch vụ mức thấp. Các ứng dụng nhúng. Hệ QTCSDL HĐT thích hợp để tạo ra những phần mềmnhúng vào những thiết bị điện, những thiết bị điều khiển và tinh chỉnh, v.v. Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG24Các chuẩn tăng trưởng OODBMSODMG ( Object Database Management Group ) : xâydựng những chuẩn cho OODBMS từ 1991 Chuẩn mới ( ODMG standard ) được thiết kế xây dựng dựatrên SQL-92, và ANSI để định nghĩa quy mô khungứng dụng cho những OODBMS.Đoàn Văn Ban OODBCƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG25Standard : ODMG-93ODMG-93 : vấn đáp theoSQLODMG-93 : lan rộng ra củaCORBAPersistent ObjectServiceODMG-93có ba thành phần chính Object Definition Language ( ODL ) Object Query Language ( OQL ) C + + and Smalltalk language bindings
Source: https://wincat88.com
Category: BLOG