TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ CƠ SỞ DỮ LIỆU ĐỀ TÀI QUẢN LÝ QUÁN NET NHÓM THỰC HIỆN 09 Giảng viên hướng dẫn Nguyễn HH Lớp 65CS1 Sinh viên thực hiện Trần Quang Huy, Đậu Nhật Thịnh
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: HỆ CƠ SỞ DỮ LIỆU
Sinh viên thực hiện:
Trần Quang Huy – 99265 (Nhóm trưởng)
Đậu Nhật Thịnh - 191165 Trần Công Tài – 177665 Trần Ngọc Khanh - 103865
Hà Nội, 1/2023
Trang 2TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: HỆ CƠ SỞ DỮ LIỆU
Sinh viên thực hiện:
Trần Quang Huy – 99265 (Nhóm trưởng)
Đậu Nhật Thịnh - 191165 Trần Công Tài – 177665 Trần Ngọc Khanh - 103865
Hà Nội, 1/2023
Trang 3MỤC LỤC
I MÔ TẢ CÁC YÊU CẦU LƯU TRỮ VÀ KHAI THÁC DỮ LIỆU CƠ BẢN CỦA HỆ THỐNG 5
1.1 Đối tượng sử dụng hệ thống 5
1.2.Yêu cầu cơ bản: 5
1.3 Yêu cầu cụ thể: 6
1.3.1.Tạo CSDL của quán và nhập liệu: 6
1.3.2.Đáp ứng được các yêu cầu và chức năng: 6
II MÔ TẢ THỰC THỂ VÀ CÁC MỐI QUAN HỆ, SƠ ĐỒ ERD 8
2.1 Mô tả thực thể và các mối quan hệ 8
2.2.Sơ đồ ERD 10
Hình 2.1.Hình ảnh sơ đồ ERD 10
III MÔ TẢ CẤU TRÚC BẢNG, Ý NGHĨA CỘT DỮ LIỆU 11
3.1 Mô tả cấu trúc bảng và ý nghĩa cột dữ liệu 11
Bảng 3.1.1 Tầng 11
Bảng 3.1.2.Khách hàng 11
Bảng 3.1.3 Máy 11
Bảng 3.1.4.Sử dụng máy 12
Bảng 3.1.5 Tài khoản 12
Bảng 3.1.6.Ca làm 12
Bảng 3.1.7 Chức vụ 13
Bảng 3.1.8.Nhân viên 13
Bảng 3.1.9.Chấm công 13
Bảng 3.1.10.Dịch vụ 13
Bảng 3.1.11.Hóa đơn 14
Bảng 3.1.12 HD_DV 14
Bảng 3.1.13.Phiếu nạp 14
IV SƠ ĐỒ QUAN HỆ LIÊN KẾT ( RELATIONSHIP DIAGRAM ) 15
Hình 4.1 : Sơ đồ quan hệ liên kết 15
V DANH SÁCH CÁC CÂU LỆNH TRUY VẤN 16
5.1.Tạo bảng 16
5.1.1.Tạo bảng Tầng 16
Hình 5.1: Kết quả tạo Bảng Tầng 16
5.1.2.Tạo bảng Khách Hàng 17
Trang 45.1.3.Tạo bảng Máy 20
Hình 5.3: Kết quả tạo Bảng Máy 20
5.1.4.Tạo bảng Sử dụng máy 21
Hình 5.4: Kết quả tạo Sử dụng máy 21
5.1.5.Tạo bảng Tài khoản 23
Hình 5.5: Kết quả tạo bảng tài khoản 23
5.1.6.Tạo bảng Ca làm 25
Hình 5.6: Kết quả tạo bảng Ca làm 25
5.1.7.Tạo bảng Chức vụ 26
Hình 5.7: Kết quả tạo bảng Chức vụ 26
5.1.8 Tạo bảng Nhân viên 27
Hình 5.8:Kết quả tạo bảng Nhân viên 27
5.1.9.Tạo bảng Chấm công 28
HÌnh 5.9: Kết quả tạo bảng Chấm công 28
5.1.10.Tạo bảng Dịch vụ 29
HÌnh 5.10: Kết quả tạo bảng Dịch vụ 29
5.1.11.Tạo bảng Hóa đơn 30
Hình 5.11: Kết quả tạo bảng Hóa đơn 30
5.1.12.Tạo bảng Hóa đơn dịch vụ 31
Hình 5.12: Kết quả tạo bảng Hóa đơn dịch vụ 31
5.1.13.Tạo bảng phiếu nạp 32
Hình 5.13: Kết quả tạo bảng phiếu nạp 32
5.2.Các câu lệnh truy vấn 34
5.2.1.Liệt kê tất cả máy của quán NET, cho biết máy nằm ở tầng nào 34
Hình 5.14: Kết quả câu truy vấn 5.2.1 34
5.2.2.Cho biết tổng số lượng máy của Quán NET 35
Hình 5.15: Kết quả câu truy vấn 5.2.2 35
5.2.3 Tìm máy trống, cho biết nó thuộc tầng nào 35
Hình 5.16: Kết quả câu truy vấn 5.2.3 35
5.2.4 Cho biết thời gian sử dụng máy theo danh sách giảm dần, và thuộc tầng nào 36
36
Hình 5.17: Kết quả câu truy vấn 5.2.4 36
5.2.5 Cho biết mã, tên khách hàng có nhiều tiền trong tài khoản nhất 36
Hình 5.18: Kết quả câu truy vấn 5.2.5 36
5.2.6 Đưa ra danh sách tài khoản có số dư tăng dần 37
Trang 5Hình 5.19: Kết quả câu truy vấn 5.2.6 37
5.2.7 Cho biết món "Mỳ tôm 2 trứng" có giá bao nhiêu? 38
Hình 5.20: Kết quả câu truy vấn 5.2.7 38
5.2.8 Cho biết mặt hàng dịch vụ nào đắt nhất? 38
Hình 5.21: Kết quả câu truy vấn 5.2.8 38
5.2.9 Cho biết hoá đơn của khách hàng "ĐẬU NHẬT THỊNH" được lập vào ngày nào, dùng những dịch vụ gì? số lượng và tổng thanh toán là bao nhiêu tiền, nhân viên nào lập hoá đơn? 39
Hình 5.22: Kết quả câu truy vấn 5.2.9 39
5.2.10 Đưa ra chức vụ và lương của nhân viên "TRẦN QUANG DUY" 40
Hình 5.23:Kết quả câu truy vấn 5.2.10 40
VI.ĐÁNH GIÁ THIẾT KẾ CƠ SỞ DỮ LIỆU 41
6.1 Ưu điểm 41
6.2 Nhược điểm 41
6.3 Hướng phát triển 41
PHỤ LỤC TRA CỨU BẢNG Bảng 3.1.1 Tầng 11
Bảng 3.1.2.Khách hàng 11
Bảng 3.1.3 Máy 11
Bảng 3.1.4.Sử dụng máy 12
Bảng 3.1.5 Tài khoản 12
Bảng 3.1.6.Ca làm 12
Bảng 3.1.7 Chức vụ 13
Bảng 3.1.8.Nhân viên 13
Bảng 3.1.9.Chấm công 13
Bảng 3.1.10.Dịch vụ 13
Bảng 3.1.11.Hóa đơn 14
Bảng 3.1.12 HD_DV 14
Bảng 3.1.13.Phiếu nạp 14
Trang 6HÌNH ẢNH
Hình 2.1.Hình ảnh sơ đồ ERD 10
Hình 4.1 : Sơ đồ quan hệ liên kết 15
Hình 5.1: Kết quả tạo Bảng Tầng Lỗi! Thẻ đánh dấu không được xác định Hình 5.2 : Kết quả tạo Bảng Khách Hàng Lỗi! Thẻ đánh dấu không được xác định Hình 5.3: Kết quả tạo Bảng Máy 20
Hình 5.4: Kết quả tạo Sử dụng máy 21
Hình 5.5: Kết quả tạo bảng tài khoản 22
Hình 5.6: Kết quả tạo bảng Ca làm 24
Hình 5.7: Kết quả tạo bảng Chức vụ Lỗi! Thẻ đánh dấu không được xác định Hình 5.8:Kết quả tạo bảng Nhân viên 26
HÌnh 5.9: Kết quả tạo bảng Chấm công 27
HÌnh 5.10: Kết quả tạo bảng Dịch vụ 28
Hình 5.11: Kết quả tạo bảng Hóa đơn 29
Hình 5.12: Kết quả tạo bảng Hóa đơn dịch vụ 30
Hình 5.13: Kết quả tạo bảng phiếu nạp 31
Hình 5.14: Kết quả câu truy vấn 5.2.1 32
Hình 5.15: Kết quả câu truy vấn 5.2.2 33
Hình 5.16: Kết quả câu truy vấn 5.2.3 33
Hình 5.17: Kết quả câu truy vấn 5.2.4 34
Hình 5.18: Kết quả câu truy vấn 5.2.5 34
Hình 5.19: Kết quả câu truy vấn 5.2.6 35
Hình 5.20: Kết quả câu truy vấn 5.2.7 36
Hình 5.21: Kết quả câu truy vấn 5.2.8 36
Hình 5.22: Kết quả câu truy vấn 5.2.9 37
Hình 5.23:Kết quả câu truy vấn 5.2.10 38
Trang 7I MÔ TẢ CÁC YÊU CẦU LƯU TRỮ VÀ KHAI THÁC DỮ LIỆU CƠ BẢN CỦA HỆ THỐNG Tên đề tài: Quản lí quán net
Đặt vấn đề : Bạn là chủ của 1 quán Net OOO:
- Quán net có 3 tầng, mỗi tầng có 20 máy, có thể trống/đầy máy tuỳ thời điểm
- Quán có kinh doanh các dịnh vụ đi kèm (đồ ăn, đồ uống, thẻ game, thuốc lá …)
- Quán có nhiều nhân viên và ca làm Chức vụ của nhân viên được phân chia để quản lý, mức lương mỗi chức vụ và mỗi ca làm là khác nhau
- Quản lý thời gian sử dụng máy
- Quản lý doanh thu của quán:
• Hàng tháng, quý, năm sẽ cần tính toán, kiểm kê về lương của nhân viên, lưu lượng khách, doanh thu của quán…
Việc quản lý hoạt động kinh doanh của quán Net đòi hỏi rất nhiều thời gian và nhân lực cũng như chi phí vận hành Đối với những yêu cầu trên, bạn muốn xây dựng một ứng dụng để quản lý hoạt động kinh doanh của Quán net
1.1 Đối tượng sử dụng hệ thống: Quản lý, nhân viên quán Mỗi đối tượng sẽ có đặc quyền khác nhau
- Nhân viên: Quản lý trạng thái của các máy Tra cứu dịch vụ, tạo lập hoá đơn cũng như thao tác với dữ liệu khách hàng
- Quản lý: Có thể sử dụng các nghiệp vụ tương tự như nhân viên Thêm chức năng cập nhật thông tin về:
• Số lượng máy, thay đổi thông tin về giá cả của sản phẩm dịch vụ, thêm/bớt dịch vụ…
• Nhân viên (thông tin cá nhân, chức vụ, lương, thêm/xoá…)
Đầu vào: Thông tin khách, thông tin máy, thông tin các loại dịch vụ, thời gian sử dụng, giá các loại dịch vụ, chi
phí sử dụng
Đầu ra: Thông tin và chi phí khách hàng cần thanh toán (dịch vụ, tiền máy), thông tin doanh thu của cửa hàng
1.2.Yêu cầu cơ bản:
Hệ thống cần đáp ứng được các chức năng sau:
- Quán được quản lý thành các khu vực khác nhau
- Cung cấp chức năng cập nhật (thêm/sửa/xoá) thông tin về danh mục dịch vụ, nhân viên của quán
- Cung cấp chức năng tạo lập hoá đơn thanh toán dịch vụ
- Cung cấp chức năng tìm kiếm dịch vụ thông qua một số thông tin về dịch vụ của quán
- Cung cấp chức năng tìm kiếm nhân viên thông qua một số thông tin về nhân viên của quá
- Tính toán, báo cáo, thống kê lương của nhân viên
- Tính toán, báo cáo, thống kê doanh thu của quán theo từng tháng/quý
- Giao diên ưa nhìn, các chức năng dễ dàng sử dụng
Trang 81.3 Yêu cầu cụ thể:
1.3.1.Tạo CSDL của quán và nhập liệu:
- Thiết kế CSDL: Đặt ra vấn đề, xác định các yêu cầu của đối tượng cần quản lý Xác định các thực thể và các thuộc tính của từng thực thể
- Tạo các bảng và nắm rõ mối quan hệ giữa chúng Từ các thực thể và thuộc tính đã có, xác định mối liên kết giữa chúng và vẽ sơ đồ ER Từ đó, xác định cấu trúc bảng, vẽ sơ đồ quan hệ và thực hiện cài đặt CSDL
- Nhập liệu để thực hiện các yêu cầu
1.3.2.Đáp ứng được các yêu cầu và chức năng:
a) Quán Nét được quản lý thành các khu vực:
- Quán Net có 3 tầng: tầng 1, 2 & 3
- Mỗi tầng sẽ có cấu hình máy khác nhau và giá sử dụng khác nhau (10-15k/1h)
- Mỗi tầng có một số lượng máy nhất định giúp việc quản lý quán dễ dàng hơn Hệ thống
cho phép kiểm tra trạng thái các tầng hay các máy, tình trạng máy, trống bao nhiêu máy
b) Quản lý khách hàng:
- Lưu thông tin của khách hàng (CCCD) khi được cung cấp để thực hiện các báo cáo sau này
- Tìm kiếm thông tin tài khoản khách hàng
- Sửa thông tin tài khoản khách hàng (password, username)
- Tìm kiếm các dịch vụ, sản phẩm dựa trên một số thông tin về dịch vụ, sản phẩm (tìm dịch
vụ, sản phẩm theo mã, tên, giá )
- Tạo lập hoá đơn thanh toán (khách hàng yêu cầu sử dụng các dịch vụ, nhân viên tìm kiếm, tạo lập hoá đơn để thanh toán)
Trang 9d) Quản lý nhân viên:
- Nhân viên được quản lý theo ca làm việc, chức vụ (mỗi ca làm việc và chức vụ có mức lương khác nhau)
- Thêm thông tin của nhân viên khi có nhân viên mới
- Xoá thông tin của nhân viên khi có nhân viên nghỉ việc
- Chỉnh sửa thông tin của nhân viên (thay đổi SDT, ca làm,…)
- Cung cấp chức năng tìm kiếm nhân viên dựa trên một số thông tin về nhân viên (tìm kiếm nhân viên theo mã, tên, ca làm, SĐT…)
- Cung cấp chức năng tính toán lương của nhân viên (tính theo ca làm và chức vụ)
e) Báo cáo, thống kê:
- Báo cáo, thống kê lương của nhân viên
- Báo cáo, thống kê doanh thu của quán
Trang 10II MÔ TẢ THỰC THỂ VÀ CÁC MỐI QUAN HỆ, SƠ ĐỒ ERD 2.1 Mô tả thực thể và các mối quan hệ
+Địa chỉ:xác định nơi ở của khách hàng
- Thực thể Máy:Thiết bị để khách hàng sử dụng vào mục đích của khách hàng và có các thuộc tính như Mã máy và Tình trạng:
+Má máy: dùng để nhận biết và kiếm tra loại máy +Trạng thái : Thể hiện tình trạng và mức độ sử dụng của máy tính
- Thực thể Tài khoản:Lưu thông tin của khách hàng và dùng để sử dụng máy tính và có các thuộc tính như Tên TK, Mật khẩu, Số giờ chơi, Số tiền HTTK:
+Tên TK: Dùng để đăng nhập vào tài khoản +Mật khẩu: Dùng để bảo mật tài khoản và chỉ chủ tài khoản đó biết +Số giờ chơi: Hiện thị số giờ mà khách hàng đang chơi
+Số tiền HTTK: Hiện thị số tiền hiện tại còn trong tài khoản
- Thực thể Tầng:Máy tính được chia theo tâng và mỗi tầng sẽ có đơn giá khác nhau và thực thể Tầng
sẽ có các thuộc tính như Mã tầng, tên tầng và đơn giá:
+Mã tầng : Dùng để nhận dạng giữa các tầng với nhau +Tên tầng : Để xác minh vị trí của khách hàng đang chơi +Đơn giá: Mỗi tầng sẽ có 1 đơn giá khác nhau và người chơi có thể tùy chọn để phù hợp nhu cầu dùng
- Thực thể Phiếu nạp tiền:Dùng để lưu lại số tiền và ngày nạp tiền của khách hàng với các thuộc tính như Mã phiếu , số tiền nạp, thời gian nạp:
+Mã phiếu : Dùng để nhận dạng phiếu +Số tiền nạp: Số tiền mà khách hàng nạp vào tài khoản +Thời gian nạp : Thời điểm mà nhân viên nạp tiền vào tài khoản của khách hàng
Trang 11- Thực thể Chức vụ:Hệ thống sẽ cho biết chức vụ của nhân viên , và tiền lương tương ứng với các thuộc tính như Tên chức vụ, Mã chức vụ , Hệ số lương:
+Mã chức vụ : Cho biết vị trí của nhân viên trong hệ thống quản lý +Tên chức vụ : Xác định tên chức vụ tương ứng với mã chức vụ của nhân viên +Hệ số lương : Tiền lương tương ứng với chức vụ của nhân viên trong hệ thông
- Thực thể Ca làm:Lưu trữ ca làm việc của nhân viên trong quán trong ngày bao gồm các thuộc tính như Mã ca, Tên ca , Tiền công ,TGBD, TGKT:
+Mã ca: Xác định ca làm của nhân viên +Tên ca : Tên của ca làm tương ứng với mã ca +Tiền công: Số tiền tương ứng với ca làm mà nhân viên đã thực hiện +TGBD: Thời gian nhân viên bắt đầu ca làm việc
+TGKT: Thời gian nhân viên kết thúc ca làm việc
- Thực thể Nhân viên:Dùng để xác định thông tin nhân viên đang làm việc trong hệ thống quản lý vời các thuộc tính như Mã nhân viên, Tên nhân viên, SDT, Ngày sinh , Địa chỉ , Giới tính , Ngày BDLV :
+Mã nhân viên : Dùng để phân biệt , nhận dạng và tìm kiếm nhân viên +Tên nhân viên: Phân biệt tên gọi của cá nhân viên
+SDT : Phương thức liên lạc của nhân viên +Ngày sinh : Xác định đổ tuổi của nhân viên +Địa chỉ : Xác định vị trí nơi ở của nhân viên +Giới tính : Nam hay là nữ
+Ngày BDLV: Ngày nhân viên bắt đầu làm việc
- Thực thể Dịch vụ:Dùng để lưu trữ các dịch vụ để phục vụ khách hàng gòm các thuộc tính như Mã dịch vụ , Tên dịch vụ, Đơn giá:
+Mã dịch vụ : Xác định, phân biệt dịch vụ +Tên dịch vụ : Tên của dịch vụ tương ứng với mã dịch vụ +Đơn giá : Giá tiền tương ứng với dịch vụ mà khách hàng sử dụng
- Thực thể Hóa đơn:Dùng để lưu trữ dịch vụ mà khách hàng đã sử dụng thông qua nhân viên quản lý quán và có các thuộc tính như Mã hóa đơn , Thời gian lập:
+Mã hóa đơn : Xác định hóa đơn nhân viên lập +Thời gian lập : Thời điểm nhân viên lập hóa đơn cho khách hàng
Trang 122.2.Sơ đồ ERD
Hình 2.1.Hình ảnh sơ đồ ERD
Trang 13III MÔ TẢ CẤU TRÚC BẢNG, Ý NGHĨA CỘT DỮ LIỆU 3.1 Mô tả cấu trúc bảng và ý nghĩa cột dữ liệu
Trang 17IV SƠ ĐỒ QUAN HỆ LIÊN KẾT ( RELATIONSHIP DIAGRAM )
Hình 4.1 : Sơ đồ quan hệ liên kết
Trang 18V DANH SÁCH CÁC CÂU LỆNH TRUY VẤN 5.1.Tạo bảng
5.1.1.Tạo bảng Tầng
create database QL_QUANNET
use QL_QUANNET
BẢNG TẦNG
CREATE TABLE t_Tang(
ma_tang VARCHAR(5) unique,
ten_tang nvarchar(50) unique,
INSERT INTO dbo.t_Tang (ma_tang,
ten_tang, don_gia) VALUES
('T01',N'Tầng 1', 10000),
('T02',N'Tầng 2', 20000),
('T03',N'Tầng 3', 30000);
Trang 225.1.3.Tạo bảng Máy
CREATE TABLE t_May(
ma_may varchar(10) NOT NULL
Trang 235.1.4.Tạo bảng Sử dụng máy
CREATE TABLE t_SuDungMay (
ma_may varchar(10) NOT
Hình 5.4: Kết quả tạo Sử dụng máy
INSERT INTO dbo.t_SuDungMay(
Trang 24('M15','KH09','2022-12-12
14:19:02','2022-12-12 19:01:22'),
('M08','KH11','2022-12-12
17:06:57','2022-12-12 18:27:23');
Trang 255.1.5.Tạo bảng Tài khoản
Trang 275.1.6.Tạo bảng Ca làm
create table t_Ca_lam (
ma_ca varchar(10) not null,
ten_ca nvarchar(10) not null,
tien_cong float not null,
TG_bat_dau_ca TIME not null,
TG_ket_thuc_ca TIME not null,
constraint kc_Ca_lam primary key
Trang 285.1.7.Tạo bảng Chức vụ
create table t_Chuc_vu (
ma_chuc_vu varchar(20) not null,
ten_chuc_vu nvarchar(20) not null,
hs_luong_chuc_vu float not null,
constraint kc_Chuc_vu primary key (ma_chuc_vu)
Trang 295.1.8 Tạo bảng Nhân viên
create table t_Nhan_vien(
ma_nv varchar(10) not NULL
unique,
ten_nv nvarchar(30) not null,
SDT varchar(10) not NULL unique,
ngay_sinh DATE not NULL
CHECK (YEAR(GETDATE()) -
YEAR(ngay_sinh) >=18),
dia_chi nvarchar(50),
gioi_tinh bit not null,
ma_chuc_vu varchar(20) not null,
constraint kc_Nhan_vien primary
Trang 305.1.9.Tạo bảng Chấm công
create table t_Cham_cong (
ma_nv varchar(10) not null,
ma_ca varchar(10) not null,
HÌnh 5.9: Kết quả tạo bảng Chấm công
INSERT INTO dbo.t_Cham_cong
Trang 315.1.10.Tạo bảng Dịch vụ
create table t_DichVu(
ma_dv varchar(30) not null UNIQUE,
ten_dv nvarchar(30) not null
don_gia float NOT NULL CHECK