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ề g
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: Quản lý sản phẩm thời trang
Họ tên: Nguyễn Thanh Tùng
Lớp: D10CN1
Bước 1:Phân tích bài toán:
I, Mô tả bài toán:
Bài toán đặt ra là quản lý công việc bán sản phẩm thời trang của công ty lụa Vạn Phúc Công ty lụa Vạn Phúc là một công ty rât nổi tiếng và có uy tin chuyên cung cấp các sản phẩm bằng lụa như áo dài, caravat, khăn… nên nên cần có một Cơ sở
dữ liệu để lưu trữ giúp cho ban lãnh đạo công ty có thể quản lý công việc một cách
dễ dàng,nhanh chóng và tiện lợi
Bước 2 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 , 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.Thông tin về khách hàng cần nắm được họ tên, địa chỉ, số điện thoại liên lạc
Trang 22 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(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)
3.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 4.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
Xác định các đối tượng thực thể
Tập thực thể công ty bao gồm các thuộc tính:
_Tên
_Địa chỉ
_Sđt
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
Tập thực thể sản phẩm bao gồm các thuộc tính:
_Mã
_Tên
_Giá bán
_Loại
_Tình trạng
Tập thực thể hóa đơn bao gồm các thuộc tính:
_Mã sản phẩm
Trang 3_Mã khách hàng
_Tên khách hàng
_Tên sản phẩm
_Số lượng
_Ngày bán
_Giá cả
Mô hình hóa E-R
Trang 4
Công ty lụa Vạn Phúc
Khách hàng
Số điện thoại
Địa chỉ
Tên công ty
Mã
Số điện
thoại
Địa chỉ
Tên
Sản Phẩm
Giá bán
Mã sản phẩm
Tình trạng
Tên
Loại
Hóa đơn
Mã sản phẩm
Số lượng
Tên sản phẩm
Ngày bán
Người mua
Giá bán
Ký
Cung cấp bởi
Với
Mua
Mã khách
Trang 5Chuyể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
Mã Sản
phẩm
Mã Khách hàng
Tên khách hàng
Tên công ty Ngày bán Giá bán Số lượng
Sản phẩm
Mô hình cơ sở dữ liệu quan hệ
Trang 6Biểu thức 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 = (Khachhang.Tên)((Địa chỉ=Hà Nội)(Khách hàng))
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 = (MaKhachhang, Tên)((Sô luong hóa đơn)(Khách hàng))
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
Biểu thức truy vấn hoàn chỉnh là:
result = (KhachhangTên)(((Sô luong hóa đơn> 50) AND (Tuôi < 20))(Khách hàng))
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ô Chi Minh sản xuất
Biểu thức truy vấn hoàn chỉnh là:
result = (Sanpham.Tên)(((Đia chi=Hà Nôi) or (Đia chi=Hô Chi Minh))(Sản phẩm))
Ví dụ truy vấn 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
Biểu thức truy vấn hoàn chỉnh là:
result = (Khachhang.Tên)(((Thoi gian mua hang= T8 nam 2012) AND (khách hàng mã sản phẩm # = Thoi gian.mã sản phẩm#))(Nhà sản xuất Khách hàng))
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 = (Khachahng.Tên)(((Thoi gian = T7 năm 2012) AND (Sản phẩm.địa chỉ =Ha Noi ) AND (Khách hàng mã khách hàng# = Thoi gian.mã khách hàng#) AND (sản phẩm mã SP# = Địa chỉ.mã sản phẩm#) (Nhà sản xuất
Khách hàng )
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
Trang 7Biểu thức truy vấn hoàn chỉnh là:
result = (tên nhà sản xuất)(((Đia chi=Ha Noi) OR (Đa chi=Ho Chi Minh))(Nhà sản xuất))
Ví dụ truy vấn 8: Tìm loại sản phẩm có giá từ 300000-700000
Biểu thức truy vấn :
result=π(LoaiSP)(σ((GiaP>=300000)AND(GiaP<=700000))(Sản Phẩm))
Ví dụ truy vấn 9: Tìm tên của tất cả các khách hàng là nam sinh trước năm
1980
Biểu thức truy vấn:
result=π(TenKH)(σ((Gioitinh=1)AND(year(Ngaysinh)<1980))(Khachhang))
Ví dụ truy vấn 10:Tìm tên của tất cả các khách hàng là nữ sinh từ năm
1960-1980
Biểu thức truy vấn :
result=π(TenKH)(σ((Gioitinh=0)AND((year(Ngaysinh)>=1960)AND(year(Ngaysi nh)<=1980)))(Khachhang))
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:Ω={Mã,Họ Tên,Địa chỉ,Số Điện Thoại#}
Quy tắc:
+mỗi khách hàng có một mã duy nhất
+ 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ác phụ thuộc hàm Số Điện Thoại vào tổ hợp thuộc tính (Họ Tên ,Địa Chỉ) +mỗi địa chỉ chỉ cho một tên khách hàng,có phụ thuộc hàm Họ Tên vào Địa Chỉ
Trang 8+mỗi số điện thoại xác định một tên khách hàng, có phụ thuộc hàm Họ Tên vào Số Điện Thoại
Tập các phụ thuộc hàm của lược đồ quan hệ trên là:
F={(Mã,Họ Tên,Địa Chỉ) ->Số Điện Thoại#,Mã->Họ tên, Địa Chỉ->Họ Tên,Số Điện Thoại#->Họ Tên}
*Chuẩn hóa về dạng 3NF:
-Lược đồ quan hệ sản phẩm :Ω={MA#,TEN,Gía Bán ,Tình trạng, Loại,} 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, ,các đặc điểm,tình trạng->có phụ thuộc hàm
Tập các phụ thuộc hàm là:
F={MA# ->(Tên,Gía Bán,Đặc điểm,Tình Trạng,Loại )}
*Chuẩn hóa về dạng 3NF
-Lược đồ quan hệ Công ty: Ω={Tên ,Địa Chỉ ,Số Điện Thoại }
Số điện thoại
Mã
Họ Tên
Địa Chỉ
-Lược đồ quan hệ sản phẩm
:Ω={MA#, TEN,GN,G B,ĐĐ, 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
Mã
Loại
Trang 9Quy 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 Địa Chỉ,Số Điện Thoại vào Tên Tập các phụ thuộc hàm:F={TEN->(ĐC,SĐT) }
*Chuẩn hóa 3NF
-Lược đồ quan hệ Hóa đơn: Ω={mã khách hàng ,ngày bán,người mua,mã sản phẩm,tên sản phẩm,số lượng,giá cả }
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={Mã #->(Tên Khách Hàng ,Gía ),Mã Sản Phẩm ->(Tên Sản Phẩm }
*Chuẩn hóa về 3NF
Giá Bán
Giá Bán
Giá Bán
Giá Bán
Giá Bán Giá Bán
Trang 10Câu 1: Tìm tên của tất cả các khách hàng ở hà nội
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
Câ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
Trang 11Khachhang.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
Câu 8: Tìm loại sản phẩm có giá từ 300000-700000
SELECT LoaiSP
FROM SanPham
WHERE GiaSP>=300000 AND GiaSP<=700000
Câu 9: Tìm tên của tất cả các khách hàng là nam sinh trước năm 1980
SELECT TenKH
FROM Khachhang
WHERE Gioitinh=1 AND year(Ngaysinh)<1970
Câu 10:Tìm tên của tất cả các khách hàng là nữ sinh từ năm 1960-1980
SELECT TenKH
FROM Khachhang
WHERE WHERE Gioitinh = 0 AND
YEAR(Ngaysinh) BETWEEN 1960 AND 1980