1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Bài Tập Lớn Hệ Quản Trị Cơ Sở Dữ Liệu Đề Tài Quản Lý Thư Viện.pdf

51 8 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 đề Quản Lý Thư Viện
Tác giả Mai Thị Dinh, Nguyễn Thị Thanh, Đỗ Mạnh Hùng, Bùi Thành Đan
Người hướng dẫn Nguyễn Thị Tâm
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Hệ Quản Trị Cơ Sở Dữ Liệu
Thể loại báo cáo bài tập lớn
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 51
Dung lượng 1,11 MB

Nội dung

Qua việc tìm kiếm và tham khảo các mô hình quản lý các hoạt động của thư viện trường học, ta có thể thấy được các chủ thể chính cần được quản lý : quản lý sách c ủa thư viện, quản lý nh

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-

BÁO CÁO BÀI TẬP LỚN MÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

<NHÓM 12>

Đề tài: Quản Lý Thư Viện

Giáo Viên Hướng Dẫn: Nguyễn Thị Tâm

Sinh Viên Thực Hiện: Mai Thị Dinh – 2010A03

Nguyễn Thị Thanh – 2010A03

Đỗ Mạnh Hùng – 2010A03 Bùi Thành Đan – 1910A05

Hà Nội, năm 2021

Trang 2

PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN

Mai Thị Dinh Phát biểu bài toán, xây dựng view, phân tán Hoàn Thành Nguyễn Thị Thanh Xây dựng CSDL quan hệ,

Bùi Thành Đan Proceduce, phân quyền Hoàn Thành

Trang 3

M ục Lục

I Phát biểu bài toán 1

II Mô hình thực thể liên kết 2

1.Mô hình ER: 3

2 Xây dựng mô hình CSDL quan hệ 3

3 Chuẩn hóa CSDL của bài toán 5

III Xây dựng bảng cơ sở dữ liệu của bài toán 6

1.Xác định cấu trúc bảng: 6

2 Diagram: 8

IV Tạo cơ sở dữ liệu 8

1 Tạo database và bảng 8

2 Nhập dữ liệu vào các bảng 11

V.Thực hiện các yêu cầu 15

1 Truy vấn dữ liệu 15

a.Truy vấn dữ liệu từ 1 bảng 15

b.Truy vấn dữ liệu từ nhiều bảng 16

2.Xây dựng các view 18

3 Xây dựng Proceduce 22

4 Xây dựng các trigger 31

VI Phân quyền và bảo mật CSDL 35

VII Phân tán 38

1.Phân tán ngang 38

2.Phân tán dọc 43

VIII Tài liệu tham khảo: 48

Trang 4

I Phát bi ểu bài toán

Để quản lý thư viện một cách hợp lý và hiệu quả , ta cần xây dựng một hệ thống

qu ản lý thư viện một cách hiệu quả và tối ưu nhất Vì vậy, cần xác định rõ các chủ thể cần quản lý cũng như các hoạt động chính

Qua việc tìm kiếm và tham khảo các mô hình quản lý các hoạt động của thư viện trường học, ta có thể thấy được các chủ thể chính cần được quản lý : quản lý sách

c ủa thư viện, quản lý nhân viên làm việc cho thư viện, quản lý NXB, quản lý việc mượn trả sách của thư viện và quản lý thẻ độc giả

Quản lý Sách:

- Thư viện có nhiều SÁCH, mỗi sách sẽ bao gồm các thông tin như mã sách,

tên sách, tác gi ả, thể loại, năm xuất bản,số lượng, giá tiền Các cuốn sách phân

bi ệt với nhau bằng mã sách và tên sách không trùng nhau

Quản lý NXB:

- Trong mỗi cuốn sách có chứa thông tin của NHÀ XUẤT BẢN Một NXB có

thể cung cấp một hoặc nhiều sách cho thư viện.Và để tiện cho việc liên lạc cần lưu lại thông tin của NXB gồm: Mã NXB ,tên NXB, Địa chỉ,email, SĐT Quản lý Nhân viên:

- Mỗi NHÂN VIÊN làm việc trong thư viện cần lưu lại các thông tin sau: Mã

NV, Họ tên, Ngày sinh, Ngày vào làm , SĐT, Giới tính,Địa chỉ, HSL, PC Quy định mỗi nhân viên phải có mã riêng biệt và lớn hơn 18 tuổi

Quản lý Thẻ Độc Giả

Trang 5

- Khi đến mượn sách, độc giả sẽ được cấp một THẺ ĐỘC GIẢ, trên đó có mã

thẻ (Mã thẻ được đánh số tự động bắt dầu từ 1,2,3…), tên độc giả , ngày sinh, giới tính, địa chỉ, số điện thoại, ngày bắt đầu, ngày hết hạn Với mỗi thẻ, độc

gi ả có thể mượn được nhiều sách và ngược lại mỗi sách có thể được mượn bởi nhi ều thẻ độc giả

Quản lý Phiếu Mượn Trả:

- Độc giả sau khi đến mượn sách cần lưu lại thông tin của PHIẾU MƯỢN

TR Ả bao gồm mã mượn trả, ngày mượn , ngày hẹn trả Độc giả chỉ được

mượn sách tối đa trong 15 ngày kể từ ngày mượn

II Mô hình th ực thể liên kết

T ừ bài toán trên ,ta xác định được các thực thể và thuộc tính:

- NHANVIEN : Mã NV, Họ tên, Ngày sinh, Ngày vào làm, SĐT, Giới tính,

Địa chỉ, HSL, PC.

- SACH : Mã sách , Tên sách, Tác giả, Thể loại, Năm XB, Số lượng, Giá tiền.

- NHA XUAT BAN : Mã NXB , Tên NXB, Địc chỉ, Email, SĐT.

- THE DOC GIA : Mã thẻ, Tên ĐG, Ngày sinh, Giới tính, Địa chỉ, SĐT, Ngày bắt đầu, Ngày hết hạn.

- PHIEU MUONTRA: Mã mượn trả, Ngày mượn, Ngày hẹn trả

Trang 7

PHIEUMUONTRA (Mã mượn trả, Ngày mượn, Ngày hẹn trả,Mã thẻ)

PHIEUMUONTRA( Mã mượn trả, Ngày mượn, Ngày hẹn trả,Mã thẻ, Mã NV)

QT 5: Chuy ển liên kết M-N ( Sinh ra quan hệ mới)

SACH_PHIEUMUONTRA = CT_PHIEUMUONTRA

 CT_PHIEUMUON TRA(Mã mượn trả,Mã sách,Ngày trả,Tình trạng)

Ta có CSDL cuối cùng của bài toán là:

tblNHANVIEN (sMaNV , sTenNV, dNgaysinh, dNgayvaolam, sSĐT, bGioitinh, sDiachi, fHSL, fPC)

tblSACH (sMaSach, sTensach, sTacgia, sTheLoai, iNamXB, iSoluong, fGia tien

,sMaNXB)

tblNXB (sMaNXB , sTenNXB, sDiachi,sEmail, sSĐT)

tblTHEDOCGIA (sMaThe , sTenĐG, dNgaysinh, bGioitinh, sDiachi , sSĐT, dNgaybatdau, dNgayhethan)

tblPHIEUMUONTRA ( sMaMT, dNgaymuon, dNgayhentra, sMaThe, sMaNV)

Trang 8

tblCT_PHIEUMUONTRA (sMaMT, sMaSach, dNgaytra,sTinhtrang)

3 Chuẩn hóa CSDL của bài toán

T ừ mô hình quan hệ ta suy ra các phụ thuộc hàm:

sMaNV-> sTenNV, dNgaysinh, dNgayvaolam, sSĐT, bGioitinh, sDiachi, fHSL, fPC

sMaSach-> sTensach, sTacgia, sTheLoai, iNamXB, iSoluong, fGia tien ,sMaNXB

sMaNXB- > sTenNXB, sDiachi,sEmail, sSĐT

sMaThe-> sTenĐG, dNgaysinh, bGioitinh, sDiachi , sSĐT, dNgaybatdau,

dNgayhethan

sMaMT-> dNgaymuon, dNgayhentra, sMaThe, sMaNV

sMaMT->sMaSach, dNgaytra,sTinhtrang

=> Từ các phụ thuộc hàm trên ta thấy:

- Mọi thuộc tính đều là nguyên tố, giá trị các thuộc tính trên bộ

là đơn trị, không có thuộc tính nào có giá trị được tính toán từ một số

thuộc tính khác.

Lược đồ quan hệ trên đã ở dạng chuẩn 1NF.

- Mọi thuộc tính không khóa của quan hệ đều phụ thuộc hàm

đầy đủ vào khóa chính.

Lược đồ quan hệ trên đã ở dạng chuẩn 2NF.

- Mọi thuộc tính không khóa của quan hệ đều không phụ thuộc

bắc cầu vào bất kì khóa chính của quan hệ.

Lược đồ quan hệ trên đã ở dạng chuẩn 3NF.

Trang 9

Vậy lược đồ quan hệ đã được chuẩn hóa về dạng cao nhất – 3NF

III Xây d ựng bảng cơ sở dữ liệu của bài toán

1.Xác định cấu trúc bảng:

tblNHANVIEN : lưu trữ thông tin của bảng NHÂN VIÊN

STT Tên thuộc

tính

Kiểu dữ liệu Ràng buộc Ghi chú

4 dNgayvaolam datetime dNgayvaolam<=getdate() Ngày vào làm

6 sGioitinh Bit Chỉ nhận giá trị true hoặc

4 sMaNXB varchar(10) FK, tham chiếu tblNXB Mã nhà xuất

bản

tblNXB: lưu trữ thông tin của bảng NXB

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

Trang 10

1 sMaNXB varchar(10) PK Mã nhà xuất bản

tblTHEDOCGIA: lưu trữ thông tin của bảng THẺ ĐỘC GIẢ

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

giả

tblPHIEUMUONTRA : lưu trữ thông tin của PHIẾU MƯỢN TRẢ

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

5 sMaNV varchar(10) FK, tham chiếu đến

tblNHANVIEN Mã nhân viên

Trang 11

TblCT_PHIEUMUONTRA : lưu trữ thông tin của bảng CHI TIẾT PHIẾU

MƯỢN TRẢ

STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

2 sMasach varchar(10) PK,FK, tham chiếu

Trang 12

sMaNXB VARCHAR(10) NOT NULL,

sTenNXB NVARCHAR(30) UNIQUE NOT NULL,

sDiachi NVARCHAR(30) NOT NULL,

sEmail VARCHAR(30) NOT NULL,

sSDT VARCHAR(10) NOT NULL

);

ALTER TABLE tblNXB

ADD CONSTRAINT PK_tblNXB PRIMARY KEY(sMaNXB)

tao bang tblSACH

CREATE TABLE tblSACH

(

sMasach VARCHAR(10) NOT NULL,

sMaNXB VARCHAR(10) NOT NULL,

sTensach NVARCHAR(50) UNIQUE NOT NULL,

sTacgia NVARCHAR(30) NOT NULL,

sTheloai NVARCHAR(30) NULL,

iNamXB INT NOT NULL,

iSoluong INT NOT NULL,

fGiatien FLOAT NOT NULL,

);

ràng buoc trong tblSACH

ALTER TABLE tblSACH ADD

CONSTRAINT PK_tblSACH PRIMARY KEY(sMasach ),

CONSTRAINT FK_sach_nxb FOREIGN KEY (sMaNXB ) REFERENCES tblNXB sMaNXB)

Tao bang

NHANVIEN CREATE TABLE tblNHANVIEN

(

sMaNV VARCHAR(10) NOT NULL,

sTenNV NVARCHAR(30) NOT NULL,

dNgaysinh DATETIME NOT NULL,

dNgayvaolam DATETIME NOT NULL,

sSDT VARCHAR(10) NOT NULL,

bGioitinh BIT NOT NULL,

Trang 13

sDiachi NVARCHAR(30) NOT NULL

fHSL FLOAT NOT NULL

fPC FLOAT NOT NULL

);

rang buoc trong tblNHANVIEN

ALTER TABLE tblNHANVIEN

ADD CONSTRAINT PK_tblNHANVIEN PRIMARY KEY(sMaNV),

CONSTRAINT BIT CHECK (bGioiTinh = 0 or bGioiTinh = 1);

ALTER TABLE tblNHANVIEN

ADD CONSTRAINT CK_tblNHANVIEN_dNgayvaolam CHECK (dNgayvaolam <= GETDATE()),

CONSTRAINT CK_tblNHANVIEN_fHSL CHECK(fHSL>=2 and fHSL<10),

CONSTRAINT CK_tblNHANVIEN_fPC CHECK(fPC> );

ALTER TABLE tblNHANVIEN

ADD CONSTRAINT CHK_dNgaysinh CHECK (DATEDIFF(YEAR,dNgaysinh,dNgayvaolam)

>=18)

tao bang tblTHEDOCGIA

CREATE TABLE tblTHEDOCGIA(

sMathe VARCHAR(10) NOT NULL,

sTenDG NVARCHAR(30) NOT NULL,

dNgaysinh DATETIME NULL,

bGioitinh BIT NOT NULL,

sDiachi NVARCHAR(30) NOT NULL,

sSDT VARCHAR(10) NULL,

dNgaybatdau DATETIME NOT NULL,

dNgayhethan DATETIME NOT NULL,

);

rang buoc trong tblTHEDOCGIA

ALTER TABLE tblTHEDOCGIA

ADD CONSTRAINT PK_tblTHEDOCGIA PRIMARY KEY (sMathe),

CONSTRAINT CK_tblTHEDOCGIA_dNgaybatdau CHECK (dNgaybatdau <= GETDATE()),CONSTRAINT CK_tblTHEDOCGIA_dNgayhethan CHECK (dNgayhethan>dNgaybatdau)

tao bang tblPHIEUMUON

CREATE TABLE tblPHIEUMUONTRA

(

iMaMT INT IDENTITY( , ),

sMathe VARCHAR(10) NOT NULL,

sMaNV VARCHAR(10) NOT NULL,

dNgaymuon DATETIME NOT NULL,

dNgayhentra DATETIME NOT NULL

);

Trang 14

rang buoc trong tblPHIEUMUONTRA

ALTER TABLE tblPHIEUMUONTRA

ADD CONSTRAINT PK_tblPHIEUMUONTRA PRIMARY KEY(iMaMT),

CONSTRAINT FK_tblPHIEUMUONTRA_Thedocgia FOREIGN KEY(sMathe) REFERENCES

ADD CONSTRAINT CHK_dNgayhentra_dNgaymuon CHECK

(DATEDIFF(DAY,dNgaymuon,dNgayhentra) <= 15);

tao bang tblCT_PHIEUMUONTRA

CREATE TABLE tblCT_PHIEUMUONTRA

(

iMaMT INT NOT NULL,

sMasach VARCHAR(10) NOT NULL ,

dNgaytra DATETIME NULL,

sTinhtrang NVARCHAR(15) NOT NULL

CONSTRAINT PK_tblCT_PHIEUMUONTRA PRIMARY KEY(iMaMT,sMasach ),

CONSTRAINT FK_PHIEUMUONTRA_CTPMT FOREIGN KEY(iMaMT ) REFERENCES

Trang 15

('NXB006', N'Thời Đại', N'Mỹ Đình 1,Từ Liêm,Hà Nội','nxbthoidai@gmail.com',

INSERT INTO dbo.tblSACH(sMasach, sMaNXB,sTensach, sTacgia, sTheloai, iNamXB,

Trang 16

('NV007', N'Đào Bích Hạnh', '1995-05-16','2014-12-19','0383640295', , N'Huyện

Ý Yên, Nam Định',6.3, 0.6)

Nhâp dữ liệu bảng thẻ độc giả

INSERT INTO dbo.tblTHEDOCGIA(sMathe, sTenDG, dNgaysinh, bGioitinh,sDiachi,

sSDT, dNgaybatdau, dNgayhethan)

Trang 17

Nhập dữ liệu vào bảng PHIEUMUON

INSERT INTO dbo.tblPHIEUMUONTRA(dNgaymuon, dNgayhentra, sMathe, sMaNV)

Trang 18

1 Hiện tên các sách có số lượng lớn hơn 1000 và nhỏ hơn 1500

SELECT sMasach,sTensach,iSoluong FROM dbo.tblSACH

WHERE iSoluong BETWEEN 1000 AND 1500

Trang 19

2.Cho biết những khách hàng đã quá hạn thẻ tính đến thời điểm hiện tại

SELECT FROM dbo.tblTHEDOCGIA

WHERE dNgayhethan < GETDATE(

3 Cho biết những nhân viên có địa chỉ ở Hà Nội và đã làm việc từ 5 năm trở lên

SELECT sTenNV FROM dbo.tblNHANVIEN

WHERE sDiachi LIKE N'%Hà Nội%'

AND YEAR(GETDATE()) YEAR(dNgayvaolam) >=5

4 Hiện những độc giả chưa đủ 18 tuổi

SELECT sMathe,sTenDG FROM dbo.tblTHEDOCGIA

WHERE YEAR(GETDATE()) YEAR(dNgaysinh) < 18

5 cho biết độ tuổi trung bình của các nhân viên

SELECT AVG(YEAR(GETDATE()) YEAR(dNgaysinh)) AS [Tuổi TB]

FROM dbo.tblNHANVIEN

b.Truy vấn dữ liệu từ nhiều bảng

1 Cho biết tên các sách ,tên NXB thuộc thể loại 'Truyện ngắn'

Trang 20

SELECT sTensach,sTenNXB FROM dbo.tblSACH INNER JOIN dbo.tblNXB

ON tblNXB.sMaNXB = tblSACH.sMaNXB

WHERE sTheloai=N'Truyện ngắn'

2.Tạo view cho biết tổng số lượng sách và tổng số tiền sách của từng NXB

SELECT sTenNXB,SUM(iSoluong)AS [Tổng số lượng] ,SUM(iSoluong * fGiatien)

AS [Tổng tiền]

FROM dbo.tblSACH INNER JOIN dbo.tblNXB

ON tblNXB.sMaNXB = tblSACH.sMaNXB

GROUP BY sTenNXB

3 Cho biết trong năm 2021, những độc giả nào chỉ đến mượn sách 1 lần

SELECT sTenDG FROM dbo.tblTHEDOCGIA INNER JOIN dbo.tblPHIEUMUONTRA

ON tblPHIEUMUONTRA.sMathe = tblTHEDOCGIA.sMathe

AND YEAR(dNgaymuon) =2021

GROUP BY sTenDG

HAVING COUNT(tblTHEDOCGIA.sMathe) 1

4 Cho biết tên những cuốn sách chưa được mượn lần nào

SELECT sMasach,sTensach

FROM dbo.tblSACH

WHERE sMasach NOT IN

(SELECT DISTINCT sMasach FROM dbo.tblCT_PHIEUMUONTRA)

Trang 21

5 Hiện tên những độc giả trả sách quá hạn và tính số ngày quá hạn

SELECT tblPHIEUMUONTRA.sMathe,sTenDG,DATEDIFF(DAY,dNgayhentra,dNgaytra)

AS [Số ngày quá hạn]

FROM dbo.tblTHEDOCGIA INNER JOIN dbo.tblPHIEUMUONTRA

ON tblPHIEUMUONTRA.sMathe = tblTHEDOCGIA.sMathe INNER JOIN

dbo.tblCT_PHIEUMUONTRA

ON tblCT_PHIEUMUONTRA.iMaMT = tblPHIEUMUONTRA.iMaMT

WHERE dNgaytra > dNgayhentra

2.Xây dựng các view

1.Tạo view hiện thông tin những độc giả chưa trả sách

CREATE VIEW vvDocGia_ChuaTraSach

AS

SELECT DISTINCT tblTHEDOCGIA.sMathe,sTenDG

FROM dbo.tblTHEDOCGIA INNER JOIN dbo.tblPHIEUMUONTRA

ON tblPHIEUMUONTRA.sMathe = tblTHEDOCGIA.sMathe INNER JOIN

dbo.tblCT_PHIEUMUONTRA

ON tblCT_PHIEUMUONTRA.iMaMT = tblPHIEUMUONTRA.iMaMT

AND sTinhtrang =N'Đang mượn'

2 Tạo view hiện tên những cuốn sách không được mượn vào tháng 12/2020 CREATE VIEW vvSach_Khongduocmuon

AS

SELECT tblCT_PHIEUMUONTRA.sMasach,sTensach

FROM dbo.tblSACH INNER JOIN dbo.tblCT_PHIEUMUONTRA

ON tblCT_PHIEUMUONTRA.sMasach = tblSACH.sMasach INNER JOIN

dbo.tblPHIEUMUONTRA

ON tblPHIEUMUONTRA.iMaMT = tblCT_PHIEUMUONTRA.iMaMT

AND MONTH(dNgaymuon) <>12 AND YEAR(dNgaymuon) <>2020

Trang 22

3 Tạo view thống kê số lượng nhân viên theo giới tính

CREATE VIEW vvNhanVien_GioiTinh

AS

SELECT CASE bGioitinh

WHEN 1 THEN N'Nam'

ELSE N'Nữ'

END AS [Giới tính],

COUNT(sMaNV) [Số Lượng] FROM dbo.tblNHANVIEN

FROM dbo.tblNXB INNER JOIN dbo.tblSACH

ON tblSACH.sMaNXB = tblNXB.sMaNXB

GROUP BY sTenNXB,sTensach

ORDER BY SUM(iSoluong * fGiatien) DESC

Trang 23

8.Tạo view cho biết những độc giả có số lần mượn sách từ 2 lần trở lên

CREATE VIEW vvDocGia_Muon_2lan

AS

SELECT tblPHIEUMUONTRA.sMathe,sTenDG

FROM dbo.tblTHEDOCGIA INNER JOIN dbo.tblPHIEUMUONTRA

ON tblPHIEUMUONTRA.sMathe = tblTHEDOCGIA.sMathe

GROUP BY tblPHIEUMUONTRA.sMathe,sTenDG

HAVING COUNT(dbo.tblTHEDOCGIA.sMathe) >= 2

6 Tạo view cho xem danh sách top 3 các đầu sách có số lần mượn nhiều nhấtCREATE VIEW vvTop3_SachMuon_Max

AS

SELECT TOP ( ) sTensach,COUNT(tblSACH.sMasach) AS [Số lần mượn]

FROM dbo.tblSACH INNER JOIN dbo.tblCT_PHIEUMUONTRA

ON tblCT_PHIEUMUONTRA.sMasach = tblSACH.sMasach

GROUP BY sTensach

ORDER BY COUNT(tblSACH.sMasach) DESC

Trang 24

7 Tạo view hiện những tên sách thuộc NXB 'Phụ nữ'

CREATE VIEW vvTenSach_NXBPhuNu

AS

SELECT sTensach FROM dbo.tblSACH INNER JOIN dbo.tblNXB

ON tblNXB.sMaNXB = tblSACH.sMaNXB

AND sTenNXB = N'Phụ Nữ'

8 Tạo view tính tổng số đầu sách của từng nhà xuất bản

CREATE VIEW vvTongdausach_NXB

AS

SELECT sTenNXB, COUNT(tblSACH.sMaNXB) AS [Tổng đầu sách]

FROM dbo.tblSACH,dbo.tblNXB

WHERE dbo.tblSACH.sMaNXB=dbo.tblNXB.sMaNXB

Trang 25

10.Tạo view tính số tiền phạt khi độc giả trả quá hạn,biết quá hạn 1 ngày

phạt 3000 đồng

CREATE VIEW vvTienPhat_Quahan

AS

SELECT tblTHEDOCGIA.sMathe,sTenDG,DATEDIFF(DAY,dNgayhentra,dNgaytra)*3000

AS [Số tiền phạt] FROM tblTHEDOCGIA

INNER JOIN dbo.tblPHIEUMUONTRA ON tblPHIEUMUONTRA.sMathe =

IF NOT EXISTS (SELECT* FROM tblNHANVIEN WHERE sTenNV = @tennv )

PRINT N'Không tìm thấy nhân viên có tên '+@tennv

Trang 26

2.Tạo thủ tục cho biết tên của những cuốn sách của nhà xuất bản nào đó theo tên nhà xuất bản nhập vào

CREATE PROC pr_Sach_NXB

@TenXB NVARCHAR(30)

AS

BEGIN

IF NOT EXISTS SELECT* FROM tblNXB WHERE sTenNXB = @tenXB )

PRINT N'Không tìm thấy nhà xuất bản có tên '+@tenXB

ELSE

SELECT sTensach, sTacgia

FROM tblSach, tblNXB

WHERE tblSach.sMaNXB=tblNXB.sMaNXB

AND sTenNXB=@TenXB

END

EXEC pr_Sach_NXB @TenXB= N'Kim Đồng'

Test lỗi

EXEC pr_Sach_NXB @TenXB= N'Quà Tặng Cuộc Sống'

3 Tạo thủ tục cho biết số lượng độc giả đã mươn sách trong tháng với tháng

là tham số truyền vào, số lượng là tham số trả về

CREATE PROC pr_docgia_slmuonsachtheothang

WHERE MONTH(dngaybatdau) = @thang

DECLARE @so INT

EXEC pr_docgia_slmuonsachtheothang @thang = 10, @soluongdocgia = @so OUTPUTSELECT @so AS N'số độc giả mượn sách'

Ngày đăng: 12/03/2024, 16:33

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

TÀI LIỆU LIÊN QUAN

w