Hướng Dẫn (Vì thi cũng đã lâu nên có gì sai sót mong bỏ qua :) )
1.1 Khóa là tập thuộc tính nhỏ nhất để xác định duy nhất từng mẫu tin trong bảng ( ko trùng, ko rỗng)
Tự ví dụ :)
1.2. Tìm khóa:
TN: {D}
TG: {A}
Xi là tập con của TG
Xi
|
TN U Xi
|
(TN U Xi) +
|
Siêu Khóa
|
Khóa
|
Rỗng
A
|
D
AD
|
ABCDEG
ABCDEG
|
D
AD
|
D
|
2.a. Tạo các bảng
Chú ý:
+ Bảng KHACHHANG có thêm PRIMARY KEY
+ Bảng CTXUAT có thêm FOREIGN KEY
b. SELECT ten,diachi,dienthoai FROM KHACHHANG WHERE makh=”k01”
c. SELECT TOP1 mahang,tenhang FROM DANHMUCHANG, CTXUAT,PHIEUXUAT WHERE mahang.DANHMUCHANG=mahang.CTXUAT AND maphieu.CTXUAT=maphieu.PHIEUXUAT AND ngay>=’01/09/2012’ and ngay <’1/10/2012’
Hoặc có cách khác dùng select … >= select … (cách này chính xác hơn cách trên J )
d. dùng NOT IN
SELECT mahang,tenhang FROM DANHMUCHANG, CTXUAT,PHIEUXUAT WHERE mahang.DANHMUCHANG=mahang.CTXUAT AND maphieu.CTXUAT=maphieu.PHIEUXUAT AND ngay NOT IN (SELECT mahang,tenhang FROM DANHMUCHANG, CTXUAT,PHIEUXUAT WHERE mahang.DANHMUCHANG=mahang.CTXUAT AND maphieu.CTXUAT=maphieu.PHIEUXUAT AND ngay>=’01/09/2012’ and ngay <’1/10/2012’)
3. Đề: MA=>C,A=>D, CD=>E, C=>A
3.1. giống như 1.2 . kq ra 2 khóa MA, MC
3.2. Ko nhớ :D
3.3. làm 5 bước như th Long hướng dẫn:
B1: Tìm phủ tối thiểu
Ko có dư thừa?!
MA=>C,A=>D, CD=>E, C=>A
B2: Hơp các phụ thuộc hàm cùng vế trái
MA=>C,A=>D, CD=>E, C=>A
B3: Tạo các lược đồ
U1(MAC),U2(AD), U3(CDE), U4 (CA)
B4: Tìm tất cả các khóa
Kq là 2 khóa MA, MC
B5: =>KQ
Vì U1 chứa khóa MA,MC => kết thúc