You are on page 1of 4

TRƢỜNG ĐẠI HỌC THƢƠNG MẠI

HỌC KỲ I NĂM HỌC 2021 – 2022.

(Phần dành cho sinh viên/ học viên)

Bài thi học phần: cơ sở dữ liệu Số báo danh: 92


Mã số đề thi: 2 Lớp: 2194INFO2311
Ngày thi: 20/12/2021 .Tổng số trang: 4 Họ và tên: Trịnh Thị Huyền Trang

Điểm kết luận:


GV chấm thi 1: …….………………………......

GV chấm thi 2: …….………………………......

Câu 1:Trình bày khái niệm về phủ tối thiểu của một tập phụ thuộc hàm.Nêu thuật toán tìm phủ
tối thiểu của một tập phụ thuộc hàm.lấy ví dụ minh họa

Bài làm

*Khái niệm phủ tối thiểu của một tập phụ thuộc hàm:

F được gọi là một tập phụ thuộc hàm tối thiểu nếu F thỏa mãn các điều kiện sau:

a) Vế phải của F chỉ có một thuộc tính.


b) Không  f: XAF và Z  X mà F+=(F(XA)(ZA))+
c) Không  XAF mà F + = (F  (X  A))+

Trong đó

- vế phải của mỗi phụ thuộc hàm ở điều kiện a) chỉ có một thuộc tính, nên bảo đảm không có
thuộc tính nào ở vế phải là dư thừa.

- điều kiện b) bảo đảm không có một thuộc tính nào tham gia vế trái của phụ thuộc hàm là dư
thừa.

- điều kiện c)bảo đảm cho tập F không có một phụ thuộc hàm nào là dư thừa.

* Thuật toán tìm phủ tối thiểu của tập phụ thuộc hàm là:

Vào: Tập thuộc tính U, F = {Li  Ri : i = 1..n}

Họ tên SV/HV: ………………………….………… - Mã LHP: …………………… Trang 1/…..


Ra: Phủ tối thiểu F của tập phụ thuộc hàm F

 Thuật toán:

B.1. Tách các PTH có VP lớn hơn một thuộc tính thành các PTH có VP một thuộc tính

B.2. Loại bỏ khỏi F các thuộc tính thừa trong vế trái của các phụ thuộc hàm

B.3. Loại bỏ khỏi F các phụ thuộc hàm dư thừa

*Ví dụ: Cho F= {AC, BC, C D, DEC, CAB}.Tìm phủ tối thiểu của F?

 Tách các PTH có VP lớn hơn một thuộc tính thành các PTH có VP một thuộc tính
FF0={AC, BC, C D, DEC, CA,CB}.
 Loại bỏ khỏi F0 các thuộc tính thừa trong vế trái(VT từ 2 thuộc tính trở lên) của các phụ
thuộc hàm

DEC:Bỏ E ta có D+={D} không chứa C nên không dư thừa


Bỏ D Ta có E+={E} không chứa C nên không dư thừa
=> DEC không có thuộc tính dư thừa ở vế trái.
Vậy F0={AC, BC, C D, DEC, CA,CB}.
 Loại bỏ khỏi F0 các phụ thuộc hàm dư thừa
+) AC: AF0-{A-->C}+ ={ A } không chứa C nên PTH này không dư thừa
+) BC: BF0-{B-->C}+ ={ B } không chứa C nên PTH này không dư thừa
+) CD: CF0-{C-->D}+={ABC} không chứa D nên PTH này không dư thừa
+)DEC: DEF0-{DE-->C}+={DE} không chứa C nên PTH này không dư thừa
+)CA: CF0-{C-->A}+ = {CBD} không chứa A nên PTH này không dư thừa
+) CB: CF0-{C-->B}+ = {ACD} không chứa B nên PTH này không dư thừa
Vì không có PTH dư thừa nên phủ tối thiểu của F0 là:
F0={AC, BC, C D, DEC, CA,CB}.

Câu 2:Một cửa hàng mỹ phẩm cần xây dựng một CSDL quản lý bán hàng.thông tin quản lí bao
gồm:

- Thông tin về khách hàng


- Thông tin về sản phẩm
- Thông tin khách hàng mua sản phẩm
a) mô hình thực thể liên kết cho CSDL trên là

Họ tên SV/HV: ………………………….………… - Mã LHP: …………………… Trang 2/…..


Mô hình thực thể quan hệ:

KHACHHANG(MaKH,HoTen,ĐiaChi,GioiTinh,SĐT)

SANPHAM(MaSP,TenSP,ĐonGia,ĐonViTinh)

MUAHANG(MaMuaHang,MaKH,MaSP,NgayMua,SoLuong,ThanhTien)

b)

*TRUY VẤN CƠ BẢN:cho biết họ tên của khách hàng có mã khách hàng là 001

+ đại số quan hệ:

ΠHoTen (σMaKH = ‘001’ KHACHHANG)


+ngôn ngữ SQL:

SELECT HoTen
FROM KHACHHANG

Họ tên SV/HV: ………………………….………… - Mã LHP: …………………… Trang 3/…..


WHERE MaKH=‘001’
*TRUY VẤN NÂNG CAO:
Đưa ra thông tin về mã khách hàng ,họ tên khách hàng mua hàng ngày 1/1/2021 với tổng
tiền thanh toán lớn hơn 1000$
+đại số quan hệ

ΠMaKH,HoTen (σ(NgayMua=1/1/2021) ∩ (ThanhTien>1000$)(KHACHHANG*MUAHANG))

+ngôn ngữ SQL

SELECT KH.MaKH,HoTen
FROM KHACHHANG INNER JOIN MUAHANG ON KH.MaKH=MH.MaKH
WHERE NgayMua=1/1/2021 AND ThanhTien>1000$
Thống kê số khách hàng có địa chỉ ở Hà Nội
+đại số quan hệ

COUNT(MaKH)(σĐiaChi= ‘Hà Nội’ KHACHHANG)


+ngôn ngữ SQL
SELECT COUNT(KH.MaKH)
FROM KHACHHANG
WHERE ĐiaChi =‘Hà Nội’

Họ tên SV/HV: ………………………….………… - Mã LHP: …………………… Trang 4/…..

You might also like