Professional Documents
Culture Documents
Nội dung
1 Giới thiệu
Mở rộng của mô hình quan hệ bằng cách thêm các khái niệm
để lấp đầy các lỗ hỏng của mô hình quan hệ.
Việc xây dựng các đối tượng phức tạp bằng cách sử dụng
nhiều bảng => rất tốn kém vì dùng nhiều phép kết nối.
Để tránh kết nối, mô hình quan hệ - đối tượng cho phép:
Tham chiếu : cho phép cài đặt các cấu trúc phức.
Thuộc tính đa trị (danh sách, tập hợp, mảng)
Sử dụng tham chiếu làm cho việc sử dụng các dữ liệu kích
thước lớn như hình ảnh, âm thanh được dễ dàng.
Tương thích : các chức năng được thực thi trong mô hình
quan hệ cũng được thực thi trong mô hình quan hệ đối tượng.
Chuẩn SQL 3 cho mô hình quan hệ - đối tượng.
Mô hình quan hệ: không thể định nghĩa kiểu dữ liệu mới.
Mô hình quan hệ - đối tượng : có thể định nghĩa những kiểu
dữ liệu mới:
Đơn giản
Có cấu trúc
Hàm hoặc thủ tục kết hợp
Hỗ trợ kế thừa, đa hình
Cột có thể bao gồm một tập ( collection): danh sách, tập
hợp, etc.
Dòng được xem như một đối tượng với định danh OID.
Sử dụng tham chiếu đến các đối tượng => hạn chế nối kết
Có thể có những quan hệ (bảng) lồng nhau => hạn chế nối
kết
4
Hạn chế
Không có mô hình lý thuyết vững chắc như mô hình quan hệ
Không được chuẩn hóa, cài đặt khác nhau trong các DBMS
Quan hệ không còn ở dạng chuẩn thứ nhất NF2 . (Non First
Normal Form)
SQL 3
Nội dung
1 Giới thiệu
Kiểu VARRAY
10
11
Chú ý:
Oracle cho phép nhiều mức lồng nhau
Table_tel là tên vật lý của bảng lồng nhau => không sử
dụng tên này trong các câu truy vấn
Thêm giá trị :
INSERT INTO Nguoi
VALUES (’111111111’, ’Nathalie’, T_tel(’123456789’,
’109876789’))
Sử dụng bảng được lồng nhau : sử dụng từ khóa THE
INSERT INTO THE ( SELECT tel FROM Nguoi WHERE
CMND=’111111111’) VALUES ( (’789’) ) ;
12
13
Nội dung
1 Giới thiệu
15
Ba kiểu bảng I
16
Ba kiểu bảng II
Có thể kết hợp với cấu trúc bảng các ràng buộc
17
18
Ví dụ :
SELECT p.dchi.tinhTP
FROM Nguoi p
WHERE p.CMND = ’12345123451’;
19
20
Ví dụ :
21
=> Có thể cập nhật và xóa các NESTED TABLE trực tiếp với
SQL sử dụng hàm TABLE() nhưng không thể cập nhật và xóa các
thành phần VARRAY với SQL. 22
Nội dung
1 Giới thiệu
23
24
26
Ba kiểu thao tác các OID và giá trị các đối tượng
REF (object) : Phép toán này trả về OID của đối tượng.
VALUE(object): Phép toán này trả về giá trị có cấu trúc
dưới hình thức TypeName(value).
DEREF(oid) : Phép toán này trả về giá trị có cấu trúc dưới
hình thức TypeName(value).
27
Thao tác các thuộc tính tham chiếu đối tượng III
Ví dụ:
29
Phương thức
30
Bao gồm code của phương thức, code có thể bao gồm :
Lệnh PL/SQL hoặc Java
Lệnh SQL
Lời gọi phương thức
CREATE TYPE BODY <tên kiểu> AS
MEMBER FUNCTION/PROCEDURE <tên phương
thức_1>( <tham số_11 [ IN / OUT/ IN OUT ] kiểu_11 ,
. . . .>)
BEGIN <thân phương thức_11> END
MEMBER FUNCTION/PROCEDURE <tên phương
thức_2>( <tham số_21 [ IN / OUT/ IN OUT ] kiểu_21 ,
. . . .>)
BEGIN <thân phương thức_21> END
31
Có thể tạo các kiểu con của kiểu OBJECT => Kế thừa các
thuộc tính và phương thức
Có thể định nghĩa lại các phương thức trong kiểu con
Không hỗ trợ đa kế thừa
Chú ý: Không có kế thừa TABLE nhưng một bảng đối tượng
kiểu cha có thể bao gồm các đối tượng dạng thức kiểu cha và
các kiểu con của nó.
32
Ví dụ (tt):
TapNguoi có thể bao gồm đối tượng kiểu T_Nguoi và
Sinhvien
Tương tự, thuộc tính tham chiếu vochong có thể bao gồm
một OID đối tượng kiểu T_Nguoi hoặc Sinhvien.
34
35
36