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

Mô hình CSDL hướng đối tượngHướng dẫn: TS.Nguyễn Tuệ

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 (107.61 KB, 20 trang )

Mơ hình CSDL hướng đối tượng

Hướng dẫn: TS.Nguyễn Tuệ
Thực hiện: Nhóm 1
Lớp: K14HTTT

1


Nội dung



Sự ra đời và lịch sử phát triển của CSDL hướng đối tượng
Mơ hình CSDL hướng đối tượng:










Đối tượng
Biểu diễn đối tượng
Thuộc tính, hành vi của đối tượng
Tính đóng gói và phương pháp giao tiếp giữa các đối tượng

Liên kết ngữ nghĩa giữa các lớp


Tổ chức tập đối tượng
Các đối tượng phức
Một số nội dung khác của CSDL hướng đối tượng
2


Sự ra đời của CSDL hướng đối tượng
(Object-Oriented Database – OODB)


Nguyên nhân
Hạn chế của CSDL truyền thống
 Đối với các ứng dụng phức tạp trong xây dựng, lưu trữ cấu
trúc dữ liệu …
 Sự ra đời của ngôn ngữ lập trình HĐT



Lịch sử phát triển




Bắt nguồn từ HĐT trong ngơn ngữ lập trình (đầu tiên là
SIMULA, ra đời cuối những năm 60)
Smalltalk của Xerox Parc (1970s)

3



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 hố 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.

4


Mơ hình hướng đối tượng

Mơ hình hóa các đối tượng


Đối tượng (Object): Được đặc trưng bởi định danh và
các tính chất trong đó:
 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 (O ==O ) nếu chúng có
1
2

cùng OID
 Hai đối tượng là bằng nhau (O =O ) nếu chúng có
1
2
cùng giá trị
 Các đối tượng đặc trưng bởi các tính chất
5


Mơ hình hướng đối tượng

Mơ hình hóa các đối tượng


Biểu diễn đối tượng
 Xem mỗi đối tượng như là một tập (I, c, v) trong đó:








I: Là định danh đối tượng (OID)
C: Là kiểu khởi tạo (type constructor)
V: Là trạng thái đối tượng hay còn gọi là giá trị hiện thời
(current value)

Ngôn ngữ định nghĩa đối tượng (Object definition language –

ODL) thường liên quan chặt chẽ đến việc khởi tạo kiểu đối
tượng trong DB trong ứng dụng cụ thể
Có 3 kiểu khởi tạo cơ bản nhất là: Phần tử (atom), bản ghi
(tuple), tập hợp (set).
6


Mơ hình hướng đối tượng

Mơ hình hóa 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,...


7


Mơ hình hướng đối tượng

Mơ hình hóa các đối tượng


Mơ tả hành vi của đối tượng
 Dựa trên các thao tác có thể được thực thi trên đối
tượng

 Ý tưởng về “che dấu thông tin”, người sử dụng
tương tác với đối tượng thơng qua Interface
(Signature)
 Giảm tính “đóng gói”  chia cấu trúc đối tượng
thành 2 phần:



Thuộc tính Hidden
Thuộc tính Visible
8


Đóng gói đối tượng (Encapsulation)





Encapsulation: một trong những tính chất quan trọng của
OOPL và OO system.
“Kiểu dữ liệu trừu tượng” và “che dấu thông tin”
Các khái niệm này không được đưa vào mơ hình CSDL
quan hệ truyền thống

9


Đóng gói đối tượng (Encapsulation)


-

-

Mơ hình DB truyền thống:
Cấu trúc của DB là “ẩn” đối với người dùng cuối.
Các thao tác DB được chuẩn hóa.
Chẳng hạn: Select, Insert, Delete, Update có một dạng cố
định và có thể sử dụng cho bất kỳ quan hệ nào trong DB.
Quan hệ và thuộc tính là “ẩn” với người dùng.
Sử dụng các thao tác nhưng người dùng không biết được
cấu trúc bên trong của DB.

10


Giao tiếp giữa các đối tượng
Thơng báo: TenPhuongThuc(các tham số)
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

11


Liên kết ngữ nghĩa giữa các lớp



Phân cấp




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
Cho phép định nghĩa các lớp (kiểu) mới, dựa trên các lớp đã

* 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
* Cán bộ

* Nhân viên thường

12


Giao tiếp giữa các đối tượ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 thức 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 thức Public 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 thức liên kết và đưa trả về các
tham số kết quả của phương thức.
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
13


Liên kết ngữ nghĩa giữa các lớp


Kế thừa: Là 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”

14


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 (được kế thừa từ nhiều lớ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

15


Ràng buộc về phạm vi liên kết




Trong hầu hết các OODB, tập hợp các đối tượng trong
một phạm vi nào đó thường có cùng kiểu lớp.
Các ứng dụng cơ sở dữ liệu mà mỗi kiểu hay kiểu con sẽ
có một phạm vi gắn với nó.

16


Ràng buộc về phạm vi liên kết







Trong hầu hết các hệ thống OO, sự khác nhau được tạo
giữa các tập đối tượng tạm thời và tập các đối tượng cố
định.
Tập cố định chứa tập các đối tượng mà được lưu cố định
(persistent) trong cơ sở dữ liệu và do đó có thể được truy
nhập và được chia sẻ bởi nhiều chương trình.
Tập tạm thời tồn tại tạm thời trong quá trình thực hiện
của chương trình nhưng khơng được lưu lại khi chương
trình kết thúc.

17


Ràng buộc về phạm vi liên kết








Ví dụ: một tập tạm thời có thể được tạo trong một chương
trình để chứa kết quả của một truy vấn lựa chọn một số
đối tượng từ tập cố định và sao chép những đối tượng đó
sang tập tạm thời.
Tập tạm thời chứa các đối tượng cùng kiểu như tập cố

định.
Chương trình sau đó có thể thao tác các đối tượng trong
tập tạm thời và khi chương trình kết thúc, tập tạm thời
khơng tồn tại nữa.
Nhiều tập hợp, tạm thời hay cố định có thể chứa các đối
tượng cùng kiểu.
18


Tổ chức các tập đố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 whom 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ố
19


Tổ chức các tập đố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


20



×