1 Phát biểu bài toán theo đúng khảo sát thực tế, cần có các biểu mẫu datasource của bài toánBài toán cần có ít nhất 03 đối tượng được quản lý, có mô tả rõ ràng ràng buộc dữ liệu.1 2 Xây
Trang 1ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-Danh sách thành viên: Nguyêễn Th Thúy Hòa ị - 2210A01
Trầần Khánh Chi - 2210A01
Hà Th Anh Th ị ư - 2210A04
Nhóm 18
BÁO CÁO BÀI T P L N Ậ Ớ
MÔN: C s d li u ơ ở ữ ệ
Đêầ bài: Qu n lí c a hàng th i trang ả ử ờ
Gi ng viên h ả ướ ng dẫẫn: ThS.Nguyêẫn Thùy Linh
Trang 2Đi ểm Tố i Đa
Đi ểm
1 Phát biểu bài toán theo đúng khảo sát thực tế, cần có các biểu mẫu
(datasource) của bài toán
Bài toán cần có ít nhất 03 đối tượng được quản lý, có mô tả rõ ràng ràng buộc dữ liệu.
1
2 Xây dựng mô hình thực thể liên kết
- Xác định các tập/kiểu thực thể (đối tượng cần quản lý) và các
thuộc tính tương ứng (phân loại thuộc tính đầy đủ)
- Xác định mối liên kết giữa các tập/kiểu thực thể (các đăc trưng
của liên kết nếu có)
- Vẽ mô hình thực thể liên kết
2
3 Xây dựng mô hình cơ sở dữ liệu quan hệ
- Áp dụng lần lượt các quy tắc biến đổi từ mô hình thực thể liên
kết về mô hình CSDL quan hệ
- Xác định: được cơ sở dữ liệu cuối cùng của bài toán
2
4 Xác định các ràng buộc bài toán: được diễn đạt đúng yêu cầu và cấu
5 Chuẩn hóa cơ sở dữ liệu bài toán
- Đánh giá các quan hệ thu được của mô hình cơ sở dữ liệu quan
hệ đang ở dạng chuẩn gì? Giải thích
- Đưa các quan hệ về dạng chuẩn cao nhất 3NF hoặc BCNF
- Xác định: được các quan hệ cuối cùng của bài toán sau khi đã áp
dụng chuẩn hóa
2
6 Xác định dữ liệu thực bài toán: Thực hiện tạo CSDL của bài toán trong
một hệ quản trị cụ thể và nhập dữ liệu cho các bảng (tối thiểu 10 bản ghi cho các bảng)
1
7 Khai thác Cơ sở dữ liệu bài toán
- Xác định các yêu cầu khai thác của hệ thống (bài toán) tương
ứng Yêu cầu: tối thiểu 5 yêu cầu khai thác từ 1 bảng, 5 yêu cầu
khai thác từ 2 bảng trở lên, 5 yêu cầu tính toán dữ liệu trên 1
bảng, 5 yêu cầu tính toán dữ liệu từ 2 bảng trở lên, …
- Mỗi một yêu cầu cần: xây dựng biểu thức đại số quan hệ tương
ứng, cho kết quả tương ứng khi chạy trên Hệ quản trị với dữ liệu
thực
1
Trang 31 Phát biểu bài toán:
Cửa hàng thời trang ABC cần xây dựng cơ sở dữ liệu quản lí thông tin sau: Khách hàng được lưu trữ và quản lí thông tin bao gồm:Mã khách hàng, Tên khách hàng, Sdt, Giới tính, Địa chỉ KH Mỗi khách hàng sẽ được phân biệt thông qua Mã khách hàng
Khách hàng khi mua hàng sẽ có Hóa đơn gồm các thông tin như: Mã hóa đơn, Ngày lập, Thành tiền Mỗi Hóa đơn chỉ thuộc một khách hàng duy nhất và một khách hàng có thể có nhiều hóa đơn Hóa đơn chỉ do một nhân viên lập ra Mỗi hóa đơn phân biệt bởi mã hóa đơn
Nhân viên sẽ có các thông tin như:Căn cước công dân, Tên nhân viên, Giới tính,Sdt, Địa chỉ NV, Hệ số lương, Lương(Lương=HSL*5.000.000đ) Mỗi nhân viên phân biệt nhau qua Mã nhân viên, và một nhân viên có thể có nhiều số điện thoại Cửa hàng sẽ có một nhân viên làm quản lí và tối đa 10 nhân viên bán hàng
Cửa hàng bán nhiều mặt hàng khác nhau, thông tin về mặt hàng gồm: Mã mặt hàng, tên mặt hàng, loại, giá Trên hóa đơn có thể biết được thông tin
về số lượng, kích cỡ của mỗi mặt hàng
2 Mô hình thực thể liên kết:
2.1: Xác định các tập thực thể và các thuộc tính
Tập thực thể Khách hàng có các thuộc tính: mã khách hàng, tên khách hàng, Sđt, giới tính, địa chỉ Trong đó, mã khách hàng là khóa chính
Tập thực thể Hóa đơn gồm các thuộc tính: Mã hóa đơn, ngày lập, thành tiền Trong đó, Mã hóa đơn là khóa chính, Thành tiền là thuộc tính suy dẫn
Trang 4Tập thực thể Nhân viên gồm các thuộc tính :Căn cước công dân, Tên nhân viên, Giới tính, Sdt, Địa chỉ, Hệ số lương, Lương Trong đó, CCCD là thuộc tính khóa, SDT là thuộc tính đa trị và Lương là thuộc tính suy dẫn
Tập thực thể mặt hàng có các thuộc tính Mã mặt hàng, tên mặt hàng, loại, giá Trong đó Mã mặt hàng là thuộc tính khóa, Loại là thuộc tính đa trị
Trang 52.2: Xác định mối liên kết giữa các tập thực thể
Giữa kiểu thực thể Khách hàng với thực thể Hóa đơn có mối liên kết
“Thanh toán” Có kiểu liên kết 1-N , vì một khách hàng có thể có nhiều hóa đơn và một hóa đơn là của một khách hàng
1 N
Giữa kiểu thực thể Nhân viên với thực thể Hóa đơn có mối liên kết “Lập ra” Có kiểu liên kết 1-N, vì một nhân viên sẽ lập ra nhiều hóa đơn và một hóa đơn do duy nhất một nhân viên lập ra
1 N
Giữa kiểu thực thể Hóa đơn với thực thể mặt hàng có mối liên kết “Có” Có kiểu kiên kết M-N,vì một hóa đơn có thể có nhiều mặt hàng và một mặt hàng sẽ có trong nhiều hóa đơn Trong liên kết Có có thuộc tính Size và Số Lượng
M M N
2.3: Mô hình thực thể liên kết
THANH TOÁN
NHANVIEN
Có
Số Lượng Size
N
1 N 1
Trang 63 Xây dựng mô hình CSDL quan hệ
3.1: Quy tắc 1 - Chuyển kiểu thực thể mạnh
NHANVIEN(CCCD, Tên NV, Giới Tính, Địa Chỉ NV, HSL)
KHACHHANG(Mã KH, Tên KH, SĐT, Giới Tính, Địa Chỉ KH)
HOADON(Mã HĐ, Ngày Lập)
MATHANG(Mã MH,Tên MH, Giá tiền)
3.2: Quy tắc 2 - Chuyển Thuộc tính đa trị
SDT_NV(CCCDNV, SĐTNV)
LOAI_MH(Mã MH, Loại MH)
3.3: Quy tắc 4- Chuyển liên kết quan hệ nhiều nhiều
THANHTOAN(Mã MH, Mã HĐ, Size, Số Lượng)
3.4: Quy tắc 5 - Chuyển quan hệ một nhiều
+) KHACHHANG - HOADON
HOADON(Mã HĐ, Ngày Lập, Mã KH)
+) NHANVIEN - HOADON
HOADON(Mã HĐ, Ngày Lập, Mã KH, CCCD)
==>> Vậy mô hình quan hệ là:
1) HOADON (Mã HĐ, Ngày Lập, Mã KH, CCCD)
2) THANHTOAN (Mã MH, Mã HĐ, Size, Số Lượng)
3) SĐT_NV (CCCDNV, SĐTNV)
4) LOAI_MH (Mã MH, Loại MH)
5) MATHANG (Mã MH,Tên MH, Giá tiền)
6) NHANVIEN (CCCD, Tên NV, Giới Tính, Địa Chỉ NV, HSL) 7) KHACHHANG (Mã KH, Tên KH, SĐT, Giới Tính, Địa Chỉ KH)
4 Xác định các ràng buộc bài toán:
R1: Mỗi khách hàng có 1 số điện thoại duy nhất
Bối cảnh: KHACHHANG
Bảng tầm ảnh hưởng:
R2: Mỗi nhân viên có một CCCD duy nhất
Bối cảnh: NHANVIEN
Bảng tầm ảnh hưởng:
R3: Mỗi mặt hàng có một mã duy nhất
Bối cảnh: MATHANG
Trang 7Bảng tầm ảnh hưởng:
R4: Mỗi hóa đơn có một mã duy nhất
Bối cảnh: HOADON
Bảng tầm ảnh hưởng:
R5: Mỗi hóa đơn chỉ có 1 nhân viên duy nhất lập
Bối cảnh:NHANVIEN, HOADON
Bảng tầm ảnh hưởng:
R6: Hệ số lương của nhân viên chỉ có tăng, không có giảm
Bối cảnh: NHANVIEN
5 Chuẩn hóa cơ sở dữ liệu
Cơ sở dữ liệu của cửa hàng thời trang bao gồm các quan hệ:
Quan hệ KHACHHANG (Mã KH, Tên KH, SDT, Giới tính, Địa chỉ KH) Tập phụ thuộc hàm: F={Mã KH -> Tên KH, SDT, Giới tính, Địa chỉ KH} B1: Khóa của quan hệ: Mã KH
B2: Tập phụ thuộc hàm F’=F={Mã KH -> Tên KH, SDT, Giới tính, Địa chỉ KH}
(F’ là tập phụ thuộc hàm tương đương với F và vế trái có một thuộc tính) B3: Có vế trái của phụ thuộc hàm F’ là Mã KH - Khóa của quan hệ KHACHHANG
==> Quan hệ KHACHHANG đạt chuẩn BCNF
Quan hệ NHANVIEN (CCCD, Tên NV, Giới tính, Địa chỉ NV, Hệ SL) Tập phụ thuộc hàm: F={ CCCD -> Tên NV, Giới tính, Địa chỉ NV, Hệ SL} B1: Khóa của quan hệ : CCCD
B2: Tập phụ thuộc hàm F’=F={ CCCD -> Tên NV, Giới tính, Địa chỉ NV,
Hệ SL}
(F’ là tập phụ thuộc hàm tương đương với F và vế trái có một thuộc tính) B3: Có vế trái của phụ thuộc hàm F’ là CCCD - Khóa của quan hệ NHANVIEN
==> Quan hệ NHANVIEN đạt chuẩn BCNF
Quan hệ MATHANG (Mã MH, Tên MH, Giá tiền)
Tập phụ thuộc hàm: F={Mã MH -> Tên MH, Giá tiền)
Trang 8B1: Khóa của quan hệ: Mã MH
B2: Tập phụ thuộc hàm F’=F={Mã MH -> Tên MH, Giá tiền)
(F’ là tập phụ thuộc hàm tương đương với F và vế trái có một thuộc tính) B3: Có vế trái của phụ thuộc hàm F’ là Mã MH - Khóa của quan hệ MATHANG
==> Quan hệ MATHANG đạt chuẩn BCNF
Quan hệ LOAI_MH (Mã MH, Loại MH)
Tập phụ thuộc hàm: F={Mã MH -> Loại MH )
Khóa của quan hệ: Mã MH, Loại MH
-> Có vế trái của phụ thuộc hàm là Mã MH, Loại MH- Khóa của quan hệ LOAI_MH
==> Quan hệ LOAI_MH đạt chuẩn BCNF
Quan hệ SDT_NV (CCCDNV, SDTNV)
Tập phụ thuộc hàm: F={CCCDNV -> SDTNV}
Khóa của quan hệ: CCCDNV, SDTNV
-> Có vế trái của phụ thuộc hàm là CCCDNV, SDTNV- Khóa của quan
hệ SDT_NV
==> Quan hệ SDT_NV đạt chuẩn BCNF
Quan hệ THANHTOAN (Mã MH, Mã HD, Size, Số lượng)
Tập phụ thuộc hàm: F={Mã MH , Mã HD-> Size, Số lượng)
B1: Khóa của quan hệ: Mã MH, Mã HD
B2: Tập phụ thuộc hàm F’=F={Mã MH, Mã HD -> Size, Số lượng) (F’ là tập phụ thuộc hàm tương đương với F và vế trái có một thuộc tính) B3: Có vế trái của phụ thuộc hàm F’ là Mã MH - Khóa của quan hệ THANHTOAN
==> Quan hệ THANHTOAN đạt chuẩn BCNF
Quan hệ HOADON (Mã HD, Ngày lập, Mã KH, CCCD)
Tập phụ thuộc hàm: F={Mã HD -> Ngày lập, Mã KH, CCCD)
B1: Khóa của quan hệ: Mã HD
B2: Tập phụ thuộc hàm F’=F={Mã HD -> Ngày lập, Mã KH, CCCD) (F’ là tập phụ thuộc hàm tương đương với F và vế trái có một thuộc tính) B3: Có vế trái của phụ thuộc hàm F’ là Mã HD - Khóa của quan hệ HOADON
==> Quan hệ HOADON đạt chuẩn BCNF
6 Xác định dữ liệu thực bài toán
Bảng Nhân viên
Trang 9Bảng Khách hàng
Mã Khách hàng Tên khách hàng Số điện thoại Giới tính Địa chỉ KH Kh001 Nguyễn Thúy Hòa 0988540683 Nữ Bắc Giang Kh002 Trần Quốc Anh 0865046728 Nam Hà Nội Kh003 Hà Thị Anh Thư 0979822105 Nữ Bắc Ninh Kh004 Trần Khánh Chi 0369778456 Nữ Nam Định Kh005 Đỗ Ngọc Hiệp 0378922387 Nam Hà Nội Kh006 Ngô Thu Hoài 0247364866 Nữ Hà Nội Kh007 Tạ Quang Vinh 0383977732 Nam Vĩnh Phúc
Kh009 Nguyễn Mạnh Hải 0434683732 Nam Bắc Giang Kh010 Phan Đình Tùng 0921223999 Nam Bắc Ninh Bảng Mặt hàng
Mã mặt hàng Tên mặt hàng Giá tiền
Mh118 Áo babydoll 150.000
CCCD Tên nhân viên Giới tính Địa chỉ NV Hệ số lương
024473273014 Trần Văn Tân Nam Bắc Giang 3
032167398726 Nguyễn Yến Nhi Nữ Bắc Giang 4
024673121020 Thân Thế Thảo Nữ Bắc Ninh 5
035323890122 Tiêu Thanh Tuyết Nam Thái Nguyên 4
024101928732 Trần Thanh Thảo Nữ Nam Định 2
023458765123 Thân Văn Sơn Nam Nam Định 3
032987321467 Nguyễn Bảo Nam Nam Quảng Ninh 2
024304013906 Đoàn Thế Mạnh Nam Vĩnh Phúc 4
Trang 10Bảng Hóa đơn
Bảng Loại_Mặt hàng
Mã mặt hàng Loại mặt hàng
Bảng SĐT_Nhân viên
Số điện thoại Nhân viên
0812629307 Trần Văn Tân
0916429354 Đỗ Hà Anh
0113429398 Nguyễn Yến Nhi
0912656301 Thân Thế Thảo
0712789334 Tiêu Thanh Tuyết
0912432361 Trần Thanh Thảo
0409329238 Phạm Thị Linh
0258329312 Thân Văn Sơn
Mã hóa đơn Mã khách hàng Ngày lập CCCD
Trang 110349389343 Nguyễn Bảo Nam
0912302902 Đoàn Thế Mạnh Bảng Thanh toán
Mã mặt hàng Mã hóa đơn Size Số lượng
7 Khai thác Cơ sở dữ liệu bài toán
Khai thác từ 1 bảng là:
+) Nhân viên có địa chỉ ở “Hà Nội”
CCCD Tên nhân viên Giới tính Địa chỉ NV Hệ số lương
+) Đưa ra danh sách nhân viên chỉ có tên có giới tính nữ và hệ số lương <3
CCCD Tên nhân viên Giới tính Địa chỉ NV Hệ số lương
024101928732 Trần Thanh Thảo Nữ Nam Định 2
+) Đưa ra danh sách các khách hàng có giới tính=”Nam”, Địa Chỉ KH=”Hà Nội”
Mã Khách hàng Tên khách hàng Số điện thoại Giới tính Địa chỉ KH Kh002 Trần Quốc Anh 0865046728 Nam Hà Nội Kh005 Đỗ Ngọc Hiệp 0378922387 Nam Hà Nội +) Đưa ra danh sách mặt hàng có tên mặt hàng=”Váy”
Mã mặt Hàng Tên mặt hàng Giá tiền
+) Đưa ra danh sách mặt hàng có số tiền > 300.000
Trang 12Mã mặt Hàng Tên mặt hàng Giá tiền
Khai thác từ 2 bảng là:
+) Đưa ra danh sách khách hàng có địa chỉ ở Hà Nội lập hóa đơn ngày
22/5/2022
S1=
S2=
S3=(
S4=
Mã Khách hàng Tên khách hàng Số điện thoại Giới tính Địa chỉ KH
+) Đưa ra danh sách nhân viên có hệ số lương >3 lập hóa đơn ngày 17/5/2021
S1=
S2=
S3=(
S4=
CCCD Tên nhân viên Giới tính Địa chỉ NV Hệ số lương
035323890122 Tiêu Thanh Tuyết Nam Thái Nguyên 4
+) Đưa ra danh sách nhân viên lập hóa đơn cho khách hàng ở Bắc Giang
S1=(
S2=(
S3=
S4=
+) Đưa ra danh sách hóa đơn có giá tiền>200.000
S1=(
CCCD Tên nhân viên Giới tính Địa Chỉ NV Hệ số lương
024473273014 Trần Văn Tân Nam Bắc Giang 3
024304013906 Đoàn Thế Mạnh Nam Vĩnh Phúc 4
Trang 13S3=
S4=)
+) Đưa ra số lượng mua mặt hàng “Áo khoác”
S1=(
S2=
S3=)
Số lượng
1
Tính toán từ 1 bảng là:
+) Nhân viên có hệ số lương lớn nhất là:
A1= (CCCD)(NHANVIEN)
==> A1= 5
+) Điếm tổng số nhân viên có trong cửa hàng:
B1 =
==> B1= 10
+) Tính tổng lương của từng nhân viên với lương cơ bản là 5.000.000: C1 = CCCD
==> C1= HSL*5.000.000
+) Đếm số hóa đơn theo ngày:
D1= (Mã hóa đơn)
==> D1= 1
+) Đếm số lượng khách hàng ở Hà Nội:
E1 =
==> E1= 3
Tính toán từ 2 bảng là:
+) Đếm số lượng hóa đơn của khách hàng:
A1=
==> A1= 10
Mã hóa đơn Mã khách hàng Ngày lập CCCD
Trang 14+) Thông tin loại mặt hàng có giá tiền nhỏ nhất: B1 =
Mã mặt hàng Giá Tiền Mh111 99.000
+) Đếm số hóa đơn do nhân viên lập:
C1 =
==> C1= 10
+) Đếm số khách hàng có hóa đơn lập vào ngày 17/5/2022 D1 = (HOADON)
==> D1= 3
+) Thông tin loại mặt hàng có giá tiền lớn nhất:
E1 =
Mã Mặt Hàng Giá Tiền