Tải bản đầy đủ (.pdf) (12 trang)

Ôn tập Cơ Sở Dữ Liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (430.65 KB, 12 trang )

Bài tập ôn thi

1. Cho 1 CSDL chứ a các lượ c đồ quan hệ sau:
HANGHOA(MaHang, TenHang, DonGia, SoLuongTon)
CHITIETHOADON(SoHD, MaHang, SoLuong)
Quan hệ CHITIETHOADON cho biết thông tin chi tiết mỗi hóa đơn, mỗi hóa đơn có 1
số hóa đơn duy nhât́ và mỗi hóa đơn có thể mua nhiều hơn 1 hà ng hóa.
́ tìm mã hà ng hóa nà o đượ c mua nhiều nhât́ cù ng vớ i số lượ ng
Hãy viết lệnh truy vân
mua của hà ng hóa đó
a. SELECT MaHang, MAX(SUM(Soluong) ) ‘Tong So Luong’
FROM CHITIETHOADON
GROUP BY MaHang
b. SELECT TOP 1 TenHang, SUM(SoLuong) ‘Tong So luong’
FROM CHITIETHOADON
GROUP BY MaHang
ORDER BY SUM(SoLuong) DESC
c. SELECT TenHang, SUM(SoLuong) ‘Tong So luong’
FROM CHITIETHOADON c JOIN HANGHOA h ON c.MaHang= h.MaHang
GROUP BY TenHang
HAVING SUM(SoLuong) >=ALL(SELECT SUM(SoLuong)
FROM CHITIETHOADON GROUP BY MaHang)
d. Cả ba câu đều đúng


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

2. Cho 1 CSDL chứ a các lượ c đồ quan hệ sau:
CHUNGLOAI( MaLoai, TenLoai)
HANGHOA(MaHang, TenHang, MaLoai, DonGia, SoLuongTon)
CHITIETHOADON(SoHD, MaHang, SoLuong)


Quan hệ CHUNGLOAI mô tả các chủng loại hà ng hóa, mỗi chủng loại gồm nhiều
hà ng hóa khác nhau. Quan hệ CHITIETHOADON cho biết thông tin chi tiết mỗi hóa
đơn, mỗi hóa đơn có 1 số hóa đơn duy nhât́ và mỗi hóa đơn có thể mua nhiều hơn 1
hà ng hóa.
́ liệt kê các hóa đơn có chứ a các hà ng hóa đăt́ nhât́ của mỗi
Hãy viết lệnh truy vân
chủng loại
a. SELECT SoHD, h.MaHang, DonGia, MaLoai
FROM CHITIETHOADON c JOIN HANGHOA h ON c.MaHang = h.MaHang
WHERE DonGia = (SELECT MAX(DonGia) FROM HANGHOA a
WHERE a.MaLoai = h.MaLoai)
b. SELECT SoHD, h.MaHang, DonGia, MaLoai
FROM CHITIETHOADON c JOIN HANGHOA h ON c.MaHang = h.MaHang
JOIN (SELECT MaLoai, MAX(DonGia) ‘GiaMacNhat’ FROM HANGHOA
GROUP BY MaHang) a ON a.MaLoai= h.MaLoai)
WHERE DonGia = GiaMacNhat
c. SELECT SoHD, h.MaHang, DonGia, MaLoai
FROM CHITIETHOADON c JOIN HANGHOA h ON c.MaHang = h.MaHang
WHERE DonGia IN (SELECT MAX(DonGia) FROM HANGHOA a
GROUP BY MaLoai)
d. Cả ba câu trên đều đúng
3. Cho 1 CSDL chứ a các lượ c đồ quan hệ sau:
HANGHOA(MaHang, TenHang, DonGia, SoLuongTon)
2


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

CHITIETHOADON(SoHD, MaHang, SoLuong)
Quan hệ CHITIETHOADON cho biết thông tin chi tiết mỗi hóa đơn, mỗi hóa đơn có 1

số hóa đơn duy nhât́ và mỗi hóa đơn có thể mua nhiều hơn 1 hà ng hóa.
́ liệt kê các hà ng hóa không bán đượ c ( chưa từ ng xuât́ hiện
Hãy viết lệnh truy vân
trong bảng CHITIETHOADON)
a. SELECT * FROM HANGHOA
WHERE MaHang NOT IN (SELECT DISTINCT MaHang FROM CHITIETHOADON)
b. SELECT * FROM HANGHOA
WHERE MaHang <>ALL (SELECT DISTINCT MaHang FROM CHITIETHOADON)
c. SELECT * FROM HANGHOA h
WHERE NOT EXIST (SELECT * FROM CHITIETHOADON
WHERE MaHang =h.MaHang)
d. Cả ba câu trên đều đúng
4. Cho 1 CSDL vớ i các quan hệ như sau:
SINHVIEN (MaSV, Ho,Ten, NgaySinh, MaLop)
MONHOC(MaMon,TenMon)
BANGDIEM(MaSV,MaMon, Diem)
́ tớ i, toà n bộ sinh viên của lớ p có mã lớ p là TH10 sẽ đượ c họ c môn
Trong họ c kỳ săp
họ c có mã môn là CSDL. Hiện tại trong bảng BANGDIEM chưa có danh sách sinh viên
họ c môn CSDL của lớ p. Hãy viết lệnh chè n danh sách sinh viên lớ p nà y và o bảng
BANGDIEM
a. INSERT BANGDIEM (MaSV, MaMon)
SELECT MaSV, ‘CSDL’
FROM SINHVIEN WHERE MaLop=’TH10’

3


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU


b. INSERT BANGDIEM (MaSV, MaMon)
VALUES ( MaSV, ‘CSDL’) FROM SINHVIEN WHERE MaLop=’TH10’
c. INSERT BANGDIEM
SET MaSV = s.MaSV, MaMon=’CSDL’
FROM SINHVIEN WHERE MaLop=’TH10’
d. Không có câu nà o đúng
5. Giả sử có các lược đồ quan hệ sau:
PROFESSOR(ProfId, Name, DeptId)
TEACHING(ProfID, CrsCode,Semester)
Để liệt kê tất cả các giáo sư (PROFESSOR) khoa CS (DeptId =’CS’) hoặc các giáo sư
không thuộc khoa CS nhưng đã từng dạy các môn học của khoa CS ( Mã môn
CrsCode luôn bắt đầu bằng 2 ký tự ‘CS’), cần thực hiện lệnh truy vấn sau:
a. SELECT P.Name
FROM PROFESSOR P, TEACHING T
WHERE (P.Id = T.ProfId AND T.CrsCode like ‘CS%’) OR (P.Dept=’CS’)
b. SELECT P.Name FROM PROFESSOR P, TEACHING T
WHERE (P.Id = T.ProfId AND T.CrsCode like ‘CS%’)
UNION
SELECT P.Name FROM PROFESSOR P WHERE P.Dept=’CS’
c. SELECT P.Name
FROM PROFESSOR P JOIN TEACHING T
ON P.Id = T.ProfId WHERE T.CrsCode like ‘CS%’ OR P.Dept=’CS’
d. Chỉ có a,b là đúng
6. Cho 1 lượ c đồ quan hệ như sau
SAILOR(sid, sname, rating, age)

4


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU


Lượ c đồ mô tả thông tin của các thủy thủ (SAILOR) bao gồm mã thủy thủ (sid), tên
́ tìm tên thủy thủ có
(sname), xếp hạng (rating) và tuổi (age). Hãy viết lệnh truy vân
xếp hạng cao nhât́
a. SELECT TOP 1 sname FROM SAILOR ORDER BY rating
b. SELECT S.sid FROM Sailors S
WHERE S.rating >= ALL ( SELECT S2.rating FROM Sailors S2 )
c. SELECT S.sid
FROM Sailors S WHERE S.rating = ( SELECT max(S.rating) FROM Sailors S2 )
d. Cả ba câu đều đúng

7. Cho 1 CSDL gồm các lượ c đồ sau:
NHAXUATBAN(MaNXB, TenNXB, DiaChiNXB)
TIEUDESACH(MaSach,TenSach,DonGia, MaNXB)
Hãy viết lệnh liệt kê các tên các sách có giá cao hơn giá của sách rẻ nhât́ đượ c xuât́
bản bở i nhà xuât́ bản Giáo dụ c
a. SELECT TenSach
FROM TIEUDESACH
WHERE DonGia >ANY (SELECT DonGia FROM TIEUDESACH t
JOIN NHAXUATBAN n ON on.MaNXB = t.MaNXB
WHERE TenNXB =’Giáo dụ c’)
b. SELECT TenSach
FROM TIEUDESACH t JOIN NHAXUATBAN n ON on.MaNXB = t.MaNXB
WHERE TenNXB =’Giáo dụ c’ AND DonGia > (SELECT Min(DonGia) FROM
TIEUDESACH)

5



ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

c. Cả hai câu trên đều đúng
d. Cả hai câu trên đều sai
8. . Xét lệnh tạo bảng sau
CREATE TABLE SINHVIEN
(
MaSV char(6) unique,
Name char(20),
SoCMND char(10) unique,
Ngaysinh datetime ,
constraint c1 UNIQUE (Name,Ngaysinh))
Phát biểu nào sau đây là đúng sau khi thực hiện lệnh trên:
a. Lệnh sai cú pháp, không thể tạo quá nhiều ràng buộc unique
b. Không thể tạo ràng buộc c1 trên cả 2 trường Name và Ngaysinh
c. Bảng SINHVIEN có 3 khóa dự tuyển (candidate key)
d. Cột MaSV nên là primary key
9. Xét lệnh tạo bảng sau:
CREATE TABLE employee
(
emp_id empid
CONSTRAINT PK_emp_id PRIMARY KEY NONCLUSTERED
CONSTRAINT CK_emp_id CHECK (emp_id LIKE
'[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' or
emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]'),
fname varchar(20) NOT NULL,
minit char(1) NULL,
lname varchar(30) NOT NULL,
job_id smallint
NOT NULL DEFAULT 1 REFERENCES jobs(job_id),

job_lvl tinyint DEFAULT 10,
pub_id char(4) NOT NULL DEFAULT ('9952') REFERENCES publishers(pub_id),
hire_date datetime NOT NULL DEFAULT (getdate()))
Phát biểu nào sau đây là đúng với lệnh trên
6


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

a. Sai cú pháp khi tạo cùng lúc nhiều ràng buộc cho cột emp_id
b. Có 2 ràng buộc tham chiếu đến bảng jobs và publishers
c. Ràng buộc DEFAULT ('9952') phải đặt sau ràng buộc REFERENCES
d. Rà ng buộ c CHECK CK_emp_id sai cú pháp
10.Để thể hiện giá cả (PRICE) thay đổi theo thời gian trong lược đồ ER, ta nên làm gì?
a. Tạo thuộc tính đa trị Price cho thực thể PRODUCT
b. Tạo thuộc tính phức hợp Price_History có 2 thành phần Effective_Date và Price
cho thực thể PRODUCT
c. Tạo 1 thực thể yếu PRICE có 2 thuộc tính Product_ID và Price
d. Tạo 1 thực thể phụ thuộc tên PRICE có 3 thuộc tính là Product_ID, Date và Price
11.Nên dùng các ràng buộc gì để thể hiện quy tắc nghiệp vụ sau đây nếu có 2 lược
đồ quan hệ là KYSU và BANGCAP : “Mỗi kỹ sư có mã nhân viên duy nhất và không
có kỹ sư nào mã trùng nhau, tuổi của kỹ sư không được quá 50. Mỗi kỹ sư có thể
có ít nhất 1 bằng cấp và có thể có thêm 1 vài bằng cấp khác, các bằng cấp có thể
giống nhau”
a. Primary key, Check, foreign key
b. Unique, Default và foreign key
c. Primary key, Foreign key
d. Primary key, unique, foreign key, default, check

12.Dùng ràng buộc gì để thể hiện quy tắc nghiệp vụ sau đây nếu có 2 lược đồ quan

hệ KHACH, HOADON: “ Mỗi khách hàng có thể mua nhiều hóa đơn, và mỗi hóa
đơn chỉ thuộc 1 khách hàng duy nhất. Khách hàng có thể mua từ 1 đến nhiều mặt
hàng trong mỗi hóa đơn. Số lượng tồn của mỗi mặt hàng luôn được cập nhật
ngay sau khi phát sinh hóa đơn mới”
a. foreign key
b. Primary key
c. Check
d. Cả 3 loại ràng buộc trên

7


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

Phần 2: Phụ thuộc hàm và các dạng chuẩn
1. Cho lược đồ sau:
A
10
10
11
12
13
14

B
b1
b2
b4
b3
b1

b3

C
c1
c2
c1
c4
c1
c4

TUPLE#
1
2
3
4
5
6

Hãy xác định các phụ thuộc hàm sau có tồn tại trong lược đồ trên hay không?
i. A→B, ii. B→C, iii. C→B, iv. B→A, v. C→A
b. Phụ thuộc hàm là khóa dụ tuyển (candidate key)?
2. Cho lược đồ R = {A, B, C, D, E, F, G, H, I, J} và tập các phụ thuộc hàm
F = { {A, B}→{C}, {A}→{D, E}, {B}→{F}, {F}→{G,H}, {D}→{I, J} }. Hãy xác định khóa của
R. Phân rã R thành 2NF và 3NF
3. Khảo sát lược đồ sau:
CAR_SALE(Car#, Date_sold, Salesperson#, Commission%, Discount_amt)
Giả sử 1 xe (car) có thể được bán bởi nhiều nhân viên bán hàng (salespeople) nên
khóa chính là {Car#, Salesperson#}. Lược đồ còn có 2 phụ thuộc hàm sau:
Date_sold → Discount_amt and
Salesperson# → Commission%

Quan hệ này thuộc chuẩn nào? Nếu không thuộc chuẩn 3NF hãy phân rã thành
chuẩn 3NF
4. Cho lược đồ liên quan đến các sách (book) được xuất bản (publish) như sau:

8


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

BOOK (Book_title, Author_name, Book_type, List_price, Author_address,Publisher)
Giả sử có các phụ thuộc hàm sau:
Book_title → Publisher, Book_type
Book_type → List_price
Author_name → Author_address
Lược đồ thuộc chuẩn nào? Nếu chưa đạt chuẩn 3NF, hãy phân rã về dạng chuẩn
3NF.
5. Khảo sát lược đồ sau:
R (Doctor#, Patient#, Date, Diagnosis, Treat_code, Charge)
Mỗi hàng của lược đồ mô tả 1 lần khám bệnh của bệnh nhân (patient) do 1 bác sĩ
(doctor) phụ trách,chẩn đoán bệnh (diagnosis), mã điều trị (treament code) và phí
khám bệnh(charge). Giả sử mỗi lần khám chỉ có duy nhất 1 chẩn đoán bệnh, mỗi mã
điều trị có 1 phí khám bệnh cố định. Lược đồ có thuộc dạng chuẩn 2NF không? Hãy
chuẩn hóa thành dạng 3NF
6. Cho lược đồ R = {A, B, C, D, E, F, G, H, I, J} và tập phụ thuộc hàm F = { {A, B}→{C},
{A}→{D, E}, {B}→{F}, {F}→{G,H}, {D}→{I, J} }. Xác định khóa của lược đồ. Phân rã
R thành chuẩn 3NF
7. Tương tự câu 1 nhưng với tập phụ thuộc hàm G = {{A, B}→{C}, {B, D}→{E, F}, {A,
D}→{G, H}, {A}→{I}, {H}→{J} }.
8. Cho lược đồ và tập phụ thuộc hàm như câu 6. Hãy xác định xem những phân rã
nào sau đây có bảo toàn phụ thuộc hàm và không mất mát thông tin hay không?

a. D1 = {R1, R2, R3, R4, R5} ; R1 = {A, B, C} , R2 = {A, D, E} , R3 = {B, F} ,
R4 ={F, G, H} , R5 = {D, I, J}
b. D2 = {R1, R2, R3} ; R1 = {A, B, C, D, E} , R2 = {B, F, G, H} , R3 = {D, I, J}
c. D3 = {R1, R2, R3, R4, R5} ; R1 = {A, B, C, D} , R2 = {D, E} , R3 = {B, F} ,
R4 = {F, G, H} , R5 = {D, I, J}
9. Các phân rã này có mất mát thông tin không?
9


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

a. Cho lược đồ R1 (A1, A2, A3, A5), R2 (A1, A3, A4), R3 (A4, A5) và các phụ
thuộc hàm FD1: A1  A3 A5, FD2: A5  A1 A4 FD3: A3 A4  A2
b. Cho R=ABCDE, R1 = AD, R2 = AB, R3 = BE, R4= CDE, R5 =AE. Tập phụ thuộc
hàm là A C, BC, CD, DEC, CEA
c. Khảo sát lược đồ R(A,B,C,D,E) đã phân rã thành các lược đồ sau: R1(A,C),
R2(A,B,D), và R3(D,E) với các FD là A → C, AB → D, và D → E
Câu trắc nghiệm
1. Xét lược đồ quan hệ sau D(HKIYZ) và tập phụ thuộc hàm C={HK IZ, KY; YH}.
Phụ thuộc hàm nào không thể suy diễn được từ C?
a. HY IZ
b. KZ  HI
c. HK YH
d. K H
2. Cho các phụ thuộc hàm sau (H I -> D, D -> P) với lược đồ quan hệ là N(H I D P).
Phụ thuộc hàm H -> P có thể được suy diễn bởi luật nào sau đây:
a. Luật phản xạ (reflexive rule)
b. Luật bắc cầu (transitive rule)
c. Luật gia tăng (augmentation rule)
d. Không có luật nào đúng

3. Cho các phụ thuộc hàm sau, {I A -> N G X ; I -> X} với lược đồ quan hệ
R = (I ,A,N,G,X). Khóa của R là
a. I
b. IA
c. AX
d. Một thuộc tính khác
4. Cho lược đồ quan hệ R(I,J,C,D,E,G) với tập các phụ thuộc hàm F ={IJC, CJ,
IJDE, GI, IJ, JE, DI}. Các phụ thuộc hàm nào sau đây là dư thừa đối với
F?

10


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU

a) IJDE
b) IJ
c) JE
d) DI
5. Cho lược đồ quan hệ Q và tập phụ thuộc hàm F =
{ABC,BD,CDE,CEGH,GA}. Phụ thuộc hàm nào sau đây không được suy
diễn logic từ F?
a) AE
b) CEB
c) CDA
d) BA
6. Cho lược đồ quan hệ Q và tập phụ thuộc hàm F={JNE,JGI,NEI,EG,GIH}.
Phụ thuộc hàm nào sau đây không được suy diễn logic từ F?
a) JNG
b) NEH

c) JGN
d) JNH
7. Cho lược đồ quan hệ R(Q,D,H,G,C) và tập phụ thuộc F như sau:
F={Q  D,QG  H,GD  C, DH}.Phụ thuộc hàm nào sau đây là dư thừa:
a)
b)
c)
d)

QD
QG  H
GD  C
DH

8. Cho lược đồ quan hệ Q với 2 tập phụ thuộc hàm: F ={HBG, BG, GDE ,DE }
và K ={HBG, BG, GB, BDE }. Hỏi:
a)
b)
c)
d)

F tương đương K.
F không tương đương K.
F là tập con của tập K
K là tập con của tập F
11


ÔN THI MÔN HỆ CƠ SỞ DỮ LIỆU


9. Cho lựơc đồ quan hệ Q(G,M,V,N,H,P) và tập phụ thuộc hàm F={GM, GN, GH,
̉ nà o?
GP, MV, NHPM}. Q đạt dạng chuân
a)
1NF
b)
2NF
c)
3NF
d)
BCNF
10.Cho lược đồ quan hệ R(A,B,C,D,E,H) và tập phụ thuộc hàm F={A->E,C->D,E->DH}.
Xác định dạng chuẩn cao nhất cuả lược đồ quan hệ R.
a)
Dạng chuẩn 1 (1NF)
b)
Dạng chuẩn 2 (2NF)
c)
Dạng chuẩn 3 (3NF)
d)
Dạng chuẩn Boyce-Codd (BCNF)
11.Cho lược đồ quan hệ Q(N,G,P,M) F={NGPM; MP}. Hỏi Q đạt chuẩn gì
a) 2NF
b) 1NF
c) 3NF
d) BCNF

12




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

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