Bài thảo luận xây dựng CSDL quản lý cửa hàng mĩ phẩm cho các sinh viên học môn Cơ Sở Dữ Liệu. Tài liệu gồm các phần : mô tả bài toán, mô hình thực thể liên kết(mô hình ER), chuyển đổi mô hình ER sang mô hình quan hệ, bảng tổng kết quan hệ sau khi chuyển đổi, bảng thực thể và quan hệ giữa các thực thể được tạo trên phần mềm SQL, và cuối cùng là các câu truy vấn cơ sở dữ liệu từ các bảng đó. Chúc các bạn làm bài tốt.
Trang 1BÀI THẢO LUẬN: : TRUY VẤN CƠ SỞ DỮ LIỆU VỀ QUẢN LÝ BÁN HÀNG
1 Đặt bài toán
Bài toán xây dựng CSDL quản lý cửa hàng mĩ phẩm
Cửa hàng chuyên bán các loại mĩ phẩm của các hãng trong và ngoài nước
Mỗi sản phẩm đều có mã sản phẩm, tên sản phẩm, dòng sản phẩm cho loại danào, giá bán Các sản phẩm được cung cấp thông qua phiếu nhập hàng, các sảnphẩm đều có phiếu nhập từ công ty
Thông tin về công ty: Mã công ty, tên, địa chỉ, số điện thoại, số fax Các sảnphẩm được nhập thông tin qua các phiếu nhập, các phiếu lưu trữ lại số lượng sảnphẩm và tên các dòng sản phẩm Một công ty cung cấp nhiều sản phảm và một sảnphẩm được cung cấp từ nhiều công ty cung cấp
Mỗi phiếu nhập có ghi: mã phiếu nhập, người nhập, các mã sản phẩm, tênsản phẩm Cửa hàng được phân thành nhiều gian khác nhau thông qua các dòngsản phẩm và hãng khác nhau được bày bán trong gian hàng
Thông tin về gian hàng: mã gian hàng, tên gian hàng (dòng sản phẩm, tênthương hiệu) Tại mỗi gian hàng đều có một nhân viên làm việc và cả cửa hàng cómột nhân viên quản lý giám sát
Để theo dõi và quản lý nhân viên làm việc tại cửa hàng: thực hiện thêm mớivào danh sách khi có nhân viên mới được tuyển, sửa đổi thông tin khi có nhữngbiến đổi xảy ra và xóa bỏ nhân viên khi hết hợp đồng hoặc bị sa thải Các nhânviên có thông tin bao gồm: Mã nhân viên, họ và tên và số điện thoại cá nhân Mỗi khách hàng tới mua đều được cấp hóa đơn và mã khách hàng qua căncước công dân, mỗi hóa đơn chứa: mã hóa đơn, tên sản phẩm mua, số tiền và sốlượng mua; mã khách hàng lưu lại số lần mua và tổng số tiền mua Cửa hàng lưulại số lượng các đối tượng được hưởng khuyến mại và số tiền khuyến mại trongngày Để trở thành khách hàng thân thiết cần có ít nhất 2 lần mua và tổng tiền mua
là trên 1 triệu 8
Mỗi khách hàng đến cửa hàng tới mua sản phẩm đều được hưởng khuyến mạicủa cửa hàng với các mức như sau: giảm 15% với những khách hàng đầu tiên,giảm 25% cho khách hàng với hóa đơn trên 1 triệu 500, giảm 30% với khách hàngthân thiết luôn có hóa đơn trên 2 triệu trở lên Thông tin được lưu lại trên các hóađơn và trên hệ thống khách hàng của cửa hàng: mã hóa đơn (mã đối tượng: %được giảm) Thông tin khách hàng trên hệ thống: mã khách hàng, họ tên, số điệnthoại, địa chỉ
Việc quản lý các mặt hàng mỹ phẩm như sau: nhân viên thường xuyên cập nhật, mua vào những mặt hàng mới từ công ty thông qua phiếu nhập Khi mỹ phẩm đã quá cũ hoặc không còn giá trị sử dụng thì nhanh chóng hạ giá, thanh lý Khi cần thiết có thể sửa chữa thông tin Ngoài ra, cuối mỗi tháng cửa hàng cũng tạo các báo cáo thống kê về số lượng mặt hàng mỹ phẩm đã bán, doanh thu trong tháng và báo cáo về mỹ phẩm được yêu thích mua nhiều
Trang 22 Mô hình thực thể liên kết(mô hình ER)
2.1 Xác định thực thể và thuộc tính
Thuộc tính tên gọi Thực thể Thuộc tính và định danh
phẩm, Dòng, GiáNhà cung cấp NHÀ CUNG CẤP Mã công ty, Tên,Số điện
thoại, Địa chỉ, Fax
Mã sản phẩm, Tên sản phẩm
Trang 53 Chuyển đổi mô hình ER sang mô hình quan hệ
Trang 6Chuyển đổi theo qui tắc dựa trên mối liên kết 1-1:
Trang 104 Bảng thực thể và quan hệ giữa các thực thể
*Bảng khách hàng
*Bảng hóa đơn
*Bảng gian hàng
Trang 11*Bảng nhà cung cấp
*Bảng phiếu nhập
*Bảng nhập
Trang 12*Bảng nhân viên
*Bảng sản phẩm
Trang 13
*Quan hệ giữa các thực thể
5 Truy vấn trong hệ quản trị cơ sở dữ liệu
Cho biết họ tên khách hàng và số tiền với điều kiện có số tiền trên 1000000
ĐSQH:
ΠHoten (σSotien>1000000 (Khachhang*Hoadon))
SQL:
SELECT Hoten, Sotien
FROM Khachhang, Hoadon
Trang 14WHERE Khachhang.Mahoadon = Hoadon.Mahoadon Anh Hoadon.Sotien>1000000;
Hiển thị thông tin về khách VIP
Trang 15 Liệt kê tên sản phẩm và giá với điều kiện giá của sản phẩm lớn hơn 200000 và kết quả được sắp xếp theo thứ tự tăng dần của giá.
ĐSQH: π Tensanpham, Gia (σ Gia>200000 (Sanpham))
SQL: SELECT Tensanpham, Gia
FROM Sanpham
WHERE Gia>200000
ORDER BY Gia ASC;
Trang 16
Đếm tổng số nhân viên làm việc trong cửa hàng
ĐSQH: ∃COUNT( Manhanvien ) ( Nhanvien )
SQL: SELECT COUNT ( Manhanvien ) as Tongsonhanvien FROM Nhanvien;
Trang 17
Liệt kê người nhập sản phẩm từ công ty có mã công ty là 3BA432
ĐSQH: πNguoinhap ( σMacongty = “3BA432” (Nhap * Phieunhap)
SQL: SELECT Nguoinhap
FROM Nhap, Phieunhap
WHERE Nhap.Manhap = Phieunhap.Manhap and Nhap.Macongty= ‘3BA432’;
Trang 18 Liệt kê tên sản phẩm có giá trên 400000ĐSQH: π Tensanpham ( σ Gia>400000 ( Hoadon))SQL: SELECT Tensanpham
FROM Hoadon
WHERE Gia>400000;
Trang 19 Liệt kê tên sản phẩm, mã sản phẩm của sản phẩm thuộc dòng tóc.ĐSQH: πTensanpham, Masanpham ( σDong= “Tóc”(Sanpham))
SQL: SELECT Tensanpham, Masanpham
FROM Sanpham
WHERE Dong= ‘Tóc’;
Trang 20 Liêt kê ra danh sách họ tên nhân viên đã bán sản phẩm cho da và giá bán bé hơn 1.000.000
ĐSQH: πHoten (σ(Dong=”da”)^(Gia<1.000.000)(Sanpham*Nhanvien)
SQL:
SELECT: Hoten
FROM: Sanpham, Nhanvien
WHERE Sanpham.Manhanvien=Nhanvien.Manhanvien and
Sanpham.Dong= ‘Da’ and Sanpham.Gia<1000000;