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

báo cáo đồ án cuối kỳ database management systems ứng dụng quản lý nhà sách

39 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM KHOA CÔNG NGHỆ THÔNG TIN

BAO CAO DO AN CUOI KY HOC PHAN: CAC HE CO SO DU LIEU (DATABASE MANAGEMENT SYSTEMS)

Ung dung quan ly nha sach

SINH VIEN THUC HIEN 1 4501104259-Lé Van Trung 2 4501104215-Tran Viét Thanh 3 4501104067- Nguyén Minh Hai 4 4401104131-Lê Thanh Luân GVHD: Nguyễn Văn Thịnh

TP HO CHI MINH, thang 07 nam 2023

Trang 2

Contents

CHƯƠNGI: _ THIẾT KÉ VÀ CÀI ĐẶT CƠ SỞ DỮ LIỆU - :sc5ccc55cc: 5

L_ Giới thiệu sơ lược về cơ sở dữ liệu quản lý cửa hàng sách - 722-255: 5 2 Các thực thể ở mức khái niệm -5552t 2t Hee 6

3 Bang tầm ảnh hưởng của các ràng buộc toản vẹn - 5s St Exsrưyi II 4 _ Xây dựng mô hình thực thể liên kết của quản lý cửa hàng bán sách 12 3 Mô hình dữ liệu quan hệ quản lý cửa hàng bán sách 2 co 2c 2c s2 sss2 13 6 Lệnh tạo bảng trong SdÏ - 2c 2 1222212111111 151151151111 511 52128111 ca 14 Am: 9 aa 14 6.2 Bảng NHAXUATBAN Q2 TS SH TH HH HH HH HH 14 6.3 Bảng THELOAISACH Q.2 SH HH HH HH HH Hà 15 “a0 15

6.6 Bảng HOADONBANHANG St St SH HH HH He 15 6.7 Bảng CHITIETHOADƠN S.S S HH HH HH HH 15 6.8 Bảng HOADONNHAPHANG S S1 HH HH Hà Hà HH re 16 6.9 Bảng CHITIETHOADONNHAPHANG S2 nhe 16 6.10 Bảng GIOHANG S21 HH HH HH HH 16

7 Lệnh tạo khóa ngoại trong SqQÌ - -.- 222112112121 21 111 1115115115 1111 kh 16 8 Lệnh thêm dữ liệu trong sqÏ - 2c 2c 222112111111 1221 15 115 2111551111511 1H 17

si dcÝẢỶŸ 19 9.1 GetAllBookCategortes oo 19 9.1 GetldByNamePublisher - 1S 1 2122112111551 15E11511 111115125111 11 1211 xe 19 9.2 GetAllBooksAndCafegorIe§ - Q0 010v S112 12 115111 1111811 19

9.4 UpdateBook 2.0 21121112 11 HH5 T5 n5 2k khu 21 9.5 92 e 21

Trang 3

9.7 GetCategoryHyÏd c1 2.12111221121112 1115111511511 1 111g k1 krrớ 22 9.8 GetPublisherByld 122 1221112112211 111 115111211101 11 8111551112811 Hye 22 9.9 LoginEmployeeByPhone L1 12201122122 H151 115111118111 23 9.10 LogmEmployeeByName 1 2212211211121 152115 1 11 key 23 9.11 GetChriTietHoaDonNhapHiang 2 2 2222222212111 1122511182 x1 teeerre 23

II Backup dữ liệu 5 2 12211121112 215 211 111115 cac H khe 28 CHUONG I CÀI ĐẶT ỨNG DỤNG MINH HỌA ccccccccccrcrrrrrree 29 1 Chức năng danh mục -L 22c 1221122111211 121 1112151211111 1181118112011 1 1118111 k re 29 1.1 Danh mục sách - c2 01T TS g T15 11 kg ng 11111 kg 29 1.2 Danh mục đơn hàng được nhập TT 30

2 Chức năng thống kê - s9 E111 211E1111111 11711101 1 1E EH re 31 2.1 Thống kê các đơn hàng đã bán 5 5c SE HE HE tre rat 31 3 Chức năng tìm kiếm + SE EE1111E11E1121111 117111 1012111 12111 rêu 32 4 Chức năng nghiỆp VỤ 2 21 12112121 112112211 111112112 1111111 cxn sgk re 33 AD Thétm nhe ằẽe 33

“.‹Á ae 35 5 Cài đặt phân quyền người dùng 5: c1 SE E11 21112 2t re 35 CHƯƠNG II: KẾT LUẬN - 2S S 121512152151 1151115122111 1521212115121 EEer tren 36

Trang 4

CHƯƠNGIV: TÀI LIỆU THAM KHẢO

Trang 5

Mở đầu

Hiện nay, việc mỗi nhà sách nhập về số lượng lớn sách để đáp ứng kịp nhu câu đọc sách của khách hàng ngày cảng tăng và điều đó dẫn đến công việc quan lý sách thủ công ngày càng phức tạp và khó khăn cho nên để đáp ứng nhu cầu đấy chúng em quyết định sẽ tự mình xây đựng một ứng dụng quản lý nhà sách Và để xây dựng được một ứng dụng như vậy thì chúng em không thể không cám ơn thầy Nguyễn Văn Thịnh cũng đồng thời là giáo viên hướng dẫn của chúng em Thây đã giúp đỡ nhóm chúng em rất nhiễu trong quá trình xây dựng ứng dụng.Chúng em chân thành cám ơn thây rất nhiều

Trang 6

GIỚI THIỆU

Như đã đề cập đến ở trên , nhu cầu đọc sách của mọi người ngày càng tăng và để giải quyết vấn đề đó chúng em quyết định xây dựng ứng dụng quản lý sách Với ứng dụng

này chúng em đặt ra các tiêu chị sau:

> Giải quyết được khó khăn trong việc tính toán đầu ra/ đầu vào của sách > Giải quyết được vấn đề kiểm kê số sách còn lại trong kho

> Giao diện thân thiện với người dùng > Dễ dàng quan sát được doanh thu

Với những tiêu chí trên thì ta cần phải làm những điều sau:

> Đối với kho sách, ta sẽ theo dõi số lượng nhập/ xuất sách, kiểm kê sách tồn kho,

tình trạng của sách,

> Đối với đơn hàng, ta sẽ theo dõi các đơn đặt hàng

> Đối với khách hàng, ta sẽ theo dõi thị hiếu của khách hàng đề từ đó đưa ra hướng giải quyết hợp lý

> Đối với doanh thu, ta sẽ thông kế đê đưa ra tông doanh thu dựa trên những đơn hàng đã bản

Trang 7

CHUONGI: THIET KE VA CAI DAT CO SO DU LIEU

1 Gidi thiéu so luge vé co sé dir ligu quan ly cira hang sach

Quan ly ctra hang sach bao gom sach,thé loại sách, nhân viên, chức vụ, chỉ tiết hóa đơn nhập hàng,chỉ tiết hóa đơn, hóa đơn nhập hàng, hóa đơn bán hàng, nhà xuất bản, giỏ hàng

SACH(Id,TenSach, TacGia,Gia, Nam XuatBan, AnhSach,SoLuong,idTheLoaiSach,idNhaX uatBan): sách được nhập từ nhà sản xuất ,khi cửa hàng nhận sách từ nhà sản xuất thì sẽ lập hóa đơn nhận hàng, còn sách khi được bán đi sẽ được thêm vào giỏ hàng, đồng thời được nhân viên lập hóa đơn bán hàng, mỗi sách sẽ thuộc một thể loại chính

NHAN VIEN(d,HoTen,Luong,SoDien Thoai,DiaChi,IdRole):Mỗi nhân viên sẽ có một mã

nhân viên nhất định ,mỗi nhân viên sẽ được đảm nhận một chức vụ trong hệ thống Với

mỗi chức vụ họ sẽ được phân công cũng như nằm giữ những quyền hạn nhất định trong hệ thống

ROLES(Id,TenRole): Mỗi một nhân viên sẽ có một mã chức vu riêng biệt và tên chức vụ

không được trùng lắp, một chức vụ sẽ được gán cho nhiều nhân viên khác nhau, nhưng một nhân viên thì chỉ có thể giữ một chức vụ

CHITIETHOADONNHAPHANG(id,idHoaDonNhanHang,IdSach, TongHoaDon,SoLuon ø): là thực thể hóa đơn chứa tổng hợp các danh sách hóa đơn của các loại hàng khác

nhau, vì vậy | hoa don chỉ tiết có chứa nhiều hóa đơn nhận hàng, một chỉ tiết hóa đơn sẽ có nhiều id sách

CHITIETHOADON(Id,IdSach,IdHoaDon,SoLuong, TongHoaDon): la thực thê hóa đơn

tong hop cac loai sach khach hang da dat mua kém theo số lượng khách đã mua

HOADONNHAPHANG(d,NgayXuat,IdNhan Vien,IdNXB):Là thực thê hóa đơn của

từng loại sách mỗi nhân viên sẽ chịu trách nhiệm cho nhiều hóa đơn nhập hành khác nhau,mỗi sách sẽ thuộc một hoặc nhiều NXB khác nhau

HOADONBANHANG(id,NgayXuat,IdNhanVien):Mỗi một hóa đơn khác nhau sẽ được chịu trách nhiệm bởi nhân viên trực lúc đấy

NHAXUATBAN(Id,TenNXB): Một nhà xuất bản sẽ xuất bạn nhiều loại sách khác nhau

của nhiều tác gia khác nhau, các nhà xuất bản khác nhau sẽ có một id riêng biệt với nhau.

Trang 8

GIOHANG(d,idSach,SoLuong): Mỗi giỏ hàng sẽ có nhiều loại sách khác nhau , mỗi sách sẽ có số lượng sách tương ứng

THELOAISACH(id, TenTheLoai): Mỗi thể loại sách sẽ có 1d riêng biệt, một sách sẽ có

Trang 10

HOADONBANHA

Thực thể CHITIETHOADON(Id,IdSach,IdHoaDon,SoLuong, TongHoaDon):

Trang 11

CHITIETHOADO

Trang 13

( TenTheLoai TT

4_ Xây dựng mô hình thực thể liên kết của quản lý cửa hàng bán sách

- Bảng CHITIETHOADONNHAPHANG quan hệ một nhiều với Bảng SACH với mối

quan hệ Chứa

- Bảng NHAXUATBAN quan hệ một nhiều với bảng SACH với mối quan hệ Phát hành

Trang 14

- Bảng NHAXUATBAN quan hệ một nhiều với bảng HOADONNHAPHANG với mỗi

- Bảng ROLES quan hệ một một với báng NHANVIEN với mỗi quan hệ giữ

- Bảng NHANVIEN quan hệ một nhiều với bảng HOADONBANHANG với mối quan hệ

xuất

- Bảng HOADONBANHANG quan hệ nhiều một với bảng CHITIETHOADON với mỗi

quan hệ chứa

- Bang SACH quan hệ một nhiều với bảng CHITIETHOADON với mối quan hệ có

- Bảng SACH quan hệ một một với THELOAISACH với mối quan hệ thuộc -Bảng SACH quan hệ nhiều một với GIOHANG với mỗi quan hệ gồm

5 Mô hình dữ liệu quan hệ quản lý cửa hàng bán sách

CHITIETHOADONNHAPHANG(id,idHoaDonNhanHang,IdSach, TongHoaDon,SoLuon

g)

Trang 15

TenTheLoa

Trang 16

6 Lénh tao bang trong sql

6.1 Bang SACH

create table SACH

Id int identity(1,1), TenSach nvarchar(3@), TacGia nvarchar (30), Gia int,

NamXuatBan datetime, AnhSach image, SoLuong int, IdTheLoaiSach int, TdNhaXuatBan int, primary key (Id)

6.2 Bang NHAXUATBAN

create table NHAXUATBAN Id int identity(1,1), TenNXB nvarchar (39),

primary key (Id)

6.3 Bang THELOAISACH

create table THELOAISACH Id int identity(1,1), TenTheLoai nvarchar (30) primary key (Id)

6.4 Bang NHANVIEN

create table NHANVIEN

(

Id int identity(1,1), HoTen nvarchar(3@) not null, Luong int,

SoDienThoai char(10) , DiaChi nvarchar(5@), IdRole int,

Trang 17

6.5 Bảng ROLES

create table Roles

(

Id int identity(1,1), TenRole nvarchar(39), primary key (Id)

6.6 Bang HOADONBANHANG

create table HOADONBANHANG

(

Id int identity(1,1), NgayXuat datetime, IdNhanvVien int, primary key (Id)

6.7 Bang CHITIETHOADON

create table CHITIETHOADON Id int identity(1,1), IdSach int, IdHoaDon int, SoLuong int, TongHoaDon float, primary key (Id)

6.8 Bang HOADONNHAPHANG

create table HOADONNNHAPHANG Id int identity(1,1), NgayXuat datetime, IdNhanvVien int,

Trang 18

6.10 Bang GIOHANG

create table GIOHANG

(

Id int identity(1,1), IdSach int, SoLuong int, primary key(Id)

7 Lệnh tạo khóa ngoại trong sql

ALTER TABLE GIOHANG

ADD CONSTRAINT FK_GIOHANG_SACH FOREIGN KEY (IdSach) REFERENCES SACH(id) ALTER TABLE NHANVIEN

ADD CONSTRAINT FK_NV_ROLE FOREIGN KEY (IdRole) REFERENCES Roles(id) ALTER TABLE SACH

ADD CONSTRAINT FK_SACH_THELOAI FOREIGN KEY (IdTheLoaiSach) REFERENCES THELOAISACH(Id) ALTER TABLE SACH

ADD CONSTRAINT FK_SACH_NHAXUATBAN FOREIGN KEY (IdNhaXuatBan) REFERENCES NHAXUATBAN(Id) ALTER TABLE HOADONBANHANG

ADD CONSTRAINT FK_HOADON_NHANVIEN FOREIGN KEY (IdNhanVien) REFERENCES NHANVIEN( Id) ALTER TABLE HOADONNNHAPHANG

ADD CONSTRAINT FK_HOADON_NHAPHANG FOREIGN KEY (IdNhanVien) REFERENCES NHANVIEN( Id) ALTER TABLE HOADONNNHAPHANG

ADD CONSTRAINT FK_HOADON_NHAPHANG_NXB FOREIGN KEY (IdNXB) REFERENCES NHAXUATBAN (Id) ALTER TABLE CHITIETHOADONNHAPHANG

ADD CONSTRAINT FK_CHITIETNHAPHANG_HOADON FOREIGN KEY (IdHoaDonNhapHang) REFERENCES

ALTER TABLE CHITIETHOADONNHAPHANG

ADD CONSTRAINT FK_CHITIETNHAPHANG_SACH FOREIGN KEY (IdSach) REFERENCES SACH(Id) ALTER TABLE CHITIETHOADON

ADD CONSTRAINT FK_CHITIET_SACH FOREIGN KEY (IdSach) REFERENCES SACH(Id) ALTER TABLE CHITIETHOADON

8 Lệnh thêm dữ liệu trong sql

insert into NHAXUATBAN(TenNXB) values(N'Nhà Xuất Bản Kim Đồng');

insert into NHAXUATBAN(TenNXB) values(N'Nhà Xuất Bản Lao Động'); insert into NHAXUATBAN(TenNXB) values(N'Nhà Xuất Bản Dinh Ti Books');

insert into NHAXUATBAN(TenNXB) values(N'Nhà Xuất Bản Trẻ');

insert into NHAXUATBAN(TenNXB) values(N'Nhà Xuất Bản Đông A');

Trang 19

insert into THELOAISACH(TenTheLoai) values (N'Tiéu Thuyết"); insert into THELOAISACH(TenTheLoai) values (N'Phaét Trién Ban Than‘);

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'Đại Quản Gia Là Ma Hoàng', N'Đang Cập Nhật', 109999, '12/06/2092',19, 1, 1, (select * from openrowset(Bulk 'D: \DatabaseManagementSystem\Đồ án cuối

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'One Punch Man', N'ONE - Murata Yuusuke', 90000, '92/01/1998',12, 1, 1, (select

STNGLE_BLOB)as AnhSach));

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'Võ Luyện Đỉnh Phong', N'Đang Cập Nhật', 99999, '12/01/1998',12, 1, 2, (select *

from openrowset(Bulk 'D: \DatabaseManagementSystem\Đồ án cuối ki\Anh\vo-luyen-dinh- phong.png', SINGLE_BLOB)as AnhSach));

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'Tu Duy MO', N'Nguyễn Anh Dũng', 199999, '11/26/2023',12, 2, 3, (select * from

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'Kì Án Săn Ma', N'Gerald Brittle', 159000, '92/92/2013',12, 4, 5, (select * from

STNGLE_BLOB)as AnhSach));

insert into SACH(TenSach, TacGia, Gia, NamXuatBan, SoLuong, IdTheLoaiSach, IdNhaXuatBan, AnhSach)

values (N'Điểm Tĩnh Và Nóng Giận', N'Tạ Quốc KẾ', 89099, '12/04/2922',12, 4, 5, (select

* from openrowset (Bulk 'D:\DatabaseManagementSystem\Đổ án cuối

insert into Roles(TenRole) values ('ADMIN'); insert into Roles(TenRole) values ('NHANVIEN');

insert into NHANVIEN(HoTen, Luong, SoDienThoai, DiaChi, IdRole) values (N'Nguyén Minh

Hải', 1999999, 0938718496, N'Nha Trang', 1);

insert into NHANVIEN(HoTen, Luong, SoDienThoai, DiaChi, TdRole) values (N'Việt Thành",

990999, 9938715246, N'Quận 1', 2);

insert into NHANVIEN(HoTen, Luong, SoDienThoai, DiaChi, IdRole) values (N'Văn Trung’,

99099999, 9938562482, N'Gò Vấp', 2);

Trang 20

990090, 0938412634, N'Quận 19', 2);

insert into HOADONBANHANG (NgayXuat, IdNhanVien) values ('@7/31/2023', 2); insert into HOADONBANHANG (NgayXuat, IdNhanVien) values ('12/02/2023', 3); insert into HOADONBANHANG (NgayXuat, IdNhanVien) values ('10/14/2023', 4); insert into HOADONBANHANG (NgayXuat, IdNhanVien) values ('@5/16/2023', 2);

insert into CHITIETHOADON(IdSach, IdHoaDon, SoLuong, TongHoaDon) values (2, 1, 1, 90000); insert into CHITIETHOADON(IdSach, IdHoaDon, SoLuong, TongHoaDon) values (3, 2, 2,

100909) ;

insert into CHITIETHOADON(IdSach, IdHoaDon, SoLuong, TongHoaDon) values (4, 3, 1, 90000); insert into CHITIETHOADON(IdSach, IdHoaDon, SoLuong, TongHoaDon) values (6, 5, 1, 90000); insert into HOADONNNHAPHANG(IdNXB, NgayXuat, IdNhanVien) values (1, '@8/01/2023', 1);

insert into CHITIETHOADONNHAPHANG( IdHoaDonNhapHang, IdSach, TongHoaDon, SoLuong) values

Trang 21

@TenNXB nvarchar (30) as

create proc getallbook

CREATE PROCEDURE GetAllBooksAndCategories AS

BEGIN SELECT

S.Id AS IdSach,

S.TenSach AS TenSach, S.TacGia AS TacGia, S.Gia AS Gia,

S.AnhSach as AnhSach, S.NamXuatBan AS NamXuatBan, TL.TenTheLoai AS TenTheLoai,

S.SoLuong AS SoLuong FROM

SACH AS S INNER JOIN

THELOAISACH AS TL ON S.IdTheLoaiSach = TL.Id; END

@NamXuatBan DATETIME, @SoLuong INT, @IdTheLoaiSach INT, @IdNhaXuatBan INT, @AnhSach IMAGE AS

BEGIN

Ngày đăng: 02/08/2024, 16:29