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 hang cũng như giá cả và thông tin cần thiết khác.. Hóa đơn Thực thể hóa đơn lưu trữ thông tin để thể hiện các
Trang 1BÁO CÁO
MÔN : CƠ SỞ DỮ LIỆU
Họ và tên: Vũ Đức Trọng
Lớp: D10CN1
Trang 2I Mô tả bài toán
Bài toán đặt ra là quản lý bán hàng của doanh nghiệp 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 hang 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 hang cũng như giá cả và 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, địa chỉ, số điện thoại Thông tin về nhà cung cấp bao gồm tên hãng, địa chỉ lien hệ, số điện thoại
Thông tin 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, nhà cung cấp sản phẩm 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 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ể:
a Khách hàng:
Trang 3Thực thể khách hàng dung để lưu thông tin của khách hàng, bao gồm các thuộc tính:
- Tên họ
- Số điên thoại
- Địa chỉ
b Hóa đơn Thực thể hóa đơn lưu trữ 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ã
- ngày mua
- tên khách hàng
- mã sản phẩm
- tên sản phẩm
- số lượng
- nhà cung cấp
c Nhà cung cấp Thực thể nhà cung cấp dung để 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
- địa chỉ
- số điện thoại
- giá
- sản phẩm
d Sản phẩm:
Trang 4Thự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 như
- mã
- Tên
- Giá bán
- Giá nhập
- Nhà cung cấp
- Tình trạng
Trang 5III Mô hình E-R
Khách hàng
Sản phẩm
Hóa Đơn
Giá nhập
Nhà cung cấp
Cung cấp
Tên Địa chỉ Sđt
Giá bán
Gồm
Ngày
Mã
Tình trạng
Giá
Số lượng
Địa chỉ
Họ tên
Sđt
Tên
Mã
Tình trạng
Của
1
N
N
N
N
1
Trang 6IV.Chuyển đổi từ mô hình E-R sang mô hình lược đồ quan hệ
Khách hàng Nhà cung cấp
Hóa đơn
Sản phẩm
Trang 7V 10 câu truy vấn
S = Khách mua hàng (s#, Tên, Tuoi,SDT, Nghề nghiệp)
C =Hợp đồng(c#, Số lượng, Thời gian)
P = Sản phẩm(p#, Giá cả, Địa chỉ,điều kiện)
T= nhà cung cấp(p#,s#,Tên,SDT,Đia chi)
Trang 8Ví dụ truy vấn 1: Tìm tên của tất cả các khách mua hàng hiện đang la sinh
viên Cách tiếp cận truy vấn này như sau:
- Đầu tiên chọn tất cả các khách mua hàng nghề nghiệp:SV
r = (nghề nghiệp=SV)(S)
- Tiếp đến chiếu kết quả trên lên thuộc tính Họ Tên:
result = ( Tên)(r)
Biểu thức truy vấn hoàn chỉnh là:
result = (Tên)((nghề nghiệp=SV)(S))
Ví dụ truy vấn 2: Tìm số hiệu khách mua hàng s# và tên của tất cả các
khách hàng được trên 7 tháng Cách tiếp cận truy vấn này như sau:
- Đầu tiên chọn tất cả khách hàng đã mua được trên 7 tháng
r = (thời gian mua hàng> 7)(S)
- Tiếp đến chiếu kết quả trên lên thuộc tính mã hiệu khách mua hàng
và tên khách hàng
result = (s#, Tên)(r) Biểu thức truy vấn hoàn chỉnh là
result = (s#, Tên)((Thời gian mua hàng > 7)(S))
Ví dụ truy vấn 3 Tìm tên của tất cả các khách hàng trên 18 tuổi mà đã mua hàng đươc trên 5 tháng Cách tiếp cận truy vấn này như sau:
- Đầu tiên chọn tất cả các khách hàng trên 18 tuổi mà đã mua hàng đươc trên 5 tháng
r = ((Thời gian mua hàng> 5) AND (Tuổi > 18))(S)
- Tiếp đến chiếu kết quả trên lên thuộc tính tên sinh viên
result = (Tên)(r) Biểu thức truy vấn hoàn chỉnh là:
Trang 9result = (Tên)(((Thời gian mua hàng>5) AND (Tuổi >18))(S))
Ví dụ truy vấn 4: Tìm mã của tất cả các khách hàng ở khu vực Ba Đình-Hà
Nội hoặc khu vực Hà Đông-Hà Nội Cách tiếp cận truy vấn này như sau:
- Đầu tiên lựa chọn tất cả các khách hàng ở Ba Đình-HN hoặc ở Hà Đông-HN
r = ((Địa chỉ=Ba Đình-HN) or (Địa chỉ=Hà Đông-HN))(P))
- Tiếp đó chiếu kết quả trên lên thuộc tính tên
result = (Mã)(r) Biểu thức truy vấn hoàn chỉnh là:
result = (Mã)((( Địa chỉ=Ba Đình-HN) or (Địa chỉ=Hà Đông-HN))(P))
Ví dụ truy vấn 5: Tìm mã của tất cả các sản phẩm đã được mua vào tháng 8
năm 2010 Cách tiếp cận truy vấn như sau:
Biểu thức truy vấn hoàn chỉnh là:
result = (P.Mã)(((Thời gian mua hàng=Thang 8 nam 2010) (P S))
Ví dụ truy vấn 6: Tìm tên của tất cả các sản phẩm đã mua cùng vao tháng 2
năm 2012 mà ở cùng 1 nhà cung cấp ở Hà Nội:
Biểu thức truy vấn hoàn chỉnh là:
result = (S.Tên)(((Thời gian mua hàng = T2-2012) AND (T.Địa chỉ.=Ha Nội) AND (S.s# = Tên.s#) AND (P.p# =Địa
chỉ p#) AND (Thơi gian.c# = Thơi gian.c#) (S P T))
Trang 10Ví dụ truy vấn 7: Tìm tên của tất cả các nhà cung cấp hoặc ờ Hà Nội hoặc ở
Hồ Chí Minh
Biểu thức truy vấn hoàn chỉnh là:
result = [(Tên)((Địa chỉ=Hà Nội)(T))] [(Tên)((Đia chỉ= Hô CHí Minh)(T))] hoặc
result = (Tên)((( Địa chỉ=Hà Nội) OR (Đia chỉ= Hô CHí Minh))(P))
Ví dụ truy vấn 8: Liệt kê các sản phẩm có giá là 1 triệu 5 trăm nghìn
Ví dụ truy vấn 9:Tìm tất cả mã của các nhà cung cấp ma có địa chỉ ơ Từ
Liêm-Hà Nội hoặc số lượng sản phẩm trên 1000
[(T#)((Địa Chỉ=Từ Liêm-Hà Nội)(T))] [(T#)((gi>1000)(T))]
Ví dụ truy vấn 10:Liệt kê tên của các nhà cung cấp mà có giá sản phẩm có
giá 2 triệu
VI Các Phụ thuộc hàm F trên từng lược đồ
1.Xác định các phụ thuộc hàm:
- Lược đồ quan hệ khách hàng:Ω={HT,ĐC,SĐT#}
Trong đó: HT:họ tên
)))) ( (
) ( (
)
)) (
Trang 11ĐC: địa chỉ khách hàng
SĐT#:thộc tính khóa số điện thoại khách hàng
Tập các phụ thuộc hàm của lược đồ quan hệ trên là:
F={(HT,ĐC) ->SĐT#,ĐC->HT,SĐT#->HT}
*Chuẩn hóa về dạng 3NF:
-Lược đồ quan hệ sản phẩm :Ω={MA#,TEN,GN,GB,ĐĐ, CC,TT} Trong đó:
MA#:thuộc tính khóa mã sản phẩm
TEN:tên sản phẩm
GN:giá nhập vào của sản phẩm
GB:giá bán ra sản phẩm
ĐĐ:đặc điểm của sản phẩm
CC:sự cung cấp cho sản phẩm(nhập ngoài hay tự sản xuất)
TT: tình trạng của sản phẩm
Tập các phụ thuộc hàm là:
F={MA# ->(TEN,GB,GN,ĐĐ,CC,TT),ĐĐ->(CC,TT)}
HT
ĐC SĐT#
Trang 12*Chuẩn hóa về dạng 3NF
-Lược đồ quan hệ nhà cung cấp: Ω={TEN,ĐC,SĐT #,SP,GIA} Trong đó:
+TEN:tên nhà cung cấp
+ĐC:địa chỉ của nhà cung cấp
+SĐT#: số điện thoại (thuộc tính khóa)
+SP:sản phẩm cung cấp
+GIA:giá của sản phẩm
Tập các phụ thuộc hàm:F={TEN->(ĐC,SĐT#),SP->GIA}
*Chuẩn hóa 3NF
MA#
ĐĐ
CC
TT
Trang 13-Lược đồ quan hệ Hóa đơn: Ω={mã#,ngày,tên khách hàng,mã sản phẩm,tên sản phẩm,số lượng,nhà cung cấp,giá cả,tình trạng.}
Trong đó:
+MA#:mã hóa đơn
+TKH:tên khách hàng
+MSP:mã sản phẩm
+TSP:tên sản phẩm có trong hóa đơn
+NCC:tên nhà cung cấp
+GIA: giá hàng trong hóa đơn
+TT: tình trạng của hóa đơn
Quy tắc:
Tập các phụ thuộc hàm là:
F={MA#->(TKH,GIA,TT),MSP->(TSP,NCC}
TEN
ĐC
SĐT#
Trang 14*Chuẩn hóa về 3NF
VII 10 câu truy vấn trong mySQL
SELECT TenKH
FROM Khachhang
WHERE Địa chỉ=Hà nội
Câu 2:Tìm số hiệu khách hàng s# và tên của tất cả các khách hàng đã mua hơn 10 hóa đơn:
SELECT Số hiệu khách hàng, TênKH
FROM Khachhang
WHERE Số lượng hóa đơn
Câu 3 : Tìm tên của tất cả các khách hàng dưới 20 tuổi mà đã mua nhiều hơn 50 hóa đơn
SELECT TênKH
FROM Khachhang
WHERE Soluonghoadon > 50 AND Tuoi < 20
MA#
TKH
GIA
TT
MSP
TSP
NCC
Trang 15Câu 4 : Tìm tên của tất cả các sản phẩm do nhà cung cấp ơ Hà Nôi hoặc nhà cung cấp ơ Hô Chi
Minh sản xuất
SELECT TênSP
FROM Nhacungcap
WHERE Diachi=Hanoi OR Diachi = HoChiMinh
Câu 5 :Tìm tên của tất cả các khách hàng đã mua hàng vao tháng 8 năm 2012
SELECT TênKH
FROM NhaSanXuat, Khachhang
WHERE Thoigianmuahang = T8 nam 2012 AND
Khachhang.MaSP = Thoigian.MaSP
Câu 6 :Tìm tên của tất cả các khách hàng đã mua hàng trong tháng 7 năm 2012 bởi một nhà sản xuất
ơ Hà Nội
SELECT TênKH
FROM NhaSanXuat, Khachhang
WHERE Thoigian = t7 nam 2012 AND Dia Chi = Ha Noi AND
Khachhang.MaKH = Thoigian.MaKH AND
SanPham.MaSP = Diachi.MaSP
Câu 7 : Tìm tên của tất cả các nhà sản xuất ở Hà nội hoặc Hô chí Minh
SELECT TênSP
FROM NhaSX
WHERE Diachi=HaNoi OR Diachi=HoChiMinh
SELECT LoaiSP
FROM SanPham
WHERE GiaSP>=300000 AND GiaSP<=700000
SELECT TenKH
FROM Khachhang
Trang 16WHERE Gioitinh=1 AND year(Ngaysinh)<1970
SELECT TenKH
FROM Khachhang
YEAR(Ngaysinh) BETWEEN 1960 AND 1980