Tải bản đầy đủ (.docx) (24 trang)

HỆ QUẢN TRỊ CSDL CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG CỬA HÀNG ĐIỆN THOẠI (có kèm sql)

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 (1.16 MB, 24 trang )

TRƯỜNG ĐẠI HỌC ………….
TRUNG TÂM ĐÀO TẠO…….

----------------------

CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG
CỬA HÀNG ĐIỆN THOẠI
BÁO CÁO BÀI TẬP LỚN
MÔN: HỆ QUẢN TRỊ CSDL

Giảng viên hướng dẫn: …..

Hà Nội – 2022


CHỦ ĐỀ 06
I. Đề bài.
- Xây dựng chương trình quản lý bán hàng tại cửa hành kinh doanh điện thoại
- Các bảng tối thiểu cần có: tblDienThoai(Điện thoại), tblKhachHang(Khách hàng),
tblNhanVien(Nhân viên), tblHoaDon(Hoá đơn), tblCTHoaDon(Chi tiết hoá đơn), ….
(Sinh viên tự xác định các thuộc tính và có thể bổ sung thêm các bảng phù hợp với bài toán
thực tế)
- Yêu cầu cần thực hiện:
1. Xác định các bảng và Tạo CSDL của bài toán (1 điểm): Thực hiện câu lệnh tạo
CSDL, tạo bảng và chèn dữ liệu cho bảng, mỗi bảng tối thiểu 5 bản ghi
2. Tạo các view chứa và khai thác CSDL (2 điểm): Tối thiểu 10 view (gồm: Lấy thông
tin một bảng, lấy thông tin nhiều bảng, tính tốn gom nhóm, …)
3. Tạo và thực thi các thủ tục cho CSDL (2 điểm): Tối thiểu 5 thủ tục (các thủ tục có
truyền tham số)
4. Tạo và vận dụng các trigger (2 điểm): Tối thiểu 5 trigger
5. Phân quyền và bảo mật cho CSDL (2 điểm): Tạo tối thiểu 2 người dùng và phân


quyền sử dụng cho Bảng, View, Thủ tục đã tạo ở trên
6. Phân tán (1 điểm): lựa chọn một số bảng bất kỳ, thực hiện phân tán ngang và dọc,
thực hiện các yêu cầu khai thác trên dữ liệu phân tán
II.
Yêu cầu chung về quyển báo cáo và chương trình
*Tồn bộ chương trình và file báo cáo BTL được lưu trong thư mục với tên theo
nguyên tắc sau: Nguyên tắc: SQLSERVER-BTL-<thứ tự đề>-sinh viên>
Ví dụ: SQLSERVER -BTL-01-NguyenVanHung
*Chương trình: Tạo file Query ghi nhận tồn bộ các câu lệnh thực hiện xử lý với CSDL của
bài toám gồm: Tạo cơ sở dữ liệu, tạo và chỉnh sửa các bảng, tạo và kiểm tra các View, tạo
và thực thi các thủ tục Proc, tạo và thực thi các Trigger, tạo người dùng và phân quyền
người dùng, ….
1)
*Cấu trúc quyển báo cáo:
1. Trang bìa: Tên đề tài, tên nhóm (gồm cả họ tên các thành viên của nhóm), tên lớp.
2. Mục lục.
3. Giới thiệu đề tài.
4. Phát biểu bài tốn
5. Mơ hình CSDL và tạo CSDL – tạo và chỉnh sửa các bảng
6. Các đối tượng CSDL gồm: View, Proc, Trigger
7. Phân quyền
và bảo mật
CSDL 8. …
9. Kết luận, hướng phát triển tiếp theo
10. Tài liệu tham khảo


I.


PHÁT BIỂU BÀI TOÁN
Quản lý cửa hàng điện thoại gồm các thơng tin sau:
Một cửa hàng điện thoại sẽ có nhiều loại điện thoại khác nhau: Mỗi loại điện
thoại đều có một mã điện thoại, và là 1 mã duy nhất, kèm theo điện thoại sẽ có các
thơng tin Tên điện thoại, số lượng trong kho, đơn vị tính, Tên Hãng, và đơn giá
bán
Trong cửa hàng sẽ có nhân viên bán và tư vấn điện thoại cho khách hàng: Mỗi
nhân viên đều được quản lý theo mã nhân viên, các thông tin của nhân viên gồm
tên nhân viên, địa chỉ, số điện thoại, ngày sinh, giới tính đều được quản lý.
Các khách hàng tới mua đều có lưu lại thơng tin: Mỗi một khách hàng có một
mã khách hàng, thơng tin khách hàng được lưu lưu lại để cho việc CSKH thuận
tiện: Tên khách hàng, địa chỉ, số điện thoại, loại khách hàng)
Khi khách hàng mua sản phẩm sẽ có hóa đơn đi kèm, trong hóa đơn có các
thơng tin người mua (khách hàng), người bán (nhân viên), ngày đặt hàng, và tổng
tiền hóa đơn.
II. XÁC ĐỊNH CTDL BIỂU DIỄN BÀI TỐN
Dữ liệu thơng tin được lưu vào chương trình
Đối tượng và thông tin cần quản lý:
- tblDienThoai (MaĐT, TenĐT, SoLuong,DVT,TenHang,DonGia)
- tblKhachHang (MaKH,TenKH,DiaChi,SDT,LoaiKH)
- tblNhanVien (MaNV,TenNV,DiaChi,SDT,NgaySinh,GioiTinh)
- tblHoaDon (MaHD,NgayDatHang,MaKH,MaNV,TongTien)
- tblCTHoaDon(MaCTHD,MaHD,MaĐT,SoLuong,ThanhTien,
TongThanhTien)
*Các bảng được xác định cấu trúc như sau:
tblDienThoai
ST
T
1
2

3
4
5
6

Tên thuộc tính

Kiểu dữ liệu

Ràng Buộc

Ghi chú

MaĐT
TenĐT
SoLuong
DVT
TenHang
DonGia

Nvarchar(50)
Nvarchar(255)
Int
Nvarchar(50)
Nvarchar(50)
Float

PK

Mã điện thoại

Tên điện thoại
Số lượng
Đơn vị tính
Tên hãng
Đơn giá

Tên thuộc tính

Kiểu dữ liệu

Ràng Buộc

Ghi chú

MaKH

Nvarchar(50)

PK

Mã khách hàng

tblKhachHang
ST
T
1


2
3

4
5

ST
T
1
2
3
4
5
6

TenKH
DiaChi
SDT
LoaiKH

Nvarchar(255)
Nvarchar(255)
varchar(10)
Nvarchar(255)

Tên khách hàng
Địa chỉ
Số điện thoại
Loại khách hàng

tblNhanVien:
Tên thuộc tính


Kiểu dữ liệu

Ràng Buộc

Ghi chú

MaNV
TenNV
DiaChi
SDT
NgaySinh
GioiTinh

Nvarchar(50)
Nvarchar(255)
Nvarchar(255)
varchar(10)
DateTime
Nvarchar(4)

PK

Mã nhân viên
Tên nhân viên
Địa chỉ
Số điện thoại
Ngày sinh
Giới tính

Ghi chú


tblHoaDon
ST
T
1
2
3

Tên thuộc tính

Kiểu dữ liệu

Ràng Buộc

MaHD
NgayDatHang
MaKH

Nvarchar(50)
DateTime
Nvarchar(50)

PK

4

MaNV

Nvarchar(50)


5

TongTien

Float

Mã hóa đơn
Ngày đặt hàng
FK (tham chiếu sang Mã khách hàng
bảng tblKhachHang)
FK (tham chiếu sang Mã nhân viên
bảng tblNhanVien)
Tổng Tiền

tblCTHoaDon
ST
T
1

Tên thuộc tính

Kiểu dữ liệu

Ràng Buộc

MaCTHD

Nvarchar(50)

PK


2

MaHD

Nvarchar(50)

3

MaĐT

Nvarchar(50))

4
5
6

SoLuong
ThanhTien
TongThanhTien

Int
Float
Float

Ghi chú

Mã chi tiết hóa
đơn
FK (tham chiếu sang Mã hóa đơn

bảng tblHoaDon)
FK (tham chiếu sang Mã điện thoại
bảng tblDienThoai)
Số lượng
Thành tiền
Tổng thành tiền



III. XÁC ĐỊNH THUẬT TOÁN
Các chức năng cần đạt được:
 Nhập dữ liệu
 Đọc file
 Xuất file
 Tìm kiếm
 Sửa
 Xố
 Thống kê
 Tính tốn
Các thuật tốn được sử dụng:
 Thuật tốn tìm kiếm
 Thuật tốn sắp xếp
IV. LẬP TRÌNH – CÀI ĐẶT

Dùng lệnh Create Database + với tên để tạo cơ sở dữ liệu

Dùng lệnh Create Table + Tên để tạo một bảng


Dùng lệnh Insert Into để thêm dữ liệu vào bảng

Dùng lệnh Select * From + tên bảng để xem dữ liệu đã thêm vào

Tất cả các bảng khi được tạo xong

Dùng lệnh Create View + tên để tạo view.


Đây là view danh sách khách hàng

View danh sách nhân viên

View danh sách nhân viên có giới tính là Nam

View danh sách nhân viên có giới tính là Nữ

View danh sách điện thoại theo tên hãng

View danh sách hóa đơn có số tiền trên 10 triệu

View tính tổng số hóa đơn đã lập của từng nhân viên


View tính tổng số hóa đơn đã lập của nhân viên trong ngày đã cho

View danh sách khách hàng theo loại khách hàng VIP

View danh sách nhân viên có địa chỉ là HCM

View danh sách nhân viên có năm sinh là 2000


Đây là tất cả các view đã được tạo


Dùng lệnh Create Proc + tên để tạo Procedure cho CSDL

Kết quả khi thực hiện: đã thêm được nhân viên có ID là NV0008


Proc xóa nhân viên khỏi bảng tblNhanVien

Kết quả sau khi thực hiện: đã xóa đi nhân viên có ID là NV0008

Proc đếm số hóa đơn có tổng tiền lớn hơn hoặc bằng 10 triệu

Kết quả sau khi thực hiện: Sẽ hiển thị ra list hóa đơn và đếm được số hóa đơn
có giá tiền lớn hơn hoặc bằng 10 triệu


Tạo Proc để list ra những hóa đơn nào mà nhân viên đó làm theo ID của nhân
viên được truyền vào

Kết quả sau khi thực hiện: Sau khi tìm số hóa đơn mà nhân viên có ID là
NV0003 thì đã list ra được 2 hóa đơn.

Tạo Proc sửa sản phẩm


Kết quả sau khi thực hiện: nếu ID truyền vào là đúng thì khi sửa sẽ trả ra thơng
báo sửa thành công và ngược lại.



Nếu ID truyền vào sai sẽ báo lỗi không tồn tại

Dùng lệnh Create trigger + tên để tạo một Trigger
Tạo trigger thêm dữ liệu trong bảng chi tiết hóa đơn.
VD: nếu SP0001 có số lượng ban đầu là 10 thì khi mua sản phẩm đó với số
lượng là 3 thì sẽ update lại số lượng của SP = 7

Kết quả khi thực hiện: kết quả là bảng sản phẩm ban đầu có số lượng là 10 sẽ
thay đổi thành 8


Tạo trigger cập nhật dữ liệu trong bảng QuanAo
VD: nếu SP0001 là 10 thì khi mua sản phẩm đó với số lượng là 3 thì sẽ update
lại số lượng của SP = 7.
Trong trường hợp này là hủy đơn hàng khi khơng muốn mua hàng nữa thì số
lượng sẽ cập nhật từ 7 thành 10

Kết quả khi thực hiện: bảng sản phẩm ban đầu có số lượng là 6 và bảng chi tiết
hóa đơn có ID = CTH04 có số lương =2. Sau khi thực hiện xóa đơn hàng thì
bảng sản phẩm sẽ thay đổi số lượng từ 6 -> 8 và hóa đơn kia cũng mất đi



Tạo Insert trigger nhằm đảm bảo khi nhập mới thông tin nhân viên bắt buộc phải
nhập những thông tin cần thiết (cách gọi khác là Validation)

Kết quả sau khi thực hiện: Khi thêm mới nhân viên mà để trống dữ liệu bắt
buộc thì sẽ báo lỗi như hình bên dưới.


Tạo trigger sửa thơng tin khách hàng có ràng buộc địa chỉ:

Kết quả đạt được: thêm mới một sản phẩm mới trùng tên với sản phẩm có trước
đó sẽ báo lỗi ‘Sản phẩm đã tồn tại’


Tạo trigger đếm số lượng giới tính nam và nữ của nhân viên khi thực hiện thao
tác
thêm
mới
nhân
viên.

Kết quả sau khi thực hiện: khi thêm mới một nhân viên thì sẽ list ra tổng số
lượng giới tính nam & nữ có trong dữ liệu.

Tạo Account và phân quyền
Tạo 2 account Login: 2 account này chỉ đăng nhập được nhưng không cho phép
xem CSDL


Sử dụng account Duy123 để đăng nhập và truy cập vào csdl đã tạo nó sẽ báo lỗi

Đây là cách tạo account có quyền cao nhất

Dùng account adminlogin có quyền cao nhất để đăng nhập thì sẽ truy cập được
vào database, thao tác được table, view và proc đã tạo.


Tạo user

Tạo 2 user từ Login. User này chỉ thao tác được với 1 bảng và 1 view cho phép



×