wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Bài tập kiểm tra: Phép nối và câu lệnh SQL

Total questions: 73

Worksheet time: 37mins

Name
Class
Date
1.

___ là phép toán không giữ lại các bộ (tuple) không khớp.

a)

Kết nối trong (Inner Join)

b)

Kết nối ngoài trái (Left Outer Join)

c)

Kết nối tự nhiên (Natural Join)

d)

Kết nối ngoài phải (Right Outer Join)

2.

Phép nối theta-join khác với natural join ở chỗ:

a)

Cho phép sử dụng điều kiện so sánh bất kỳ

b)

Luôn có cùng kết quả

c)

Không có điều kiện nối

d)

Không dùng phép tích

3.

Phép nối ngoài trái (Left Outer Join) giữ lại:

a)

Tất cả bản ghi của bảng bên trái, kể cả không khớp

b)

Chỉ các bản ghi khớp

c)

Tất cả bản ghi của bảng bên phải

d)

Cả hai bảng đầy đủ

4.

Phép nối ngoài phải (Right Outer Join) giữ lại:

a)

Tất cả bản ghi của bảng bên phải, kể cả không khớp

b)

Tất cả bản ghi của bảng bên trái

c)

Chỉ bản ghi khớp

d)

Quan hệ rỗng nếu không khớp

5.

Phép nối ngoài toàn phần (Full Outer Join) giữ lại:

a)

Tất cả bản ghi của cả hai bảng

b)

Chỉ bản ghi khớp

c)

Chỉ bản ghi không khớp

d)

Chỉ bản ghi của bảng có nhiều dữ liệu hơn

6.

Phép chia (÷) thường được dùng trong bài toán:

a)

Tìm các nhân viên có tất cả các kỹ năng trong danh sách

b)

Tìm các nhân viên có một kỹ năng bất kỳ

c)

Tìm các nhân viên không có kỹ năng nào

d)

Tìm kỹ năng hiếm

7.

___ mệnh đề là một bộ lọc bổ sung được áp dụng cho kết quả.

a)

Select

b)

Group By

c)

Having

d)

Order By

8.

___ joins là mặc định trong SQL Server.

a)

Outer

b)

Inner

c)

Equi

d)

None of the mentioned

9.

___ được sử dụng chủ yếu để tìm kiếm các mẫu trong chuỗi đích.

a)

Like Predicate

b)

Null Predicate

c)

In Predicate

d)

Out Predicate

10.

Lệnh nào được dùng để xóa một quan hệ trong SQL?

a)

DROP TABLE

b)

DELETE

c)

PURGE

d)

REMOVE

11.

Lệnh nào sau đây đúng để xóa các giá trị trong quan hệ teaches?

a)

DELETE FROM teaches;

b)

DELETE FROM teaches WHERE Id = 'Null';

c)

REMOVE TABLE teaches;

d)

DROP TABLE teaches;

12.

Lệnh nào được dùng để lấy dữ liệu trong SQL?

a)

SELECT

b)

UPDATE

c)

INSERT

d)

DELETE

13.

Cú pháp chuẩn để lấy tất cả các cột trong bảng SinhVien:

a)

SELECT * FROM SinhVien;

b)

SELECT all FROM SinhVien;

c)

SELECT col FROM SinhVien;

d)

GET * FROM SinhVien;

14.

Lệnh nào dùng để thêm bản ghi mới vào bảng?

a)

INSERT INTO

b)

UPDATE

c)

ADD NEW

d)

CREATE

15.

Lệnh nào xóa tất cả dữ liệu trong bảng nhưng vẫn giữ cấu trúc bảng?

a)

TRUNCATE TABLE

b)

DROP TABLE

c)

DELETE DATABASE

d)

ERASE TABLE

16.

Mệnh đề nào dùng để lọc dữ liệu trong truy vấn SQL?

a)

WHERE

b)

HAVING

c)

ORDER BY

d)

GROUP BY

17.

Cú pháp để sắp xếp kết quả tăng dần theo cột Ten:

a)

ORDER BY Ten ASC;

b)

ORDER Ten;

c)

SORT Ten;

d)

SORT BY Ten UP;

18.

Cú pháp để chọn các giá trị duy nhất (không trùng lặp) trong một cột:

a)

SELECT DISTINCT

b)

SELECT ONLY

c)

SELECT UNIQUE

d)

SELECT SEPARATE

19.

Câu lệnh nào tìm tất cả sinh viên có điểm > 8?

a)

SELECT * FROM SinhVien WHERE Diem > 8;

b)

SELECT * FROM SinhVien HAVING Diem > 8;

c)

SELECT * FROM SinhVien ORDER BY Diem > 8;

d)

FIND * FROM SinhVien WHERE Diem > 8;

20.

Để đếm số lượng bản ghi trong bảng dùng hàm:

a)

COUNT()

b)

SUM()

c)

AVG()

d)

TOTAL()

21.

Hàm AVG() trong SQL dùng để:

a)

Tính trung bình cộng

b)

Lấy giá trị lớn nhất

c)

Tính tổng

d)

Lấy giá trị nhỏ nhất

22.

Câu lệnh nào thêm cột Email vào bảng SinhVien:

a)

ALTER TABLE SinhVien ADD Email VARCHAR(50);

b)

UPDATE SinhVien ADD Email VARCHAR(50);

c)

INSERT Email TO SinhVien;

d)

MODIFY TABLE SinhVien ADD Email;

23.

Sau khi các nhóm đã được thiết lập, SQL áp dụng các điều kiện trong mệnh đề ___, cho phép sử dụng các hàm tổng hợp.

a)

HAVING

b)

WHERE

c)

GROUP BY

d)

WITH

24.

Khóa chính được định nghĩa khi tạo bảng bằng:

a)

PRIMARY KEY

b)

UNIQUE

c)

FOREIGN KEY

d)

INDEX

25.

Mệnh đề nào được dùng để nhóm dữ liệu theo cột?

a)

GROUP BY

b)

ORDER BY

26.

Điểm khác nhau giữa WHERE và HAVING:

a)

WHERE lọc bản ghi trước khi nhóm, HAVING lọc sau khi nhóm

b)

Không khác nhau

c)

WHERE chỉ dùng với SUM, HAVING dùng với COUNT

d)

WHERE chỉ dùng cho bảng, HAVING cho cột

27.

Trong SQL, toán tử % dùng với LIKE có nghĩa là gì?

a)

Chuỗi ký tự bất kỳ (0 hoặc nhiều)

b)

Ký tự bất kỳ 1 lần

c)

So sánh số chia

d)

So sánh phần trăm

28.

Câu lệnh chọn sinh viên có tên bắt đầu bằng "Nguyen":

a)

SELECT * FROM SinhVien WHERE Ten LIKE 'Nguyen%';

b)

SELECT * FROM SinhVien WHERE Ten = 'Nguyen%';

c)

SELECT * FROM SinhVien WHERE Ten LIKE '%Nguyen';

d)

SELECT * FROM SinhVien WHERE Ten IN 'Nguyen';

29.

Câu lệnh nào dùng để cập nhật địa chỉ sinh viên có mã SV = 'S01':

a)

UPDATE SinhVien SET DiaChi='HN' WHERE MaSV='S01';

b)

UPDATE SinhVien VALUES DiaChi='HN' WHERE MaSV='S01';

c)

MODIFY SinhVien DiaChi='HN' WHERE MaSV='S01';

d)

CHANGE SinhVien SET DiaChi='HN';

30.

Trong SQL, ràng buộc NOT NULL có nghĩa là gì?

a)

Cột bắt buộc có giá trị, không được để trống

b)

Cột không thể NULL hoặc rỗng

c)

Cột bắt buộc khác 0

d)

Cột có thể để trống

31.

Ràng buộc UNIQUE đảm bảo:

a)

Không có giá trị trùng lặp trong cột

b)

Không có cột nào được NULL

c)

Giá trị phải tăng dần

d)

Chỉ khóa chính mới được dùng

32.

Trong SQL Server, để tạo chỉ mục ta dùng:

a)

CREATE INDEX

b)

CREATE KEY

c)

CREATE PRIMARY KEY

d)

CREATE UNIQUE

33.

Câu lệnh nào dùng để gán tên tạm (bí danh) cho bảng/cột?

a)

AS

b)

DEFINE

c)

NAME

d)

ALIAS

34.

Câu lệnh nào tạo view TopSinhVien:

a)

CREATE VIEW TopSinhVien AS SELECT * FROM SinhVien WHERE Diem > 8;

b)

MAKE VIEW TopSinhVien AS SELECT * FROM SinhVien WHERE Diem > 8;

c)

NEW VIEW TopSinhVien SELECT * FROM SinhVien WHERE Diem > 8;

d)

VIEW CREATE TopSinhVien AS SELECT * FROM SinhVien WHERE Diem > 8;

35.

Khi thiết kế index, nên tạo trên:

a)

Cột thường xuất hiện trong điều kiện WHERE, JOIN, ORDER BY

b)

Cột ít được truy vấn

c)

Cột có nhiều NULL

d)

Cột khóa ngoại duy nhất

36.

Phụ thuộc hàm (Functional Dependencies) là loại ràng buộc dựa trên yếu tố nào dưới đây?

a)

Khóa (Key)

b)

Khóa được xét lại (Key revisited)

c)

Siêu khóa (Superset key)

d)

Không có đáp án nào đúng

37.

Phương pháp thiết kế cơ sở dữ liệu theo hướng từ dưới lên (bottom-up), được thực hiện bằng cách xem xét mối quan hệ giữa các thuộc tính, là:

a)

Chuẩn hóa (Normalization)

b)

Mô hình hóa cơ sở dữ liệu (Database modeling)

c)

Phụ thuộc hàm (Functional dependency)

d)

Phân rã (Decomposition)

38.

Phụ thuộc hàm (Functional Dependency – FD) biểu diễn mối quan hệ giữa:

a)

Các thuộc tính trong cùng một quan hệ

b)

Các hàng (tuple) trong quan hệ

c)

Các cơ sở dữ liệu khác nhau

d)

Các bảng khác nhau

39.

Ký hiệu X → Y trong phụ thuộc hàm nghĩa là:

a)

Giá trị của X xác định duy nhất giá trị của Y

b)

X và Y độc lập

c)

Y xác định X

d)

X và Y luôn có cùng giá trị

40.

Nếu X → Y và Y → Z thì ta có:

a)

X → Z (theo tính bắc cầu)

b)

X → X

c)

Z → X

d)

Z → Y

41.

Phát biểu nào sau đây đúng về phụ thuộc hàm đầy đủ (full functional dependency):

a)

X xác định Y, nhưng nếu bỏ đi bất kỳ thuộc tính nào trong X thì không còn xác định được Y

b)

Một phần của X cũng có thể xác định Y

c)

Y xác định X

d)

X và Y không liên quan

42.

Phụ thuộc hàm riêng phần (partial dependency) xảy ra khi:

a)

Một phần tập thuộc tính của X cũng có thể xác định Y

b)

X → Y và không bỏ đi được thuộc tính nào trong X

c)

X và Y độc lập

d)

X và Y cùng là khóa chính

43.

Trong Armstrong’s axioms, tính phản xạ (reflexivity) phát biểu rằng:

a)

Nếu Y ⊆ X thì X → Y

b)

Nếu X → Y và Y → Z thì X → Z

c)

Nếu X → Y thì XZ → YZ

d)

Nếu X → Y thì Y → X

44.

Bao đóng của một tập thuộc tính X (ký hiệu X+) là:

a)

Tập tất cả các thuộc tính có thể được xác định bởi X dựa trên tập FD cho trước

b)

Tập con của X

c)

Tập các thuộc tính độc lập với X

d)

Tập tất cả các siêu khóa

45.

Phủ tối thiểu của tập phụ thuộc hàm (minimal cover) là:

a)

Tập FD tương đương nhưng không thể rút gọn thêm

b)

Tập FD có số lượng phụ thuộc nhiều nhất

c)

Tập FD chứa tất cả các thuộc tính

d)

Tập FD chỉ có phụ thuộc toàn bộ

46.

Cho R(A, B, C) với FD: A → B. Hỏi A+ = ?

a)

{A, B}

b)

{A}

c)

{B}

d)

{A, B, C}

47.

Cho R(A, B, C, D) với FD: A → B, B → C. Hỏi A+ = ?

a)

{A, B, C}

b)

{A}

c)

{A, B, C, D}

d)

{B, C}

48.

Cho R(A, B, C) với FD: AB → C. Hỏi AB là gì?

a)

Khóa (vì xác định toàn bộ quan hệ)

b)

Thuộc tính

c)

Khóa ngoại

d)

Không phải khóa

49.

Cho FD: A → BC. Hỏi điều nào đúng?

a)

A → B và A → C

b)

A → B nhưng không chắc A → C

c)

BC → A

d)

B → A

50.

Cho quan hệ R(A, B, C) với các phụ thuộc hàm: A → B, A → C. Hỏi A → BC có đúng không?

a)

Đúng (theo luật hợp – union rule)

b)

Sai

c)

Không xác định

d)

Chỉ khi B và C độc lập

51.

Cho quan hệ R(A, B, C, D) với các phụ thuộc hàm: A → B, C → D. Hỏi bao đóng của AC là (AC)+ ?

a)

{A, B, C, D}

b)

{A, C}

c)

{A, B, C}

d)

{B, D}

52.

Mục đích chính của chuẩn hoá cơ sở dữ liệu là gì?

a)

Loại bỏ dư thừa dữ liệu và bất thường cập nhật

b)

Giảm số lượng bảng

c)

Tăng tốc độ truy vấn

d)

Tăng kích thước dữ liệu

53.

Một bảng ở dạng chuẩn 1 (1NF) nếu:

a)

Tất cả các thuộc tính đều nguyên tố (atomic)

b)

Không có khóa ngoại

c)

Mỗi thuộc tính có thể đa trị

d)

Có ít nhất một khóa chính

54.

Dạng chuẩn 2 (2NF) yêu cầu:

a)

Bảng ở 1NF và không có phụ thuộc bộ phận

b)

Không có thuộc tính thừa

c)

Bảng ở 1NF và không có phụ thuộc bắc cầu

d)

Có ít nhất 2 khóa ngoại

55.

Một bảng ở dạng chuẩn 3 (3NF) nếu:

a)

Đạt chuẩn 2NF và không có phụ thuộc bắc cầu

b)

Đạt chuẩn 2NF và không có phụ thuộc bộ phận

c)

Đạt chuẩn 2NF và không có giá trị NULL

d)

Đạt chuẩn 2NF và tất cả thuộc tính là số

56.

BCNF (Boyce–Codd Normal Form) là một dạng mạnh hơn của:

a)

3NF

b)

1NF

c)

2NF

d)

5NF

57.

Bất thường (anomaly) trong CSDL xuất hiện khi:

a)

Thiết kế không chuẩn hoá gây dư thừa và lỗi khi chèn, cập nhật, xoá

b)

CSDL không có khóa

c)

Có nhiều khóa chính

d)

Có nhiều chỉ mục

58.

Chúng ta có thể sử dụng ba quy tắc sau để tìm ra các phụ thuộc hàm được suy diễn hợp logic. Tập hợp các quy tắc này được gọi là:

a)

Tiên đề Armstrong (Armstrong’s axioms)

b)

Tiên đề

c)

Armstrong

d)

Bao đóng (Closure)

59.

Quy tắc nào sau đây không phải là Tiên đề Armstrong?

a)

Quy tắc giả bắc cầu (Pseudotransitivity rule)

b)

Quy tắc phản xạ (Reflexivity rule)

c)

Quy tắc bắc cầu (Transitivity rule)

d)

Quy tắc tăng cường (Augmentation rule)

60.

Để đạt chuẩn 3NF, bảng phải loại bỏ:

a)

Phụ thuộc bắc cầu

b)

NULL

c)

Khóa ngoại

d)

Siêu khóa

61.

Mục tiêu của chuẩn hoá cao (4NF, 5NF) thường là:

a)

Tránh dư thừa phức tạp hơn, đảm bảo toàn vẹn dữ liệu

b)

Giảm số bảng

c)

Tăng hiệu năng

d)

Giảm phụ thuộc hàm

62.

Khi chuẩn hóa quá cao, nhược điểm có thể là gì?

a)

Tăng số lượng bảng, truy vấn chậm hơn

b)

Dư thừa dữ liệu

c)

Không thể JOIN

d)

Không thể có khóa chính

63.

Để chuẩn hóa cần phân tích điều gì?

a)

Phụ thuộc hàm giữa các thuộc tính

b)

Kiểu dữ liệu

c)

Chỉ số (index)

d)

Tên cột

64.

Trong thiết kế CSDL, nên dừng chuẩn hóa ở mức nào?

a)

3NF hoặc BCNF (tùy ứng dụng)

b)

1NF

c)

2NF

d)

5NF

65.

Tối ưu hóa truy vấn thường dựa trên yếu tố nào?

a)

Execution plan (kế hoạch thực thi)

b)

Số lượng view

c)

Số lượng user

d)

Chỉ số CPU

66.

Denormalization (phi chuẩn hóa) được dùng khi nào?

a)

Cần tăng tốc độ truy vấn, chấp nhận dư thừa dữ liệu

b)

Cần giảm dung lượng dữ liệu

c)

Cần giảm số khóa ngoại

d)

Cần loại bỏ phụ thuộc hàm

67.

Trong SQL, lệnh nào được dùng để thực hiện nhiều câu lệnh CREATE TABLE, CREATE VIEW và GRANT trong một giao dịch?

a)

CREATE SCHEMA

b)

CREATE PACKAGE

c)

CREATE CLUSTER

d)

Tất cả các lựa chọn trên

68.

Trong SQL, lệnh CREATE TABLESPACE được sử dụng để làm gì?

a)

Tạo một không gian trong CSDL để lưu trữ các đối tượng schema và dữ liệu

b)

Tạo trigger trong CSDL

c)

Thêm/đổi tên tập tin dữ liệu

d)

Tất cả các lựa chọn trên

69.

Trong SQL, lựa chọn nào sau đây tạo một quan hệ ảo để lưu trữ kết quả truy vấn?

a)

View

b)

Function

c)

Procedure

d)

Không có đáp án nào

70.

Trong SQL, câu lệnh SELECT * FROM R, S tương đương với điều gì?

a)

SELECT * FROM R CROSS JOIN S

b)

SELECT * FROM R NATURAL JOIN S

c)

SELECT * FROM R UNION JOIN S

d)

SELECT * FROM R INNER JOIN S

71.

Kiểu dữ liệu do người dùng định nghĩa có thể được tạo ra bằng lệnh nào?

a)

CREATE TYPE

b)

CREATE DATATYPE

c)

CREATE DEFINETYPE

d)

CREATE DATA

72.

Xét quan hệ R(A, B, C, D, E) với FD: ABC → DE; D → AB. Số lượng siêu khóa (superkey) của R là bao nhiêu?

a)

10

b)

2

c)

7

d)

12

73.

_____ của một thực thể là một thuộc tính hoặc tập thuộc tính duy nhất trong tất cả các thể hiện của thực thể đó.

a)

Khóa chính (Primary key)

b)

Khóa ngoại (Foreign key)

c)

Ràng buộc toàn vẹn

d)

Lược đồ