wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Bài kiểm tra cơ sở dữ liệu (trích từ ảnh)

Total questions: 85

Worksheet time: 43mins

Name
Class
Date
1.

Nếu πA(R)=πA(σB>5(R))\pi_A(R) = \pi_A(\sigma_{B>5}(R)) thì điều gì chắc chắn đúng?

a)

Tất cả bộ trong R đều có B>5B>5

b)

Không có bộ nào có B5B\le 5

c)

Cột A không bị ảnh hưởng bởi điều kiện B>5B>5

d)

Không thể kết luận

2.

Biểu thức tương đương truy vấn lấy tên sinh viên học Toán và điểm >9>9 ?

a)

πTen(σMon=ToaˊnDiem>9(SinhVienDiem))\pi_{Ten}(\sigma_{Mon='Toán'\land Diem>9}(SinhVien\bowtie Diem))

b)

σDiem>9(Diem)SinhVien\sigma_{Diem>9}(Diem)\bowtie SinhVien

c)

πTen(Diem)\pi_{Ten}(Diem)

d)

πSID(σMon=Toaˊn(Diem))\pi_{SID}(\sigma_{Mon='Toán'}(Diem))

3.

WHERE tương đương với phép toán nào trong đại số quan hệ?

a)

π\pi

b)

×\times

c)

σ\sigma

d)

\cup

4.

Dự án có ngân sách cập nhật sau khi kết thúc dự án?

a)

Dùng JOIN và WHERE budget.date_updated > projects.end_date

b)

Dùng EXISTS

c)

Dùng subquery trong SELECT

d)

A hoặc B

5.

Nhân viên lương cao hơn tất cả cấp dưới?

a)

JOIN lồng

b)

WITH RECURSIVE

c)

IN subquery

d)

GROUP BY

6.

Nếu πA(R) = πA(σB>5(R)) thì điều gì chắc chắn đúng?

a)

Tất cả bộ trong R đều có B>5

b)

Không có bộ nào có B≤5

c)

Cột A không bị ảnh hưởng bởi điều kiện B>5

d)

Không thể kết luận

7.

Biểu thức tương đương truy vấn lấy tên sinh viên học Toán và điểm >9 là gì?

a)

πTen(σMon='Toán' ∧ Diem>9(SinhVien ⋈ Diem))

b)

σDiem>9(Diem) ⋈ SinhVien

c)

πTen(Diem)

d)

πSID(σMon='Toán'(Diem))

8.

Tương đương với câu lệnh SELECT Ten FROM SinhVien WHERE Lop='CNTTT' là gì?

a)

πTen(SinhVien)

b)

πTen(σLop='CNTTT'(SinhVien))

c)

σLop='CNTTT'(πTen(SinhVien))

d)

σTen='CNTTT'(SinhVien)

9.

Biểu thức nào tương đương πA(R) ∪ πA(S)?

a)

πA(R ∪ S)

b)

πA(R) ∩ πA(S)

c)

πA(R\S)

d)

πA(R − S)

10.

Rolling sum 3 ngày không liên tiếp nên dùng gì?

a)

ROWS BETWEEN 2 PRECEDING

b)

LAG + CASE

c)

CTE

d)

A hoặc B

11.

Tìm 10 người gửi gần nhất cho mỗi receiver nên dùng gì?

a)

ROW_NUMBER() OVER(PARTITION BY receiver ORDER BY time DESC)

b)

Subquery correlated

c)

CTE + window

d)

A hoặc C

12.

Loại bỏ trùng đơn hàng và giữ bản ghi có amount lớn hơn nên dùng gì?

a)

ROW_NUMBER partition

b)

Subquery MAX

c)

Distinct on

d)

A hoặc B

13.

πA(R∩S) hợp lệ không?

a)

Không hợp lệ

b)

Hợp lệ nếu B cùng kiểu

c)

A không tồn tại

d)

Luôn hợp lệ

14.

R∩S hợp lệ khi nào?

a)

Luôn lỗi

b)

Nếu B khác kiểu

c)

Nếu B cùng kiểu

d)

Không cần C

15.

Cách tốt nhất để tối ưu JOIN nhiều bảng là gì?

a)

Index WHERE

b)

SELECT *

c)

Tăng RAM

d)

UNION

16.

Phòng ban có median lương cao hơn trung bình thì xử lý thế nào?

a)

Subquery + window

b)

PERCENTILE_CONT

c)

So sánh AVG

d)

Tùy DBMS

17.

Cách tìm sinh viên học tất cả các môn?

a)

Không biểu diễn được

b)

Phép chia

c)

Phép giao

d)

Phép trừ

18.

Tối ưu biểu thức πTen(σDiem>8(SV ⋈ Diem)) thế nào?

a)

Chiếu trước

b)

Join trước

c)

Lọc trước

d)

Không tối ưu

19.

Tính thời gian trung bình từ khi join đến khi promotion nên dùng gì?

a)

JOIN

b)

LEAD

c)

CTE

d)

Tất cả

20.

Kết quả của πSID(Diem) ∪ πSID(SinhVien) là gì?

a)

SID cả hai bảng

b)

SID chung

c)

SID chỉ Diem

d)

Điểm cao

21.

Cách lấy danh sách sinh viên học CSDL?

a)

πTen(σTenMH='CSDL'(SV ⋈ DKMH))

b)

πTen(SV ⋈ MH)

c)

πTen(SV)

d)

πTen(≠CSDL)

22.

Phát biểu "A.x = B.y" đúng trong ngữ cảnh nào?

a)

A×B

b)

σA.x=B.y(A×B)

c)

π(A ∪ B)

d)

A ∩ B

23.

Intersection hoạt động khi nào?

a)

Cùng tên

b)

Cùng số bộ

c)

Cùng lược đồ

d)

Một bảng rỗng

24.

EXISTS khác IN ở điểm nào?

a)

Kiểm tra tồn tại

b)

So sánh tập

c)

Nhanh hơn

d)

Tất cả

25.

Xác định sự kiện không overlapping nên dùng gì?

a)

Self join

b)

LAG/LEAD

c)

Subquery

d)

Tất cả

26.

Khi nào R−S = R?

a)

R⊂S

b)

S rỗng

c)

R rỗng

d)

R∩S≠∅

27.

Natural Join tương đương Theta Join khi nào?

a)

Cùng điều kiện

b)

Cùng PK

c)

Một thuộc tính trùng

d)

Duy nhất 1 cặp trùng

28.

Session 30 phút nên xác định bằng cách nào?

a)

LAG

b)

CTE

c)

Subquery

d)

A hoặc B

29.

Cách tìm user không login trong 30 ngày đầu?

a)

LEFT JOIN

b)

NOT EXISTS

c)

CTE

30.

UNION vs UNION ALL?

a)

UNION bỏ trùng

b)

ALL giữ trùng

c)

Cả A và B

d)

Không khác

31.

R×S với 100 và 200?

a)

100

b)

200

c)

300

d)

20000

32.

Ai không học Toán?

a)

πSID(Diem)−πSID(σToán)

b)

σ≠Toán

c)

πSID(≠Toán)

d)

Union

33.

Top 3 lương (kể cả đồng hạng)?

a)

DENSE_RANK

b)

ROW_NUMBER

c)

Subquery lương 3

d)

A hoặc C

34.

RA → SQL?

a)

SELECT Ten JOIN Diem WHERE Diem>=8

b)

SELECT Ten FROM SV WHERE Diem>=8

c)

SELECT Ten FROM Diem

d)

SELECT *

35.

AVG nhân viên ≤5 năm?

a)

DATEDIFF

b)

CTE

c)

Window

d)

Tất cả

36.

Mỗi country có người chưa order?

a)

NOT EXISTS

b)

LEFT JOIN

c)

EXCEPT

d)

CROSS JOIN

37.

Order chưa trả sau 30 ngày?

a)

LEFT JOIN

b)

NOT EXISTS

c)

Subquery

d)

A hoặc B

38.

Phép gây bùng nổ dữ liệu?

a)

σ

b)

π

c)

d)

×

39.

SV có nhiều môn, Diem<5?

a)

Tất cả <5

b)

Ít nhất 1 <5

c)

Không học

d)

>5

40.

RA → SQL?

a)

SELECT Ten JOIN Diem WHERE Toán AND >8

b)

FROM SV,Diem WHERE

c)

JOIN đúng

d)

SELECT *

41.

ρSV(πTen(SV))?

a)

Đổi tên cột

b)

Đổi tên bảng

c)

Sao chép

d)

Sai

42.

Phép giao hoán?

a)

b)

c)

÷

43.

Window AVG OVER dùng để?

a)

SELECT recursive

b)

WITH recursive

c)

Loop

d)

Không đáp án

44.

σA=B(R×R)?

a)

Rỗng

b)

Self join

c)

Giao

d)

Sai

45.

RA ∩ SQL?

a)

SV <5 và KTPM

b)

Hoặc

c)

>=5

d)

Tất cả

46.

Tổng lương cây quản lý?

a)

Recursive

b)

Self join

c)

Subquery

d)

Group by

47.

Phổ điểm Toán?

a)

GROUP BY

b)

Window

c)

Subquery

d)

A hoặc C

48.

3 đơn gần nhất mỗi KH?

a)

ROW_NUMBER

b)

Subquery

c)

CTE

d)

Tùy DBMS

49.

Index hiệu quả nhất?

a)

SELECT *

b)

JOIN+WHERE

c)

UPDATE

d)

GROUP BY

50.

Giờ làm việc theo tuần?

a)

DATE_TRUNC

b)

DATEPART

c)

GROUP BY

d)

Tất cả

51.

CNTT ∩ Diem>8?

a)

SV CNTT

b)

SV CNTT >8

c)

SV >8

d)

Rỗng

52.

Biểu thức sai?

a)

πTen(SV)

b)

σTen="An"(SV)

c)

πTen(σTen="An")

d)

ρNew(SV)

53.

Subquery đúng?

a)

Luôn chậm

b)

Không dùng WHERE

c)

Có thể thay JOIN

d)

MySQL không hỗ trợ

54.

ALL trong Toán?

a)

Điểm cao nhất

b)

Có điểm

c)

>=TB

d)

Thấp nhất

55.

WHERE tương đương?

a)

π

b)

×

c)

σ

d)

56.

Dự án có ngân sách cập nhật sau khi kết thúc dự án?

a)

Dùng JOIN và WHERE budget.date_updated > projects.end_date

b)

Dùng EXISTS

c)

Dùng subquery trong SELECT

d)

A hoặc B

57.

Câu lệnh nào dùng để đệ quy trong SQL?

a)

SELECT RECURSIVE

b)

WITH RECURSIVE

c)

LOOP

d)

RECURSIVE JOIN

58.

GROUP BY sau đó dùng HAVING để làm gì?

a)

Lọc dòng trước nhóm

b)

Lọc nhóm sau khi nhóm dữ liệu

c)

Tính tổng

d)

Sắp xếp kết quả

59.

Kỹ thuật nào giúp tránh truy vấn con chạy nhiều lần?

a)

Dùng JOIN thay subquery correlated

b)

Dùng nhiều subquery

c)

Không dùng index

d)

Dùng SELECT *

60.

SELECT DISTINCT SID FROM Diem tương đương?

a)

πSID(Diem)\pi_{SID}(Diem)

b)

σSID(Diem)\sigma_{SID}(Diem)

c)

Diem.SID

d)

πSID(Diem)πSID(Diem)\pi_{SID}(Diem) \cup \pi_{SID}(Diem)

61.

πTen(SinhVien)πTen(SinhVienDiem)\pi_{Ten}(SinhVien) - \pi_{Ten}(SinhVien \bowtie Diem) nghĩa là gì?

a)

Tất cả sinh viên

b)

Sinh viên có điểm

c)

Sinh viên chưa có điểm

d)

Không truy vấn được

62.

σDiem<5(SinhVienDiem)\sigma_{Diem<5}(SinhVien \bowtie Diem) lấy gì?

a)

Sinh viên rớt môn

b)

Sinh viên giỏi

c)

Điểm của tất cả sinh viên

d)

Tên các môn có điểm cao

63.

Phép chia trong đại số quan hệ dùng để biểu diễn gì?

a)

Tìm phần tử có tất cả giá trị thỏa mãn

b)

Tìm phần tử chỉ có một giá trị

c)

Tìm phần tử không có thuộc tính

d)

So sánh số lượng bản ghi

64.

Phép toán nào tương đương SELECT DISTINCT?

a)

σ\sigma

b)

\cup

c)

π\pi

d)

×\times

65.

Phép chia (÷) dùng để làm gì?

a)

Tìm các dòng chứa giá trị cụ thể

b)

Tìm các dòng có liên kết với tất cả dòng trong bảng khác

c)

Tìm giao giữa 2 bảng

d)

Không có trong đại số quan hệ

66.

Giao của điểm Lý và Hóa là gì?

a)

Điểm trùng giữa hai môn

b)

Điểm của môn Lý

c)

Điểm cao nhất

d)

Không xác định

67.

Chặng bay có booking thấp hơn trung bình cùng ngày?

a)

Dùng subquery tính trung bình rồi join

b)

Dùng window function PARTITION BY book_date

c)

Dùng CTE

d)

A hoặc B

68.

Khoảng thời gian dài nhất giữa hai lần truy cập?

a)

Dùng LAG để lấy lần trước

b)

Dùng CTE đệ quy

c)

Dùng subquery correlated

d)

A hoặc B

69.

Region có tăng trưởng doanh thu cao nhất?

a)

Dùng LAG

b)

Dùng subquery

c)

CTE + window function

d)

Tất cả các cách trên

70.

Phép toán loại bỏ duplicate rows?

a)

σ\sigma

b)

\cup

c)

π\pi

d)

×\times

71.

Sinh viên giỏi nhưng không học Toán?

a)

Sinh viên giỏi Toán

b)

Sinh viên giỏi nhưng không học Toán

c)

Sinh viên học Toán và giỏi

d)

Tất cả sinh viên học Toán

72.

πSID(SinhVien)πSID(Diem)\pi_{SID}(SinhVien) - \pi_{SID}(Diem) là gì?

a)

Sinh viên có điểm

b)

Sinh viên không có điểm

c)

Sinh viên có điểm = 0

d)

Tất cả sinh viên

73.

Hiển thị giá sau giảm, nếu không có giữ nguyên?

a)

LEFT JOIN + CASE

b)

COALESCE với INNER JOIN

c)

ISNULL

d)

RIGHT JOIN

74.

R có 10, S có 5. Join tối đa?

a)

10

b)

5

c)

50

d)

Không xác định

75.

Ký hiệu đổi tên bảng/cột?

a)

π\pi

b)

σ\sigma

c)

ρ\rho

d)

δ\delta

76.

Biểu thức không tương đương sinh viên học tất cả môn?

a)

πTen(SinhVien)÷πMon(Diem)\pi_{Ten}(SinhVien) \div \pi_{Mon}(Diem)

b)

πSID(Diem)÷πMon(Diem)\pi_{SID}(Diem) \div \pi_{Mon}(Diem)

c)

πSID(σDiem>0(Diem))÷πMon(Diem)\pi_{SID}(\sigma_{Diem>0}(Diem)) \div \pi_{Mon}(Diem)

d)

πSID(Diem)πSID(Diem)\pi_{SID}(Diem) \cap \pi_{SID}(Diem)

77.

Top 3 sản phẩm mỗi category?

a)

CTE + window function rank

b)

Subquery SELECT

c)

GROUP BY + HAVING

d)

A hoặc B

78.

Biểu thức phức tạp nhưng tương đương πA(R)\pi_{A}(R) ?

a)

πA(σTRUE(R))\pi_{A}(\sigma_{TRUE}(R))

b)

πA(ρTemp(R))\pi_{A}(\rho_{Temp}(R))

c)

πA(πA(R))\pi_{A}(\pi_{A}(R))

d)

Tất cả đáp án

79.

Tính moving average 7 ngày?

a)

Window function

b)

Subquery

c)

CTE

d)

Tất cả các cách

80.

Tăng tốc truy vấn nhiều điều kiện lọc?

a)

Tách truy vấn

b)

Dùng HAVING

c)

Tạo index

d)

Trigger

81.

Sách có review mới nhất rating >= 4?

a)

JOIN + max(review_date)

b)

ROW_NUMBER window function

c)

EXISTS

d)

A hoặc B

82.

πTen(σDiem>8(SinhVienDiem))\pi_{Ten}(\sigma_{Diem>8}(SinhVien \bowtie Diem)) là gì?

a)

Tên sinh viên có điểm > 8

b)

Tên sinh viên không có điểm

c)

Tên môn có điểm cao

d)

Tên tất cả sinh viên

83.

Top 10 khách hàng tổng giao dịch lớn nhất?

a)

WHERE amount <=1000 + GROUP BY

b)

Subquery

c)

Window function

d)

HAVING

84.

Sinh viên chưa có điểm?

a)

Sinh viên có điểm

b)

Sinh viên chưa có điểm

c)

Sinh viên điểm >=5

d)

Sinh viên học tất cả môn

85.

Nhân viên lương cao hơn tất cả cấp dưới?

a)

JOIN lồng

b)

WITH RECURSIVE

c)

IN subquery

d)

GROUP BY