TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: HỆ THỐNG THÔNG TIN
-------------------------
ĐỀ THI CUỐI KỲ HỌC KỲ 2
NĂM HỌC 2014 - 2015
Môn: Cơ sở dữ liệu
Mã môn học: CSDL431479
Đề số 01 - Đề thi có 01 trang.
Thời gian: 60 phút.
Khơng được sử dụng tài liệu.
-------------------------
Câu 1: (5 điểm)
1.1. Viết các truy vấn sau bằng ngơn ngữ đại số quan hệ:
a) Tìm các tên phi công là cơ trưởng của chuyến bay đến ‘New York’
b) Tìm các tên máy bay chưa được dùng để phục vụ bất cứ chuyến bay nào.
1.2. Viết các truy vấn sau bằng ngơn ngữ SQL:
a) Tìm các tên máy bay dùng phục vụ cho các chuyến bay mà phi công tên Trần Mạnh Vũ
đã làm cơ trưởng.
b) Liệt kê các tên phi công làm cơ trưởng của nhiều chuyến bay nhất.
c) Với mỗi phi công đã làm cơ trưởng ít nhất 3 chuyến bay, tìm tên phi cơng và khoảng cách
lớn nhất của chuyến bay mà anh ta đã làm cơ trưởng.
Câu 2: (3 điểm)
Cho lược đồ quan hệ R(A,B,C,D) có F = { ABC D, D A }.
a) Tìm tất cả các khóa của R.
b) Xác định dạng chuẩn cao nhất của R.
c) Phân rã R thành R1(A, D), R2(B, C, D). Phân rã này có bảo tồn thơng tin hay khơng?
Câu 3: (2 điểm)
Tìm Kết quả ánh xạ sang lược đồ CSDL quan hệ?
ThiNganHang.com 1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: HỆ THỐNG THÔNG TIN
-------------------------
ĐÁP ÁN ĐỀ THI MÔN: Cơ sở dữ liệu
NĂM HỌC 2014 - 2015
Mã mơn học: CSDL431479
Đề số 01 Đáp án có 03 trang.
-------------------------
Câu 1:
1.1 Viết các truy vấn sau bằng ngôn ngữ đại số quan hệ:
Stt Loại
1
Câu hỏi
Nội dung
Điểm
a) Tìm các tên phi công là cơ trưởng của chuyến bay đến ‘New York’
MSPCTR=MSPC
Đáp án
1
1
∏TENPC(NOIDEN = ‘New York’ (CHUYENBAY) |X| PHICONG)
2
Câu hỏi
b) Tìm các tên máy bay chưa được dùng để phục vụ bất cứ chuyến bay nào
1
Đáp án
∏TENMB((∏MSMB (MAYBAY) - ∏ MSMB(CHUYENBAY)) |X| MAYBAY)
1
1.2 Viết các truy vấn sau bằng ngôn ngữ SQL:
Stt Loại
3
Câu hỏi
Nội dung
Điểm
a) Tìm các tên máy bay dùng phục vụ cho các chuyến bay mà phi công tên
1
Trần Mạnh Vũ đã làm cơ trưởng
Đáp án
SELECT
TENMB
1
FROM
MAYBAY, CHUYENBAY, PHICONG
WHERE
MAYBAY.MSMB = CHUYENBAY.MSMB AND
CHUYENBAY.MSPCTR = PHICONG.MSPC AND
TENPC = ‘Trần Mạnh Vũ’
4
Câu hỏi
b) Liệt kê các tên phi công làm cơ trưởng của nhiều chuyến bay nhất.
1
Đáp án
SELECT
TENPC
1
FROM
PHICONG, CHUYENBAY
WHERE
PHICONG.MSPC = CHUYENBAY.MSPCTR
GROUP BY
PHICONG.MSPC, TENPC
HAVING
COUNT(*) >= ALL
(SELECT
COUNT(*)
FROM
CHUYENBAY
GROUP BY
MSPCTR)
ThiNganHang.com 2
5
Câu hỏi
c) Với mỗi phi công đã làm cơ trưởng ít nhất 3 chuyến bay, tìm tên phi
1
cơng và khoảng cách lớn nhất của chuyến bay mà anh ta đã làm cơ trưởng.
Đáp án
SELECT
TENPC, MAX(KHOANGCACH)
1
FROM
PHICONG, CHUYENBAY
WHERE
PHICONG.MSPC = CHUYENBAY.MSPCTR
GROUP BY
PHICONG.MSPC, TENPC
HAVING
COUNT(*) >= 3
Câu 2:
Cho lược đồ quan hệ R(A,B,C,D) có F = { ABC D, D A }.
Stt Loại
8
Nội dung
Câu hỏi
a) Tìm tất cả các khóa của R
Đáp án
N = {B, C}
Điểm
1
0.5
D = {}
L = {A, D}
(BC)+ = {B, C } ≠ R
0.5
(BCA)+ = {B, C, A, D} = R
(BCD)+ = {B, C, D, A} = R
Vậy: R có 2 khóa là (BCA) và (BCD)
9
Câu hỏi
b) Xác định dạng chuẩn cao nhất của R.
1
Đáp án
- DC1: miền giá trị của mỗi thuộc tính chỉ bao gồm các giá trị ngun tố
1
R đạt DC1
- DC2: Mọi thuộc tính khơng khóa đều phụ thuộc hàm đầy đủ vào thuộc
tính khóa.
A, B, C, D đều là thuộc tính khóa. R khơng có thuộc tính khơng
khóa
R đạt DC2
- DC3: Mọi PTH khơng hiển nhiên X A thì (a) X là một siêu khóa hoặc
(b) A là thuộc tính khóa.
Xét PTH ABC D: (ABC) là siêu khóa.
Xét PTH D A: A là thuộc tính khóa
R đạt DC3
- DC BC: Mọi PTH khơng hiển nhiên X A thì X là một siêu khóa
Xét PTH D A: D khơng phải là siêu khóa
ThiNganHang.com 3
R không đạt DC BC
Vậy: Dạng chuẩn cao nhất của R là DC3.
10
Câu hỏi
c) Phân rã R thành R1(A, D), R2(B, C, D). Phân rã này có bảo tồn thông
1
tin hay không ?
Đáp án
R1 R2 = {D}
1
R1 – R2 = {A}
R2 – R1 = {B, C}
Ta có D A F
Hay R1 R2 R2 – R1 F+
Vậy: Phân rã bảo tồn thơng tin
Câu 3. Kết quả ánh xạ sang lược đồ CSDL quan hệ:
(2đ)
BANK(Code, Name, Addr)
BANK_BRANCH(Code, Branch_no, Addr)
ACCOUNT(Acct_no, Type, Balance, Code, Branch_no)
LOAN(Loan_no, Type, Amount, Code, Branch_no)
CUSTOMER(Ssn, Name, Phone, Addr)
A_C(Ssn, Acct_no)
L_C(Ssn, Loan_no)
ThiNganHang.com 4