ĐỀ TÀI :QUẢN LÝ MƯỢN SÁCH

21 1.5K 2
ĐỀ TÀI :QUẢN LÝ MƯỢN SÁCH

Đ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

ĐỀ TÀI :QUẢN LÝ MƯỢN SÁCH

TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT HƯNG YÊN KHOA CÔNG NGHỆ THÔNG TIN o0o TIỂU LUẬN MÔN : CƠ SỞ DỮ LIỆU NÂNG CAO ĐỀ TÀI :QUẢN MƯỢN SÁCH Giáo viên hướng dẫn : Trịnh Thị Nhị Sinh viên thực hiện : Lớp: TK6LC1 Hưng Yên, Tháng 4 năm 2010 Cho CSDL của hệ thống quản mượn sách với các cấu trúc bảng sau: Bảng 1: Loaisach STT Fieldname Data Type Fieldsize Note 1 Masach Text 4 2 Tensach Text 20 3 Tentacgia Text 20 4 Namxb Date/time 8 5 Soluongco Number 3 Số lượng có 6 Sotrang Number 5 Số trang sách 7 Manxb Text 4 Mã nhà xuất bản Bảng 1: Docgiamuon STT Fieldname Data Type Fieldsize Note 1 Hoten Text 30 2 Quequan Text 30 3 Madocgia Text 4 4 Masach Text 4 5 Sluong Number 1 Số lượng mượn 6 Ngaymuon Date/time 8 Ngày mượn 7 Ngayhen Date/time 8 Ngày hẹn trả Bảng 3: Docgiatra STT Fieldname Data Type Fieldsize Note 1 Madocgia Text 4 Khoá chính 2 Masach Text 4 3 Ngaytra Date/time 8 Ngày trả Bảng 4: : Nhaxban STT Fieldname Data Type Fieldsize Note 1 Manxban Text 4 Khoá chính 2 Ten_xb Text 30 Tên nhà xuất bản 3 Diachi_nxb Text 30 Địa chỉ Nhà XB Sử dụng ngôn ngữ T - SQL thực hiện các yêu cầu sau: Câu 1: 1. Tạo CSDL trên với các ràng buộc toàn vẹn dựa vào thực tế. 2. Nhập dữ liệu vào các bảng. Câu 2: 3. Thêm các rang buộc và xóa các rang buộc theo yêu cầu. 4. Tạo một truy vấn TV1 để hiển thị danh sách độc giả mượn sách trong tháng 10 năm 98 bao gồm những thông tin: Hoten, ngaymuon, tensach, tentacgia. 5. Tạo một truy vấn TV2 để hiển thị số lượng còn của mỗi loại sách của nhà xuất bản Kim đồng bao gồm những thông tin: tensach, nxban, soluongcon. 6. Tạo một truy vấn TV3 để hiển thị danh sách những độc giả mượn sách quá hạn bao gồm những thông tin: Hoten, Ngaymuon, Ngayhen, songayqua (Số ngày quá hạn). 7. Tạo một truy vấn TV4 để hiển thị danh sách những độc giả mượn sách quá hạn bao gồm những thông tin Hoten, sluong, mucquahan Trong đó: Mucquahan là Mức 1 nếu songayqua<5 Mucquahan là Mức 2 nếu songayqua<10 Mucquahan là Mức 3 nếu songayqua>=10 8. Tạo một truy vấn TV5 để hiển thị danh sách những độc giả trả sách đúng hạn hoặc sớm hạn bao gồm những thông tin: Hoten, masach, tensach. 9. Tạo một truy vấn TV6 để hiển thị những loại sách có số trang >100 và số lượng còn là 20 của nhà xuất bản giáo dục hoặc tên sách có chữ Tin học bao gồm Tensach, sotrang, ten_xb, tentacgia. 10. Hiển thị thông tin của độc giả mượn nhiều sách nhất. Câu 3: Tạo ra các view (tối thiểu 3 view). So sánh bảng và view. Thực hiện tất cả các thao tác có thể có trên view. Câu 4: Thiết lập chỉ mục và chỉ mục toàn văn trên bảng Docgiamuon. Ứng dụng để tìm kiếm theo chỉ mục mà mình vừa tạo ra. Câu 5: Tạo ra các user (tối thiểu là 5 user), tạo ra các Role (tối thiểu là 3 role). Thực hiện gán các user vào các role. Sau đó , thực hiện phân quyền cho các user và các role (sử dụng tất cả các quyền). Câu 6: Đề xuất các chức năng của hệ thống, viết các Store procedure đáp ứng các chức năng đó. Câu 7: Đưa ra các yếu tố của RBTV, thiết lập các trigger thực hiện các ràng buộc toàn vẹn đó. Câu 8: Thực hiện việc sao lưu, phục hồi dữ liệu. Nhập/xuất dữ liệu từ SQL server sang các môi trường khác: Excel, Access và ngược lại. Sử dụng Windows Forms Application trong VS8 xây dựng 1 form, thực hiện việc truy xuất dữ liệu của SQL server. Yêu cầu cơ bản: - Trên đây là các yêu cầu bắt buộc. Sinh viên tạo CSDL với các ràng buộc toàn vẹn dựa vào thực tế. Sinh viên tự đưa ra thêm các câu hỏi thuộc các dạng (thuộc tập DDL, DML), Store procedure, Trigger và thực hiện các câu hỏi đó BÀI LÀM /*Câu 1: 1. Tạo Database và tạo bảng*/ Tạo Database được lưu trong ổ F: create database QLMUONSACH on( name='QLMUONSACH_dat', filename='F:\CaithienCSDL\QLMUONSACH_dat.mdf' ) log on (name='QLMUONSACH_log', filename='F:\CaithienCSDL\QLMUONSACH_log.ldf' ) Tạo các bảng cần thiết. Tạo bảng Nhà xuất bản if exists (select * from sysobjects where name='Nhaxban') drop table Nhaxban create table Nhaxban (Manxban char(4) primary key,Ten_xb nvarchar(30),diachi_nxb nvarchar(30)) Tạo bảng loại sach If exists(select * from sysobjects where name=’loaisach’) Drop table loaisach go create table Loaisach (Masach char(4) primary key, Tensach nvarchar(20),Tentacgia nvarchar(20),Namxb datetime CONSTRAINT c_nxb CHECK(Namxb BETWEEN '01/01/1990' AND '01/01/2010'),Soluongco int constraint c_sl check(Soluongco between 0 and 999),Sotrang int constraint c_st check(Sotrang between 0 and 99999),Manxban char(4), constraint fk_xb foreign key(Manxban) references Nhaxban(Manxban) ) Tạo bảng Độc giả mượn create table Docgiamuon ( Madocgia char(4) , Hoten nvarchar(30), quequan nvarchar(30),Masach char(4), constraint fk_dg foreign key(Masach) references Loaisach(Masach), Sluong int constraint c_soluong check(Sluong between 0 and 9),ngaymuon datetime CONSTRAINT c_ngaymuon CHECK(Ngaymuon BETWEEN '01/01/1990' AND '01/01/2010'),ngayhen datetime CONSTRAINT c_ngayhen CHECK(ngayhen BETWEEN '01/01/1990' AND '01/01/2010'),constraint pk_docgiamuon primary key(Madocgia,Masach,Ngaymuon) ) Tạo bảng độc giả trả create table Docgiatra ( Madocgia char(4),Masach char(4),constraint fk_dgt foreign key(Masach) references Loaisach(Masach),Ngaytra datetime constraint c_trasach check(Ngaytra BETWEEN '01/01/1990' AND '01/01/2010'),constraint pk_docgiatra primary key(Madocgia,masach,Ngaytra) ) 2. Nhập dữ liệu vào bảng Nhập dữ liệu bảng Nhà xuất bản. Insert into Nhaxban values('nxb1','Nha xuat ban giao duc','ha noi') Insert into Nhaxban values('nxb2','Nha xuat ban Da Nang','Da nang') Insert into Nhaxban values('nxb3','Nha xuat ban Thanh Pho HCM','Thanh Pho HCM') Insert into Nhaxban values('nxb4','Nha xuat ban Can tho','Can tho') Câu 2: 1.Tạo một truy vấn TV1 để hiển thị danh sách độc giả mượn sách trong tháng 10 năm 98 bao gồm những thông tin: Hoten, ngaymuon, tensach, tentacgia. Select Hoten,Ngaymuon,tensach,tentacgia from loaisach as t1,docgiamuon as t2 where t1.masach=t2.masach and month(ngaymuon)=10 and year(ngaymuon)=1998 2. Tạo một truy vấn TV2 để hiển thị số lượng còn của mỗi loại sách của nhà xuất bản Kim đồng bao gồm những thông tin: tensach, nxban, soluongcon. Select tensach,ten_xb,sum(soluongco-sluong) as soluongcon into TV2 from Nhaxban as t1,docgiamuon as t2,loaisach as t3 where t1.manxban=t3.manxban and t2.masach=t3.masach and ten_xb = 'kim dong' group by tensach,ten_xb 3. Tạo một truy vấn TV3 để hiển thị danh sách những độc giả mượn sách quá hạn bao gồm những thông tin: Hoten, Ngaymuon, Ngayhen, songayqua (Số ngày quá hạn). Select hoten,Ngaymuon,Ngayhen,sluong,(year(ngayhen)-year(ngaymuon))*365+ (month(ngayhen)-month(ngaymuon))*30+(day(ngayhen)-day(ngaymuon)) as Songayquahan into TV3 from Docgiamuon 4. Tạo một truy vấn TV4 để hiển thị danh sách những độc giả mượn sách quá hạn bao gồm những thông tin Hoten, sluong, mucquahan Trong đó: Mucquahan là Mức 1 nếu songayqua<5 Mucquahan là Mức 2 nếu songayqua<10 Mucquahan là Mức 3 nếu songayqua>=10. Select hoten,Sluong,Songayquahan,'Mucquahan'= case when Songayquahan<5 then 'Muc 1' when Songayquahan<10 then 'Muc 2' else 'Muc 3' end into TV4 from dbo.TV3 5. Tạo một truy vấn TV5 để hiển thị danh sách những độc giả trả sách đúng hạn hoặc sớm hạn bao gồm những thông tin: Hoten, masach, tensach. Select hoten,t1.masach,tensach from loaisach as t1, docgiamuon as t2,docgiatra as t3 where t1.masach=t2.masach and t1.masach=t3.masach and t2.madocgia=t3.madocgia and ngayhen>=(select ngaytra from docgiatra) 6. Tạo một truy vấn TV6 để hiển thị những loại sách có số trang >100 và số lượng còn là 20 của nhà xuất bản giáo dục hoặc tên sách có chữ Tin học bao gồm Tensach, sotrang, ten_xb, tentacgia. select Tensach,sotrang,ten_xb,tentacgia from Nhaxban as t1,loaisach as t2 where t1.manxban=t2.manxban and sotrang>100 and(soluongco=20 or tensach like'%tin hoc%' ) 7. Hiển thị thông tin của độc giả mượn nhiều sách nhất. select t1.hoten,t1.quequan,t1.sluong,t1.ngayhen,t1.madocgia,t1.ngaymuon,count(t1.masac h) as slsach from docgiamuon as t1 group by t1.hoten,t1.quequan,t1.sluong,t1.ngayhen,t1.madocgia,t1.ngaymuon having count (t1.masach)>=all(select count(masach) from loaisach) Câu 3: Tạo ra các view (tối thiểu 3 view). So sánh bảng và view. Thực hiện tất cả các thao tác có thể có trên view. VIEW : hien thi thong tin doc gia muon sach thang 6 nam 2001 create view Docgiamuon_theongay as select * from docgiamuon where month(ngaymuon)=6 and year(ngaymuon)=2001 select * from Docgiamuon_theongay View:hien thi thong tin loai sach co doc gia muon nhieu nhat create view tt_sach as select t1.madocgia,tensach,hoten,count(t2.masach) as sl from docgiamuon as t1,loaisach as t2 where t1.masach=t2.masach group by tensach,hoten,t1.madocgia having count(t2.masach)>=all(select count(masach) from loaisach) hien thi thong tin cua doc gia co ten la Lan muon sach cua nha xuat ban Giao duc hoac muon ngay '23/5/2002' create view docgia_xb as select hoten,quequan,sluong,ten_xb,ngaymuon from docgiamuon as t1,nhaxban as t2,loaisach as t3 where t1.masach=t3.masach and t2.manxban=t3.manxban and hoten='%lan' and ngaymuon='23/5/2002' So sánh bảng và View * Định nghĩa: - Các bảng là các đối tượng của CSDL,nó chứa tất cả các dữ liệu có mặt trong một CSDL. Một CSDL được cấu thành từ nhiều bảng, mỗi bảng chứa tập hợp các dữ liệucó liên quan với nhau. - View là một cách thức để xem các dữ liệu từ một hay nhiều bảng trong CSDL. View là một bảng ảo, bảng ảo được tạo ra như một tập con của các cột hay các hàng từ một hay nhiều bảng khác nhau. Đồng thời nó cũng bao gồm tất cả các hàng và các cột.Tuy nhiên, một view không tồn tại như một tập hợp của các giá trị dữ liệu lưu trữ trong cơ sở dữ liệu .Các dòng và các cột đến từ các bảng tham chiếu trong chuỗi truy vấn. Dữ liệu được hiển thị trực tiếp từ bảng ngay tại thời gian thục thi. Giống nhau: Khi dữ liệu hiển thị thì đều hiển thị dạng bảng.Bảng và View đều có thể được xây dựng dựa vào các bảng,view khác. Khác nhau: +Bảng: Thao tác trực tiếp với cơ sở dữ liệu + View: Khi thao tác thì không có ảnh hưởng gì đến cơ sở dữ liệu. - View chỉ có thể được tạo trong CSDL hiện tại. - Những giá trị mặc định, những qui tắc và bẫy lỗi không thể được liên kết với view. Còn bảng thì hoàn toàn có các khả năng đó. - Các bảng tạm thời không thể tham gia vào view. - Khai báo view được lưu giữ ngay cả khi các bảng liên quan bị loại bỏ. - Các câu truy vấn khai báo view không thể bao gồm các mệnh đề ORDER BY, COMPUTE, COMPUTE BY hoặc từ khoá INTO. - Khi xoá view thì không ảnh hưởng gì đến CSDL. Câu 4: Thiết lập chỉ mục và chỉ mục toàn văn trên bảng Dogiamuon. Ứng dụng để tìm kiếm theo chỉ mục mà mình vừa tạo ra alter table Docgiamuon drop index sinhvien.id_madocgia create index id_docgiamuon on Docgiamuon(madocgia) timkiem theo chi muc select * from Docgiamuon where madocgia='dg1' Tạo thêm một chỉ mục khac trong bảng Đocgiamuon Create NONCLUSTERED index id_thu ON docgiamuon(masach) Xem bản ghi trong bảng Docgiamuon SELECT * FROM DOCHIAMUON Sử dụng chỉ mục toàn văn Các câu truy vấn toàn văn có thể được đưa ra trên các bảng mà ở đó các chỉ mục toàn văn đã được định nghĩa . Các câu truy vấn toàn văn sử dụng các từ khoá CONTAINS và PREETEXT. Ta thực hiện các câu truy vấn toàn văn trên bảng docgiamuon Select madocgia,hoten,masach,sluong From docgiamuon [...]...Where CONTAINS(quequan,’”hung yen” or “hai duong”’) Câu 5: Đề xuất các chức năng của hệ thống, viết các Store procedure đáp ứng các chức năng đó 1 thu tuc nhap nha xuat ban if exists(select * from sysobjects where name='p_nhapnxb') drop proc p_nhapnxb go create . DỮ LIỆU NÂNG CAO ĐỀ TÀI :QUẢN LÝ MƯỢN SÁCH Giáo viên hướng dẫn : Trịnh Thị Nhị Sinh viên thực hiện : Lớp: TK6LC1 Hưng Yên, Tháng 4 năm 2010 Cho CSDL của hệ thống quản lý mượn sách với các cấu. danh sách những độc giả mượn sách quá hạn bao gồm những thông tin: Hoten, Ngaymuon, Ngayhen, songayqua (Số ngày quá hạn). 7. Tạo một truy vấn TV4 để hiển thị danh sách những độc giả mượn sách. hiển thị danh sách độc giả mượn sách trong tháng 10 năm 98 bao gồm những thông tin: Hoten, ngaymuon, tensach, tentacgia. 5. Tạo một truy vấn TV2 để hiển thị số lượng còn của mỗi loại sách của nhà

Ngày đăng: 10/04/2014, 15:22

Tài liệu cùng người dùng

Tài liệu liên quan