You are on page 1of 22

Bài tập chương 3 & 4

Nhóm 7
Thành viên :
1. Hoàng Minh Nhật (NT) MSSV : 19133042
2. Nguyễn Duy Nhựt MSSV : 20110253
3. Hồ Đức Pháp MSSV : 20110691
4. Châu Thuận Phát MSSV : 20110157
5. Trần Huỳnh Tấn Phát MSSV : 20110695

Câu hỏi ôn tập chương 3


1. Đại số quan hệ là gì?
Đại số quan hệ là một tập các phép toán cơ bản trên mô hình quan hệ. Các
phép toán này cho phép người dùng xác định yêu cầu truy vấn thông tin dưới
dạng biểu thức đại số quan hệ.
2. Phép chọn theo điều kiện F là phép toán gì?
Phép chọn theo điều kiện F là phép toán lấy các dòng trong quan hệ input
thỏa điều kiện F cho trước. Quan hệ kết quả có số cột giống như quan hệ input.
3. Trình bày cú pháp của phép chọn theo điều kiện F
Cú pháp: F(tên quan hệ)
Trong đó  được dùng để kí hiệu phép chọn, điều kiên F là một biểu thức
logic được chỉ ra trên các thuộc tính của R và tên quan hệ muốn thực hiện phép
chọn được đặt trong dấu ngoặc đơn.
4. Cho Q(A, B, C, D). Biểu thức điều kiện F nào sai trong các biểu thức dưới
đây và tại sao:
a. A = C, D > 5
Sai vì hai điều kiện phải được nối với nhau bằng một phép toán logic là
AND, OR, NOT hoặc  ,  , 
b. A = C and D > 5
c. A = C  D > 5
d. A = C ; D > 5
Sai vì ; không được dùng để phân tách 2 điều kiện
5. Cho Q(A, B, C, D). Biểu thức nào đúng sai cú pháp trong các biểu thức
đại số quan hệ dưới đây và tại sao:
a. A=B  D > 5:Q
Biểu thức a sai cú pháp vì tên quan hệ Q phải được đặt trong dấu ngoặc
đơn.
b. A=B  D > 5(Q)
6. Cho SV(MaSV, Hoten, Ngaysinh, khoa, DiemTB).
Biểu thức khoa = ‘CNTT’  DiemTB >=8(SV) thực hiện việc gì?
Biểu thức trên thực hiện chọn các bộ khoa là CNTT và có điểm trung bình
(DiemTB) lớn hơn hoặc bằng 8 từ quan hệ SV.
7. Cho SV(MaSV, Hoten, Ngaysinh, khoa, DiemTB)
Biểu thức khoa = ‘CNTT’  DiemTB >=8(SV) cho kết quả gì?:
Kết quả của biểu thức trên là tạo ra một quan hệ mới có các thuộc tính của
quan hệ SV và có các bộ dữ liệu có khoa là CNTT và có DiemTB lớn hơn bằng 8
từ quan hệ SV.
8. Phép chiếu là phép toán gì?
Lấy các cột được chiếu trong bảng input. Bảng kết quả có các dòng giống như
bảng input nhưng chỉ lấy các dòng khác nhau.
9. Cú pháp của phép chiếu như thế nào?
Cú pháp: x1,x2,…,xn(R) , với xi là các thuộc tính trong quan hệ R.
10. Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây sai và
tại sao
a. A  B, C>5(Q)
b. A,B,sum(C)(Q)
Sai vì sum(C) không phải là các thuộc tính trong quan hệ Q.
c. A, B, C* 5(Q)
11.Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây sai và
tại sao
a. A,B,D(A, B, C(Q))
Sai vì A,B,D phải là các điều kiện và phải được nối với nhau bằng các
phép toán logic.
b. A=B,D >5(A, B, C(Q))
Sai vì giữa 2 điều kiện phải được nối với nhau bằng phép toán logic.
c. A=B and D >5(A, B, C(Q))
12.Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây sai và
tại sao
a. A, B, CA=B and D >5(Q)
Sai vì biểu thức A=B and D >5(Q) phải được đặt trong dấu ngoặc đơn
b. A, B, C(A=B and D >5(Q)
c. A and B and C(A=B and D >5(Q)
Sai vì giữa các thuộc tính là dấu phẩy.
13.Cho Q(A: string, B: string, C: int, D: int). Biểu thức A=B,D >5A, B, C(Q) sai
vì sao
Biểu thức trên sai vì giữa 2 điều kiện trong phép chọn phải được nối với nhau
bằng một phép toán logic và biểu thức A, B, C(Q) phải được đặt trong dấu
ngoặc đơn.
14.Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây thực
hiện đúng yêu cầu: Lập 1 danh sách có 3 cột A, B, D và có các dòng thỏa
C = D.
a. C = D(Q)
b. C = D(A,C,D(Q))
c. A,B,D(C = D(Q))
d. C = D(A,B,C,D(Q))
15. Cho Q(A: string, B: string, C: int, D: int). Hãy cho biết phát biểu nào dưới đây sai và tại sao
a. C = D(A,B,C,D(Q)) cho kết quả giống như C = D(Q)
b. C = D(A,B,C,D(Q)) cho kết quả giống như C = D(A,C,D(Q))
Vì số cột không bằng nhau
c. C = D(A,B,C,D(Q)) cho kết quả giống như A,B,D(C = D(Q))
Vì số cột không bằng nhau

16. Biểu thức nào dưới đây thực hiện đổi tên quan hệ Q thành R
a. FQ(R)
b.  (Q)
R

c.  (R)
Q

d. FR(Q)
17. Phát biểu nào dưới đây sai
a. Phép đổi tên tạo ra một quan hệ mới với tên mới từ quan hệ input
b. Có thể vừa đổi tên quan hệ vừa đổi tên thuộc tính của quan hệ input
c. Khi thực hiện đổi tên xong ta không còn sử dụng được quan hệ input với tên cũ
d. Cả 3 câu trên đều đúng
18. Cho Q(A, B, C, D) và biểu thức R(A, B, E, D)(Q). Phát biểu nào dưới đây đúng
a. Biểu thức thực hiện đổi tên quan hệ Q thành R và giữ nguyên tên thuộc tính
b. Biểu thức thực hiện đổi tên thuộc tính C thành E và giữ nguyên tên quan hệ
c. Biểu thức thực hiện đổi tên quan hệ Q thành R và đổi tên thuộc tính C thành E
d. Cả 3 câu trên đều sai
19. Hàm gộp bao gồm
a. Các hàm sum, max, min, avg, count
b. Các hàm sum, max, min, avg, count, sort
c. Các hàm sum, max, min, avg, count, find
d. Các hàm sum, max, min, avg, count, sqrt
20. Biểu thức nào dưới đây đúng
a. F ham(thuộc_tính) (Quan hệ)
b. Thuộc_tính_gom_nhóm Fham(thuộc_tính) (Quan hệ)
F
c. Thuộc_tính_gom_nhóm ham(thuộc_tính) as tên_mới(Quan hệ)
d. Cả 3 câu trên đều đúng
21. Hàm gộp là
a. Hàm nhận vào 1 tập các giá trị và trả về 1 giá trị
b. Hàm nhận vào 1 tập các giá trị và trả về 1 tập các giá trị
c. Hàm nhận vào 1 giá trị và trả về 1 tập các giá trị
d. Hàm nhận vào 1 giá trị và trả về 1 giá trị
22. Phát biểu nào dưới đây đúng
a. Có thể sử dụng nhiều hàm gộp trong 1 biểu thức tính hàm gộp
b. Chỉ đươc phép sử dụng 1 hàm gộp 1 biểu thức tính hàm gộp
c. Không được dùng hàm gộp kết hợp với thuộc tính gom nhóm
d. Cả 3 câu trên đều sai
23. Cho Q(A: string, B: string, C: int, D: int). Biểu thức AFsum(C) as Tong(Q) cho kết quả là gì?
 Kết quả là danh sách tổng của C theo A
Vd : A C
01 5
02 3
02 6
03 4
Sau khi thực hiện AFsum(C) as Tong(Q) ->
A Tong
01 5
02 9
03 4
24. Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây đúng
a. A,B F sum(A) Tong (Q)
b. A,B F sum(D) Tong1, sum(C)(Q)
c. Fsum(A) Tong(Q)
d. Cả 3 câu trên đều đúng
25. F Trong biểu thức tính hàm gộp được đọc là
a. Upper F
b. Lower F
c. Script F
d. Cả 3 đều sai
26. Cho SV(Hoten: string, Khoa: string, Hocbong: int, DiemTB: int). Biểu thức nào dưới đây
thực hiện đếm số SV khoa CNTT
a.  Khoa = ‘CNTT’ Khoa( F count(*) (SV))
b. F count(*) (Khoa = ‘CNTT’(SV))
c. 
Khoa = ‘CNTT’(KhoaFcount(Hoten)(SV))

d. Cả 3 câu trên đều đúng


27. Cho Q(A: string, B: string, C: int, D: int). Biểu thức nào dưới đây sai và vì sao?
a.  (Fsum(C)(SV))
A = ‘a’

Sai vì kết quả của Fsum(C)(SV) là 1 số và không bao gồm cột A
b.  (
A = ‘a’ B F sum(C) (SV))
Sai vì kết quả của BFsum(C)(SV) là tổng C theo B (có hai cột B,C) và không bao gồm cột A
c. A = ‘a’(AFsum(C)(SV))
28. Biểu thức nào dưới đây thực hiện phép gán trong đại số quan hệ
a. Buf  Khoa = ‘CNTT’(KhoaFcount(*)(SV))
b. Buf  Khoa = ‘CNTT’(KhoaFcount(*)(SV))
c.  Khoa = ‘CNTT’ Khoa( F count(*) (SV))  Buf
d. Buf = Khoa = ‘CNTT’(KhoaFcount(*)(SV))
29. Hai quan hệ được nói là thỏa mãn tương thích hội nếu
a. Hai quan hệ có số thuộc tính bằng nhau
b. Các cặp thuộc tính tương ứng trong 2 quan hệ phải có cùng miền giá trị
c. Hai quan hệ có số thuộc tính bằng nhau và tên các thuộc tính giống nhau
d. Hai quan hệ có số thuộc tính bằng nhau và các cặp thuộc tính tương ứng trong 2 quan hệ
phải có cùng miền giá trị
30. Phát biểu nào dưới đây đúng
a. Phép hội có thể thực hiện với 2 quan hệ bất kỳ
b. Phép hội có thể thực hiện với 2 quan hệ có cùng số bậc
c. Phép hội có thể thực hiện với 2 quan hệ thỏa tương thích hội
d. Cả 3 câu trên đều sai
31. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức nào dưới đây
đúng
a. Q1  Q2
b.  (Q1)  A,B(Q2)
A,B

c. 
A = 5(Q1)  Q2

d. Cả 3 câu trên đều đúng


32. Cho SV(Hoten: string, Khoa: string, Hocbong: int, DiemTB: int). Biểu thức
 (Q1)  A,B Q2 sai vì
A=5

a. Thiếu cặp ngoặc đơn bao Q2


b. Hai quan hệ kết quả của 2 phép toán chọn và chiếu không tương thích hội
c. Cả a và b đều đúng
d. Cả a và b đều sai
33. Phát biểu nào dưới đây đúng
a. Phép giao có thể thực hiện với 2 quan hệ có cùng số bậc
b. Phép giao có thể thực hiện với 2 quan hệ có cùng cấu trúc
c. Phép giao có thể thực hiện với 2 quan hệ bất kỳ
d. Cả 3 câu trên đều sai
34. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức nào dưới đây
đúng
a.  A=5 (Q1)  Q2
b.  (Q1)  A,B(Q2)
A,B

c. 
A = 5(Q1)  C = ‘cc’(Q2)

d. Cả 3 câu trên đều đúng


35. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức
(A = 5Q1)  A,B Q2 sai vì sao?
Vì thiếu cặp ngoặc xung quanh Q1
Vì 2 quan hệ không tương thích hội
36. Phát biểu nào dưới đây đúng
a) Phép trừ có thể thực hiện với 2 quan hệ có cùng số bậc
b) Phép trừ có thể thực hiện với 2 quan hệ có tương thích hội
c) Phép trừ có thể thực hiện với 2 quan hệ bất kỳ
d) Cả 3 câu trên đều sai
37. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức nào dưới đây
đúng
a.  A=5 (Q1) - Q2
b.  A,B (Q1) - A,B(Q2)
c. 
A = 5(Q1) - C = ‘cc’(Q2)

d. Cả 3 câu trên đều đúng


38. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức
 A=5 (Q1) – (A,B Q2) sai vì sao?

Vì thiếu cặp ngoặc xung quanh Q2


Vì 2 quan hệ không tương thích hội
39. Phát biểu nào dưới đây đúng
a) Phép tích đề-các có thể thực hiện với 2 quan hệ có cùng số bậc
b) Phép tích đề-các có thể thực hiện với 2 quan hệ có tương thích hội
c) Phép tích đề-các có thể thực hiện với 2 quan hệ bất kỳ
d) Cả 3 câu trên đều đúng
40. Cho Q1(A1, A2, …, An) có k bộ và Q2(B1, B2, …, Bm) có l bộ. Q1 x Q2 cho kết quả là
một quan hệ mới
a) Q(A1, A2, …, An, B1, B2, …, Bm) có k * l bộ
b) Q(A1, A2, …, An, B1, B2, …, Bm) có k + l bộ
c) Q(A1, A2, …, An) có k + l bộ
d) Q(B1, B2, …, Bm) có k * l bộ
41. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức nào dưới đây
đúng
a.  A=5 (Q1) x Q2
b.  A,B(Q1) x A,B(Q2)
c. 
A = 5(Q1) x C = ‘cc’(Q2)

d. Cả 3 câu trên đều đúng


42. Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String). Biểu thức
 Q1 x (A,B Q2) sai vì sao?
(A = 5)

Vì thiếu cặp ngoặc xung quanh Q1


Vì 2 quan hệ không tương thích hội

43. Cho SV(MaSV, Hoten, Ngaysinh) và Dangky(MaSV, Hoten, MaMH). Biểu thức nào
dưới đây cho kết quả là danh sách SV chưa đăng ký môn học.
a.  MaSV, Hoten (SV – Dangky)
b.  MaSV, Hoten (SV) – MaSV, Hoten (Dangky)
c.  MaSV, Hoten (SV)  MaSV, Hoten (Dangky)
d.  MaSV, Hoten (SV)  MaSV, Hoten (Dangky)
44. Cho Q1(A, B, C) và Q2(A, B, D). Biểu thức nào dưới đây cho kết quả giống với kết quả
của biểu thức A, B(Q1) – (A, B(Q1)  A, B(Q2)).
a.  A, B(Q1) - A, B(Q2)
b.  A, B(Q1)  (A, B(Q1) - A, B(Q2))

c. Cả a và b đều đúng
d. Cả a và b sai
45. Cho R(A1, A2, ..., An), S(B1, B2, ..., Bm). Phát biểu nào dưới đây đúng
a. Phép kết R và S theo điều kiện  được viết theo cú pháp: R |X| S
b. Điều kiện trong phép kết R và S theo điều kiện  có dạng R.A  S.B với  là toán tử so
sánh trong đó R.A và S.B phải có cùng miền giá trị.
c. Cả a và b đều sai
d. Cả a và b đều đúng
46. Thực hiện phép kết theo điều kiện  giữa 2 quan hệ Q1 và Q2 tương đương với
a. Thực hiện phép tích đề-các giữa Q1 và Q2, sau đó thực hiện phép chọn theo điều kiện 
trong quan hệ kết quả ở bước trước
b. Thực hiện phép chọn theo điều kiện  trong Q1 và Q2, sau đó thực hiện phép tích đề-các
c. Cả a và b đều sai
d. Cả a và b đều đúng

47. Cho Q1(A, B, C) và Q2(A, E, D). Biểu thức nào dưới đây tương đương với biểu thức
Q1 |X|Q1.A > Q2.A Q2
a.  Q1.A > Q2.A (Q1 x Q2)
b.  Q1.A > Q2.A (Q1  Q2)
c.  Q1.A > Q2.A (Q1  Q2)

d. Cả 3 câu trên đều sai


48. Cho Q1(A, B, C) và Q2(A, E, D). Biểu thức nào dưới đây tương đương với biểu thức
Q1 |X|Q1.A > Q2.A Q2
a.  Q1.A > Q2.A (Q1) x  Q1.A > Q2.A (Q2)
b.  Q1.A > Q2.A (Q1)   Q1.A > Q2.A (Q2)
c. 
Q1.A > Q2.A (Q1)   Q1.A > Q2.A (Q2)

d. Cả 3 câu trên đều sai


49. Cho Q1(A, B, C) và Q2(A, E, D). Biểu thức  Q1.A > Q2.A Q1 x  (Q1.A > Q2.A Q2) sai vì
sao?
Sai vì biểu thức trên ghi sai cú pháp
50. Cho Q1(A: int, B: int, C: int) và Q2(A: int, E: int, D: int).
Hãy cho biết thứ tự thực hiện các phép tính trong biểu thức  Q1.A > Q2.A (Q1 x  Q2.E = 5(Q2))
 Đầu tiên sẽ thực hiện phép chọn  Q2.E = 5(Q2)
 Tiếp theo sau khi thực hiện xong phép chọn thì sẽ thực thi phép tích Q1 x  Q2.E =
5(Q2)

 Cuối cùng là phép chọn  Q1.A > Q2.A (Q1 x  Q2.E = 5(Q2))
51. Cho Q1(A, B, C) và Q2(A, E, D). Biểu thức Q1 |X|Q1.A > Q2.A Q2 cho kết quả là gì?
 Kết quả của biểu thức là  Q1.A > Q2.A (Q1 x Q2)
52. Phát biểu nào dưới đây đúng
a. Phép kết tự nhiên trong đại số quan hệ là trường hợp đặc biệt của phép kết theo điều kiện

b. Điều kiện của phép kết tự nhiên là phép so sánh bằng trên các thuộc tính giống nhau
trong 2 quan hệ muốn kết
c. Kết quả của phép kết tự nhiên trong đại số quan hệ sẽ bỏ bớt các thuộc tính giống nhau.
d. Cả 3 câu trên đều đúng

53. Cho Q1(A, B, C) và Q2(A, E, D). Biểu thức nào dưới đây cho kết quả giống như kết quả
của biểu thức Q1 |X| Q2
a. Q1 |X|Q1.A = Q2.A Q2
b. Q1.A,B,C,E,D(Q1 |X|Q1.A = Q2.A Q2)
c. Cả a và b đều đúng
d. Cả a và b đều sai

54. Cho Q1(A, B) và Q2(C, E, D). Giả sử A và C có cùng miền giá trị. Biểu thức nào dưới
đây đúng
a. Q1 |X| Q2
b. Q1 |X|A=C Q2
c. Cả a và b đều đúng
d. Cả a và b đều sai

55. Cho Q1(A, B, C) và Q2(A, B, D). Biểu thức nào dưới đây đúng
a. Q1 |X| Q2
b. Q1 |X|Q1.A > Q2. A Q2
c. Cả a và b đều đúng
d. Cả a và b đều sai
56. Cho Q1(A, B, C) và Q2(A, B, D). Biểu thức nào dưới đây cho kết quả giống như kết quả
của biểu thức Q1 |X| Q2
a. Q1 |X| Q2, với : Q1.A=Q2.A  Q1.B = Q2.B
b. A,B,C,D(Q1 |X| Q2), với : Q1.A=Q2.A  Q1.B = Q2.B
c. Cả a và b đều đúng
d. Cả a và b đều sai

57. Cho Q1(A, B) và Q2(D, E), Q3(B, D). Biểu thức nào dưới đây đúng
a. Q1 |X| Q2 |X| Q3
b. Q1 |X| (Q2 |X| Q3)
c. Cả a và b đều đúng
d. Cả a và b đều sai

58. Cho Q1(A: int, B: string, C: int) và Q2(A:int, B: string, D:int) và biểu thức
B Fcount(A) as M(Q1) |X| Q2. Hãy cho biết phát biểu nào dưới đây là đúng
a. Biểu thức trên sai vì A có kiểu int không dùng với hàm count() được
b. Biểu thức trên sai vì không thực hiện phép |X| được
c. Biểu thức trên thực hiện phép kết tự nhiên trên 2 thuộc tính A và B trong Q1 và Q2
d. Cả 3 phát biểu trên đều sai

59. Cho SV(MaSV: string, Hoten: string, ĐiemTB: int) và DKY(MaSV:string, MaMH: string).
Biểu thức nào dưới đây thực hiện đếm số môn học SV tên ‘Nguyen Van A’ đã đăng ký.
a.  (
Hoten=’NguyenVan A’ MaSV Fcount(MaMH) as SL(DKY) |X| SV)
b. MaSVFcount(MaMH) as SL(DKY) |X| Hoten=’NguyenVan A’ (SV)
c. MaSVFcount(MaMH) as SL(DKY) |X| MaSV(Hoten=’NguyenVan A’ (SV))

d. Cả 3 câu trên đều đúng.

60. Cho Monhoc(MaMH: string, TenMH, SoTC) và Kqua(MaSV:string, MaMH:string,


DiemMH:). Biểu thức nào dưới đây thực hiện tính tổng số tín chỉ mỗi SV tích lũy được (chỉ
tính các môn có điểm >= 5)
a.  (
DiemMH >= 5 MaSV Fsum(SoTC) as Tong(Monhoc) |X| Kqua)
b. MaSVFsum(SoTC) as Tong(Monhoc) |X| DiemMH >= 5(Kqua)
c. DiemMH >= 5(MaSVFsum(SoTC) as Tong(Monhoc |X| Kqua)
d. MaSVFsum(SoTC) as Tong(Monhoc |X| DiemMH >= 5(Kqua))

61. Phát biểu nào dưới đây đúng

a. Phép kết ngoài có 3 loại là kết ngoài bên trái, kết ngoài bên phải và kết ngoài đầy đủ
b. Kết quả của phép kết ngoài là một quan hệ mới có số thuộc tính tương tự như kết quả của
phép kết nội
c. Số bộ trong quan hệ kết quả của phép kết ngoài  số bộ trong quan hệ kết quả của phép
kết nội
d. Cả 3 câu trên đều đúng

62. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có số bộ:
a. Tương tự như số bộ trong quan hệ kết quả của Q1 |X| Q2
b. Bao gồm các bộ của Q1 |X| Q2 và các bộ của Q1 không kết được với Q2, các thuộc tính
thuộc Q2 trong các bộ này được gán giá trị null
c. Bao gồm tất cả các bộ của Q1và các thuộc tính thuộc Q2 trong các bộ này được gán giá
trị null
d. Cả 3 câu trên đều đúng
63. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có các thuộc tính A, B, C, D, E.

64. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có các bộ: Ưu tiên lấy các dòng ở quan hệ phía phải lưu vào quan hệ kết quả, còn những
dòng không kết được ở quan hệ phía trái sẽ lấy giá trị null.

65. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có các thuộc tính A, B, C, D, E.

66. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có các bộ là hội của phép kết ngoài bên trái và phép kết ngoài bên phải.

67. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 Q2 sẽ cho kết quả là một quan hệ
mới có các thuộc tính:
a. Q1.A, B, C, Q2.A, D, E
b. Q1.A, Q1.B, Q1.C, Q2.A, Q2.D, Q2.E
c. A, B, C, D, E
d. Cả 3 câu trên đều sai

68. Cho Q1(A, B, C) và Q2(A, D, E). Biểu thức Q1 |X| Q2 sẽ cho kết quả là một quan hệ mới
gồm các thuộc tính A, B, C, D, E.

69. Cho Q1(A: int, B: int, C:string) và Q2(A:int, D:int, E: int). Biểu thức Q1 |X|Q1.A > Q2.A Q2
sẽ cho kết quả là một quan hệ mới có các thuộc tính A, B, C, D, E.

70. Cho Q1(A: int, B: int, C:string) và Q2(A:int, D:int, E: int). Biểu thức Q1 |X| Q2 sẽ cho
kết quả là một quan hệ mới có bộ thỏa điều kiện: Các dòng bên quan hệ Q1 nối với các dòng
bên quan hệ Q2 thỏa điều kiện là bằng nhau trên các thuộc tính giống nhau đó
71. Cho SV(MaSV, Hoten) và Dangky(MASV, MaMH).
Biểu thức MaSV(MaMH = null(SV Dangky)) cho kết quả tương đương với kết quả của biểu
thức:
a.  MaSV (SV) - MaSV(SV)
b. 
MaSV(MaMH = null(MaSV(SV) Dangky))
c. Cả a và b đều đúng
d. Cả a và b đều sai

BÀI TẬP CHƯƠNG 3 + CHƯƠNG 4

Bài 1: Cho lược đồ CSDL của một công ty như sau:


Ví dụ một thể hiện của CSDL trên

Hãy viết biểu thức đại số quan hệ thực hiện những yêu cầu sau:
1. Hãy cho biết tên các dự án mà nhân viên có mã ‘NV01’ tham gia
TENDA(MANV=’NV01’(PHANCONG PHANCONG.MaDA=DUAN.MaDA DUAN))

2. Tính tổng thời gian tham gia các dự án của mỗi nhân viên
MaNVFsum(ThoiGian) (PHANCONG)

3. Cho biết họ tên các nhân viên chưa tham gia dự án nào
HONV,TENLOT,TENNV(MaDA=null(NHANVIEN PHANCONG.MaDA=DUAN.MaDA

DUAN))
a. Tìm ngày sinh và địa chỉ của nhân viên “Nguyễn Bảo Hùng”
DCHI,NGSINH(HONV=’Nguyễn’ ^ TENLOT=’Bảo’ ^ TENNV=’Hùng’(NHANVIEN))
b. Tìm tên và địa chỉ của các nhân viên làm việc cho phòng “Nghiên cứu”
Buf ← TENPB=’Nghiên cứu’ (PHONGBAN  PHONGBAN.MaPB=NHANVIEN.phong

NHANVIEN)
TENNV,DCHI(Buf)
c. Với mỗi dự án được triển khai ở Gò Vấp, cho biết mã dự án, mã phòng quản
lý và họ tên, ngày sinh trưởng phòng của phòng đó
Buf ← Diadiem=’Go Vap’(DUAN)
Bug ← (PHONGBAN  PHONGBAN.Trphong=NHANVIEN.MaNV NHANVIEN)
MADA,PHONG,HONV,TENNV,NGSINH,(Buf  Buf.phong=Bug.MaPB Bug)

d. Với mỗi nhân viên, cho biết họ tên nhân viên và họ tên của người quản lý
nhân viên đó
Buf ← Hoten,Tenlot,TenNV,MA_NQL(NHANVIEN)
Bug ←  Hoten,Tenlot,TenNV,MaNV(QUANLY(NHANVIEN))
(Buf  Bug)
: NHANVIEN.MA_NQL=QUANLY.MANV
e. Cho biết mã nhân viên, họ và tên của các nhân viên của phòng “Nghiên cứu”
có mức lương từ 30000 đến 50000
MaNV,HoNV,Tenlot,TenNV(TENPB= ‘Nghiên cứu’ ^ luong >= 30000 ^ luong <= 50000
(NHANVIEN  PHONGBAN) )
NHANVIEN.phong=PHONGBAN.MaPB

f. Cho biết mã nhân viên, họ tên nhân viên và mã dự án, tên dự án của các dự
án mà họ tham gia
A  MaNV,HoNV,Tenlot,TenNV,MaDA(NHANVIEN  NHANVIEN.MaNV=PHANCONG.MaNV

PHANCONG)

MaNV,HoNV,Tenlot,TenNV,MaDA,TenDA( A A.MaDA=DUAN.MaDA DUAN )

g. Cho biết mã nhân viên, họ tên của những người không có người quản lý

A  MaNV,HoNV,Tenlot,TenNV Fcount(MaNQL) as NQL (NHANVIEN)


 MaNV,HoNV,Tenlot,TenNV ( A.NQL= 0 (A) )

h. Cho biết họ tên của các trưởng phòng có thân nhân


A  MaNV,HoNV,Tenlot,TenNV Fcount(TenTN) as TN (NHANVIEN

NHANVIEN.MaNV=THANNHAN.MaNV THANNHAN)

 HoNV,Tenlot,TenNV( A.TN ≠ 0 (A NHANVIEN.MaNV=PHONGBAN.Trphong PHONGBAN) )

i. Tính tổng lương nhân viên, lương cao nhất, lương thấp nhất và mức lương
trung bình

Fsum(luong) , max(luong) , min(luong) , average(luong) (NHANVIEN)


j. Cho biết tổng số nhân viên và mức lương trung bình của phòng “Nghiên cứu”

Fcount(MaNV) , average(luong) ( TENPB= ‘Nghiên cứu’ (NHANVIEN NHANVIEN.phong=PHONGBAN.MaPB

PHONGBAN) )

k. Với mỗi phòng, cho biết mã phòng, số lượng nhân viên và mức lương trung
bình

MaPB Fcount(MaNV) , average(luong) ( NHANVIEN NHANVIEN.phong=PHONGBAN.MaPB PHONGBAN )

l. Với mỗi dự án, cho biết mã dự án, tên dự án và tổng số nhân viên tham gia

X ← π TenDA , MaDA (DuAn) |x| π MaNV , MaDA (PhanCong)


TenDA,MaDA F count(MaNV) as SLNV (X)
m. Với mỗi dự án có nhiều hơn 2 nhân viên tham gia, cho biết mã dự án, tên dự
án và số lượng nhân viên tham gia

X← π TenDA , MaDA (DuAn) |x| π MaNV , MaDA (PhanCong)


Y←TenDA,MaDA F count(MaNV) as SLNV(X)
σ SLNV>2(Y)

n. Với mỗi dự án, cho biết mã số dự án, tên dự án và số lượng nhân viên phòng
số 5 tham gia
X← π TenDA , MaDA (DuAn) |x| π MaNV , MaDA (PhanCong)
Y←X |x| π Phong , MaDA ( NhanVien)
Z←σ Phong=5(Y)
A← TenDA,MaDA F count(MaNV) as SLNV_Phong5(X)
π TenDA , MaDA ( DuAn ) ℶ |x| A
o. Với mỗi phòng có nhiều hơn 2 nhân viên, cho biết mã phòng và số lượng nhân
viên có lương lớn hơn 25000
θ :MaPB=Phong

X= π MaPB ( PhongBan) |x|θ π MaNV , Phong (NhanVien)

Y=MaPB F count(MaNV) as SLNV(X)

Z=σ SLNV>2(Y)

A=σ Luong>25000(NhanVien)
B= π MaPB ( Z) |x|θ π Luong , Phong ( A)

MaPB F count(Luong) as SLNV_Luong_LonHon25000 (B)

p. Với mỗi phòng có mức lương trung bình lớn hơn 30000, cho biết mã phòng,
tên phòng, số lượng nhân viên của phòng đó

θ :MaPB=Phong

X= π MaPB , TenPB (PhongBan) |x|θ π Luong , Phong , MaNV ( NhanVien)

Y= MaPB,TenPB F avg(Luong) as LuongTB, count(MaNV) as SLNV(X)


Z= σ LuongTB>30000(Y)
π MaPB , TenPB, SLNV (Z )

q. Với mỗi phòng có mức lương trung bình lớn hơn 30000, cho biết mã phòng,
tên phòng, số lượng nhân viên nam của phòng đó
θ :MaPB=Phong

X= π MaPB , TenPB (PhongBan) |x|θ π Luong , Phong (NhanVien)

Y= MaPB,TenPB F avg(Luong) as LuongTB(X)


Z= σ LuongTB>30000(Y)
A=σ Phai=’nam’(NhanVien)
B= π MaPB , TenPB (Z) |x|θ π MaNV , Phong ( A)

MaPB,TenPB F count(MaNV) as SLNV_Nam (B)

Bài 2: Cho lược đồ CSDL của một thư viện như sau:

Hãy viết biểu thức đại số quan hệ thực hiện các yêu cầu sau:
a. Cho biết Địa chỉ và số điện thoại của Nhà xuất bản “Addison Wesley”
 TênNXB=‘Addíon Wesly’  Địa chỉ ^ SốĐT (NXB)
b. Cho biết mã sách và Tựa sách của những cuốn sách được xuất bản bởi nhà xuất
bản “Addison Wesley”
 MãSách,Tựa(ĐầuSách |X| TênNXB=‘Addíon Wesly’(NXB))
c. Cho biết mã sách và Tựa sách của những cuốn sách có tác giả là “Hemingway”
 MãSách,Tựa(TênTácGiả=‘Hemingway ^ MãSách(TácGiả))
d. Với mỗi đầu sách, cho biết tựa và số lượng cuốn sách mà thư viện đang sở hữu
 MãSách, Tự, SL Cuốn (MãSách F count(MãCuốn) as SL Cuốn (CuốnSách) |X| ĐầuSách)
e. Với mỗi độc giả, hãy cho biết Tên, địa chỉ và số lượng cuốn sách mà người đó đã
mượn
 Tên, ĐịaChỉ, SL Cuốn (MãĐG F count(MãCuốn) as SL Cuốn (Mượn) |X| ĐộcGiả)
f. Cho biết mã cuốn, tựa sách và vị trí của những cuốn sách được xuất bản bởi nhà
xuất bản “Addison Wesley”
 MãCuốn, TựaSách, VịTrí ((TênNXB=‘Addíon Wesly’(NXB)) |X| (Tựa(ĐầuSách)) |X| CuốnSách)

g. Với mỗi đầu sách, hãy cho biết Tên nhà xuất bản và số lượng tác giả

MãSách, TênNXB, SLtacgia (MãSách F count(TênTácGiả) as SLtacgia (TácGiả) |X| NXB)

h. Hãy cho biết Tên, địa chỉ, số điện thoại của những độc giả đã mượn từ 5 cuốn sách
trở lên
TênĐG, ĐịaChỉ, SốĐT (SL Cuốn >= 5 (MãĐG F count(MãCuốn) as SL Cuốn (Mượn) |X| ĐộcGiả))

i. Cho biết mã NXB, tên NXB và số lượng đầu sách của NXB đó trong CSDL
MãNXB, TênNXB, SLđầusách (MãNXB F count(MãSách) as SLđầusách (ĐầuSách) |X| NXB)

j. Cho biết mã NXB, tên NXB và địa chỉ của những NXB có từ 100 đầu sách trở lên
MãNXB, TênNXB, ĐịaChỉ(SLđầusách >= 100 (MãNXB F count(MãSách) as SLđầusách (ĐầuSách) |X| NXB))

k. Cho biết mã NXB, tên NXB, và số lượng tác giả đã hợp tác với NXB đó
MãNXB, TênNXB, ĐịaChỉ(SLđầusách >= 100 (MãNXB F count(MãSách) as SLđầusách (ĐầuSách) |X| NXB))
l. Tựa và số lượng tác giả của những cuốn sách có tác giả là “Hemingway” mà độc
giả “Nguyễn Văn A” đã từng mượn
Tựa, SLtácgiả(TênTácGiả=‘Hemingway ^ TênĐG=”Nguyễn Văn A”(TácGiả |X|ĐộcGiả))

Bài 3: Cho CSDL gồm các quan hệ sau :


NV( MSNV , TEN , MSCOQUAN , CONGVIEC , LUONG)
COQUAN( MSCOQUAN , TENCOQUAN , DIACHI)

Biểu diễn bằng ngôn ngữ SQL và đại số quan hệ các yêu cầu sau :

a. Tìm tên những nhân viên ở cơ quan có mã số là 50


TEN(MSNV= ‘50’ (NV) )
b. Tìm mã số tất cả các cơ quan từ quan hệ NV
MSCOQUAN(NV)
c. Tìm tên các nhân viên ở cơ quan có mã số là 15,20,25
TEN(MSNV= ‘15’ v MSNV= ‘20’ v MSNV= ‘25’ (NV) )
d. Tìm tên những người làm việc ở Đồ Sơn
TEN(DIACHI= ‘Đồ Sơn’ (NV NV.MSCOQUAN=COQUAN.MSCOQUAN

COQUAN) )

Bài 5 : Cho một phần CSDL của một trường phổ thông như sau :

 GV(MAGV, TENGV, MAMH)


Tân từ : Một giáo viên (MAGV) chủ nhiệm một bộ môn duy nhất. Đối với những
giáo viên không phải là chủ nhiệm bộ môn thì giá trị của thuộc tính MAMH là
null.
 MHOC(MAMH, TENMH, SOTIET)
Tân từ : Mỗi môn học có một MAMH duy nhất, một TENMH và một số tiết học
của môn học đó.
 BUỔITHI(HKY, NGAY, GIO, PHG, MAMH, TGTHI)
Tân từ : Mỗi buổi thi được xác định bởi một HỌC KỲ (HK), một ngày, một giờ và
một phòng (PHG). Buổi thi liên quan đến một môn duy nhất và có một thời gian
thi (TGTHI) duy nhất.
 PC_COI_THI(MAGV, HK, NGAY, GIO, PHG)
Tân từ : Một lần phân công coi thi được xác định bởi 1 giáo viên, 1 học kỳ, 1 ngày,
1 giờ và 1 phòng.
Ghi chú :

 Một giáo viên có thể được phân công gác thi nhiều buổi trong một học kỳ, với
điều kiện các buổi thi đó không liên quan đến môn học do giáo viên đó chủ
nhiệm.
 Nếu số tiết học là 30 thì thời gian thi là 120 phút
 Nếu số tiết học là 45 tiết trở lên thì thời gian thi là 150 phút
Câu hỏi :
1. Xác định khóa của các lược đồ quan hệ trên.
GV(MAGV, TENGV, MAMH)

 MAGV: Key primary, MAMH: Key foreign


MHOC(MAMH, TENMH, SOTIET)

 MAMH: Key primary


BUỔITHI(HKY, NGAY, GIO, PHG, MAMH, TGTHI)

 MAMH: Key foreign, PHG: Key foreign


PC_COI_THI(MAGV, HK, NGAY, GIO, PHG)

 MAGV: Key foreign, PHG: Key primary

2. Phát biểu các RBTV.


GV(MAGV, TENGV, MAMH)
 Có các ràng buộc:
- RB khóa chính: Các giá trị trong cột MAGV phải là duy nhất và phải khác
NULL.
- RB khóa ngoại: Các giá trị trong cột MAMH phải có trong cột MAMH ở
bảng MHOC.
- RB về miền giá trị trên các cột.
MHOC(MAMH, TENMH, SOTIET)
 Có các ràng buộc:
- RB khóa chính: Các giá trị trong cột MAMH phải là duy nhất và phải khác
NULL.
- RB về miền giá trị trên các cột.
BUỔITHI(HKY, NGAY, GIO, PHG, MAMH, TGTHI)
 Có các ràng buộc:
- RB khóa ngoại: Các giá trị trong cột PHG phải có trong cột PHG ở bảng
PC_COI_THI, các giá trị trong cột MAMH phải có trong cột MAMH ở bảng
MHOC.
- RB về miền giá trị trên các cột.
PC_COI_THI(MAGV, HK, NGAY, GIO, PHG)
 Có các ràng buộc:
- RB khóa chính: Các giá trị trong cột PHG phải là duy nhất và phải khác
NULL.
- RB khóa ngoại: Các giá trị trong cột MAGV phải có trong cột MAGV ở
bảng GV.

3. Dùng đại số quan hệ và SQL để viết các câu hỏi sau:


a. Danh sách các giáo viên dạy các môn học có số tiết từ 45 trở lên
TENGV(SOTIET>=45(GV |x| MHOC))
b. Danh sách giáo viên được phân công gác thi trong học kỳ 1
TENGV,HK(HK=’HKI’(PC_COI_THI))
c. Danh sách giáo viên không được phân công gác thi trong học kỳ 1
MAGV,HK(PC_COI_THI) - MAGV,HK(HK=’HKI’(PC_COI_THI))
d. Cho biết lịch thi môn văn (TENMH = ‘VĂN HỌC’)
 TENMH = ‘VĂN HỌC’(MAMH,TENMH(MHOC) |x| MAMH,TGTHI(BUOITHI))
e. Cho biết các buổi gác thi của các giáo viên chủ nhiệm môn văn (TENMH =
‘VĂN HỌC’).

 TENGV,MAMH (GV) |x| BUOITHI

You might also like