Từ những thông tin phản hồi từ phòng kinh doanh và phòng hỗ trơ khách hàng, ban lảnh đạo suy nghĩ, vậy 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
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 quản lý công ty thời trang
Họ tên: Nguyễn Mạnh Hải
Lớp: D10CN1
Trang 2Ý tưởng:
Công ty thời trang nam Tupolice 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ò, thắt lưng, 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, size( kích cỡ), giá bán, nguồn gốc, 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 nhập từ đâu, kích cỡ thế nào, đặc điểm ra làm sao, còn hàng hay hết hàng v.v.v
Từ những thông tin phản hồi từ phòng kinh doanh và phòng hỗ trơ khách hàng, ban lảnh đạo suy nghĩ, vậy 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
Bước 1 Xá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 Tupolice, 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
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 cần lưu trữ:
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, size, giá nhập, giá bán, màu sắc, nhà cung cấp( nhập từ ngoài hay công ty tự sản xuất), tình trạng của sản phẩm( còn hàng, hết hàng, hay sắp sửa có hàng)
Trang 33 Nhà cung cấp: bao gồm tên nhà cung cấp, địa chỉ, số điện thoại, giá nhập
4 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
Bước 2 Thiết kế mô hình thực thể quan hệ
Tập thực thể khách hàng gồm các thuộc tính:
_Họ tên
_Địa chỉ
_Sđt
Tập thực thể sản phẩm bao gồm các thuộc tính:
_Mã
_Tên
_Giá nhập
_Giá bán
_Đặc điểm
_Nhà cung cấp
_Tình trạng
Tập thực thể nhà cung cấp bao gồm các thuộc tính:
_Tên
_Địa chỉ
_Sđt
_Sản phẩm
_Giá
Trang 4Tập thực thể hóa đơn bao gồm các thuộc tính:
_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
Mô hình hóa ER
Nhà cung cấp
N Công ty thời trang
nam Tupolice
Quản lý
Cung cấp bởi
Trang 5Thiết kế vật lý:
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
N
N
N
N
N
N
Trang 6Bước 3: mô hình cơ sở dữ liệu quan hệ:
Bước 4: 10 câu truy vấn
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ố điện thoại 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ố điện thoại, Tên)((Số luong hóa đơn)(S))
Trang 7Ví 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))
Ví dụ truy vấn 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ồ Chí Minh sản xuất 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)(((Đia chi=Hà Nôi) or (Đia chi=Hô Chi Minh))(C))
Ví dụ truy vấn 5: Tìm tên của tất cả các khách hàng đã mua hàng vào 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)(((Thoi gian mua hang= T8 nam 2012) AND (S.p# = Thoi gian.p#))(P S))
Ví dụ truy vấn 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
Biểu thức truy vấn hoàn chỉnh là:
result = (S.Tên) ( ((Thoi gian = T7 năm 2012) AND (P.địa chỉ =Ha Noi ) AND (S.s# = Thoi gian.s#) AND (P.p# = Địa chỉ.p#) (S P )
Ví dụ truy vấn 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
Biểu thức truy vấn hoàn chỉnh là:
result = (name)(((Đia chi=Ha Noi) OR (Đa chi=Ho Chi Minh))(P))
Ví dụ truy vấn 8: Liệt kê mọi hóa đơn có giá lớn hơn 1 triệu 5 trăm nghìn
Spj >< (( giá trị>1500000 ) (p) )
Ví dụ truy vấn 9:Tìm tất cả mã của các nhà sản xuất mà có địa chỉ ở Từ Liêm-Hà Nội hoặc hơn
20 năm thành lập:
[(T#)((Địa Chỉ=Từ Liêm-Hà Nội)(T))] [(T#)((thơi gian thanh lâp>20)(T))]
Ví dụ truy vấn 10:Liệt kê tên của các nhà sản xuất sản xuất các sản phẩm có giá 2 triệu
)))) ( (
) ( (
( ( #, #) ( #) ( 2 )
) (T Tên s s p T p Giác trieu p
Trang 8Bước 5: Thiết lập các phụ thuộc hàm và chuẩn hóa các lược
đồ quan hệ về dạng chuẩn 3NF
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
ĐC: địa chỉ khách hàng
SĐT#:thộc tính khóa số điện thoại khách hàng
Quy tắc:
+ với mỗi khách hàng chỉ ở một địa chỉ cụ thể nào đó,có một số điện thoại xác định Có phụ thuộc hàm SĐT vào tổ hợp thuộc tính (HT,ĐC)
+mỗi địa chỉ chỉ cho một tên khách hàng,có phụ thuộc hàm HT vào ĐC
+mỗi số điện thoại xác định một tên khách hàng, có phụ thuộc hàm HT vào SĐT 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
HT
ĐC SĐT#
Trang 9ĐĐ:đặ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
Quy tắc:
-Mỗi một mã sản phẩm cho một tên sản phẩm duy nhất có giá bán,giá nhập ,các đặc điểm,cung cấp,tình trạng->có phụ thuộc hàm
- đặc điểm của sản phẩm xác định duy nhất tình trạng của sự cung cấp và tình trạng sản phẩm->có phụ thuộc hàm
Tập các phụ thuộc hàm là:
F={MA# ->(TEN,GB,GN,ĐĐ,CC,TT),ĐĐ->(CC,TT)}
*Chuẩn hóa về dạng 3NF
-Lược đồ quan hệ nhà cung cấp: Ω={TEN,ĐC,SĐT #,SP,GIA}
MA#
ĐĐ
CC
TT
Trang 10Trong đó:
+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
Quy tắc:
+mỗi một nhà cung cấp thì có một địa chỉ và số điện thoại duy nhất,cung cấp nhiều sản phẩm,có các giá khác nhau->có phụ thuộc hàm ĐC,SĐT vào TEN
+mỗi một sản phẩm có một giá cụ thể,nhất định nào đó nên có phụ thuộc giá vào 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
-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
TEN
ĐC
SĐT#
Trang 11+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:
-với mỗi mã hóa đơn xác định 1 tên khách hàng,giá thanh toán trong hóa đơn và tình trạng hóa đơn.->có phụ thuộc hàm
- với mỗi một sản phẩm có thể có nhiều hóa đơn->ko có phụ thuộc
-với mỗi mã sản phẩm ứng với một tên sản phẩm và tên nhà cung cấp
Tập các phụ thuộc hàm là:
F={MA#->(TKH,GIA,TT),MSP->(TSP,NCC}
*Chuẩn hóa về 3NF
MA#
TKH
GIA
TT
MSP
TSP
NCC
Trang 12Bước 6: Các truy vấn với cơ sở dữ liệu
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à:
SELECT họ tên
FROM khách hàng
WHERE địa chỉ LIKE ”%Hà Nội%”;
Ví dụ truy vấn 2: Tìm số điện thoại và tên của tất cả các khách hàng đã mua mặt hàng có mã
S33 vào ngày 20/8/2012:
SELECT kh.số điện thoại, kh.tên
FROM khách hàng kh, hóa đơn hd
WHERE kh.tên=hd.tên khách hàng
AND “S33”= ANY (SELECT mã sản phẩm FROM hóa đơn
WHERE ngày=”20-AUG-2012”)
Ví dụ truy vấn 3: Tìm tất cả những hóa đơn đang ở trạng thái chưa thanh toán
SELECT *
FROM hóa đơn
WHERE trạng thái=”%chưa thanh toán%”
Ví dụ truy vấn 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ồ Chí Minh sản xuất Cách tiếp cận truy vấn này như sau:
SELECT sản phẩm
FROM nhà cung cấp
OR địa chỉ LIKE ”%Hồ Chí Minh%”;
Trang 13Ví dụ truy vấn 5: Tìm tên của tất cả các khách hàng đã mua hàng vào tháng 8 năm 2012 Cách
tiếp cận truy vấn như sau:
SELECT tên khách hàng
FROM hóa đơn
WHERE ngày>=”01-AUG-2012”
AND ngày<=”31-AUG-2012”;
Ví dụ truy vấn 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 hd.tên khách hàng
FROM hóa đơn hd, nhà cung cấp ncc
AND hd.ngày<”30-JUL-2012”
AND ncc.địa chỉ LIKE ”%Hà Nội%”
Ví dụ truy vấn 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ên
FROM nhà cung cấp
WHERE địa chỉ LIKE “%Hà Nội%”
OR địa chỉ LIKE “%Hồ Chí Minh%";
Ví dụ truy vấn 8: Liệt kê mọi hóa đơn có giá lớn hơn 1 triệu 5 trăm nghìn
SELECT *
FROM hóa đơn
Where giá trị>1500000;
Ví dụ truy vấn 9:Tìm tất cả số điện thoại của các nhà sản xuất mà có địa chỉ ở Từ Liêm-Hà Nội
Trang 14Ví dụ truy vấn 10:Liệt kê tên của các nhà sản xuất sản xuất các sản phẩm có giá 2 triệu
AND sp.giá=2000000;