Do công việc kinh doanh ngày càng phát triển nên công ty gặp khó khăn trong khâu quản lí nguồn cung, nhu cầu khách hàng và doanh số bán hàng của sản phẩm, đồng thời có nhiều khách hàng c
Trang 1Học viện công nghệ bưu chính viễn thông
BÁO CÁO
Môn học: Cơ sở dữ liệu
Đề tài: Ứng dụng MySql trong xây dựng trang web động
Họ tên: Nguyễn Đức Tùng
Lớp: D10CN1
Xây dựng ý tưởng:
Công ty thời trang Hanosimex chuyên bán nhiều chủng loại sản phẩm thời trang như áo phông, áo sơ mi, quần bò, Do công việc kinh doanh ngày càng phát triển nên công ty gặp khó khăn trong khâu quản lí nguồn cung, nhu cầu khách hàng và doanh số bán hàng của sản phẩm, đồng thời có nhiều khách hàng có nhu cầu xem thông tin sản phẩm trước để họ có quyết định mua hàng hay không
Sản phẩm bao gồm màu sắc, kích cỡ, giá bán, hiện đang còn hàng hay hết hàng Theo thời gian bộ phận hỗ trợ khách hàng và bộ phận bán hàng nhận được nhiều cuộc điện thoại hỏi về sản phẩm, làm cho bộ phận bán hàng và hỗ trợ sản phẩm giải thích khá nhiều và trả lời các câu hỏi tương tự nhau như sản phẩm kích cỡ thế nào, đặc điểm ra làm sao, còn hàng hay hết hàng …
Cảm thấy bất cập và khó quản lý cũng như dịch vụ chăm sóc khách hang chưa được tốt Nên sau khi họp và thống nhất, công ty Hanosimex đã quyết định sẽ làm cách nào để có thể cung cấp dịch vụ tự động chứa tất cả các thông tin về sản phẩm
để khách hàng có thể xem ở bất cứ đâu và nếu được có thể họ sẽ đặt hàng vào hệ thống nào đó để bộ phận hỗ trợ khách hàng nhận được thông tin của họ và gọi điện lại cho họ thì sẽ hiêu quả hơn, đồng thời công ty có thể tự động quản lý cung cầu, khảo sát thị hiếu khách hàng, và đưa ra chiến lược kinh doanh phù hợp
Trang 2Xác định yêu cầu bài toán:
Bài toán đưa ra yêu cầu xây dựng cơ sở dữ liệu quản lí sản phẩm của công ty
Hanosimex, hiển thị ra dưới dạng một trang web động gồm hai phần:
1 Phần dành cho người quản trị cơ sở dữ liệu để có thể nhập sản phẩm, chủng loại sản phẩm lên cho khách hàng xem trực tuyến, cập nhật những thông tin thay đổi nếu sản phẩm có thay đổi về giá, tình trạng của sản phẩm, quản lý các đơn hàng khách hàng đã đặt hàng, mua hàng trực tuyến
2 Phần hiển thị ra bên ngoài cho khách hàng xem, có quyền tạo đơn đặt hàng
Trong cơ sở dữ liệu bao gồm:
1 Khách hàng: bao gồm mã khách hàng, họ tên, địa chỉ, số điện thoại
2 Sản phẩm: bao gồm mã sản phẩm, tên sản phẩm, kích thước, giá bán, màu sắc, tình trạng của sản phẩm( còn hàng hay hết hàng)
3 Hóa đơn: bao gồm mã hóa đơn, ngày mua, mã khách hàng, tên khách hàng,
mã sản phẩm, tên sản phẩm, số lượng, giá cả và tình trạng của hóa đơn( đơn đặt hàng, đã thanh toán hay hoàn thành)
Cơ sở dữ liệu được xây dựng bằng hệ quản trị cơ sở dữ liệu MySql, trong đó các thao tác dữ liệu được sử dụng thường xuyên là:
1 Đối với người quản trị: Thêm, bớt, sửa thông tin sản phẩm; tìm kiếm thông tin sản phẩm theo mã, tên, đặc điểm, giá bán, tình trạng( còn hàng hay hết hàng) ; kiểm tra tình trạng hóa đơn, tìm kiếm hóa đơn theo mã, tên khách hàng, tên sản phẩm, ; biết được sản phẩm nào được ưa chuộng, thị hiếu của khách hàng,
2 Đối với khách hàng: Tìm kiếm thông tin sản phẩm theo mã, tên, đặc điểm, giá bán, tình trạng( còn hàng hay hết hàng) và tạo đơn đặt hàng
Trang 3Xác định các đối tượng thực thể
Tập thực thể khách hàng gồm các thuộc tính:
_Mã
_Họ tên
_Địa chỉ
_Sđt
-Sô lượng hóa đơn đã mua(nếu có)
Tập thực thể sản phẩm bao gồm các thuộc tính: _Mã
_Tên
_Giá bán
_Đặc điểm
_Tình trạng
Tập thực thể hóa đơn bao gồm các thuộc tính:
_Mã
Ngoài ra sẽ có them các thuộc tính khi có giao dịch : _Ngày
_Mã khách hàng
_Mã sản phẩm
_Số lượng
_Giá cả
Trang 4Mô hình E-R
Khách hàng
Địa chỉ
Mã
Sản phẩm
Mã
Đặc Điểm
Tình Trạng
Hóa đơn Giá cả
Số lượng
Ngày
Mã
Khách hàng trong hóa đơn
Khách hàng mua sản phẩm
Sản phẩm trong hóa đơn
Trang 5Chuyển đổi từ mô hình E-R sang mô hình lược đồ quan hệ
Khách hàng
Hóa đơn
Mã hóa
đơn
hàng
Mã sản phẩm
Sản phẩm
Trang 6Mô hình cơ sở dữ liệu quan hệ:
10 câu truy vấn:
Ví dụ truy vấn 1: Tìm tên của tất cả các khách hàng ở Hà Nội
Biểu thức truy vấn hoàn chỉnh là:
result = (Tên) ( (Địa chỉ=Hà Nội) (S))
Ví dụ truy vấn 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:
Biểu thức truy vấn hoàn chỉnh là
result = (s#, Tên) ( (Sô luong hóa đơn) (S))
Ví dụ truy vấn 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 Cách tiếp cận truy vấn này như sau:
Biểu thức truy vấn hoàn chỉnh là:
result = (Tên) ( ((Sô luong hóa đơn> 50) AND (Tuôi < 20)) (S))
Trang 7Ví dụ truy vấn 4: 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 Cách
tiếp cận truy vấn như sau:
Biểu thức truy vấn hoàn chỉnh là:
result = (S.Tên) ( ((ngay= T8 nam 2012) AND (S.p# = Thoi gian.p#)) (P S))
Ví dụ truy vấn 5: Liệt kê mọi hóa đơn có giá là 1 triệu 5 trăm nghìn
)) (
spj Giáca trieu tramnghin
Trang 8Ví dụ truy vấn 6:: Tìm số hiệu hóa đơn p# mà có chứa hơn 10 sản phẩm:
Biểu thức truy vấn hoàn chỉnh là
result = (p#) ( (Sô luong sản phẩm >10) (P))
Ví dụ truy vấn 7: Tìm tên của tất cả các sản phẩm có giá 2 triệu hoặc 3 triệu
Biểu thức truy vấn hoàn chỉnh là:
result = (Tên) ( ((Giá=2 triệu) OR (Giá = 3 trieu)) (T))
Ví dụ truy vấn 8:Tìm tất cả mã của các sản phẩm là áo phông hoặc được sản xuất ở trong nước:
[ (T#) ( (Địa Chỉ sản xuất=Hà Nội) (T))] [ (T#) ( (Đặc điểm=áo phông) (T))]
Ví dụ truy vấn 9: Tìm tên của tất cả các khách hàng đã mua hàng trong tháng 7 năm 2011và sản
phẩm là nhập khẩu nươc ngoài
Biểu thức truy vấn hoàn chỉnh là:
result = (S.Tên) ( ((Thoi gian = T7 năm 2012) AND (T.Đặc điểm =Nhập khẩu ) AND (S.s# = Thoi gian.s#) AND (t.T# = Đặc điểm.t#) (S T )
Ví dụ truy vấn 10:Liệt kê tên của các sản phẩm được nhập khẩu và có giá 10 triệu
Các phụ thuộc hàm F trên từng lược đồ:
1.Lược đồ quan hệ khách hàng:Ω={KH#,HT,ĐC,SĐT}
Trong đó:KH#:Mã khách hàng
HT:họ tên
ĐC: địa chỉ khách hàng
SĐT: số điện thoại khách hàng
Khi đó các Phụ thuộc hàm là:
KH# →HT, KH# → ĐC,
KH# →SĐT,
2.Lược đồ quan hệ sản phẩm :Ω={SP#,TEN,GC,ĐĐ, CC,TT}
Trong đó:
SP#:thuộc tính khóa mã sản phẩm
)))) ( (
) ( (
( ( #, #) ( #) ( 10 )
) (T Tên s s p T p Giá trieu T
Trang 9TEN:tên sản phẩm
GC:Giá của sản phẩm
DD:đặ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
Khi đó các Phụ thuộc hàm là:
SP# →TEN, SP# → DD,
SP# →GC, (SP# ,DD) →TT, (SP#,GC) →CC,
3.Lược đồ quan hệ Hóa đơn: Ω={HĐ#,thời gian,tên khách hàng,mã sản phẩm,số
lượng,giá cả}
Trong đó:
+HĐ#:mã hóa đơn
+TG:thời gian
+TKH:tên khách hàng
+SP#:Mã sản phẩm có trong hóa đơn
+GIA: tổng giá hàng trong hóa đơn
+SL:số lượng sản phẩm
Khi đó các phụ thuộc hàm trên lược đồ là:
HĐ# →TKH, (HĐ# ,SP#) →GIA,
HĐ# →SL, HĐ# →TG,
Đưa các lược đồ về dạng chuẩn 3(3NF):
(Loại bỏ các phụ thuộc không đầy đủ và loại bỏ các phụ thuộc bắc cầu)
1.Lược đồ quan hệ khách hàng:
KH# ĐC KH# HT
Trang 10
2.Lược đồ quan hệ sản phẩm:
3.Lược đồ quan hệ Hóa đơn
KH# SĐT
SP# TEN
N
DD
ĐC
SP# GC
TT
SP#
DD
ĐC
SP#
GC
CC
HĐ# TG HĐ# SL
Trang 11Chuyển các câu truy vấn bằng phương pháp đại số sang ngôn ngữ MY SQL:
Ví dụ truy vấn 1: Tìm tên của tất cả các khách hàng ở Hà Nội:
SELECT TÊN_KHACH HÀNG
FROM KHACH HANG.
WHERE ĐỊA CHỈ = HÀ NỘI;
Ví dụ truy vấn 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#,TÊN_KHACH HÀNG
FROM KHACH HANG.
WHERE SỐ LƯỢNG HÓA ĐƠN ĐÃ MUA >10;
Ví dụ truy vấn 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ÊN_KHACH HÀNG
FROM KHACH HANG.
WHERE TUÔI <20 AND SO LƯỢNG HÓA ĐƠN ĐÃ MUA >50;
Ví dụ truy vấn 4: 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ÊN_KHACH HÀNG
FROM KHÁCH HÀNG
WHERE THOI GIAN MUA HÀNG = THÁNG 8 NĂM 2012 IN
SELECT THOI GIAN MUA HÀNG
FROM HÓA ĐƠN
Ví dụ truy vấn 5: Liệt kê mọi hóa đơn có giá là 1 triệu 5 trăm nghìn
HĐ# TKH GIA
HĐ#
SP#
Trang 12SELECT P#
FROM HÓA ĐƠN.
WHERE GIÁ= 1 TRIỆU 5 TRĂM NGHÌN;
Ví dụ truy vấn 6:: Tìm số hiệu hóa đơn p# mà có chứa hơn 10 sản phẩm:
SELECT P#
FROM HÓA ĐƠN.
WHERE SỐ LƯỢNG SẢN PHẨM >10;
Ví dụ truy vấn 7: Tìm tên của tất cả các sản phẩm có giá 2 triệu hoặc 3 triệu
SELECT TÊN_SẢN PHẨM
FROM SẢN PHẨM.
WHERE GIÁ = 2 TRIỆU OR GIÁ =3 TRIỆU;
Ví dụ truy vấn 8:Tìm tất cả mã của các sản phẩm là áo phông hoặc được sản xuất ở trong nước :
SELECT T#
FROM SẢN PHẨM.
WHERE ĐẶC ĐIỂM = ÁO PHÔNG AND CUNG CAP= TRONG NƯỚC.
Ví dụ truy vấn 9: Tìm tên của tất cả các khách hàng đã mua hàng trong tháng 7 năm 2011 và sản
phẩm là nhập khẩu nươc ngoài
SELECT TÊN_KHACH HÀNG
FROM KHÁCH HÀNG
WHERE (THOI GIAN MUA HÀNG = THÁNG 7 NĂM 2011) AND ( CUNG CAP= NHẬP KHẨU)
IN
SELECT THOI GIAN MUA HÀNG,P#
FROM HÓA ĐƠN
Ví dụ truy vấn 10:Liệt kê tên của các sản phẩm được nhập khẩu và có giá 10 triệu
SELECT TÊN_SẢN PHẨM
FROM SẢN PHẨM.
WHERE GIÁ = 10TRIỆU AND CUNG CAP = NHẬP KHẨU;