1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) cơ sở dữ LIỆU NÂNG CAO QUẢN lý KINH DOANH THIẾT bị CNTT HIỆP TOÀN

50 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ Sở Dữ Liệu Nâng Cao Quản Lý Kinh Doanh Thiết Bị CNTT Hiệp Toàn
Tác giả Lê Văn Ngọt, Trần Văn Toàn, Phan Thị Diễm Trang
Người hướng dẫn Nguyễn Thị Mỹ Dung
Trường học Trường Đại Học Đồng Tháp
Chuyên ngành Khoa Học Máy Tính
Thể loại tiểu luận
Năm xuất bản 2021
Thành phố Đồng Tháp
Định dạng
Số trang 50
Dung lượng 5,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thiết bị 2.1 Định nghĩa phương thức 1 cho thiết bị Nhập mã khách hàng vào để trả về TÊN THIẾT BỊ | LOẠI THIẾT BỊ | ĐƠN VỊTÍNH.. 3.5 Định nghĩa phương thức 5 cho Nhập Thêm thông tin vào b

Trang 1

TRƯỜNG ĐẠI HỌC ĐỒNG THÁP

KHOA SƯ PHẠM TOÁN – TIN

Sinh viên thực hiện:

CƠ SỞ DỮ LIỆU NÂNG CAO QUẢN LÝ KINH DOANH THIẾT BỊ CNTT HIỆP TOÀN

NGÀNH KHOA HỌC MÁY TÍNH Lớp: ĐHCNTT21-L2

Trang 2

Ngày nay máy tính trở thành một phương tiện quan trọng được ứng dụng trongmọi lĩnh vực, một trong những ứng dụng đó là quản lý Trong đó, PL/SQL (Procedural

Language/Structured Query Language) là một hệ quản trị cơ sở dữ liệu dùng để tạo và

xử lý dữ liệu, cho phép quản lý dữ liệu một cách có tổ chức thống nhất, liên kết các dữliệu rời rạc thành một hệ thống hoàn chỉnh, thay thế cho việc quản lý dữ liệu bằngcách thủ công Lập trình cơ sở dữ liệu nâng cao là một môn học hay, ứng dụng cao màchúng em được cô trong khoa Khoa SP Toán – Tin Trường Đại học Đồng Tháp giảngdạy Vì những lý do đó, nhóm em đã chọn Đề tài xây dựng CSDL “Quản lý kinh doanhthiết bị CNTT Hiệp Toàn” làm đề tài báo cáo với mục đích ứng dụng những kiến thứcđãđược học

Mặc dù đã hết sức cố gắng nhưng do kiến thức của nhóm em còn nhiều hạn chếnên không tránh khỏi sai sót trong quá trình thưc hiện đề tài Vì vậy, nhóm em rấtmong có được sự đóng góp ý kiến của cô để chương trình của nhóm em được hoànthiện hơn

Nhóm em xin chân thành cảm ơn cô giáo hướng dẫn Nguyễn Thị Mỹ Dung đã

trực tiếp hướng dẫn, chỉ bảo và giúp đỡ nhóm em trong thời gian học

Đồng Tháp, ngày 26 tháng 11 năm 2021

MỤC LỤC

Trang 3

CHƯƠNG 1: THIẾT KẾ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG QUẢN LÝ KINH DOANH

THIẾT BỊ CNTT HIỆP TOÀN

I Giới thiệu

1. Giới thiệu lược đồ quan hệ và sơ đồ lớp (Class – Object) 2. Xây dựng bộ dữ liệu mẫu

II Mô tả các phương thức cho từng lớp (class – Object)

CHƯƠNG 2: THIẾT KẾ CSDL HƯỚNG ĐỐI TƯỢNG QUẢN LÝ KINH DOANH THIẾT BỊ CNTT HIỆP TOÀN

I Cài đặt class và phương thức

1. Cài đặt class <Khách hàng> và phương thức (Khách hàng)

2. Cài đặt class <Thiết bị> và phương thức (Thiết bị) …

3. Cài đặt class <Nhập> và phương thức (Nhập) …

4. Cài đặt class <Xuất> và phương thức (Xuất) …

II Truy vấn dữ liệu hướng đối tượng

1. Thực thi phương thức cho class <Khách hàng> và kết quả

2. Thực thi phương thức cho class <Thiết bị> và kết quả

3 Thực thi phương thức cho class <Nhập> và kết quả 40

4 Thực thi phương thức cho class <Xuất> và kết quả

PHẦN KẾT LUẬN

I Kết quả đạt được

II Hướng phát triển

Trang 5

CHƯƠNG 1: THIẾT KẾ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

QUẢN LÝ KINH DOANH THIẾT BỊ CNNT HIỆP TOÀN

I Giới thiệu

1 Giới thiệu lược đồ quan hệ và sơ đồ lớp (Class – Object)

- Bảng Khách hàng:

- Bảng Thiết bị:

- Bảng Nhập:

Trang 6

- Bảng Xuất:

II Mô tả các phương thức cho từng lớp (class – Object)

1 Khách hàng

1.1 Định nghĩa Phương thức 1 cho khách hàng.

Nhập mã khách hàng vào để trả về TÊN KHÁCH HÀNG | NGÀY SINH | ĐỊACHỈ | SỐ ĐIỆN THOẠI

1.2 Định nghĩa phương thức 2 cho khách hàng

Thể hiện ra danh sách tất cả các khách hàng hiện tại với nội dung: MÃ KHÁCHHÀNG | TÊN KHÁCH HÀNG | NGÀY SINH | ĐỊA CHỈ KHÁCH HÀNG | SỐ ĐIỆNTHOẠI KHÁCH HÀNG

1.3 Định nghĩa phương thức 3 cho khách hàng

Đếm TỔNG SỐ KHÁCH HÀNG hiện có bao nhiêu

1.4 Định nghĩa phương thức 4 cho khách hàng

Thêm khách hàng mới với thông tin nhập vào: MÃ KHÁCH HÀNG, TÊNKHÁCH HÀNG, NGÀY SINH(dd-mm-yyyy), ĐỊA CHỈ, SỐ ĐIỆN THOẠI

1.5 Định nghĩa phương thức 5 cho khách hàng

Cập nhật thông tin khách hàng với thông tin nhập vào: MÃ KHÁCH HÀNG(tiến hành cập nhật), TÊN KHÁCH HÀNG MỚI, NGÀY SINH MỚI, ĐỊA CHỈ MỚI,

SỐ ĐIỆN THOẠI MỚI

1.6 Định nghĩa phương thức 6 cho khách hàng

Xóa khách hàng, nhập MÃ KHÁCH HÀNG tiến hành xóa

2 Thiết bị

2.1 Định nghĩa phương thức 1 cho thiết bị

Nhập mã khách hàng vào để trả về TÊN THIẾT BỊ | LOẠI THIẾT BỊ | ĐƠN VỊTÍNH

2.2 Định nghĩa phương thức 2 cho thiết bị

Trang 7

Thể hiện ra danh sách tất cả các khách hàng hiện tại với nội dung: MÃ THIẾT BỊ

| TÊN THIẾT BỊ | LOẠI THIẾT BỊ | ĐƠN VỊ TÍNH

2.3 Định nghĩa phương thức 3 cho thiết bị Đếm

TỔNG SỐ THIẾT BỊ hiện có bao nhiêu

2.4 Định nghĩa phương thức 4 cho thiết bị

Thêm thông tin thiết bị mới với thông tin nhập vào: MÃ THIẾT BỊ, TÊN THIẾT

BỊ, LOẠI THIẾT BỊ, ĐƠN VỊ TÍNH

2.5 Định nghĩa phương thức 5 cho thiết bị

Cập nhật thông tin thiết bị với thông tin nhập vào: MÃ THIẾT BỊ (tiến hành cập nhật), TÊN THIẾT BỊ MỚI, LOẠI THIẾT BỊ MỚI, ĐƠN VỊ TÍNH MỚI

2.6 Định nghĩa phương thức 6 cho thiết bị

Xóa thiết bị, nhập MÃ THIẾT BỊ tiến hành xóa

3 Nhập

3.1 Định nghĩa phương thức 1 cho Nhập Liên

kết lấy thông tin từ bảng KHÁCH HÀNG

3.2 Định nghĩa phương thức 2 cho Nhập

Liên kết lấy thông tin bảng THIẾT BỊ

3.3 Định nghĩa phương thức 3 cho Nhập

Lấy thông tin KHÁCH HÀNG theo MÃ THIẾT BỊ

3.4 Định nghĩa Phuong thức 4 cho Nhập

Lấy thông tin THIẾT BỊ theo MÃ KHÁCH HÀNG

3.5 Định nghĩa phương thức 5 cho Nhập

Thêm thông tin vào bảng NHẬP với thông tin nhập vào: MÃ KHÁCH HÀNG,

MÃ THIẾT BỊ, NGÀY NHẬP, SỐ LƯỢNG NHẬP, ĐƠN GIÁ NHẬP, NỘI DUNGNHẬP

4 Xuất

4.1Định nghĩa phương thức 1 cho Xuất

Liên kết lấy thông tin từ bảng KHÁCH HÀNG

4.2Định nghĩa phương thức 2 cho Xuất

Liên kết lấy thông tin từ bảng THIẾT BỊ

4.3Định nghĩa phương thức 3 cho Xuất

Láy thông tin KHÁCH HÀNG theo MÃ THIẾT BỊ

Trang 8

4.4Định nghĩa phương thức 4 cho Xuất

Lấy thông tin THIẾT BỊ theo MÃ KHÁCH HÀNG

4.5Định nghĩa phương thức 5 cho Xuất

Thêm thông tin vào bảng XUẤT với thông tin nhập vào: MÃ KHÁCH HÀNG,

MÃ THIẾT BỊ, NGÀY XUẤT, SỐ LƯỢNG XUẤT, ĐƠN GIÁ XUẤT, NỘI DUNGXUẤT

CHƯƠNG 2: THIẾT KẾ CSDL HƯỚNG ĐỐI TƯỢNG QUẢN LÝ KINH DOANH THIẾT BỊ CNTT HIỆP TOÀN.

I Cài đặt class và phương thức

1. Cài đặt class <Khách hàng> và phương thức (Khách hàng)

1.1 Tạo đối tượng khách hàng:

CREATE OR REPLACE TYPE KHACHHANG_TYPE AS OBJECT

STATIC PROCEDURE SHOW_TENKH (MA

CHAR), STATIC PROCEDURE DS_KH,

STATIC FUNCTION GET_SOKH RETURN NUMBER,

STATIC PROCEDURE THEMKH (MA CHAR, TEN

VARCHAR2, NS DATE, DC VARCHAR2, SDT CHAR),STATIC PROCEDURE SUAKH (MA CHAR, TENMOI VARCHAR2,

NSMOI DATE, DCMOI VARCHAR2, SDTMOI CHAR), STATIC PROCEDURE XOAKH (MA CHAR)

);

1.2 Tạo bảng khách hàng:

Trang 9

CREATE TABLE KHACHHANG OF

KHACHHANG_TYPE (

PRIMARY KEY(MAKH)

);

1.3 Định nghĩa phương thức cho khách hang

CREATE OR REPLACE TYPE BODY KHACHHANG_TYPE

AS Định nghĩa phương thức 1 cho KHACHHANG

STATIC PROCEDURE SHOW_TENKH (MA CHAR)

IS CURSOR C_KH (MA CHAR) ISSELECT TENKH, NGSINH, DIACHI, SODT FROM KHACHHANG WHERE MAKH = MA;

B_KH C_KH%ROWTYPE;

BEGINFOR B_KH IN C_KH(MA)LOOP

DBMS_OUTPUT.PUT_LINE (MA || ' TEN LA: ' || B_KH.TENKH || ',NGAY SINH: '|| B_KH.NGSINH || ', DIA CHI: ' || B_KH.DIACHI || ',

SO DIEN THOAI: ' || B_KH.SODT);

Trang 10

FROM KHACHHANG;

B_KH C_KH%ROWTYPE;

BEGINDBMS_OUTPUT.PUT_LINE ('MA KHACH HANG | TEN KHACH HANG |

NGAY SINH | DIA CHI KHACH HANG | SO DIEN THOAI KHACH HANG');

FOR B_KH IN C_KHLOOP

DBMS_OUTPUT.PUT_LINE (B_KH.MAKH || ' | ' || B_KH.TENKH || ' | ' ||

B_KH.NGSINH || ' | ' || B_KH.DIACHI || ' | ' || B_KH.SODT);

END LOOP;

END;

Định nghĩa phương thức 3 cho KHACHHANG

STATIC FUNCTION GET_SOKH RETURN NUMBER IS TSKH NUMBER;

BEGINSELECT COUNT(*) INTO TSKH FROM KHACHHANG;

RETURN TSKH;

END;

Định nghĩa phương thức 4 cho KHACHHANG

STATIC PROCEDURE THEMKH (MA CHAR, TEN VARCHAR2, NS

DATE, DC VARCHAR2, SDT CHAR) ISDEM INT;

BEGINSELECT COUNT(*) INTO DEMFROM KHACHHANG

WHERE MAKH = MA;

IF (DEM = 1) THEN

Trang 11

DBMS_OUTPUT.PUT_LINE('TRUNG MA SO KHACH HANG');ELSE

INSERT INTO KHACHHANG VALUES (MA, TEN, NS, DC, SDT); DBMS_OUTPUT.PUT_LINE('DA THEM KHACH HANG');END IF;

END;

Định nghĩa phương thức 5 KHACHHANG

STATIC PROCEDURE SUAKH (MA CHAR, TENMOI VARCHAR2, NSMOI DATE, DCMOI VARCHAR2, SDTMOI CHAR) IS

DEM INT;

BEGINSELECT COUNT(*) INTO DEMFROM KHACHHANG

WHERE MAKH = MA;

IF (DEM = 1) THENUPDATE KHACHHANGSET TENKH = TENMOI, NGSINH = NSMOI, DIACHI = DCMOI, SODT = SDTMOI WHERE MAKH = MA;

DBMS_OUTPUT.PUT_LINE('SUA KHACH HANG THANH CONG');ELSE

DBMS_OUTPUT.PUT_LINE('MA SO KHACH HANG NAY KHONG

CO'); END IF;

END;

Định nghĩa phương thức 6 cho KHACHHANG

Trang 12

STATIC PROCEDURE XOAKH (MA CHAR)

IS DEM INT;

BEGINSELECT COUNT(*) INTO DEMFROM KHACHHANG

WHERE MAKH = MA;

IF (DEM = 1) THENDELETE KHACHHANGWHERE MAKH = MA;

DBMS_OUTPUT.PUT_LINE('XOA KHACH HANG THANH CONG'); ELSE

DBMS_OUTPUT.PUT_LINE('MA SO KHACH HANG NAY KHONG

CO'); END IF;

END;

END;

2 Cài đặt class <Thiết bị> và phương thức (Thiết bị)

2.1 Tạo đối tượng thiết bị:

CREATE OR REPLACE TYPE THIETBI_TYPE AS

OBJECT (

MATB CHAR(5),TENTB VARCHAR2(40),LOAITB CHAR(15),DVTTB CHAR(10),STATIC PROCEDURE SHOW_TENTB (MA CHAR),STATIC PROCEDURE DS_TB,

Trang 13

STATIC FUNCTION GET_SOTB RETURN NUMBER,STATIC PROCEDURE THEMTB (MA CHAR, TEN VARCHAR2, LOAICHAR, DVT CHAR),

STATIC PROCEDURE SUATB (MA CHAR, TENMOI VARCHAR2, LOAIMOI CHAR, DVTMOI CHAR),

STATIC PROCEDURE XOATB (MA CHAR));

2.2 Tạo bảng thiết bị:

CREATE TABLE THIETBI OF

THIETBI_TYPE (

PRIMARY KEY(MATB));

2.3 Định nghĩ phương thức cho thiết bị

CREATE OR REPLACE TYPE BODY THIETBI_TYPE AS

Định nghĩa phương thức 1 cho THIETBI

STATIC PROCEDURE SHOW_TENTB (MA CHAR) IS

CURSOR C_TB (MA CHAR) IS

SELECT TENTB, LOAITB, DVTTBFROM THIETBI

WHERE MATB = MA;

B_TB C_TB%ROWTYPE;

BEGIN

FOR B_TB IN C_TB(MA)LOOP

DBMS_OUTPUT.PUT_LINE (MA || ' LA THIET BI: ' || B_TB.TENTB || ',LOAI: '|| B_TB.LOAITB || ', DON VI TÍNH: ' || B_TB.DVTTB);

Trang 14

B_TB C_TB%ROWTYPE;

BEGINDBMS_OUTPUT.PUT_LINE ('MA THIET BI | TEN THIET BI | LOAI | DON VI TINH');

FOR B_TB IN C_TBLOOP

DBMS_OUTPUT.PUT_LINE (B_TB.MATB || ' | ' || B_TB.TENTB || '

| ' || B_TB.LOAITB || ' | ' || B_TB.DVTTB);

END LOOP;

END;

Định nghĩa phương thức 3 cho THIETBI

STATIC FUNCTION GET_SOTB RETURN NUMBER IS TSTB

Trang 15

STATIC PROCEDURE THEMTB (MA CHAR, TEN VARCHAR2, LOAI CHAR, DVT CHAR) IS

INSERT INTO THIETBI VALUES (MA, TEN, LOAI, DVT);

DBMS_OUTPUT.PUT_LINE('DA THEM THIET BI');

END IF;

END;

Định nghĩa phương thức 5 THIETBI

STATIC PROCEDURE SUATB (MA CHAR, TENMOI VARCHAR2, LOAIMOI CHAR, DVTMOI CHAR) IS

DEM INT;

BEGINSELECT COUNT(*) INTO DEM FROM THIETBI WHERE MATB = MA;

IF (DEM = 1) THENUPDATE THIETBISET TENTB = TENMOI, LOAITB = LOAIMOI, DVTTB =DVTMOI

WHERE MATB = MA;

DBMS_OUTPUT.PUT_LINE('SUA THIET BI THANH CONG');ELSE

DBMS_OUTPUT.PUT_LINE('MA SO THIET BI NAY KHONG CO');

Trang 16

END IF;

END;

Định nghĩa phương thức 6 cho THIETBI

STATIC PROCEDURE XOATB (MA CHAR) IS

DEM INT;

BEGIN

SELECT COUNT(*) INTO DEM FROM THIETBI WHERE MATB = MA;

IF (DEM = 1) THENDELETE THIETBIWHERE MATB = MA;

DBMS_OUTPUT.PUT_LINE('XOA THIET BI THANH CONG'); ELSE

DBMS_OUTPUT.PUT_LINE('MA SO THIET BI NAY KHONG CO'); END IF;

END;

END;

3 Cài đặt class <Nhập> và phương thức (Nhập)

3.1 Tạo đối tượng nhập:

CREATE OR REPLACE TYPE NHAP_TYPE AS

OBJECT (

NHAPKH REF KHACHHANG_TYPE,NHAPTB REF THIETBI_TYPE,

NGNHAP DATE,SLNHAP NUMBER,DGNHAP NUMBER,

Trang 17

NDNHAP VARCHAR2(40),MEMBER FUNCTION GET_KHACHHANG RETURN KHACHHANG_TYPE,

MEMBER FUNCTION GET_THIETBI RETURN THIETBI_TYPE,STATIC FUNCTION GET_KHNHAPTB (MTB NVARCHAR2) RETURN KHACHHANG_TYPE,

STATIC FUNCTION GET_TBNHAPKH (MKH NVARCHAR2) RETURN THIETBI_TYPE,

STATIC PROCEDURE THEM_NHAP (MKH NVARCHAR2, MTB NVARCHAR2, NGAY DATE, SL NUMBER, DG NUMBER, ND VARCHAR2)

);

3.3 Định nghĩa phương thức cho nhập

CREATE OR REPLACE TYPE BODY NHAP_TYPE AS

Định nghĩa phương thức 1 cho NHAP

MEMBER FUNCTION GET_KHACHHANG RETURN KHACHHANG_TYPE IS KH1 KHACHHANG_TYPE;

BEGINSELECT DEREF(SELF.NHAPKH) INTO KH1 FROM DUAL;

Trang 18

RETURN KH1;

END;

Định nghĩa phương thức 2 cho NHAP

MEMBER FUNCTION GET_THIETBI RETURN THIETBI_TYPE ISTB1 THIETBI_TYPE;

BEGINSELECT DEREF(SELF.NHAPTB) INTO TB1 FROM DUAL;

RETURN TB1;

END;

Định nghĩa phương thức 3 cho NHAP

STATIC FUNCTION GET_KHNHAPTB (MTB NVARCHAR2)RETURN KHACHHANG_TYPE IS KH2 KHACHHANG_TYPE;

CURSOR C_KH2 ISSELECT DEREF(N.NHAPKH).MAKH AS MAKH2,DEREF(N.NHAPKH).TENKH AS TENKH2, DEREF(N.NHAPKH).NGSINH ASNSKH2, DEREF(N.NHAPKH).DIACHI AS DCKH2, DEREF(N.NHAPKH).SODT ASSDTKH2

FROM NHAP N, KHACHHANG KHWHERE KH.MAKH = DEREF(N.NHAPKH).MAKH ANDDEREF(N.NHAPTB).MATB = MTB;

C_ROWKH C_KH2%ROWTYPE;

BEGINFOR C_ROWKH IN C_KH2LOOP

KH2 := KHACHHANG_TYPE(C_ROWKH.MAKH2,

C_ROWKH.TENKH2, C_ROWKH.NSKH2, C_ROWKH.DCKH2,C_ROWKH.SDTKH2);

END LOOP;

Trang 19

RETURN KH2;

END;

Định nghĩa phương thức 4 cho NHAP

STATIC FUNCTION GET_TBNHAPKH (MKH NVARCHAR2)RETURN THIETBI_TYPE IS TB2 THIETBI_TYPE;

CURSOR C_TB2 ISSELECT DEREF(N.NHAPTB).MATB AS MATB2,DEREF(N.NHAPTB).TENTB AS TENTB2, DEREF(N.NHAPTB).LOAITB ASLOAITB2,DEREF(N.NHAPTB).DVTTB AS DVTTB2

FROM NHAP N, THIETBI TBWHERE TB.MATB = DEREF(N.NHAPTB).MATB ANDDEREF(N.NHAPKH).MAKH = MKH;

C_ROWTB C_TB2%ROWTYPE;

BEGINFOR C_ROWTB IN C_TB2LOOP

TB2 := THIETBI_TYPE(C_ROWTB.MATB2,C_ROWTB.TENTB2, C_ROWTB.LOAITB2, C_ROWTB.DVTTB2);

END LOOP;

RETURN TB2;

END;

Định nghĩa phương thức 5 cho NHAP

STATIC PROCEDURE THEM _NHAP(MKH NVARCHAR2, MTBNVARCHAR2, NGAY DATE, SL NUMBER, DG NUMBER, ND VARCHAR2) IS

DEM INT;

BEGINSELECT COUNT(*) INTO DEM FROM NHAP N WHEREDEREF(N.NHAPKH).MAKH = MKH AND DEREF(N.NHAPTB).MATB = MTB;

Trang 20

IF (DEM = 1) THENDBMS_OUTPUT.PUT_LINE('TRUNG KHACH HANG DA NHAPTHIET BI NAY');

ELSEINSERT INTO NHAP VALUES(

(SELECT REF(KH) FROM KHACHHANG KH WHERE MAKH

= MKH),

(SELECT REF(TB) FROM THIETBI TB WHERE MATB =MTB),

NGAY, SL, DG, ND);

END;

END;

4 Cài đặt class <Xuất> và phương thức (Xuất)

4.1 Tạo đối tượng Xuất:

CREATE OR REPLACE TYPE XUAT_TYPE AS OBJECT

(

XUATKH REF KHACHHANG_TYPE, XUATTB REFTHIETBI_TYPE, NGXUAT DATE,

SLXUAT NUMBER,DGXUAT NUMBER,

NDXUAT VARCHAR2(40),MEMBER FUNCTION GET_KHACHHANG RETURN KHACHHANG_TYPE,

MEMBER FUNCTION GET_THIETBI RETURN THIETBI_TYPE,

Trang 21

STATIC FUNCTION GET_KHXUATTB (MTB NVARCHAR2) RETURN KHACHHANG_TYPE,

STATIC FUNCTION GET_TBXUATKH (MKH NVARCHAR2) RETURN THIETBI_TYPE,

STATIC PROCEDURE THEM_XUAT (MKH NVARCHAR2, MTB NVARCHAR2, NGAY DATE, SL NUMBER, DG NUMBER, ND VARCHAR2)

);

4.3 Định nghĩa phương thức cho Xuất

CREATE OR REPLACE TYPE BODY XUAT_TYPE AS

Định nghĩa phương thức 1 cho XUAT

MEMBER FUNCTION GET_KHACHHANG RETURN KHACHHANG_TYPE IS KH1 KHACHHANG_TYPE;

BEGINSELECT DEREF(SELF.XUATKH) INTO KH1 FROM DUAL;RETURN KH1;

END;

Định nghĩa phương thức 2 cho XUAT

Trang 22

MEMBER FUNCTION GET_THIETBI RETURN THIETBI_TYPE ISTB1 THIETBI_TYPE;

BEGINSELECT DEREF(SELF.XUATTB) INTO TB1 FROM DUAL;

RETURN TB1;

END;

Định nghĩa phương thức 3 cho XUAT

STATIC FUNCTION GET_KHXUATTB (MTB NVARCHAR2)RETURN KHACHHANG_TYPE IS KH2 KHACHHANG_TYPE;

CURSOR C_KH2 ISSELECT DEREF(X.XUATKH).MAKH AS MAKH2,DEREF(X.XUATKH).TENKH AS TENKH2, DEREF(X.XUATKH).NGSINH ASNSKH2, DEREF(X.XUATKH).DIACHI AS DCKH2, DEREF(X.XUATKH).SODT ASSDTKH2

FROM XUAT X, KHACHHANG KHWHERE KH.MAKH = DEREF(X.XUATKH).MAKH ANDDEREF(X.XUATTB).MATB = MTB;

C_ROWKH C_KH2%ROWTYPE;

BEGINFOR C_ROWKH IN C_KH2LOOP

Trang 23

STATIC FUNCTION GET_TBXUATKH (MKH NVARCHAR2)RETURN THIETBI_TYPE IS TB2 THIETBI_TYPE;

CURSOR C_TB2 ISSELECT DEREF(X.XUATTB).MATB AS MATB2,DEREF(X.XUATTB).TENTB AS TENTB2, DEREF(X.XUATTB).LOAITB ASLOAITB2,DEREF(X.XUATTB).DVTTB AS DVTTB2

FROM XUAT X, THIETBI TBWHERE TB.MATB = DEREF(X.XUATTB).MATB ANDDEREF(X.XUATKH).MAKH = MKH;

C_ROWTB C_TB2%ROWTYPE;

BEGINFOR C_ROWTB IN C_TB2LOOP

TB2 := THIETBI_TYPE(C_ROWTB.MATB2,C_ROWTB.TENTB2, C_ROWTB.LOAITB2, C_ROWTB.DVTTB2);

END LOOP;

RETURN TB2;

END;

Định nghĩa phương thức 5 cho XUAT

STATIC PROCEDURE THEM _XUAT(MKH NVARCHAR2, MTBNVARCHAR2, NGAY DATE, SL NUMBER, DG NUMBER, ND VARCHAR2) IS

DEM INT;

BEGINSELECT COUNT(*) INTO DEM FROM XUAT XWHERE DEREF(X.XUATKH).MAKH = MKH

AND DEREF(X.XUATTB).MATB = MTB;

IF (DEM = 1) THEN

Trang 24

DBMS_OUTPUT.PUT_LINE('TRUNG KHACH HANG DA XUATTHIET BI NAY');

ELSEINSERT INTO XUAT VALUES(

(SELECT REF(KH) FROM KHACHHANG KH WHERE MAKH =MKH),

(SELECT REF(TB) FROM THIETBI TB WHERE MATB =

MTB), NGAY, SL, DG, ND);

END;

END;

II Truy vấn dữ liệu hướng đối tượng

1 Thực thi phương thức cho class <Khách hàng> và kết quả

Trang 25

1.2 Liệt kê danh sách khách hàng:

SET SERVEROUTPUT ON;

SET SERVEROUTPUT ON;

SELECT KHACHHANG_TYPE.GET_SOKH() AS TONGKH FROM DUAL;

* Kết quả:

Ngày đăng: 07/12/2022, 09:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w