Tải bản đầy đủ

ĐỀ THI HỌC PHẦN CƠ SỞ DỮ LIỆU

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 toà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ệ?

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’


Đáp án

MSPCTR=MSPC

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)

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)

FROM

PHICONG, CHUYENBAY

WHERE

PHICONG.MSPC = CHUYENBAY.MSPCTR

1

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ị nguyên 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

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 toà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 toà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)

4



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×