Xem mẫu
- Bài giảng
CƠ SỞ DỮ LIỆU
NÂNG CAO
Số tc: 2; LT: 20; Btập: 10
GV: Nguyễn Thị Mỹ Dung
Khối lớp: Đại học L2
Chương 2: CSDL Hướng đối tượng 1
- NỘI DUNG MÔN HỌC
1 Chương 1. Tổng quan CSDL phân tán (4)
2 Chƣơng 2. Tổng quan CSDL hƣớng đối tƣợng
3 Chương 3. Cơ bản về Oracle (4)
4 Chương 4: Lập trình PL/SQL (4)
5 Chương 5: Procedure, Function (4)
6 Chương 6: Thiết kế đối tượng (6)
7 Chương 7: Truy vấn trong CSDL HĐT (4)
Chương 2: CSDL Hướng đối tượng 2
- Ch2: Tổng quan CSDL HĐT
I. Giới thiệu
II. Mô hình dữ liệu
III. CSDL hƣớng đối tƣợng (CSDLHĐT)
IV. Các hệ quản trị CSDLHĐT
V. Ƣu điểm của CSDL HĐT
VI. Chuyển đổi từ mô hình đối tƣợng sang mô
hình quan hệ
VII. Phân tích, thiết kế CSDL HĐT với UML
Chương 2: CSDL Hướng đối tượng 3
- I. Giới thiệu
Các khái niệm của hướng đối tượng bao gồm:
Định danh đối tượng (OID); Nạp chồng (Overriding);
Viết đè (Overloading); Đa hình (Polymorphism); Liên
kết động (Dynamic binding); Đối tượng phức
(complex object).
Định danh đối tượng (OID: Object Identifier):
Trong RDBMS: OID= khóa chính
Trong OODBMS: khoá chính không dùng làm
OID, vì: khoá chính chỉ duy nhất trong 1 quan hệ,
không phải trên toàn hệ thống; khoá chính được
chọn từ các thuộc tính phụ thuộc vào trạng thái
của đối tượng.
Chương
4 2: CSDL Hướng đối tượng
- Định danh đối tượng (tt)
Cần phân biệt 2 trường hợp:
2 đối tượng là một (identical): cùng OID
2 đối tượng bằng nhau (equal): khác OID, nhưng trị
các thuộc tính bằng nhau:
Bằng cạn (shallow equality): khi loại bỏ hết các
tham chiếu (khoá ngoài) đến các đối tượng khác
Bằng sâu (deep equality): khi tất cả các đối
tượng được tham chiếu đến cũng bằng nhau
Chương
5 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Nạp chồng (Overriding):
Định nghĩa lại một đặc tính (thuộc tính/
phương thức) trong lớp con (subclass).
Định nghĩa mới này mới thực sự được dùng
trong lớp con đang xét, chứ không phải định
nghĩa đã có trong lớp cha.
Chương
6 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Viết đè (Overloading)
Là khái niệm tổng quát hơn overriding
Cho phép tên một phương thức được dùng lại
trong một hoặc nhiều định nghĩa cho lớp.
Có thể thay đổi trong định nghĩa phương thức:
Các tham số: về số lượng tham số, kiểu tham số,
kiểu trả về
Làm đơn giản hoá trình ứng dụng: cho phép ngữ
cảnh được xác định ý nghĩa nào thích đáng nhất tại
một thời điểm.
Chương
7 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Đa hình (Polymorphism)
Có 3 dạng đa hình:
Về tác tử (operation polymorphism)=
overloading
Về sự bao hàm (inclusion polymorphism): một
phương thức trong lớp cha được thừa kê trong lớp
con.
Về tham số, hay còn gọi về khuôn dạng chung
(parametric polymorphism/ genericity): dùng các
kiểu như các tham số, để định ra các template.
Chương
8 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Liên kết động (Dynamic binding)
Gắn kết (binding)= quá trình chọn phương
thức thích hợp, dựa trên kiểu của đối tượng
Quá trình gắn kết động/ gắn kết trễ (dynamic
binding /late binding): việc xác định kiểu đối
tượng được trì hoãn đến lúc khai thác chương
trình, chứ không phải ngay khi biên dịch.
Chương
9 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Đối tượng phức (complex object)
Là đối tượng gồm các đối tượng con, hoặc các
thành tố khác.
Đối tượng được chứa sẽ được kiểm soát theo 2
cách:
Được bao gói bên trong đối tượng phức, là một
thành phần của đối tượng phức, chỉ được truy
cập thông qua phương thức của đối tượng
phức.
Họăc, tồn tại độ clập ngoài đối tượng phức, và
chỉ có OID của nó được đặt trong đối tượng
phức.
Chương
10 2: CSDL Hướng đối tượng
- Giới thiệu (tt)
Các đặc tính thuộc hướng đối tượng
1. Đối tượng phức 5. Tính thừa kế
2. Định danh dữ 6. Gắn kết động (dynamic bind)
liệu
3. Tính bao gói 7. DML phải đầy đủ về tính toán
4. Kiểu và lớp 8. Tập các kiểu dữ liệu phải mở rộng
được
Chương 2: CSDL Hướng đối tượng 11
- Giới thiệu (tt)
Các đặc tính thuộc hướng đối tượng
9. Có tính bền vững dữ liệu 12. Phải phục hồi được từ
các sự cố phần cứng và
phần mềm
10. Phải kiểm soát được 13. Phải cung cấp cách đơn
CSDL rất lớn giản để truy vấn dữ liệu
11. Phải hỗ trợ các người
dùng cạnh tranh nhau
Chương 2: CSDL Hướng đối tượng 12
- Ví dụ mô hình đối tƣợng
SVien
Ten HPhan
Lop hoc
Ten
Nganh
SLuong
1..* 0..*
LapTKB()
InBangDiem() 1
Diem
mo
DiemTH
DiemLT
DiemPrj
0..*
SuaDiem()
MHoc
Ten
Khoa +MHoc truoc
SoTinChi
0..*
CapNhatSTC()
0..* Dieu kien
+MHoc sau
Chương
13 2: CSDL Hướng đối tượng
- Ví dụ mô hình đối tƣợng
class khoa {
//du lieu thanh vien
private:
char * makh;
char * tenkh;
//ham thanh vien
public:
khoa ();
void nhap();
void xuat();
char * get_makh();
char * get_tenkh();
void set_makh(char * bmakh);
void set_tenkh(char * btenkh);
};
Chương
14 2: CSDL Hướng đối tượng
- II. Mô hình dữ liệu
File Systems
Network Hierarchical
Relational
Object-Oriented Semantic Data Complex Object
System Model (ERD) Model
Object-Oriented
Databases
Chương 2: CSDL Hướng đối tượng 15
- Mô hình dữ liệu (tt)
Các mô hình dữ liệu:
Hệ thống tập tin (file system): 1960 - 1980
Phân cấp (hierarchical): 1970 - 1990
Mạng (network): 1970 - 1990
Quan hệ (relational): 1980 - nay
Hướng đối tượng (object-oriented): 1990 - nay
Đối tượng - quan hệ (object-relational): 1990 -
nay
Kho dữ liệu (data warehouse): 1980 - nay
Web-enabled: 1990 - nay
Chương 2: CSDL Hướng đối tượng 16
- Tại sao phải xây dựng mô hình đối tượng
Nhu nhu cầu giảm chi phí, bài toán ngày một phức tạp
và các chức năng hướng tới một mục tiêu là vượt lên
trong môi trường cạnh tranh gay gắt ngày nay.
Từ quan điểm của công nghệ, xuất hiện áp lực thúc đẩy
việc áp dụng các công nghệ hướng đối tượng, nguyên
tắc và phương pháp tiếp cận trong suốt chu trình phát
triển phần mềm.
Mục tiêu là cung cấp một dòng mới của cơ sở dữ liệu,
được thiết kế và tối ưu hóa để lưu trữ và thao tác trên
các đối tượng
- III. Cơ sở dữ liệu đối tượng
1. Khái niệm
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).
- CSDL đối tƣợng (1. tt)
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ệ.
Chương 2: CSDL Hướng đối tượng 19
- CSDL đối tƣợng (tt)
2. Kiến trúc của CSDL đối tượng
CSDL đối tượng được tối ưu hóa cho truy cập điều
hướng và điều phối các đối tượng giữa các máy chủ cơ sở
dữ liệu Server và Client
Client-server architecture of an ODBMS
Chương 2: CSDL Hướng đối tượng 20
nguon tai.lieu . vn