Tải bản đầy đủ (.doc) (48 trang)

Xây dựng mô hình bài toán Quản lý thư viện_Ứng dụng cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 48 trang )

MỤC LỤC
PHẦN 1: MƠ TẢ BÀI TỐN QUẢN LÝ THƯ VIỆN.......................................................3
1. Thực trạng thư viện hiện nay.........................................................................................3
2. Quy trình hoạt động của thư viện..................................................................................4
3. Các yêu cầu cụ thể.......................................................................................................11
PHẦN 2: THIẾT KẾ CSDL QUAN NIỆM........................................................................12
1 . Xác định các thực thể.................................................................................................12
2. Xác định các thuộc tính và gắn với thực thể...............................................................12
3. Xác định các mối liên kết, thuộc tính trên mỗi liên kết...............................................12
4. Mơ hình thực thể liên kết ER......................................................................................14
PHẦN 3: THIẾT KẾ CSDL LOGIC.................................................................................15
1. Mơ hình CSDL quan hệ...............................................................................................15
PHẦN 4: CÂU LỆNH TRUY VẤN...................................................................................16
1. Khởi tạo bảng..............................................................................................................16
2. Nhập dữ liệu................................................................................................................19
3. Truy vấn dữ liệu...........................................................................................................27
5. Tạo khung nhìn............................................................................................................43
6. Tạo chỉ mục.................................................................................................................46


PHẦN 1: MƠ TẢ BÀI TỐN QUẢN LÝ THƯ VIỆN
1. Thực trạng thư viện hiện nay
Thơng qua q trình nghiên cứu tìm hiểu thơng tin cũng như khảo sát trực tiếp tại
các thư viện lớn và nổi tiếng ở Hà Nội, ta có thể nhận thấy các khâu quản lý mượn trả
sách, quản lý độc giả, thủ thư, nhà cung cấp tại thư viện còn nhiều tồn đọng cần được giải
quyết.
Thư viện chúng em tiến hành khảo sát là một thư viện có tên Trí Nhàn quy mơ
trung bình phục vụ chủ yếu cho đối tượng là sinh viên và người đi làm có niềm đam mê
đọc sách. Thư viện gồm 3 tầng với diện tích khoảng 200m . Khơng gian đọc sách được
thiết kế theo phong cách hiện đại, thoáng mát, yên tĩnh với 50 chỗ ngồi phục vụ cho độc
giả đọc tại chỗ. Nguồn tài liệu phong phú với hơn 2.000 đầu sách khác nhau thuộc đủ thể


loại cho độc giả thoải mái lựa chọn. Tài liệu được bố trí trên các giá sách bao quanh
phịng: tầng 1 gồm hơn 600 đầu sách kinh tế, khoa học đời sống, báo và tạp chí, âm nhạc
hội họa; tầng 2 gồm 700 đầu sách tin học, ngoại ngữ, từ điển các loại; tầng 3 với gần 700
đầu sách chính trị xã hội, văn học nước ngoài, văn học trong nước, ...
2

Kho sách lớn và thường xuyên được bổ sung, cập nhật nguồn lực thông tin để đáp
ứng nhu cầu nghiên cứu, học tập cũng như giải trí của độc giả. Khi đó, vấn đề tổ chức xử
lý, phân loại, sắp xếp các đầu sách; lưu trữ thông tin về nhà cung cấp và bảo quản, quản lý
tài liệu tốn rất nhiều thời gian và cơng sức để hồn thành và có thể dẫn đến nhiều sai sót
trong mỗi khâu.
Hàng ngày, lượng độc giả đến thư viện đọc sách cũng như mượn trả sách tương đối
lớn, trung bình khoảng 100 lượt/ngày. Công tác quản lý việc mượn trả sách thủ công dùng
công cụ excel gây quá tải, không thuận tiện cho độc giả khi phải tự tìm nhiều cuốn sách
đồng thời có thể dẫn đến nhầm lẫn khơng đáng có. Danh mục sách thường xuyên thay đổi
rất khó để cập nhật kịp thời, đảm bảo cung cấp thông tin cho độc giả. Vấn đề quản lý và
lưu trữ thông tin của độc giả cũng gặp nhiều bất cập và khó nắm bắt.
Việc thống kê, tổng hợp bảng biểu báo cáo gặp nhiều khó khăn khi phải tự tìm lại và
tổng hợp dữ liệu cũ cũng như lập báo cáo một cách thủ công tốn nhiều thời gian, điều này
không đảm bảo cung cấp thơng tin được kịp thời, chính xác, đầy đủ, dễ hiểu dẫn đến sự chậm
trễ, kém hiệu quả của nhà quản lý trong việc xây dựng kế hoạch dài hạn và ngắn hạn, tổ chức
điều phối và ra chiến lược xây dựng toàn bộ hệ thống thư viện.
Với sự phát triển không ngừng cùng xu thế ứng dụng cơng nghệ thơng tin trong
quản lý hiện nay, thì việc nâng cao chất lượng quản lý thư viện bằng việc ứng dụng công


nghệ hiện đại là hồn tồn hợp lý và vơ cùng cần thiết, giúp cho công tác quản lý trở nên
khoa học, đạt hiệu quả cao và thuận tiện hơn nhiều so với việc làm thủ công trên Excel
bằng giấy tờ.
2. Quy trình hoạt động của thư viện

*Quy trình nhập sách:
Khi cần bổ sung thêm sách, thủ thư sẽ lập danh sách những sách cần mua tiến hành
đặt sách. Khi nhà xuất bản gửi sách tới, thủ thư kiểm tra xem sách có đảm bảo u cầu
khơng, nếu đảm bảo thì mới nhận sách, nếu khơng đảm bảo sẽ u cầu trả lại sách cho nhà
xuất bản. Sau đó thủ thư tiến hành cập nhật thông tin cho các loại sách, đánh dấu và sắp
xếp sách cho thuận tiện để độc giả mượn.
*Quy trình mượn trả sách:
Khi độc giả có nhu cầu mượn sách, thủ thư sẽ tiếp nhận yêu cầu cũng như thẻ thẻ
thư viện và sách độc giả muốn mượn. Sau đó, thủ thư sẽ tiến hành kiểm tra tính hợp lệ của
thẻ (hạn sử dụng). Nếu thẻ đã hết hạn, thủ thư sẽ yêu cầu độc giả gia hạn thêm cho thẻ.
Sau khi hoàn tất gia hạn thẻ, thủ thư sẽ tiến hành lập phiếu mượn sách và cập nhật thơng
tin vào hệ thống.
*Quy trình trả sách
Khi khách hàng trả tài liệu, thủ thư sẽ tiếp nhận yêu cầu nhận phiếu mượn sách và
tài liệu. Sau đó thủ thư sẽ kiểm tra thông tin trong hệ thống và kiểm tra tình trạng sách.
Quá trình kiểm tra nếu có hư hỏng sẽ yêu cầu cầu khách hàng bồi thường theo quy định.
Ngược lại, thủ thư sẽ cập nhật trả sách cho phiếu mượn và lưu thông tin vào hệ thống.



Quy trình nhập sách
Cơng việc

Kiểu

Gửi u cầu nhập Thủ cơng và
sách đến nhà xuất trên hệ thống
bản

Người

thực hiện

Mô tả chi tiết

Thủ thư

Đầu vào: Thủ thư rà soát, lựa chọn
các đầu sách gần nhập
Thực hiện: Thêm thông tin vào hệ
thống, gửi yêu cầu nhập sách đến
nhà xuất bản
Đầu ra: Danh sách sách cần nhập


Kiểm tra sách

Thủ công

Thủ thư

Đầu vào: Sách nhập từ nhà xuất abnr
Thực hiện: Kiểm tra số lượng, chất
lượng sách
Đầu ra: Sách có đạt u cầu hay
khơng

Gửi u cầu trả Hệ thống
sách cho nhà xuất
bản


Thủ thư

Đầu vào: Sách nhập không đạt yêu
cầu
Thực hiện: Gửi yêu cầu trả sách cho
nhà xuất bản
Đầu ra: Yêu cầu nhà xuất bản đổi
sách nhập

Cập nhật thông tin Hệ thống
sách mới

Thủ thư

Đầu vào: Sách nhập đạt yêu cầu
Thực hiện: Cập nhật thông tin sách
mới vào cơ sở dữ liệu
Đầu ra: Danh mục sách đã nhập

Quy trình mượn sách
Công việc

Kiểu

Người
thực hiện

Mô tả chi tiết

Nhận yêu cầu mượn

sách từ độc giả

Thủ công và
trên hệ thống

Thủ thư

Đầu vào: Yêu cầu mượn sách
Thực hiện: Nhận thẻ, sách mượn
từ độc giả
Đầu ra: Thông tin thẻ, sách mượn


Kiểm tra thẻ

Thủ công và
trên hệ thống

Thủ thư

Đầu vào: Thông tin thẻ, sách
mượn
Thực hiện: Kiểm tra thẻ với
thông tin trên hệ thống
Đầu ra: Thẻ có cịn hiệu lực hay
khơng

Thơng báo gia hạn
thẻ


Thủ công

Thủ thư

Đầu vào: Thẻ đã hết hiệu lực
Thực hiện: Hỏi độc giả có gia hạn
thẻ hay khơng
Đầu ra: Độc giả có hoặc đồng ý
gia hạn

Gia hạn thẻ cho độc
giả

Thủ công và
trên hệ thống

Thủ thư

Đầu vào: Thẻ đã hết hiệu lực, độc
giả đồng ý gia hạn
Thực hiện: Gia hạn thẻ cho độc
giả
Đầu ra: Thẻ đã được gia hạn

Lập phiếu mượn

Hệ thống

Thủ thư


Đầu vào: Thẻ cịn hạn, thơng tin
sách mượn
Thực hiện: Lập phiếu mượn trên
hệ thống
Đầu ra: Phiếu mượn sách


Cập nhật tình trạng
sách

Hệ thống

Thủ thư

Đầu vào: Phiếu mượn sách
Thực hiện: Cập nhật phiếu mượn
sách trên hệ thống
Đầu ra: Danh sách sách mượn,
danh sách độc giả mượn sách

Quy trình trả sách
Công việc

Kiểu

Người thực Mô tả chi tiết
hiện

Nhận yêu cầu trả
sách từ độc giả


Thủ công và
trên hệ thống

Thủ thư

Đầu vào: Yêu cầu trả sách
Thực hiện: Nhận thẻ, sách trả từ
độc giả
Đầu ra: Thông tin thẻ, sách trả

Kiểm tra sách trả

Thủ công và
trên hệ thống

Thủ thư

Đầu vào: Thông tin thẻ, sách trả
Thực hiện: Kiểm tra với thơng tin
trên hệ thống
Đầu ra: Tình trạng sách trả

Yêu cầu bồi thường Thủ công

Thủ thư

Đầu vào: Sách trả bị hỏng, mất, …
Thực hiện: Yêu cầu khách hàng
bồi thường, nộp phạt

Đầu ra: Phí bồi thường


Lập phiếu phạt

Hệ thống

Thủ thư

Đầu vào: Thông tin độc giả vi
phạm
Thực hiện: Lập phiếu phạt trên hệ
thống
Đầu ra: Phiếu phạt, danh sách độc
giả vi phạm

Cập nhật
mượn

phiếu Hệ thống

Thủ thư

Đầu vào: Độc giả trả sách còn
nguyên vẹn
Thực hiện: Cập nhật phiếu mượn
trên hệ thống
Đầu ra: Danh sách sách mượn,
danh sách độc giả mượn sách


3. Các yêu cầu cụ thể
* Với nhà quản lý:







Hỗ trợ người quản lý tìm kiếm các thơng tin về các đầu sách, thơng tin về hóa đơn,
độc giả, tình hình kho hàng sách…
Hỗ trợ đắc lực cho người quản lý giúp người quản lý nhận định một cách tổng thể
nhất về tình hình hoạt động của thư viện
Hỗ trợ cơng việc tìm kiếm của người quản lý 1 cách tốt nhất và nhanh nhất có thể.
Tạo các báo cáo cần thiết cho nhà quản lý: báo cáo kết quả hoạt động kinh doanh,
báo cáo nhập sách, báo cáo danh mục tài liệu, ...

*Với thủ thư:




Hỗ trợ thủ thư tìm kiếm các thơng tin liên quan đến sách như tên sách, tên tác giả,
năm xuất bản, nhà xuất bản, số lượng,. để nhân viên kịp thời có thơng tin cho độc
giả.
Hỗ trợ thủ thư tìm kiếm các loại sách, tên sách một cách nhanh chóng, thống kê số
lượng sách còn tồn trong kho.








Giúp thủ thư tìm kiếm thơng tin độc giả, nhà cung cấp một cách nhanh chóng,
chính xác.
Nhập số liệu một cách nhanh chóng, chính xác.
Đảm bảo cơng việc lưu trữ chuẩn xác, tìm kiếm các thơng tin về khách hàng, nhà
cung cấp nhanh chóng, chính xác.

*Với độc giả:





Trợ giúp làm thủ tục làm thẻ thư viện, thủ tục mượn sách nhanh chóng, chính xác.
Tìm kiếm thơng tin sách cho độc giả nếu độc giả có u cầu tìm kiếm và kiểm tra
xem sách đó cịn hàng hay khơng.
Thay đổi thơng tin độc giả khi cần.

*Với nhà xuất bản:




Xuất hóa đơn cho nhà xuất bản
Tìm kiếm thơng tin sách mà nhà xuất bản đã cung cấp cho thư viện
Thay đổi thông tin nhà xuất bản nếu cần thiết.


PHẦN 2: THIẾT KẾ CSDL QUAN NIỆM
1 . Xác định các thực thể

Sách

Tác Giả

Vị Trí

Thể Loại

Nhà Xuất Bản

Phiếu Nhập

Độc Giả

Thủ Thư

Phiếu Mượn

Phiếu Phạt
2. Xác định các thuộc tính và gắn với thực thể

SÁCH (Mã Sách, Tên Sách, Năm Xuất Bản)

TÁC GIẢ (Mã Tác Giả, Tên Tác Giả, Năm Sinh)

VỊ TRÍ (Mã Vị Trí, Tên Vị Trí)












THỂ LOẠI (Mã Thể Loại, Tên Thể Loại)
NHÀ XUẤT BẢN (Mã NXB, Tên NXB, Địa chỉ, SĐT)
PHIẾU NHẬP (Số Phiếu Nhập, Ngày Nhập)
ĐỘC GIẢ (Số Thẻ, Ngày Bắt Đầu, Ngày Hết Hạn, Tên Độc Giả, SĐT)
THẺ THƯ VIỆN (Số Thẻ, Ngày Bắt Đầu, Ngày Hết Hạn)
THỦ THƯ (Mã Thủ Thư, Tên Thủ Thư, Ngày Sinh, Địa Chỉ, SĐT)
PHIẾU MƯỢN (Số Phiếu Mượn, Ngày Mượn, Ngày Trả)
PHIẾU PHẠT (Số Phiếu Phạt, Ngày Phạt, Mức Phạt)

3. Xác định các mối liên kết, thuộc tính trên mỗi liên kết

SÁCH - TÁC GIẢ: 1 cuốn sách có thể do nhiều tác giả viết, và một tác giả có thể
viết nhiều cuốn sách, liên kết giữa sách và tác giả có thuộc tính vai trị và vị trí

SÁCH - VỊ TRÍ: 1 vị trí có thể có nhiều cuốn sách nhưng 1 cuốn sách chỉ thuộc 1 vị
trí duy nhất

SÁCH - THỂ LOẠI: 1 thể loại có thể có nhiều cuốn sách nhưng 1 cuốn sách chỉ
thuộc 1 thể loại duy nhất


SÁCH - NHÀ XUẤT BẢN: 1 nhà xuất bản có thể xuất bản nhiều cuốn sách nhưng
1 cuốn sách chỉ thuộc 1 nhà xuất bản duy nhất

SÁCH - PHIẾU MƯỢN: 1 cuốn sách có thể lập được nhiều phiếu mượn và 1 phiếu
mượn có thể mượn được nhiều cuốn sách, liên kết giữa sách và phiếu mượn có
thuộc tính tình trạng sách

PHIẾU MƯỢN - ĐỘC GIẢ: 1 độc giả có thể lập được nhiều phiếu mượn nhưng 1
phiếu mượn chỉ do 1 độc giả duy nhất

PHIẾU MƯỢN - THỦ THƯ: 1 thủ thư có thể lập được nhiều phiếu mượn nhưng 1
phiếu mượn chỉ được lập bởi 1 thủ thư duy nhất

PHIẾU MƯỢN - PHIẾU PHẠT: 1 phiếu mượn chỉ có thể lập được 1 phiếu phạt và
1 phiếu phạt chỉ thuộc về 1 phiếu mượn duy nhất

PHIẾU PHẠT - THỦ THƯ: 1 thủ thư có thể lập được nhiều phiếu phạt nhưng 1
phiếu phạt chỉ được lập bởi 1 thủ thư duy nhất


4. Mơ hình thực thể liên kết ER


PHẦN 3: THIẾT KẾ CSDL LOGIC
1. Mơ hình CSDL quan hệ


PHẦN 4: CÂU LỆNH TRUY VẤN
1. Khởi tạo bảng
USE MASTER

GO
IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = 'QLTHUVIEN')
DROP DATABASE QLTHUVIEN
GO
CREATE DATABASE QLTHUVIEN
GO
USE QLTHUVIENN
GO
• Tạo bảng NHÀ XUẤT BẢN CREATE TABLE NHAXUATBAN (
MANXB CHAR (9) PRIMARY KEY,
TENNXB NVARCHAR (30) NOT NULL,
SDT CHAR (12)
)
• Tạo bảng VỊ TRÍ
CREATE TABLE VITRI (
MAVT CHAR (9) PRIMARY KEY,
TENVT NVARCHAR (30) NOT NULL
)
• Tạo bảng THỂ LOẠI CREATE TABLE THELOAI (
MATL CHAR (9) PRIMARY KEY,
TENTL NVARCHAR (30) NOT NULL
)
• Tạo bảng TÁC GIẢ CREATE TABLE TACGIA (
MATG CHAR (9) PRIMARY KEY,
TENTG NVARCHAR (30) NOT NULL,
NAMSINH INT
)
• Tạo bảng SÁCH
CREATE TABLE SACH (
MASACH CHAR (9) PRIMARY KEY,

TENSACH NVARCHAR (30) NOT NULL,
NAMXB CHAR (4),
MATL CHAR (9) FOREIGN KEY (MATL) REFERENCES dbo.THELOAI(MATL),


MAVT CHAR (9) FOREIGN KEY (MAVT) REFERENCES dbo.VITRI(MAVT)
)
• Tạo bảng SÁNG TÁC (quan hệ n-n giữa SÁCH - TÁC GIẢ)
CREATE TABLE SANGTAC (
MASACH CHAR (9) FOREIGN KEY (MASACH) REFERENCES
dbo.SACH(MASACH),
MATG CHAR (9) FOREIGN KEY (MATG) REFERENCES dbo.TACGIA(MATG),
VITRI NVARCHAR (30),
VAITRO NVARCHAR (30),
CONSTRAINT ST_TGS_PK PRIMARY KEY (MASACH, MATG)
)
• Tạo bảng THỦ THƯ
CREATE TABLE THUTHU (
MATT CHAR (9) PRIMARY KEY,
TENTT NVARCHAR (30) NOT NULL,
NGSINH DATE,
DCHI NVARCHAR (50),
SDT
CHAR (12)
)
• Tạo bảng PHIẾU NHẬP
CREATE TABLE PHIEUNHAP (
SOPN CHAR (9) PRIMARY KEY,
NGAYNHAP DATE,
MANXB CHAR (9) FOREIGN KEY (MANXB) REFERENCES

dbo.NHAXUATBAN(MANXB),
MATT CHAR (9) FOREIGN KEY (MATT) REFERENCES dbo.THUTHU(MATT)
)
• Tạo bảng CHI TIỂT PHIẾU NHẬP (quan hệ n-n giữa SÁCH - PHIẾU
NHẬP) CREATE TABLE CT_PHIEUNHAP (
SOPN CHAR (9) FOREIGN KEY (SOPN) REFERENCES
dbo.PHIEUNHAP(SOPN),
MASACH CHAR (9) FOREIGN KEY (MASACH) REFERENCES
dbo.SACH(MASACH),
SOLUONG INT,
DONGIA INT,
CONSTRAINT CTPN_PNS_PK PRIMARY KEY (SOPN, MASACH)
)
• Tạo bảng ĐỘC GIẢ


CREATE TABLE DOCGIA (
SOTHE CHAR (9) PRIMARY KEY,
NGAYBD DATE,
NGAYHH DATE,
TENDG NVARCHAR (30) NOT NULL,
SDT CHAR (12),
)
• Tạo bảng PHIẾU MƯỢN CREATE TABLE PHIEUMUON (
SOPM CHAR (9) PRIMARY KEY,
NGAYMUON DATE,
NGAYTRA DATE,
SOTHE CHAR (9) FOREIGN KEY (SOTHE) REFERENCES
dbo.THETHUVIEN(SOTHE),
MATT CHAR (9) FOREIGN KEY (MATT) REFERENCES dbo.THUTHU(MATT)

)
• Tạo bảng CHI TIẾT PHIẾU MƯỢN (quan hệ n-n giữa SÁCH - PHIẾU
MƯỢN)
CREATE TABLE CT_PHIEUMUON (
SOPM CHAR (9) FOREIGN KEY (SOPM) REFERENCES
dbo.PHIEUMUON(SOPM),
MASACH CHAR (9) FOREIGN KEY (MASACH) REFERENCES
dbo.SACH(MASACH), SOLUONG INT,
TINHTRANG NCHAR (10) CHECK (TINHTRANG IN (N'Đang mượn’, N’Đã
trả')),
CONSTRAINT CTPM_PMS_PK PRIMARY KEY (SOPM, MASACH)
)
• Tạo bảng PHIẾU PHẠT CREATE TABLE PHIEUPHAT (
SOPP CHAR (9) PRIMARY KEY,
NGAYPHAT DATE,
S0PM CHAR (9) FOREIGN KEY (S0PM) REFERENCES
dbo.PHIEUMUON(SOPM),
MATT CHAR (9) FOREIGN KEY (MATT) REFERENCES dbo.THUTHU(MATT)
)
• Tạo bảng CHI TIẾT PHIẾU PHẠT (quan hệ n-n giữa SÁCH - PHIẾU
PHẠT) CREATE TABLE CT_PHIEUPHAT (
SOPP CHAR (9) FOREIGN KEY (SOPP) REFERENCES
dbo.PHIEUPHAT(SOPP),


MASACH CHAR (9) FOREIGN KEY (MASACH) REFERENCES
dbo.SACH(MASACH),
SOLUONG INT,
LYDO NCHAR (4) CHECK (LYDO IN (N'Hỏng',N'Mất')),
CONSTRAINT CTPP_PPS_PK PRIMARY KEY (SOPP, MASACH)

)

2. Nhập dữ liệu


BẢNG NHÀ XUẤT BẢN



BẢNG TÁC GIẢ




BẢNG VỊ TRÍ



BẢNG THỂ LOẠI



BẢNG THỦ THƯ



BẢNG ĐỘC GIẢ





BẢNG SÁCH



BẢNG SÁNG TÁC




BẢNG PHIẾU NHẬP



BẢNG CHI TIẾT PHIẾU NHẬP




BẢNG PHIẾU MƯỢN




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






BẢNG PHIẾU PHẠT



BẢNG CHI TIẾT PHIẾU PHẠT


3. Truy vấn dữ liệu
Câu 1. Xuất ra Báo cáo những cuốn sách đang được mượn
SELECT SACH.MASACH, TENSACH, NAMXB, NGAYMUON, NGAYTRA
FROM SACH JOIN CT_PHIEUMUON ON
SACH.MASACH=CT_PHIEUMUON.MASACH
JOIN PHIEUMUON ON CT_PHIEUMUON.SOPM=PHIEUMUON.SOPM
WHERE TINHTRANG=N'Đang mượn'

Câu 2. Xuất ra Báo cáo những cuốn sách được nhập trong quý 1/2021
SELECT SACH.MASACH, SACH.TENSACH, PHIEUNHAP.SOPN,
PHIEUNHAP.NGAYNHAP, CT_PHIEUNHAP.SOLUONG


×