Các vấn đề trong phạm vi quản lý bao gồm nhà cung cấp, sản phẩm, hóa đơn, dòng sản phẩm và khách hàng.. Từ các hóa đơn có thể tìm thấy thông tin về sản phẩm, nhà cung cấp và khách hàng c
Trang 1Học viện công nghệ Bưu chính viễn thông
Lớp: D10CN1
BÀI TẬP LỚN
Môn: Cơ sở dữ liệu
Giảng viên: Nguyễn Minh Hải
ĐỀ TÀI
Cơ sở dữ liệu quản lý:
“Việc bán hang của công ty”
Trang 2I, Mô tả bài toán:
Bài toán đặt ra là quản lý bán hàng của công ty Các vấn đề trong phạm vi quản
lý bao gồm nhà cung cấp, sản phẩm, hóa đơn, dòng sản phẩm và khách hàng Thông qua đó có thể lập các hóa đơn Từ các hóa đơn có thể tìm thấy thông tin về sản phẩm, nhà cung cấp và khách hàng cũng như giá cả và các thông tin cần thiết khác
Các thông tin về khách hàng cần nắm được họ tên, tên viết tắt, các khoản vay nợ đối với công ty, số điện thoại
Thông tin về nhà cung cấp bao gồm tên hãng, mã nhà cung cấp, địa chỉ liên hệ, ,
số điện thoại, tình trạng của nhà cung cấp ra sao và đơn đặt hàng với nhà cung cấp đó là
gì, có thể có nhà cung cấp không cung cấp mặt hàng nào cả Một hãng cũng có thể cùng lúc cung cấp nhiều loại mặt hàng
Thông tin về sản phẩm phải nắm được là mô tả sản phẩm, mã sản phẩm, ngày nhập về, ngày giao cho khách hàng, giá bán sản phẩm, giảm giá bao nhiêu phần trăm, nhà cung cấp sản phẩm đó là ai, có những sản phẩm không do nhà cung cấp nào cung cấp mà do công ty tự làm ra hoặc được cung cấp bằng những cách thức khác
Thông tin về hóa đơn bao gồm mã hóa đơn, khách hàng mua, ngày mua và các sản phẩm được mua Mỗi hóa đơn có thể có nhiều dòng, trong mỗi dòng của hóa đơn có chứa thông tin về tên sản phẩm, đơn vị, số lượng và giá cả Một sản phẩm có thể tìm thấy ở nhiều dòng trong một hóa đơn
II, Xác định các đối tượng thực thể:
các thực thể:
Khách hàng: Thực thể khách hàng dùng để lưu thông tin của các khách hàng, bao gồm các thuộc tính:
Trang 3- Mã khách hàng
- Tên khách hàng
- Tên viết tắt
- phone
- Địa chỉ
Hóa đơn: Thực thể hóa đơn lưu thông tin để thể hiện các yêu cầu trả tiền của khách hàng, bao gồm các thuộc tính như:
- Khách hàng mua
- Ngày mua
Nhà cung cấp: Thực thể nhà cung cấp dùng để lưu thông tin của các nhà cung cấp bao gồm các thuộc tính như:
- Mã nhà cung cấp
- Tên nhà cung cấp
- Địa chỉ
- phone
Line: Thực thể dòng để lưu thông tin các dòng trong các hóa đơn bao gồm các thuộc tính như:
- Tên sản phẩm
- Số lượng
- Giá bán
Sản phẩm: Thực thể sản phẩm lưu thông tin về các mặt hàng, bao gồm các thuộc tính chính như:
- Mã sản phẩm
- Tên sản phẩm
- Ngày nhập
- Ngày bán
- Giá bán
- Giảm giá(nếu có)
- Nhà cung cấp(nếu có)
Trang 4III, Mô hình E-R
Sản phẩm
Nhà cung cấp
Line
Có
Số lượng
STT dòng
Giá bán
Chứa Tên NCC
Địa chỉ
Ngày bán Giá bán
Giảm giá Nhà cung cấp
Cung cấp
Trong
Tên sản phẩm
Tên sản phẩm
Khách hàng
Tên khách hàng
Tên thay thế
Địa chỉ
Mã khách hàng
phone
Hóa đơn
Mã hóa đơn
Mã khách hàng
Ngày mua
Phone
Trang 5IV, Chuyển thực thể liên kết sang lược đồ quan hệ
Mã nhà cung cấp Tên nhà cung cấp Địa chỉ Phone
Mã sản
phẩm
Tên sản phẩm
Ngày nhập Ngày bán Giá bán Giảm giá Mã Nhà
cung cấp
STT dòng Tên sản phẩm Giá bán Số lượng Mã sản phẩm Mã hóa đơn
Mã hóa đơn Ngày mua Mã khách hàng
Mã khách hang Tên khách hang Tên thay thế Địa chỉ Phone
Trang 6V, Thực hiện lược đồ quan hệ bằng MySQL
Trang 7Thực hiện 10 câu truy vấn
1 Cho biết tên các nhà cung cấp có địa chỉ ở Hà Nội
Kq = π(Tên nhà cung cấp)( (Địa chỉ = “Hà Nội”) )(Nhà cung cấp))
2 Cho biết tên các khách hàng có địa chỉ ở Hà Nội
Kq = π(Tên khách hàng)( (Địa chỉ = “Hà Nội”)(P) )(Khách hang))
3 Cho biết tên các sản phẩm có trong công ty và giá bán của nó
Kq = π(Tên sản phẩm,Giá bán)
4 Cho biết tên các sản phẩm được bán vào ngày 20/10
Kq = π(Tên sản phẩm)( (Ngày bán = 20/10)(P) (Sản phẩm))
5 Cho biết tên các sản phẩm có giá bán từ 200000 đến 300000
Kq = π(Tên sản phẩm)( (Giá bán>= 200000) AND (Giá bán<=300000 (Sản phẩm))
6 Cho biết tên các sản phẩm đc nhập ngày 12/12
Kq = π(Tên sản phẩm)( (Ngày nhập=12/12) (Sản phẩm))
7 Cho biết tên các sản phẩm được cung cấp bởi nhà cung cấp A
Kq = π(Tên sản phẩm)( (Nhà cung cấp = “A”) )
8 Liệt kê các khách hang mua sản phẩm với số lượng từ 5 trở lên
Kq = π(Tên khách hàng)( (Số lượng>=5))
9 Cho biết tên các khách hang mua hang ngày 20/10 với số lượng từ 3 trở lên
Trang 8Kq = π(Tên khách hàng)( (Ngày mua = 20/10) AND (Số lượng>=3))
10 Cho biết tên các khách hang ở Hà Nội mua hàng vào ngày 20/10
Kq = π(Tên khách hàng)( (Địa chỉ = “Hà Nội”) AND (Ngày mua=20/10))
VI, Thực hiên 10 câu truy vấn bằng ngôn ngữ MySQL
1 Cho biết các nhà cung cấp có địa chỉ ở Hà Nội
SELECT Tên nhà cung cấp
FROM Nhà cung cấp
WHERE Địa chỉ=’Hà Nội’
2 Cho biết tên các khách hang có địa chỉ ở Hà Nội
SELECT Tên khách hang
WHERE Địa chỉ =’ Hà Nội’
3 Cho biết các sản phẩm có trong công ty và giá bán của nó SELECT Tên sản phẩm,Giá bán
FROM Sản phẩm
WHERE Tên sản phẩm AND Giá bán
4 Cho biết các sản phẩm bán ngày 20/10
SELECT Tên sản phẩm
FROM Sản phẩm
WHERE DATE(Ngày bán)=”20” AND MONTH(Ngày bán)=”10”)
5 Cho biết tên các sản phẩm có giá bán từ 200000 đến 300000 SELECT Tên sản phẩm
Trang 9FROM Sản phẩm
WHERE Giá bán BETWEEN 200000 AND 300000
6 Cho biết tên các sản phẩm được nhập ngày 12 tháng 12
SELECT Tên sản phẩm
FROM Sản phẩm
WHERE DATE(Ngày nhập)=’12’ AND MONTH(Ngày nhập)=’12’
7 Cho biết tên các sản phẩm được cung cấp bởi nhà cung cấp A SELECT Tên sản phẩm
FROM Sản phẩm
WHERE Sản phẩm.Mã nhà cung cấp=’A’
8 Liệt kê các khách hang mua hàng với số lượng là 5 trở lên SELECT Tên khách hang
FROM Khách hang,
WHERE Line.Số lượng>=5
9 Cho biết tên các khách hang mua hang ngày 20/10 với số
lượng là 3 trở lên
SELECT Tên khách hang
FROM Khách hang
WHERE Line.Số lượng>=3 AND DATE(Ngày bán)=’20’ AND
MONTH(Ngày bán)=’10’
hang ở Hà Nội mua hang ngày 20/10
SELECT Tên khách hang
Trang 10FROM Khách hang
WHERE Địa chỉ=’Hà Nội’ AND DATE(Ngày bán)=’20’ AND MONTH(Ngày bán)=’10’