Tải bản đầy đủ (.pdf) (13 trang)

Tiểu luận môn cơ sở dữ liệu Quản lý cửa hàng tạp hóa

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 (382.21 KB, 13 trang )

Học viện công nghệ bưu chính viễn thông.



BÀI TẬP LỚN
MÔN : CƠ SƠ DỮ LIỆU

Đề tài: Quản lý cửa hàng tạp hóa.
Sinh viên: Lê Tung Hoành
Lớp : D10CN1









I: Phân tích bài toán.

Bài toán đặt ra là quản lý bán hàng của cửa hàng tạp hóa. Đòi hỏi quản lý
bao gồm nhà cung cấp, sản phẩm, hóa đơn, loại 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, địa chỉ , số
điện thoại.
Thông tin về nhà cung cấp bao gồm tên hãng, đị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ì. 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, ngày nhập về,
ngày giao cho khách hàng, giá bán sản phẩm, lợi nhuận của từng sản phẩm, nhà
cung cấp sản phẩm đó là ai.
Thông tin về hóa đơn bao gồm khách hàng mua, ngày mua và các sản phẩm
được mua, đơn giá, số lượng sản phẩm khách hàng mua.
II, Xác định các đối tượng thực thể:
1.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:
 Họ tên
 Địa chỉ
 Số điện thoại
2. 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ư:
 Mã hóa đơn
 Khách hàng mua
 ngày mua
 Tên sản phẩm
 Số lượng
 Đơn giá
3. 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ư:
 Tên
 Tên hàng

 Mã hàng.
 Địa chỉ
 Số điện thoại

4.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ư:

 Tên sản phẩm
 ngày nhập
 ngày bán
 giá nhập
 giá bán
 nhà cung cấp


III, Ánh xạ mô hình thực thể quan hệ ra mô hình cơ sở
dữ liệu quan hệ:
1, Mô hình E-R:





















Khách hàng

Hóa đơn

S

n ph

m

Nhà cung c

p

H
ọ tên
Đ
ịa chỉ
Số điện
thoại
Khách hàng
mua
Ngày mua
Tên sản
phẩm
Số lượng
Đơn giá
Ngày
bán

Nhà cung
cấp
Giá bán
Ngày
nhập
Giá nhập
Đ
ịa chỉ
Tên

Số điện
thoại
Tên sản
phẩm
Lưu
thông
tin

Chứa
C
ung
cấp
Tên mặt hàng
Mã hàng
Mã hóa đơn
2.Thiết kế cơ sở dữ liệu ở mức logic:



















Hóa đ
ơn

#
Mã hóa
đơn

Kh
ách hàng mua

Tên s

n ph

m


S




ng

Đ
ơn giá

Ngày mua

Khách hàng

#H


tên

Đ

a ch


S


đi

n tho


i

Nhà cung c

p

#Tên

Tên m

t hàng

Mã hàng

Đ

a ch


S


đi

n tho

i

S


n ph

m

#Tên s

n ph

m

Ngày nh

p

Ngày bán

Giá nh

p

Giá bán

Nhà cung c

p

3.Mô hình cơ sở dữ liệu quan hệ:



4. 10 câu lệnh truy vấn:
Ví dụ 1: Tìm tên tất cả các khách hàng có tên là Hoa.
- Đầu tiên chọn tất cả khánh hàng có tên là Hoa.
r = 
(Họ tên = “Hoa”)
(Khách hàng).
- Tiếp chiếu kết quả lên thuộc tính Họ tên:
result = 
(Họ tên)
(r).
- Câu truy vấn hoàn chỉnh là:
result = 
(Họ tên)
(
(Họ tên = “Hoa”)
(Khách hàng)).
Ví dụ 2: Tìm tên các mặt hàng của nhà cung cấp.
- Đầu tiên chọn các mặt hàng.
r = 
(Tên mặt hàng = “Mã hàng”)
(Nhà cung cấp)
- Tiếp chiếu kết quả lên thuộc tính Tên mặt hàng và Mã hàng.
result = 
(Tên mặt hàng, Mã hàng)
(r)
- Câu truy vấn hoàn chỉnh.
result = 
(Tên mặt hàng, Mã hàng)
(
(Tên mặt hàng = ”Mã hàng”)

(Nhà cung cấp))
Ví dụ 3: Tìm tên các khách hàng có địa chỉ ở Nguyễn Trãi.
- Đầu tiên chọn các khách hàng có địa chỉ ở trên.
r = 
(Địa chỉ = “Nguyễn Trãi”)
(Khách hàng)
- Sau đó ta chiếu kết quả lên thuộc tính tên.
result = 
(Họ tên)
(r)
- Câu truy vấn hoàn chỉnh.
result = 
(Họ tên)
(
(Địa chỉ = “Nguyễn Trãi”)
(Khách hàng))
Ví dụ 4: Tìm tên các sản phẩm nhập về ngày 20/12/2012.
- Đầu tiên ta chọn sản phẩm có ngày nhập về là 20/12/2012.
r = 
(Ngày nhập = “20/12/2012”)
(Sản phẩm)
- Sau đó ta chiếu kết quả lên thuộc tính tên sản phẩm .
result = 
(Tên sản phẩm)
(r)
- Câu truy vấn hoàn chỉnh .
result = 
(Tên sản phẩm)
(
(Ngày nhập = “20/12/2012”)

(Sản phẩm))
Ví dụ 5: Tìm tên sản phẩm nhập về có giá trên 100.000đ.
- Đầu tiên ta chọn Giá nhập trên 100.000đ.
r = 
(Giá nhập = “100.000đ”)
(Sản phẩm)
- Sau đó ta chiếu kết quả lên thuộc tính Tên sản phẩm.
result = 
(Tên Sản phẩm)
(r)
- Câu truy vấn hoàn chỉnh.
result = 
(Tên sản phẩm)
(
(Giá nhập = “100.000đ”)
(Sản phẩm))
Ví dụ 6: Liệt kê các hóa đơn có giá trị trên 3 triệu đồng.
- Đầu tiên ta chọn hóa đơn có giá trên 3 triệu đồng.
r = 
(Hóa đơn > 3 triệu)
(Hóa đơn)
- Sau đó ta chiếu kết quả lên thuộc tính Mã hóa đơn.
result = 
(Mã hóa đơn)
(r)
- Câu truy vấn hoàn chỉnh là:
result = 
(Mã hóa đơn)
(
(Hóa đơn > 3 Triệu)

(Hóa đơn))
Ví dụ 7: Tìm số lượng sản phẩm trên 20 mà khách hàng mua
- Câu truy vấn hoàn chỉnh.
result = 
(Tên sản phẩm)
(
(Số lượng>20)
(Sản phẩm))
Ví dụ 8: Tìm tên tất cả các sản phẩm nhập về có giá 3 triệu đồng hoặc trên 5
triệu đồng.
- Câu truy vấn hoàn chỉnh.
result = [
(Tên sản phẩm)
(
( Giá nhập = 3 Triệu)
(S))]  [
(Tên sản phẩm)
(
(Giá nhập = 5 Triệu)
(S))]
Ví dụ 9: Tìm tên tất cả các sản phẩm có giá bán trên 20 triệu.
- Câu truy vấn hoàn chỉnh
result = 
(Tên sản phẩm)
(
(Giá bán > 90)
(Sản phẩm))
Ví dụ 10: Tìm các sản phẩm được nhập về ngày 12/10/2012 hoặc 20/8/2012.
result = [
(Tên sản phẩm)

(
(Ngày nhập = 12/10/2012)
(Sản phẩm))]  [
(Tên sản phẩm)
(
(Ngày
nhập = 20/20/8/2012)
(Sản phẩm))]
5. Chuẩn hóa về dạng 3NF.
- Các quan hệ:
+ Khách hàng (Họ tên#, Địa chỉ, Số điện thoại).
Trong đó: Họ tên là thuộc tính khóa.
+ Hóa đơn (Mã hóa đơn#, Khách hàng mua, Tên sản phẩm, Số lượng, Đơn giá,
Ngày mua).
Trong đó : Mã hóa đơn là thuộc tính khóa.
+ Nhà cung cấp (Tên#, Mã hàng ,Tên mặt hàng, Địa chỉ, Số điện thoại)
Trong đó: Tên là thuộc tính khóa.
+ Sản phẩm (Tên sản phẩm#, Ngày nhập, Ngày bán, Giá nhập, Giá bán, Nhà cung
cấp).
Trong đó: Tên sản phẩm là thuộc tính khóa
- Cùng với các tập phụ thuộc hàm của chúng không gây ra vi phạm của dạng
chuẩn 3NF (một lược đồ quan hệ R ở dạng 3NF với tập phụ thuộc hàm F nếu
không có thuộc tính không khóa nào phụ thuộc hàm bắc cầu vào một khóa của R)
vì vậy lược đồ quan hệ trên đã ở dạng chuẩn 3NF.
6. Dịch các câu lệnh DSQH sang SQL.
Ví dụ 1: Tìm tên tất cả các khách hàng có tên là Hoa.
SELECT * FROM Khách hàng WHERE Họ tên= ‘Hoa’;
Ví dụ 2: Tìm tên các mặt hàng của nhà cung cấp
SELECT * FROM Nhà cung cấp WHERE Tên mặt hàng= Mã hàng;
Ví dụ 3: Tìm tên các khách hàng có địa chỉ ở Nguyễn Trãi.

SELECT * FROM Khách hàng WHERE Địa chỉ= ‘Nguyễn Trãi’;
Ví dụ 4: Tìm tên các sản phẩm nhập về ngày 20/12/2012.
SELECT * FROM Sản phẩm WHERE Ngày nhập=20/12/2012;
Ví dụ 5: Tìm tên sản phẩm nhập về có giá trên 100.000đ.
SELECT * FROM Sản phẩm WHERE Giá nhập=100.000đ;
Ví dụ 6: Liệt kê các hóa đơn có giá trị trên 3 triệu đồng.
SELECT * FROM Hóa đơn WHERE Hóa đơn=3triệu;
Ví dụ 7: Tìm số lượng sản phẩm trên 20 mà khách hàng mua
SELECT * FROM Sản phẩm WHERE Số lượng>20;
Ví dụ 8: Tìm tên tất cả các sản phẩm nhập về có giá 3 triệu đồng hoặc trên 5
triệu đồng.
SELECT * FROM Sản phẩm WHERE Giá nhập=3Triệu OR Giá nhập= 5Triệu;
Ví dụ 9: Tìm tên tất cả các sản phẩm có giá bán trên 20 triệu.
SELECT * FROM Sản phẩm WHERE GiaBan>20Triệu;
Ví dụ 10: Tìm các sản phẩm được nhập về ngày 12/10/2012 hoặc 20/8/2012.
SELECT * FROM Sản phẩm WHERE Ngày nhập=12/10/2012 OR Ngày
nhập=20/8/2012;





































×