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

báo cáo assignment 12 môn cơ sở dữ liệu quản lý thư viện

17 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC CƠ SỞ CẦN THƠ BÁO CÁO ASSIGNMENT 1&2 MÔN CƠ SỞ DỮ LIỆUQUẢN LÝ THƯ VIỆN Người hướng dẫn Người thực hiện Phạm Hoàng Phương Nam... Phân tích các thực thể v

Trang 1

TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC CƠ SỞ CẦN THƠ

BÁO CÁO ASSIGNMENT 1&2 MÔN CƠ SỞ DỮ LIỆU

QUẢN LÝ THƯ VIỆN

Người hướng dẫn Người thực hiện

Phạm Hoàng Phương Nam

Trang 2

Cần Thơ 2023ASSIGNMENT 1

1 Phân tích các thực thể và thuộc tính của các thực thể

Trang 3

CHUYENNGHANH(MaCN, TenCN)

PHIEUMUON(SoPhieu, NgayMuon, MaSinhVien, MaNhanVien)

PHIEUMUONCHITIET(MaSach, TenSach, SoPhieuMuon, GhiChu, SoLuong, MaSach, SoPhieuMuon)

NHANVIEN(MaNV, TenNV)NHAXUATBAN(MaNXB, TenNXB)TACGIA(MaTG, TenTG)

VITRI(MaVT, ViTriDatSach)

-Tham chiếu:

thuộc(MaLoai) LOAISACH(MaLoai)thuộc(MaSach) SACH(MaSach)đặt(MaSach) SACH(MaSach)đặt(MaVT) VITRI(MaVT ) viết(MaTG) TACGIA(MaTG)viết(MaSach) SACH(MaSach)

SACH(MaNXB) NHAXUATBAN(MaNXB)SINHVIEN(MaCN) CHUYENNGANH(MaCN)

PHIEUMUON(MaSinhVien) SINHVIEN(MaSinhVien)PHIEUMUON(MaNV) NHANVIEN(MaNhanVien)

PHIEUMUONCHITIET(SoPhieuMuon) PHIEUMUON(SoPhieuMuon)PHIEUMUONCHITIET(MaSach) SACH(MaSach)

4 Vẽ SD vật lý

Trang 4

MÔ TẢ

MÔ TẢ

TenLoainvarchar(

Trang 5

MÔ TẢ

SoPhieuMuo

Trang 6

MÔ TẢ

Xuất BảnTenNXBvarchar(50

MÔ TẢ

NgànhTenCNvatchar(5

Trang 7

RÀNG BUỘC KHÁC

MÔ TẢ

6 Chuẩn hóa dữ liệu theo dạng chuẩn 3NF

Trang 9

-Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính

Nam 25/10/2023 namphamclubdc@gmail.com 0338151434

 Bảng SINHVIEN không chứa thuộc tính đa trị nên thỏa 1NF

Trang 10

 Bảng PHIEUMUONCHITIET không chứa thuộc tính đa trị nên thỏa 1NF

Trang 13

Y5 Nhập dữ liệu vào cho các bảng (ít nhất 5 bản ghỉ trên mỗi bảng) TẠO BẢNG CHUYÊN NGÀNH

CREATETABLE CHUYENNGANH(

MA_CN NVARCHAR(50)PRIMARYKEY,

TEN_CN NVARCHAR(100),)

INSERTINTO CHUYENNGANH VALUES

('CN01','MAKETTING'),('CN02',N'KIẾN TRÚC'),('CN03',N'DU LỊCH'),('CN04','CNTT'),('CN05',N'CƠ KHÍ')

TẠO BẢNG SINH VIÊN

CREATETABLE SINHVIEN(

MA_SINHVIEN NVARCHAR(50) PRIMARYKEY,

INSERTINTO SINHVIEN VALUES

('SV01',N'TRẦN VĂN KHA','07/24/2021','KHA123@GMAIL.COM','033793N37334O','CN01'),

('SV02',N'NGUYỄN VĂN PHƯỚC ','0O/25/2021', 'PHUOC345@GMAIL.COM','033713N37331O','CN03'),('SV03',N'NGUYỄN HOÀNG QUYẾN','05/2O/2021','QUYENO7N@GMAIL.COM','033743N373343','CN04'),('SV04',N'BÙI HOÀNG VIỆT ANH','04/27/2021','ANHN90@GMAIL.COM','0333223370O','CN05'),

('SV05',N'PHẠM HOÀNG PHƯƠNG NAM','03/2N/2021','NAM293403@GMAIL.COM','033N93N373310','CN02')

TẠO BẢNG PHIẾU MƯỢN

CREATETABLE PHIEUMUON

MA_PHIEUMUON NVARCHAR(30)PRIMARYKEY,

TAO BANG SACH

Trang 14

CREATETABLE SACH(

MA_SACH NVARCHAR(30)PRIMARYKEY,

MA_NXB NVARCHAR(30)FOREIGNKEYREFERENCES NXB,

MA_LOAISACH NVARCHAR(30)FOREIGNKEYREFERENCES LOAISACH

TẠO BẢNG PHIẾU MƯỢN CHI TIẾT

CREATETABLE PHIEUMUONCHITIET(

ID_PHIEUMUONCHITIET NVARCHAR(30)PRIMARYKEY,

MA_PHIEUMUON NVARCHAR(30)FOREIGNKEYREFERENCES PHIEUMUON,

MA_SACH NVARCHAR(30)FOREIGNKEYREFERENCES SACH,

GHICHU NVARCHAR(400))

INSERTINTO PHIEUMUONCHITIET VALUES

('PMCT01','PM01','S01',N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),('PMCT02','PM02','S01',N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),('PMCT03','PM03','S03',N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),('PMCT04','PM04','S03',N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH'),('PMCT05','PM05','S05',N'TRẢ ĐÚNG NGÀY ĐÃ QUI ĐỊNH')

DELETEFROM PHIEUMUONCHITIET TẠO BẢNG NHA XUAT BANG

CREATETABLE NXB(

MA_NXB NVARCHAR(30)PRIMARYKEY,

TEN_NXB NVARCHAR(100),)

INSERTINTO NXB VALUES

('NXB01',N'Nhà xuất bản Tổng hợp thành phố Hồ Chí Minh'),('NXB02',N'Nhà xuất bản Trẻ'),

('NXB03',N'Nhà xuất bản giáo dục'),('NXB04',N'Nhà xuất bản Kim Đồng'),('NXB05',N'Nhà sách Phương Nam')

TẠO BẢNG LOẠI SÁCH

CREATETABLE LOAISACH(

MA_LOAISACH NVARCHAR(30)PRIMARYKEY,

TEN_LOAISACH NVARCHAR(100),)

INSERTINTO LOAISACH VALUES

('LS01','MARKETTING'),('LS02',N'CƠ KHÍ'),('LS03',N'DU LỊCH'),('LS04','IT'),

('LS05',N'KIẾN TRÚC')

TẠO BẢNG VIẾT SÁCH

CREATETABLE VIETSACH(

ID_VIETSACH NVARCHAR(30)PRIMARYKEY,

Trang 15

MA_SACH NVARCHAR(30) FOREIGNKEYREFERENCES SACH,

MA_TACGIA NVARCHAR(30)FOREIGNKEYREFERENCES TACGIA

INSERTINTO VIETSACH VALUES

TẠO BẢNG TÁC GIẢ

CREATETABLE TACGIA(

MA_TACGIA NVARCHAR(30)PRIMARYKEY,

TEN_TACGIA NVARCHAR(100))

INSERTINTO TACGIA VALUES

('TG01',N'SUN TYLOR'),('TG02',N'HIẾU PC'),('TG03',N'MRS.LAURA'),('TG04',N'LÊ XUÂN NGHIÊM'),('TG05',N'TRỊNH VĂN MỸ')

TẠO BẢNG ĐẶT TẠI

CREATETABLE DATTAI(

ID_DATTAI NVARCHAR(30)PRIMARYKEY,

MA_SACH NVARCHAR(30)FOREIGNKEYREFERENCES SACH,

MA_VITRI NVARCHAR(30)FOREIGNKEYREFERENCES VITRI,)

INSERTINTO DATTAI VALUES

TẠO BẢNG VỊ TRÍ

CREATETABLE VITRI(

MA_VITRI NVARCHAR(30)PRIMARYKEY,

MOTA NVARCHAR(500))

INSERTINTO VITRI VALUES

('VT01',N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 1'),('VT02',N'NẰM Ở THƯ VIỆN 2 TẦNG 3 KỆ SỐ 7'),('VT03',N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 2'),('VT04',N'NẰM Ở THƯ VIỆN 2 TẦNG 3 KỆ SỐ N'),('VT05',N'NẰM Ở THƯ VIỆN 1 TẦNG 2 KỆ SỐ 3')

YO Viết các câu truy vấn sau:

O.1 Liệt kê tất cả thông tin của các đầu sách gồm tên sách, mã sách, giá tiền , tác giả thuộc loại sách có mã “IT”.

SELECT TIEUDE, A.MA_SACH, GIATIEN, TEN_LOAISACH

FROM SACH A, LOAISACH B

WHERE A.MA_LOAISACH = B.MA_LOAISACH

AND TEN_LOAISACH ='IT'

O.2 Liệt kê các phiếu mượn gồm các thông tin mã phiếu mượn, mã sách , ngày mượn, mã sinh viên có ngày mượn trong tháng 01/2017.

SELECT A.MA_PHIEUMUON, MA_SACH, NGAYMUON, MA_SINHVIEN

Trang 16

FROM PHIEUMUON A, PHIEUMUONCHITIET B

WHERE A.MA_PHIEUMUON = B.MA_PHIEUMUON

ANDMONTH(NGAYMUON)= 1

ANDYEAR(NGAYMUON)= 2017

O.3 Liệt kê các phiếu mượn chưa trả sách cho thư viên theo thứ tự tăng dần của ngày mượn sách.

FROM PHIEUMUON

WHERE TRANGTHAI LIKEN'CHƯA TRẢ'

ORDERBY NGAYMUON

O.4 Liệt kê tổng số đầu sách của mỗi loại sách ( gồm mã loại sách, tên loại sách, tổng số lượng sách mỗi loại).

SELECT B.MA_LOAISACH, TEN_LOAISACH,COUNT(B.MA_LOAISACH)AS TONGSACHMOILOAI

FROM SACH A, LOAISACH B

WHERE A.MA_LOAISACH = B.MA_LOAISACH

GROUPBY B.MA_LOAISACH, TEN_LOAISACH O.5 Đếm xem có bao nhiêu lượt sinh viên đã mượn sách.

SELECTCOUNT(MA_PHIEUMUON)AS SOLUOT

WHERE TIEUDE LIKEN'SQL'

O.7 Hiển thị thông tin mượn sách gồm các thông tin: mã sinh viên, tên sinh viên, mã phiếu mượn, tiêu đề sách, ngày mượn, ngày trả Sắp xếp thứ tự theo ngày mượn sách.

SELECT A.MA_SINHVIEN, TEN_SINHVIEN, C.MA_PHIEUMUON, TIEUDE, NGAYMUON, NGAYTRA

FROM SINHVIEN A, SACH B, PHIEUMUON C, PHIEUMUONCHITIET D

WHERE A.MA_SINHVIEN = C.MA_SINHVIEN

AND C.MA_PHIEUMUON = D.MA_PHIEUMUON

AND B.MA_SACH = D.MA_SACH

ORDERBY NGAYMUON

O.N Liệt kê các đầu sách có lượt mượn lớn hơn 20 lần.

SELECT MA_SACH,COUNT(MA_SACH)AS LUOTMUON

FROM PHIEUMUONCHITIET

GROUPBY MA_SACH

HAVINGCOUNT(MA_SACH)> 20

O.9 Viết câu lệnh cập nhật lại giá tiền của các quyển sách có ngày nhập kho trước năm 2014 giảm 30%.

UPDATE SACH

SET GIATIEN = GIATIEN * 0.7

WHERE YEAR(NGAYNHAPKHO)< 2014

O.10 Viết câu lệnh cập nhật lại trạng thái đã trả sách cho phiếu mượn của sinh viên có mã sinh viên PD123301 (ví dụ).

UPDATE PHIEUMUON

SET TRANGTHAI =N'ĐÃ TRẢ SÁCH'

WHERE MA_SINHVIEN LIKE'PD123301'

Trang 17

O.11 Lập danh sách các phiếu mượn quá hạn chưa trả gồm các thông tin: mã phiếu mượn, tên sinh viên, email, danh sách các sách đã mượn, ngày mượn.

SELECT A.MA_PHIEUMUON, TEN_SINHVIEN, EMAIL_SINHVIEN, D.MA_SACH, TIEUDE,DATEDIFF(DAY,

NGAYMUON,GETDATE())AS SONGAY

FROM PHIEUMUON A, SINHVIEN B, PHIEUMUONCHITIET C, SACH D

WHERE A.MA_SINHVIEN = B.MA_SINHVIEN

AND A.MA_PHIEUMUON = C.MA_PHIEUMUON

AND C.MA_SACH = D.MA_SACH

AND DATEDIFF(DAY, NGAYMUON,GETDATE())> 3O5

O.12 Viết câu lệnh cập nhật lại số lượng bản sao tăng lên 5 đơn vị đối với các đầu sách có lượt mượn lớn hơn 10

HAVINGCOUNT(MA_SACH)> 10 )

O.13 Viết câu lệnh xoá các phiếu mượn có ngày mượn và ngày trả trước "1/1/2010"

DELETEFROM PHIEUMUON

WHERE NGAYMUON <'2010-01-01'AND NGAYTRA <'2010-01-01'

Ngày đăng: 04/06/2024, 13:55

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

TÀI LIỆU LIÊN QUAN

w