Bài giảng Cơ sở dữ liệu nâng cao - Chương 6: Thiết kế đối tượng - Nguyễn Thị Mỹ Dung

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 6: Thiết kế đối tượng  
1
NỘI DUNG MÔN HỌC  
1
Chương 1. Tổng quan CSDL phân tán (4)  
Chương 2. Tổng quan CSDL hướng đối tượng  
2
3
Chương 3. Cơ bản về Oracle (4)  
Chương 4: Lập trình PL/SQL (4)  
Chương 5: Procedure, Function (4)  
4
5
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 6: Thiết kế đối tượng  
2
Ch6: Thiết kế CSDL đối tượng  
I. Thiết kế đối tượng  
II. Định nghĩa dữ liệu thành viên  
III. Định nghĩa hàm thành viên  
IV. Bài tập thực hành  
Chương 6: Thiết kế đối tượng  
3
Cho CSDL mẫu như sau  
Xét CSDL quan hệ:  
1. DONVI(MADV, TENDV) Parent  
2. CANBO(MACB, HOTENCB, …, MADV) Child  
3. CHUCVU(MACV, TENCV, HESO) Parent  
4. GIUCHUCVU(MACB, MACV, NGAYBD,  
NGAYKT) Dependent  
…
Và giả sử có Table CANBO khác:  
CANBO(MACB, HOTENCB, …, CBQL) Self/  
Cycle  
Chương 6: Thiết kế đối tượng  
4
I. Tạo đối tượng  
B1: Tạo đối tượng theo cú pháp sau:  
CREATE [OR REPLACE] TYPE <TÊNĐT>  
AS OBJECT (  
-- Định nghĩa dữ liệu thành viên  
-- Định nghĩa các hàm thành viên  
);  
B2: Tạo bảng như đối tượng theo cú pháp:  
CREATE TABLE <TÊNBẢNG> OF <TÊNĐT> (  
-- Thêm các ràng buộc nếu có  
);  
B3: Nhập dữ liệu cho đối tượng:  
INSERT INTO <TÊNBẢNG> VALUES (DS_GIÁTRỊ);  
Chương 6: Thiết kế đối tượng  
5
Tạo đối tượng (tt)  
CREATE TYPE DONVI_TYPE AS OBJECT(  
MADV NVARCHAR2(6),  
TENDV NVARCHAR2(30) );  
CREATE TABLE DONVI OF DONVI_TYPE(  
PRIMARY KEY(MADV) );  
Insert Into DONVI  
Values(‘DV0001’, ‘Phong giam doc’) ;  
Insert Into DONVI  
Values(‘DV0002’, ‘Phong to chuc’) ;  
Chương 6: Thiết kế đối tượng  
6
II. Định nghĩa dữ liệu thành viên ĐT  
CREATE OR REPLACE TYPE KHOA_TYPE  
AS OBJECT (  
THUỘCTÍNH <KIỂUDỮLIỆU>,  
…
MEMBER FUNCTION GET_THUỘCTÍNH  
RETURN VARCHAR2,  
…
STATIC PROCEDURE SET_THUỘCTÍNH  
(THAMSO <KIỂUDỮLIỆU>,…),  
STATIC FUNCTION TÊNHÀM  
RETURN INTEGER,  
…
STATIC PROCEDURE TÊNTHỦTỤC,  
…
);  
Chương 6: Thiết kế đối tượng  
7
Dữ liệu thành viên (tt)  
Ví dụ: Tạo đối tượng cán bộ và hàm dữ liệu  
thành viên lấy tên đơn vị khi nhập mã đơn vị.  
CREATE OR REPLACE TYPE CANBO_TYPE  
AS OBJECT(  
MACB NVARCHAR2(6),  
HOTENCB NVARCHAR2(30),  
THUOCDV REF DONVI_TYPE,  
MEMBER FUNCTION GET_DONVI RETURN  
DONVI_TYPE  
);  
Chương 6: Thiết kế đối tượng  
8
III. Định nghĩa hàm thành viên  
CREATE OR REPLACE TYPE BODY tên_kiểu AS/IS  
MEMBER FUNCTION Tên_hàm(ds_tham_số)  
RETURN Kiểu_dữ_liệu IS  
BEGIN  
Thân_hàm;  
END;  
MEMBER PROCEDURE Tên_thủ_tục (ds_tham_số)  
IS  
BEGIN  
Thân_thủ_tục;  
END;  
END;  
Chương 6: Thiết kế đối tượng  
9
Hàm thành viên (tt)  
Ví dụ: Định nghĩa hàm thành viên lấy tên đơn vị khi  
nhập mã đơn vị  
CREATE OR REPLACE TYPE BODY CANBO_TYPE  
AS  
MEMBER FUNCTION GET_DONVI RETURN  
DONVI_TYPE IS  
RES DONVI_TYPE;  
BEGIN  
SELECT DEREF(SELF.THUOCDV) INTO RES  
FROM DUAL;  
RETURN RES;  
END;  
END;  
Chương 6: Thiết kế đối tượng  
10  
Kiểu tham chiếu  
Kiểu tham chiếu Ref (Reference)  
Oracle mô hình hoá kiểu tham chiếu REF như là  
quan hệ kết hợp, quan hệ kế thừa. Cơ chế tham  
chiếu và dùng chung (Sharing) các đối tượng dưới  
hình thức con trỏ (By Ref) sẽ nhanh hơn nhiều so  
với cơ chế tham chiếu theo trị (By Value) như trong  
mô hình quan hệ.  
- Với quan hệ kết hợp, trong kiểu đối tượng bên  
nhiều sẽ tạo thuộc tính kiểu tham chiếu đến kiểu  
đối tượng bên 1.  
- Với quan hệ kế thừa, trong kiểu đối tượng con,  
sẽ tạo thuộc tính kiểu tham chiếu đến kiểu đối  
tượng cha.  
Chương 6: Thiết kế đối tượng  
11  
Kiểu tham chiếu (tt)  
Truy xuất đối tượng được tham chiếu bằng một  
REF được gọi là giải tham chiếu. Oracle cung cấp  
toán tử DEREF để thực hiện điều này.  
SELF mang ý nghĩa là con trỏ đến chính thể hiện  
của bản thân kiểu đối tượng. Chúng ta có thể dùng  
SELF để tham chiếu đến mọi thuộc tính cũng như  
phương thức khai báo bên trong kiểu đối tượng.  
Chương 6: Thiết kế đối tượng  
12  
IV. Bài tập  
1. Thiết đối tượng các bảng DONVI, CHUCVU  
2. Thiết kế đối tượng CANBO, GIUCHUCVU và  
định nghĩa các hàm thành viên cần thiết trong đối  
tượng.  
3. Định nghĩa các hàm:  
Tính tổng số cán bộ;  
Tổng số cán bộ trong một đơn vị;  
Trả về thông tin đơn vị của một cán bộ có mã  
số nhập vào;  
Trả về tên cán bộ khi nhập mã cán bộ;  
Trả về thông tin cán bộ đang giữ chức vụ có  
mã số nhập vào.  
Chương 6: Thiết kế đối tượng  
13  
Bài tập  
Trả về thông tin chức vụ của cán bộ có mã số  
nhập vào.  
4. Định nghĩa các thủ tục:  
Thêm cán bộ mới vào đơn vị có mã số nhập  
vào;  
Cho phép đổi họ tên cán bộ có mã số nhập  
vào bằng tên mới (được nhập vào);  
Thêm thông tin cán bộ, chức vụ, ngày bắt đầu,  
ngày kết thúc là chưa xác định vào đối tượng  
GIUCHUCVU  
Cho phép đổi chức vụ của một cán bộ có mã  
số nhập vào bằng chức vụ mới.  
Chương 6: Thiết kế đối tượng  
14  
Tổng kết chương  
- Thiết kế CSDL HĐT  
- Khai báo các dữ liệu thành viên có trong đối  
tượng và định nghĩa các hàm thành viên đã khai  
báo.  
Chương 6: Thiết kế đối tượng  
15  
pdf 15 trang yennguyen 20240 Free
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu nâng cao - Chương 6: Thiết kế đối tượng - Nguyễn Thị Mỹ Dung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_nang_cao_chuong_6_thiet_ke_doi_tuong.pdf