You are on page 1of 4

Câu 1:

1.

Họ tên Đơn vị

Số điện thoại
Giảng viên Trình độ

Mã giảng viên
Tên môn học
Giảng dạy

Môn học Mã môn học

Đăng ký học

Số tín chỉ

Điểm
Má sinh viên

Sinh viên
Quê quán

Điểm
Họ tên
Ngày sinh

2.

Giảng viên (Mã giảng viên, Họ tên giảng viên, Số điện thoại, Đơn vị công tác, Trình độ chuyên môn)

Môn học (Mã môn học, Tên môn học, Số tín chỉ)

Sinh viên (Mã sinh viên, Họ tên sinh viên, Ngày sinh, Quê quán)

Giảng dạy (Mã giảng viên, Mã môn học)

Đăng ký học (Mã sinh viên, Mã môn học)


Điểm (Mã sinh viên, Mã môn học, Điểm)

Câu 2:

a)Đại số quan hệ

1. Tour chưa được khách hàng đăng ký từ ngày 20/05/2021 đến ngày 30/05/2021:
πMatour,Tentour,Hanhtrinh,Giatour(σNgayBD≥′2021−05−20′∧NgayBD≤′2021−05−30′
(TOUR−DANGKY))

2. Các Tour thuộc loại "Trong nước" có giá tour dưới 5 triệu đồng:
πMatour,Tentour,Hanhtrinh,Giatour(σTenloai=′Trongnước′∧Giatour<5000000
(TOUR⋈LOAITOUR))

3. Tour thuộc loại "Ngoài nước" được đăng ký bắt đầu đi từ ngày 30/04/2021:
πMatour,Tentour,Hanhtrinh,Giatour(σTenloai=′Ngoaˋinước′∧NgayBD=′2021−04−30′
(TOUR⋈LOAITOUR⋈DANGKY))

4. Các tour có mức giá dưới 10 triệu đồng đã được đăng ký: πMatour,Tentour,Hanhtrinh,Giatour
(σGiatour<10000000(TOUR⋈DANGKY))

5. Khách hàng trên 60 tuổi: πMakh,Tenkh,Namsinh,Diachi,Sodt(σNamsinh≤1963(KH))

b) SQL

1. SELECT Matour, Tentour, Hanhtrinh, Giatour

FROM TOUR

INNER JOIN DANGKY ON TOUR.Matour = DANGKY.Matour

WHERE NgayKT = '2021-05-01';

2. SELECT *

FROM KH

WHERE YEAR(CURRENT_DATE) - Namsinh < 12;

3. SELECT COUNT(DISTINCT Makh) AS SoLuongKhach

FROM TOUR

INNER JOIN DANGKY ON TOUR.Matour = DANGKY.Matour

WHERE Hanhtrinh = 'Hà Nội – Vịnh Hạ Long';

4. SELECT COUNT(DISTINCT Makh) AS SoLuotDangKy

FROM DANGKY

WHERE MONTH(NgayBD) = 5 AND YEAR(NgayBD) = 2021;


5. SELECT KH.*

FROM KH

INNER JOIN DANGKY ON KH.Makh = DANGKY.Makh

WHERE DANGKY.Matour = 'TPHCM02';

Câu 3:

Dựa trên lược đồ quan hệ R= <U, F> với U ={A, B, C, D, E } và F = {AB -> C; D -> AE; E-> B }, chúng ta sẽ giải
quyết từng câu hỏi:

1.

- Để tính X, chúng ta cần tìm bao đóng của EH và EG. Sau đó, giao của hai bao đóng này với bất kỳ siêu
khóa S của R.

- Tìm bao đóng:

- EH+ = {E, H, A, B, C, D} (vì E và H đã có trong EH, không cần thêm)

- EG+ = {E, G, B} (vì E và G đã có trong EG, không cần thêm)

- Giả sử S là siêu khóa {A, B}. Ta có:

- X = (EH+ \EG+)  S+ = ({E, H, A, B, C, D} \ {E, G, B})  {A, B} = {A, B, C, D, H}

2.

- Để kiểm tra chuẩn 3NF, chúng ta cần kiểm tra xem tất cả các phụ thuộc hàm trong F có thỏa mãn
chuẩn 3NF hay không. Nếu không có phụ thuộc hàm nào vi phạm, thì lược đồ đạt chuẩn 3NF.

- Chúng ta cần kiểm tra từng phụ thuộc hàm trong F:

- AB -> C: Đã thỏa mãn.

- D -> AE: Đã thỏa mãn.

- E -> B: Đã thỏa mãn.

- Vậy lược đồ này đạt chuẩn 3NF.

3.

- Ta kiểm tra xem ADE+ có bao phủ toàn bộ tập U không. Nếu có, thì ADE là khóa.

- ADE+ = {A, D, E, B, C, H} (vì A, D, E đã có trong ADE, không cần thêm)


- ADE+ bao phủ toàn bộ U, nên ADE là khóa của lược đồ.

4.

- Chúng ta kiểm tra xem các phép tách sau có giữ nguyên tất cả các phụ thuộc hàm ban đầu không.

- CDE: Đã thỏa mãn.

- ABC: Đã thỏa mãn.

- ADE: Đã thỏa mãn.

5.

- Với U2= ADE, ta cần tìm tất cả các phụ thuộc hàm của U2.

- Các phụ thuộc hàm của U2: A -> D, A -> E, D -> A, D -> E, E -> A, E -> D.

- Dạng chuẩn cao nhất của lược đồ là {ADE, ABC, CDE}.

You might also like