Chào mừng các bạn quay lại với chuyên mục giải đề thi cơ sở dữ liệu tại PTIT. Trong bài viết này, Blog Thao Phạm hướng dẫn chi tiết cách chứng minh một phụ thuộc hàm thông qua 2 phương pháp đó là dùng các tiên đề Amstrong và cách dùng thuật toán tìm bao đóng, ngoài ra viết các biểu thức đại số quan hệ.
Sau đây là bài làm chi tiết:
Link tải đề 2:
Câu 3. Cho lược đồ quan hệ R = (A, B, C, D, E)
Phụ thuộc hàm F = (B->DA, CD->E, C->AD, AB->C)
a) Chứng minh B->E sử dụng tiên đề Amstrong
Note: phải chứng minh các IR4, IR5, IR6 rồi mới được sử dụng nhé.
1. B->B , dùng luật phản xạ IR1
2. B-> DA, có sẵn trong phụ thuộc hàm
3. B-> A, dùng luật chiếu IR4 từ bước 2
4. B-> AB, dùng luật cộng thêm IR5 từ bước 1 và 3
5. B->C, dùng luật bắc cầu IR3
6. B->D, luật chiếu IR4 từ bước 2
7. B->CD, luật cộng thêm IR5 từ bước 5 và 6
8. B->E, luật bắc cầu IR3 từ bước 7 => điều phải chứng minh
b) Chứng mình B->E dùng thuật toán bao đóng cho B+
Phụ thuộc hàm F = (B->DA, CD->E, C->AD, AB->C)
1. Vòng 1
B+ = {B}
Dùng B-> DA, B B+ nên thêm A, D vào B+, B+ = {B, D, A}
Dùng CD->E, không dùng
Dùng C->AD, không dùng
Dùng AB-> C, AB B+ nên thêm C vào B+, B+ = {B, D, A, C}
Có thay đổi xảy ra với B+ nên cần một vòng lặp nữa
2. Vòng 2
B+ = {B, D, A, C}
Dùng B->DA, có nhưng không có thay đổi
Dùng CD->E, CD B+ nên thêm E vào B+, B+ = {B, D, A, C, E}
Vậy B->E (đpcm)
Câu 4:
a) Phần viết câu truy vấn đại số quan hệ
- Tìm tên tất cả các khách hàng đã từng ở tại phòng của khách sạn bất kì có giá hơn 500.000 đồng
- Tìm tên tất cả các khách hàng chỉ trọ trong khách sạn Sao Mai trong tháng 6/2015
Với đề bài như thế này, mình hiểu đó là tìm tên của những khách hàng chỉ ở trọ tại khách sạn Sao Mai mà không ở khách sạn nào khác trong tháng 6/2015 tính từ ngày 01 đến ngày 31. Và phần so sánh với ngày, trong việc khai báo dữ liệu với ngôn ngữ SQL, mình thực hiện đặt ngày tháng là kiểu Short text, với fomat 'yy/mm/dd' vì mình muốn sử dụng bảng mã ASCII, các kí tự có vị trí khác nhau
Ví dụ so sánh năm có đúng bằng năm 2015 hay không, nếu đúng thì mới so sánh tới tháng và ngày.
b) Trong phần viết câu truy vấn dữ liệu, do lệnh UPDATE mình chưa sử dụng cách kết nối 2 bảng, mình viết câu lệnh dưới dạng:
SET PHONG.Gia = PHONG.Gia*1.15
WHERE PHONG.MaKS IN (SELECT PHONG.maks
FROM PHONG, KS
WHERE PHONG.MaKS = KS.MaKS AND KS.Ten = 'SHERATON');
Link tải bài làm trên Access:
Cảm ơn tất cả các bạn đã ghé thăm Blog Thao Phạm với mục đích cùng nhau trao đổi học tập. Mọi ý kiến đóng góp xin liên hệ trực tiếp với mình nhé! Thân.
Link giải đề 1:
1 Comments
Hướng Dẫn Làm Đề Thi Kết Thúc Học Phần Môn Cơ Sở Dữ Liệu - Đề Số 2 - Blog Thao Phạm >>>>> Download Now
ReplyDelete>>>>> Download Full
Hướng Dẫn Làm Đề Thi Kết Thúc Học Phần Môn Cơ Sở Dữ Liệu - Đề Số 2 - Blog Thao Phạm >>>>> Download LINK
>>>>> Download Now
Hướng Dẫn Làm Đề Thi Kết Thúc Học Phần Môn Cơ Sở Dữ Liệu - Đề Số 2 - Blog Thao Phạm >>>>> Download Full
>>>>> Download LINK