Bài tập lớn SQL Hệ thống quản lý thư viện MỤC LỤCLời cảm ơn1LỜI GIỚI THIỆU3Giới Thiệu SQL Server 20004Phần I: Khảo sát hiện trạng và xác lập dự án51. Khảo sát bài toán52. Mô tả mô hình hoạt động Quản lý thư viện :7Phần II: Phân tích bài toán và xây dựng cơ sở dữ liệu111. Mô hình phân cấp chức năng của hệ thống112. Mô hình luồng dữ liệu mức khung cảnh.123. Xây dựng cơ sở dữ liệu cho hệ thống:133.1: Dữ liệu của các bảng trong hệ thống:133.2: Mô hình liên kết của các bảng (Diagrams164. Thực hiện các truy vấn, thủ tục, hàm, trigger174.1. Thực hiện các truy vấn:174.2 Tạo các hàm để thống kê:214.3 Tạo các thủ tục lưu trữ và sử dụng các thủ tục đó để thống kê264.4 Sử dụng trigger:33PHẦN III: KẾT LUẬN39
Trang 1để bài tập của chúng em đợc hoàn thiện tốt hơn.
Chúng em xin chân thành cảm ơn!
Nhóm Sinh Viên Thực hiện:
Vũ Đình Lương NguyễnTrọng Việt Dương Văn Thành
Trần Văn Linh
Trang 2MỤC LỤC
Lời cảm ơn 1
LỜI GIỚI THIỆU 3
Giới Thiệu SQL Server 2000 4
Phần I: Khảo sát hiện trạng và xác lập dự án 5
1 Khảo sát bài toán 5
2 Mô tả mô hình hoạt động Quản lý thư viện : 7
Phần II: Phân tích bài toán và xây dựng cơ sở dữ liệu 11
1 Mô hình phân cấp chức năng của hệ thống 11
2 Mô hình luồng dữ liệu mức khung cảnh 12
3 Xây dựng cơ sở dữ liệu cho hệ thống: 13
3.1: Dữ liệu của các bảng trong hệ thống: 13
3.2: Mô hình liên kết của các bảng (Diagrams 16
4 Thực hiện các truy vấn, thủ tục, hàm, trigger 17
4.1 Thực hiện các truy vấn: 17
4.2 Tạo các hàm để thống kê: 21
4.3 Tạo các thủ tục lưu trữ và sử dụng các thủ tục đó để thống kê 26
4.4 Sử dụng trigger: 33
PHẦN III: KẾT LUẬN 39
2 Trường ĐHCN Hà Nội Khoa CNTT
Trang 3LỜI GIỚI THIỆU
Ngày nay, sách báo trở thành công cụ và phương tiện chuyển giao tri thức, làcông cụ học tập cần thiết cho sinh viên Sách báo là nguồn thông tin chủ yếu để thỏamãn nhu cầu học tập, giảng dạy và nghiên cứu Vì vậy, việc tổ chức và khai thác tốtnguồn thông tin sách báo có ảnh hưởng quyết định tới chất lượng đào tạo bộ phậnnhân lực khoa khọc kỹ thuật cho đất nước
Đứng trước những nhiệm vụ to lớn trong công cuộc đổi mới phương pháp dạy
và học của nhà trường, hệ thống trung tâm thư viện các trường học càng trở thành một
bộ phận trọng yếu không thể thiếu được trong nhà trường, giúp sinh viên tiếp cận vàkhai thác nguồn thông tin đa dạng, phong phú Vì vậy việc quản lý thư viện cũngkhông kém phần quan trọng đặc biệt là việc quản lý sách trong kho, quản lý việc mượntrả cho sinh viên Hằng ngày một số lượng lớn sách trong các thư viện được sử dụngnên việc quản lý sách là rất khó khăn Do nhu cầu của chúng ta ngày càng tăng nênviệc quản lý sách trong các thư viện lại càng khó khăn hơn
Hệ thống quản lý thư viện được thiết kế sau đây sẽ phần nào giải quyết khókhăn trên Hệ thống còn hỗ trợ các chức năng thông dụng mà nhiệm vụ của thủ thưhay làm và hỗ trợ việc lưu trữ dữ liệu sách Việc quản lý sách sẽ tốt hơn, nhanh hơn,
có hạn và kinh nghiệm kiến thức chưa nhiều nên việc phân tích thiết kế còn có nhiềuthiếu xót cần được bổ xung Vì vậy, nhóm thực hiện đề tài mong nhận được ý kiếnđóng góp của thầy cô và bạn bè để đề tài ngày càng hoàn thiện hơn Cuối cùng thaycho lời kết, chúng em xin chân thành cảm ơn cô giáo đã tận tình giúp đỡ, hướng dẫn,sửa chữa trong quá trình thực hiện đề tài này
Trang 4Giới Thiệu SQL Server 2000
SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational Database
Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa
Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc chohàng ngàn user SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như
Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server SQL Server có 7 editions:
Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên
hệ thống lên đến 32 CPUs và 64 GB RAM Thêm vào đó nó có các dịch vụgiúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều
so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp(advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4CPU và 2 GB RAM
Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các
phiên bản windows kể cả Windows 98
Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế
tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc Ðây là edition mà các bạn muốn học SQL Server cần có Chúng ta sẽ dùngedition này trong suốt khóa học Edition này có thể cài trên Windows 2000Professional hay Win NT Workstation
Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không
có user interface (giao diện) Thích hợp cho việc triển khai ứng dụng ở máyclient Kích thước database bị giới hạn khoảng 2 GB
Win CE : Dùng cho các ứng dụng chạy trên Windows CE
Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn
thời gian sử dụng
Phần I: Khảo sát hiện trạng và xác lập dự án
4 Trường ĐHCN Hà Nội Khoa CNTT
Trang 51 Khảo sát bài toán
Qua quá trình khảo sát thực tế thư viện trường ĐHCN Hà Nội chúng em thuđược một số nội dung sau:
Mô hình quản lý thư viện của trường Đại học công nghiệp Hà Nội
Thư viện trường ĐHCNHN bao gồm 3 phòng riêng có chức năng khác nhau:
Ban quản lý thư viện: Là người điều hành mọi hoạt dộng trong thư viện và là
người lập kế hoạch điều hành kiểm tra hoạt dộng của thư viện
Phòng đọc sách tại chỗ: Là nơi cho học sinh- sinh viên mượn sách đọc ngay tại
thư viện Những thông tin chi tiết về độc giả cũng như sách mà độc giả mượn đều
được lưu lại trong quyển"Nhật ký sách mượn hàng ngày" nhằm tránh tình trạng mất
sách
Phòng mượn sách về nhà: Là nơi cho học sinh- sinh viên, cán bộ công nhân viên
mượn sách mang về nhà Nếu đối tượng mượn sách là cán bộ công nhân viên trong
trường thì mỗi lần mượn sách về nhà những thông tin về sách mượn sẽ được lưu trongquyển"Sổ mượn" Mỗi một cán bộ công nhân viên trong nhà trường có một quyển"Sổmượn" riêng Thời gian mượn sách của những cán bộ công nhân viên trong nhàtrường không giới hạn, chỉ khi nào có giấy đòi sách của nhà trường mới phải gửi lạisách(trường hợp này chỉ xảy ra khi thời gian mượn đã quá lâu, có thể lên tới vài năm
Phòng đọc
sách tại chỗ Phòng mượn sách về nhà Phòng báo tạp chí
Ban quản lý thư viện
Trang 6hoặc vài chục năm) Nếu đối tượng là học sinh-sinh viên khi mượn sách sinh viên
cũng phải điền đầy đủ thông tin vào "Sổ mượn" của lớp mình và đây cũng là quyển sổchung cho nhiều lớp cùng thuộc một khoa nào đó Bên cạnh đó nhằm tránh tình trạnghọc sinh- sinh viên mượn sách không trả, nhà trường thống nhất với tổ chức thư viện:Khi mượn sách học sinh- sinh viên phải đặt cược một số tiền tương ứng với giá thànhcủa quyển sách cần mượn Số tiền này sẽ được hoàn trả cho độc giả khi độc giả trảsách Thời gian mượn sách của học sinh- sinh viên không hạn chế Bạn có thể mượnsách cho đến khi nào học xong và phải đặt cọc tiền quyển sách đó cho thư viện Điềuđáng chú ý là bạn chỉ có thể mượn quyển sách khác khi bạn không mượn thư viện bất
kì quyển sách nào khác
Phòng báo, tạp chí: Là nơi học sinh-sinh viên mượn báo, tạp chí đọc ngay tại
phòng báo, tạp chí của thư viện Qua kháo sát thực tế phòng báo, tạp chí trườngĐHCNHN chúng tôi thấy khó có thể áp dụng tin học vào quản lý được do hàng tuần sốlượng báo, tạp chí ngày càng tăng lên, khả năng sử dụng nhằm để học tập nghiên cứu
là rất ít không cần thiết Nên trong phần mềm này chúng tôi không đề cập tới việc viếtphần mềm quản lý cho phòng báo, tạp chí
6 Trường ĐHCN Hà Nội Khoa CNTT
Trang 72 Mô tả mô hình hoạt động Quản lý thư viện
Mô tả bài toán thực tế:
Mô hình tiến trình hoạt động của hệ thống Quản lý thư viện
Quản lý độc giả
- Cập nhật TT độc giả.
- Làm thẻ thư viện.
- Thống kê độc giả của thư viện.
- Thống kê thẻ độc giả hết hạn.
Quản lý nhân viên
- Thông tin yêu cầu nhập sách.
- Thông tin trả lời hủy sách.
- Thống kê sách theo thể loại.
- Thống kê sách theo nhà xuất bản.
- Thống kê sách theo từng khoa.
- Lập phiếu theo dõi mượn
Báo cáo thống kê
Báo cáo thống kê
Trang 8Từ mô hình tiến trình nghiệp vụ của hệ thống ta xây dựng được mô hình hoạt độngquản lý thư viện như sau:
Mỗi học sinh- sinh viên khi có nhu cầu đọc và mượn sách của thư viện phải làmđơn xin cấp thẻ thư viện Trong thẻ thư viện có các thông tin về độc giả: mã thẻ, họtên, ảnh của độc giả, ngày sinh, quê quán, lớp, khoa, khoá học Thông tin về độc giảcùng mã thẻ và chi tiết các lần mượn trả sách đều được lưu trữ lại
Tại thư viện, khi sách được nhà xuất bản, công ty phát hành sách chuyến đến theo
"Đơn đặt mua sách "của thư viện, nhân viên thư viện có nhiệm vụ kiểm tra lại đơnhàng và hoá đơn thanh toán để xác định lại những thông tin về số lượng, đơn giá củahoá đơn là đúng Sau đó thông tin về sách nhập cũng như số lượng sách, đơn giá sách,nhà xuất bản hay công ty phát hành sách sẽ được lưu lại tại Biên bản nhập sách Sau
đó nhân viên thư tiến hành dán Mã Sách cho sách mượn sau đó đưa sách vào sử dụng.Thông tin về các sách sẽ được cập nhật khi nhập sách mới, huỷ sách không còn sửdụng được nữa Các sách được phân loại theo những thể loại khác nhau và được phânchia ra làm hai phòng : phòng đọc tại chỗ và phòng mượn về nhà tuỳ ý theo nhu cầu vềsách của từng phòng để đảm bảo có đủ sách cho đọc giả mượn Độc giả có thể tra cứucác thông tin về sách cần mượn theo: tên sách, tác giả, lĩnh vực, nhà xuất bản trước khimượn sách, để có thể điền đầy đủ thông tin về độc giả cũng như sách cần mượn trong
Phiếu yêu cầu mượn sách.
Khi có nhu cầu mượn sách, đọc giả cần đưa Phiếu yêu cầu mượn sách của mình
cho các nhân viên thư viện Phiếu yêu cầu có các thông tin: mã thẻTV, tên độc giả, tên
sách mượn, ngày mượn Nhân viên thư viện sẽ tiến hành kiểm tra xem đọc giả có thểmượn hay không và còn sách để đáp ứng không? Nếu thoả mãn yêu cầu mượn độc giả
sẽ được mượn sách và nhận sách Thông tin về độc giả mượn sách cũng như thông tin
về sách mượn sẽ được lưu trong Phiếu theo dõi mượn-trả Phiếu theo dõi mượn-trả
sách bao gồm hai phần giống nhau trong đó có lưu các thông tin về sách mượn và độc
giả mượn đồng thời có lưu cả số lượng, số tiền mà độc giả cược sách Phần cuốngphiếu thư viện giữ, phần còn lại độc giả giữ để khi nào độc giả trả sách thư viện sẽkiểm tra và trả lại số tiền đặt cược sách cho độc giả
8 Trường ĐHCN Hà Nội Khoa CNTT
Trang 9Khi độc giả trả sách, nhân viên thư viện sẽ kiểm tra phần kia của phiếu theo dõimượn trả sách do độc giả giữ Nếu thông tin chính xác nhân viên thư viện nhận lạisách và trả lại độc giả số tiền mà họ đã đặt cược cho sách mượn.
Cuối tháng, thư viện thống kê tình hình mượn trả sách Cứ sáu tháng thư viện tổngkết và đánh giá phụ thuộc vào số đầu sách và số lượng độc giả được phục vụ Liệt kêtheo thứ tự các sách có số lần mượn để có kế hoạch bổ xung hay huỷ bỏ sách nếukhông có người đọc
Chú ý:
Nếu đối tượng mượn sách là cán bộ công nhân viên trong trường thì mỗi lần mượn
sách về nhà những thông tin về sách mượn sẽ được lưu trong quyển "Sổ mượn" Mỗimột cán bộ công nhân viên trong nhà trường có một quyển "Sổ mượn" riêng và đượcmượn không quá 5 đơn vị tài liệu và giữ trong sổ mượn không quá 10 đơn vị tài liệu.Thời gian mượn sách tối đa là 1 tháng, đối với tài liệu giáo trình được mượn trong suốtquá trình giàng dạy môn học đó
Nếu đối tượng là học sinh-sinh viên khi mượn sách sinh viên cũng phải điền đầy
đủ thông tin vào "Sổ mượn" của lớp mình và đây cũng là quyển sổ chung cho nhiềulớp cùng thuộc một khoa nào đó Mỗi buổi mượn chỉ được mượn sách 1 lần (mượnkhông quá 2 đơn vị tài liệu) và trong sổ không quá 6 đơn vị tài liệu Thời gian mượnkhông quá 10 ngày Tài liêụ là giáo trình được mượn trong suốt thời gian học môn đókết thúc môn học phải trả ngay Bên cạnh đó nhằm tránh tình trạng học sinh- sinh viênmượn sách không trả Ban quản lý thư viện có đưa ra quy định: Khi mượn sách họcsinh- sinh viên phải đặt cược một số tiền tương ứng với giá thành của quyển sách cầnmượn Số tiền này sẽ được hoàn trả cho độc giả khi độc giả trả sách Nếu mượn quáhạn từ 1-5 ngày phạt 2.000đ/1 đơn vị tài liệu, từ 6 ngày trở lên phạt thêm 5.000đ/1 đơn
vị tài liệu Khi trả sách, độc giả mới được mượn sách tiếp và được trả lại tiền đặt cượcsách mượn lần trước Khi mượn sách bằng cách đặt cược tiền, độc giả được mượntrong thời gian nhất định
Cứ đến cuối năm học, nhân viên thư viện kiểm tra lại việc mượn trả sách của độcgiả, đặc biệt là những độc giả sắp ra trường Nếu có độc giả nào đó chưa trả sách thưviện sẽ làm một giấy nhắc trả sách cho độc giả đó biết để trả lại sách cho thư viện Nếu
Trang 10độc giả vẫn không mang trả sách thư viện sẽ bị treo bằng 1 năm Sau 1 năm đọc giả sẽnhận được bằng khi có chữ ký thanh toán của thư viện.
Mỗi khoa chỉ được mượn 2 ngày trong một tuần theo lịch của thư viện để tránhtình trạng nhầm lẫn về việc mượn và trả sách
Nếu việc mượn sách là cần thiết cho môn học mà chưa đến kỳ khoa mình đượcmượn sách, học sinh-sinh viên có thể điền vào phiếu mượn sách theo lớp
Khi trả sách nếu là sách quá hạn thì phải nộp tiền phạt, số tiền phạt cho từngcuốn được tính bằng 10%(giá sách x số ngày quá hạn) Thông tin về sách trả sẽ đượccập nhật vào danh sách mượn trả
10 Trường ĐHCN Hà Nội Khoa CNTT
Trang 11Phần II: Phân tích bài toán và xây dựng cơ sở dữ liệu
1 Mô hình phân cấp chức năng của hệ thống
Sơ đồ phân cấp chức năng
Quản lý thư viện
Quản trị hệ thống Quản lý độc giả Quản lý sách Quản lý mượn trả Quản lý nhân viên Báo cáo thống kê
Sửa TT độc giả
Xóa TT độc giả
Làm thẻ độc giả
Cập nhật TT sách
Nhập TT sách
Sửa TT sách
Hủy sách
Kiểm tra tính hợp lệ khi mượn
Lập phiếu theo dõi mượn trả
Kiểm tra tình trạng sách trả
Ghi nhận việc trả sách
Lập phiếu nhắc trả sách
TT NV khi thêm mới
TT nhân viên khi thay đổi
TT nhân viên khi xóa
Thống kê phân loại sách
Thống kê độc giả mượn sách
Thống kê thẻ thư viện
Trang 122 Mô hình luồng dữ liệu mức khung cảnh.
Mô hình luồng dữ liệu mức khung cảnh cho ta một cái nhìn tổng quát về hoạtđộng của hệ thống, ở đây ta có thể thấy được từng đối tượng ảnh hưởng như thế nàođến hoạt động của hệ thống
Quản Lư Thư Viện
Thư Viện
Cấp
YC làm thẻ+TT độc giả Phiếu yêu cầu Thẻ + Tiền cược Nộp phạt + Sách
Sách Cấp Thẻ Trả lời yêu cầu Phiếu nhắc trả sách + Tiền phạt
Yêu cầu báo cáo
Báo cáo Thống kê Đơn nhập hàng
TT Sách nhập
TT về sách khi thay đổi, xóa
TT về NV khi thay đổi, xóa
TT về NV
TT về nh trạng sách
Lập phiếu mượn trả
TT về sách Phiếu nhắc trả sách Phiếu mượn
12 Trường ĐHCN Hà Nội Khoa CNTT
Trang 133 Xây dựng cơ sở dữ liệu cho hệ thống:
3.1: Dữ liệu của các bảng trong hệ thống:
Dữ liệu bảng Sách:
Dữ liệu bảng Nhân Viên:
Dữ liệu bảng Nhà Xuất Bản:
Trang 15Dữ liệu bảng Phiếu Mượn:
Dữ liệu bảng Chi Tiết Phiếu Mượn:
Dữ liệu bảng Tác Giả:
Trang 163.2: Mô hình liên kết của các bảng (Diagrams
16 Trường ĐHCN Hà Nội Khoa CNTT
Trang 174 Thực hiện các truy vấn, thủ tục, hàm, trigger
4.1 Thực hiện các truy vấn:
Sau đây chúng em xin đưa ra một số truy vấn tiêu biểu:
Truy vấn về thông tin các độc giả, sách, nhà xuất bản, nhân viên…
Truy vấn về thông tin sách:
Truy vấn về thông tin tác giả:
Truy vấn về thông tin độc giả:
Trang 18Truy vấn về cho biết thông tin về nhà xuất bản có mã nhà xuất bản tùy ý:
Truy vấn cho biết thông tin về độc giả, địa chỉ ở lớp nào và mượn sách gì?
18 Trường ĐHCN Hà Nội Khoa CNTT
Trang 19Truy vấn cho biết 5 đầu sách có số lượng mượn nhiều nhất và số lượng mượn là baonhiêu?
Truy vấn cho biết phiếu mượn có mã PM007 do ai lập và đưa ra thông tin về sách ghitrong phiếu mượn đó