1. Trang chủ
  2. » Giáo án - Bài giảng

Tổng hợp các câu hỏi ôn tập Cơ sở dữ liệu (có đáp án)

69 44 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng hợp các câu hỏi ôn tập Cơ sở dữ liệu (có đáp án)
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Cơ sở dữ liệu
Thể loại Tài liệu ôn tập
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu hỏi ôn tập chương 1 1 Giải thích khái niệm dữ liệu (data) Answer Dữ liệu là dữ kiện có thể lưu trữ được và mang một ý nghĩa ngầm định nào đó 2 Giải thích khái niệm thông tin (information) Answer T.

Trang 1

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

1 Giải thích khái niệm dữ liệu (data)

Answer: Dữ liệu là dữ kiện có thể lưu trữ được và mang một ý nghĩa ngầm định nào đó

2 Giải thích khái niệm thông tin (information)

Answer: Thông tin là tập các dữ liệu được tổ chức hay xử lý dữ liệu để mang nó lạimột ý nghĩa nào đó trong một ngữ cảnh cụ thể

3 Định nghĩa về cơ sở dữ liệu (CSDL)

Answer: Csdl là một tập hợp các dữ liệu có liên quan với nhau trong cùng một lĩnh vực cụ thể

4 Định nghĩa về Hệ quản trị CSDL (DBMS)

Answer: Hệ quản trị csdl là một gói hay hệ thống phần mềm giúp cho việc tạo, quản lý và duy trì cơ sở dữ liệu trên máy tính một cách thuận lợi

5 Liệt kê tên một vài hệ quản trị CSDL

Answer: Data Base Two (DB2), SQL – Sever, Oracle, Pradox, Informix, Redis, …

8 Trình bày các loại đối tượng sử dụng CSDL

Answer: Người quản trị csdl, người thiết kế csdl, người dùng cuối, phân tích viên

hệ thống và lập trình viên ứng dụng

Trang 2

9 Nêu nhiệm vụ của DBA, Database designer, System Analyst, Application Programmer

Answer: - DB Administrator: + cấp quyền khai thác dữ liệu, phối hợp với người dùng xem xét việc sử dụng csdl và thu hồi tài nguyên, chịu trách nhiệm về các lỗ hỏng bảo mật và thời gian đáp ứng nhu cầu của hệ thống

- DB Designer: + giao tiếp với người dùng để hiểu yêu cầu của họ và tạo thiết kế đáp ứng yêu cầu này

+ xác định dữ liệu cần lưu trữ và chọn cấu trúc thích hợp

để biểu diễn và lưu trữ dữ liệu này

- System Analyst: + phân tích viên hệ thống xác định yêu cầu của ngườidùng và xây dựng bản đặc tả cho những giao tác đáp ứng yêu cầu người dùng

- Application Programer: + lập trình viên cài đặt các đặc tả thành

chương trình, kiểm tra, dò lỗi, ghi sưu liệu và bảo trì các giao tác này

12 Trình bày kiến trúc 3 mức của 1 hệ CSDL

Answer: - Kiến trúc 3 mức giúp tách biệt các ứng dụng người dùng với cơ sở dữ liệu vật lý gồm 3 mức:

+ Mức vật lý: Là mức thấp nhất, mức biểu diễn trong, được biểu diễn bằng lược đồ vật lý, dùng mô hình vật lý để mô tả cấu trúc lưu trữ vật lý của CSDL

+ Mức logic/ quan niệm: Mô tả cấu trúc của toàn bộ CSDL cho cộng đồng các người dùng, được xác định bởi lược đồ quan niệm, dấu đi các chi tiết về cấu

Trang 3

trúc lưu trữ vật lý Dùng mô hình dữ liệu logic để mô tả cái gì được lưu trữ bên trong CSDL và mối quan hệ giữa các dữ liệu đó.

+ Mức ngoài/ view: Được xác định bởi lược đồ ngoài, mô tả một phần của CSDL cho một nhóm người dùng quan tâm và dấu đi phần còn lại của CSDL khỏi nhóm người dùng đó

- Giữa các mức được ngăn cách bởi các ánh xạ:

+ Mức ngoài – Mức logic được ngăn cách bởi ánh xạ ngoài/logic.+ Mức logic – Mức vật lý được ngăn cách bởi các ánh xạ logic/vật lý

13 Tính độc lập dữ liệu là gì?

Answer: Tính độc lập dữ liệu có thể định nghĩa như khả năng thay đổi lược đồ tại một mức của một hệ CSDL mà không phải thay đổi lược đồ tại mức cao hơn kế tiếp

14 Trình bày tính độc lập dữ liệu vật lý và tính độc lập logic

Answer: - Tính độc lập dữ liệu vật lý: là khả năng thay đổi lược đồ vật lý mà

không phải thay đổi lược đồ quan niệm vì vậy lược đồ ngoài cũng không cần thay đổi

- Tính độc lập dữ liệu logic: là khả năng làm thay đổi lược đồ quan niệm mà khôngphải thay đổi lược đồ ngoài hay chương trình ứng dụng

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

1 Quan hệ là gì?

Quan hệ (Relation): một quan hệ là một bảng chứa dữ liệu bao gồm nhiều cột

và nhiều dòng Dữ liệu trong một quan hệ phải thỏa các ràng buộc liên quantới quan hệ đó

Trang 4

Ví dụ: 1 Bộ của 1 sinh viên bao gồm nhiều thuộc tính: MaSV, HoTen,NgaySinh, DiaChi

4 Ràng buộc toàn vẹn là gì?:

Ràng buộc toàn vẹn (integrity constraints):

+ Tập các quy tắc mà mọi dữ liệu trong CSDL phải tuân theo nhằm đảm bảotính toàn vẹn của cơ sở dữ liệu

+ Có nhiều ràng buộc khác nhau trong một CSDL Dưới đây là một số ràngbuộc cơ bản:

- Ràng buộc unique (duy nhất): mỗi giá trị trong cột có ràng buộc này phải

- Ràng buộc khóa chính: các giá trị là khóa chính phải là unique và not null

- Ràng buộc về miền giá trị: các giá trị trong cột phải nằm trong miền giá trịcủa cột

5 Các quan hệ phải có ràng buộc toàn vẹn để làm gì?

- Bảo đảm tính kết dính của các thành phần cấu tạo nên CSDL

- Bảo đảm tính nhất quán của dữ liệu

- Bảo đảm CSDL luôn biểu diễn đúng ngữ nghĩa thực tế

- Bảo đảm tính toàn vẹn của dữ liệu trong database

Ví dụ: Mức lương của một người nhân viên không được vượt quá trưởngphòng Người quản lý trực tiếp (của một nhân viên) phải là ột nhân viên trong côngty

6 Miền giá trị (MGT) của một thuộc tính là gì?: Miền giá trị (Domain) của mộtthuộc tính là một tập giá trị mà một thuộc tính có thể nhận

Ví dụ: Dom(Phai) = |Phai| = {‘Nam’, ‘Nu’}

Dom(Diem) = |Diem| = [0 10]

7 Lược đồ quan hệ là gì?: Lược đồ quan hệ (Relation schema) là tập tất cả các thuộc tính có trong quan hệ

Lược đồ quan hệ thường được viết dưới dạng:

<tên quan hệ>(danh sách các thuộc tính)

Ví dụ: SINHVIEN(MaSV, HoTen, NgaySinh, Diachi)

8 Biểu diễn nào dưới đây là lược đồ quan hệ

a Q(A, B, C)

b Q  A, B, C

c Q{A, B, C}

Trang 5

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

9 Thể hiện/ tình trạng của một quan hệ là gì?: Thể hiện của một quan hệ

(relation instance) là tập tất cả các bộ của một quan hệ tại một thời điểm

Ví dụ: Quan hệ: Danh sách SV lớp CNTT

Thể hiện của quan hệ: Danh sách SV có mặt hôm nay

10 Cơ sở dữ liệu (CSDL) quan hệ là gì?: CSDL quan hệ (Relational database) là một tập các quan hệ có liên quan với nhau về một lĩnh vực cụ thể

Ví dụ: Một phần CSDL quan hệ trong một ứng dụng quản lý SV của một trường bao gồm các quan hệ: SINHVIEN, MONHOC, KQTHI

11 Lược đồ cơ sở dữ liệu (CSDL) quan hệ là gì?: Lược đồ CSDL quan hệ(relational database schema) là một tập các lược đồ quan hệ có liên quan vớinhau về một lĩnh vực cụ thể

Ví dụ: SINHVIEN(MaSV, HoTen, NgaySinh, Diachi)

MONHOC(MaMH, TenMH, SoTC)

KQTHI(MaSV, MaMH, Diem)

12 Siêu khóa của một lược đồ quan hệ Q(R) là gì? Siêu khóa (super key): k được gọi là siêu khóa nếu các giá trị của k có thể xác định duy nhất một bộ trong quan hệ

Ví dụ: SINHVIEN(MaSV, HoTen, NgaySinh, Diachi, SoCMND)

Các tập {MaSV}, {MaSV, HoTen}, {SoCMND}, {SoCMND, NgaySinh} được gọi là các siêu khóa của quan hệ SINHVIEN

13 Trong một quan hệ Chỉ có duy nhất 1 siêu khóa là đúng hay sai?

Câu trả lời: sai vì trong một quan hệ có thể có nhiều siêu khoá

Ví dụ: Quan hệ SINHVIEN ở ví dụ câu 13 có 4 siêu khoá

14 Một siêu khóa trong một quan hệ có thể bao gồm nhiều hơn số thuộc tính trong một quan hệ là đúng hay sai?: sai

15.Phát biểu nào dưới đây sai:

a Số thuộc tính trong siêu khóa là tập con của tập thuộc tính trong quan hệ

b Tập cha của siêu khóa cũng chính là siêu khóa

c Một tập con bất kỳ của siêu khóa cũng là siêu khóa

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

16 Cho Q(A, B, C, D, E) có siêu khóa là {A, B, C} Phát biểu nào dưới đây là đúng:

Trang 6

a {A, B, C, D} là siêu khóa

b {A, B, C, D, E} là siêu khóa

c Cả 2 câu a, b đều đúng

d Cả 2 câu a, b đều sai

17 Khóa ứng viên (candidate key) của một quan hệ là gì?: Khóa ứng viên(candidate key): Siêu khóa k được gọi là khóa ứng viên nếu k là tập nhỏ nhất

Vd {MaSV}, {SoCMND} là các khóa ứng viên

18.Phát biểu nào sau đây đúng

a Khóa ứng viên là khóa có thể được chọn làm khóa chính cho một quan hệ

b Mỗi quan hệ chỉ có duy nhất một khóa ứng viên

SINHVIEN(MaSV, HoTen, NgaySinh, Diachi, SoCMND)

20.Mỗi quan hệ chỉ có duy nhất 1 khóa chính là đúng hay sai?: đúng vì khoáchính là nơi lưu trữ các giá trị duy nhất hay CSDL duy nhất

21.Cho Q1(A, B, C) và Q2(D, A) Phát biểu nào dưới đây là đúng

a Thuộc tính Q2.A là khóa ngoại trong Q2

b Q1 được gọi là quan hệ được tham chiếu và Q2 được gọi là quan hệ thamchiếu

c Thuộc tính Q2.A tham chiếu qua Q1.A

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

22 Cho Q1(A, B, C) và Q2(D, B) Phát biểu nào dưới đây là đúng

a Q2.B có thể là khóa ngoại tham chiếu qua Q1.B nếu Q1.B có ràng buộc unique

b Q2.B là khóa ngoại tham chiếu qua Q1.B nếu Q1.B có ràng buộc not null

c Cả 2 câu a, b đều đúng

d Cả 2 câu a, b đều sai

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

a Khóa ngoại trong mô hình quan hệ biểu diễn mối kết hợp giữa 2 quan hệ

b Ràng buộc về khóa ngoại còn gọi là ràng buộc tham chiếu

c Cả 2 câu a, b đều đúng

d Cả 2 câu a, b đều sai

24 Giải thích ràng buộc tham chiếu nghĩa giữa Q1(A, B, C) và Q2(D, A)

Trang 7

Q1.A là khoá chính của Q1

Q2.D là khoá chính của Q2

Q2.A là khoá ngoại của Q2 tham chiếu qua Q1.A

Q1 được gọi là quan hệ được tham chiếu và Q2 được gọi là quan hệ tham chiếu

25 Một thuộc tính có ràng buộc unique nghĩa là gì? Ràng buộc unique (duy nhất): mỗi giá trị trong cột có ràng buộc này phải là duy nhất trong cột đó

26 Một thuộc tính có ràng buộc not null nghĩa là gì? Ràng buộc not null (khác rỗng): Các ô trong cột có ràng buộc này bắt buộc phải có giá trị khác null

27 Một thuộc tính có ràng buộc khóa chính nghĩa là gì? Ràng buộc khóa chính: các giá trị là khóa chính phải là unique và not null

28 Miền giá trị của một thuộc tính nghĩa có phải là một ràng buộc áp đặt lên dữ liệu của thuộc tính đó không? Phải vì ràng buộc này có thể áp dụng lên một thuộc tính hoặc một nhóm các thuộc tính tự ràng buộc lẫn nhau về dữ liệu

29 Các ký hiệu sau |Sex|, Dom(Sex), MGT(Sex) ký hiệu nào là ký hiệu miền giá trị của thuộc tính Sex |Sex|, Dom(Sex), MGT(Sex)

30 Cho NV(MaNV, Hoten, NgaySinh) và PB(MaPB, TenPB, Matrph) Quy định:mỗi phòng ban có 1 NV là trương phòng Phát biểu nào dưới đây là đúng 2 lược đồ quan hệ trên

a MaNV có ràng buộc unique và not null

b Có ràng buộc tham chiếu từ PB.Matrph sang NV.MaNV

c Cả a và b đều sai

d Cả a và b đều đúng

31.Trong một quan hệ, thứ tự các thuộc tính và các bộ có quan trọng không? Tại sao?: Không quan trọng vì khi thay đổi thứ tự các thuộc tính hay các bộ thì chúng vẫn không thay đổi, vẫn giữ nguyên mối quan hệ giữa chúng

Trang 8

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

32.Đạ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ácphé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ướidạng biểu thức đại số quan hệ

33.Phép chọn theo điều kiện F là phép toán gì?

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

34.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ệ)

Vd Tìm những SV thi môn có mã ‘M01’ và đạt điểm trên 7

MaMH=‘M01’  Diem > 7(KQTHI)

35.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

37 Cho SV(MaSV, Hoten, Ngaysinh, khoa, DiemTB)

Biểu thức khoa = ‘CNTT’  DiemTB >=8(SV) thực hiện việc gì?

Thực hiện việc lấy ra các dòng có thuộc tính khoa là “CNTT” và DiemTBlớn hơn hoặc bằng 8

38.Cho SV(MaSV, Hoten, Ngaysinh, khoa, DiemTB)

Biểu thức khoa = ‘CNTT’  DiemTB >=8(SV) cho kết quả gì?:

Trang 9

Thực hiện việc lấy ra các dòng có thuộc tính khoa là “CNTT” và DiemTBlớn hơn hoặc bằng 8.

42.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 không phải là điều kiện chọn

b A=B,D >5(A, B, C(Q))

c A=B and D >5(A, B, C(Q))

43.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ì không đúng cú pháp thiếu “(” trước “”

b A, B, C(A=B and D >5(Q)

c A and B and C(A=B and D >5(Q)

44.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?

Vì khi kết hợp 2 phép toán trên một quan hệ phải sử dụng dấu ngoặc đơn “()”

để biểu thị phép nào thực hiện trước

Trang 10

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

sai vì C = D(A,C,D(Q)) cho kết quả bao gồm 3 thuộc tính A, C, D mà cóc=d trong khi C = D(A,C,D(Q)) cho kết quả bao gồm 4 thuộc tính

c C = D(A,B,C,D(Q)) cho kết quả giống như A,B,D(C = D(Q))

Sai vì A,B,D(C = D(Q)) cho kết quả bao gồm 3 thuộc tính A, B, D mà cóc=d trong khi C = D(A,C,D(Q)) cho kết quả bao gồm 4 thuộc tính

47.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 R(Q)

c Q(R)

d FR(Q)

48.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ớitên cũ

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

49.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ộctí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 quanhệ

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 Cthành E

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

50.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

51.Biểu thức nào dưới đây đúng

a Fham(thuộc_tính)(Quan hệ)

b Thuộc_tính_gom_nhómFham(thuộc_tính)(Quan hệ)

c Thuộc_tính_gom_nhómFham(thuộc_tính) as tên_mới(Quan hệ)

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

52.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ị

Trang 11

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ị

53.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

54.Cho Q(A: string, B: string, C: int, D: int) Biểu thức AFsum(C) Tong(Q) cho kết quả

là gì?

Cho ra một quan hệ với cột A là các giá trị riêng biệt và Cột sum(C) được đổitên thành Tong gồm các tổng của từng giá trị riêng biệt của cột A

55.Cho Q(A: string, B: string, C: int, D: int) Biểu thức nào dưới đây đúng

a A,BFsum(A) Tong(Q)

b A,BFsum(D) Tong1, sum(C)(Q)

c Fsum(A) Tong(Q)

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

56.F Trong biểu thức tính hàm gộp được đọc là

c Khoa = ‘CNTT’(KhoaFcount(Hoten)(SV))

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

58.Cho Q(A: string, B: string, C: int, D: int) Biểu thức nào dưới đây sai và vìsao?

a A = ‘a’(Fsum(C)(SV)) Vì khi tính hàm sum(C) xong sẽ trả về một giá trị nhưnglại không có thuộc tính để chứa nó

b A = ‘a’(BFsum(C)(SV))

c A = ‘a’(AFsum(C)(SV))

59.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’(KhoaFcount(*)(SV))  Buf

Trang 12

d Buf = Khoa = ‘CNTT’(KhoaFcount(*)(SV))

60.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 ứngtrong 2 quan hệ phải có cùng miền giá trị

61 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

62 Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String) Biểu thứcnào dưới đây đúng

a Q1  Q2

b A,B(Q1)  A,B(Q2)

c A = 5(Q1)  Q2

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

63 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ì

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

64 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

65 Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String) Biểu thứcnà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

66 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ì không quy tắc kết hợp phép toán quan hệ

Trang 13

Biểu thức đúng: A = 5(Q1)  A,B,C(Q2)

67 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

68 Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String) Biểu thứcnà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

69 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ì không đúng cú pháp khi kết hợp 2 phép toán

Phép toán đúng: A = 5(Q1) – A,B,C (Q2)

70 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

71 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

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

73 Cho Q1(A: int, B: int, C:String) và Q2(A: int, B: int, C:String) Biểu thức

(A = 5)Q1 x (A,B Q2) sai vì sao?

Vì không đúng cú pháp khi kết hợp 2 phép toán

Trang 14

Phép toán đúng: A = 5(Q1) X A,B (Q2)

74 Cho SV(MaSV, Hoten, Ngaysinh) và Dangky(MaSV, Hoten, MaMH) Biểuthứ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)

75 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

76 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ị

Trang 15

78 Cho Q1(A, B, C) và Q2(A, E, D) Biểu thức nào dưới đây tương đương với

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

79 Cho Q1(A, B, C) và Q2(A, E, D) Biểu thức nào dưới đây tương đương với

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

80 Cho Q1(A, B, C) và Q2(A, E, D) Biểu thức  Q1.A > Q2.A Q1 x (Q1.A > Q2.AQ2) sai vì sao?

Sai vì không đúng cú pháp kết hợp giữa 2 phép toán quan hệ

Vì trong phép chọn không thoã mãn các tính chất logic ví dụ như điềukiện giữa 2 thuộc tính thì 2 thuộc tính phải thuộc cùng 1 quan hệ

Biểu thức đúng:  Q1.A > Q2.A (Q1 x Q2)

81 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))

Ta sẽ thực hiện phép chọn  Q2.E = 5(Q2) trong ngoặc trước, tiếp theo là phép tích

đề cát (Q1 x  Q2.E = 5(Q2)) cuối cùng là phép chọn ngoài cùng  Q1.A > Q2.A (Q1 x Q2.E = 5(Q2))

82 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ì?

Thực hiện việc kết có điều kiện Q1.A > Q2.A giữa Q1 và Q2

83 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ếttheo điều kiện 

Trang 16

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ínhgiố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ínhgiống nhau

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

84 Cho Q1(A, B, C) và Q2(A, E, D) Biểu thức nào dưới đây cho kết quả giốngnhư kết quả của biểu thức Q1 |X| Q2

Trang 17

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

89 Cho Q1(A: int, B: string, C: int) và Q2(A:int, B: string, D:int) và biểu thức

BFcount(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

90 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’(MaSVFcount(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

91 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(MaSVFsum(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))

92 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 đủ

Trang 18

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ếtquả của phép kết nội

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

93 Cho Q1(A, B, C) và Q2(A, D, E) Biểu thức Q1 Q2 sẽ cho kết quả là mộtquan 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

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

Trang 19

98 Cho Q1(A, B, C) và Q2(A, D, E) Biểu thức Q1 Q2 sẽ cho kết quả là mộtquan 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

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

Bao gồm các thuộc tính A, B, C, D, E

100 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 nào?

Bao gồm các thuộc tính A, B, C, A, D, E

101 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 gì?

Các bộ Q1 kết được với Q2 đều được kết lại thành 1 quan hệ và xuất ra Các bộ ứng với Q1 không kết được với Q2 và ngược lại các bộ Q2 màkhông kết được với Q1 đều không được ghi ra

102 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

Trang 20

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

103 Ngôn ngữ SQL là gì?

Từ SQL là viết tắt của cụm Structured Query Language, có nghĩa là loạingôn ngữ truy vấn có cấu trúc Đây là một loại ngôn ngữ máy tính vô cùng đặcthù, giúp hỗ trợ các thao tác lưu trữ, truy xuất dữ liệu cùng một cơ sở dữ liệuquan hệ một cách vô cùng nhanh chóng

104 Thứ tự viết các mệnh đề trong câu SQL?

[ORDER BY list_of_columns [ASC/DESC]];

105 Thứ tự thực hiện các mệnh đề trong câu SQL?

FROM-WHERE-GROUP BY- HAVING-SELECT-ORDER BY

106 Cho Q(A, B, C) Viết câu truy vấn tương đương với biểu thức đại số quan hệ

Trang 21

108 Cho Q(A: int, B: int, C: int) Viết 2 câu truy vấn tương đương với biểu thứcđại số quan hệ A,B,C(A>B(Q))

SELECT A.Q FROM Q WHERE A.Q > ‘5’

Câu lệnh đúng: SELECT Q.A FROM Q WHERE A.Q > ‘5’;

110 Cho SV(MaSV: string, Hoten: string, MaKh:string, DiemTB:real) Câu truy vấn nào dưới đây thực hiện lập danh sách SV thuộc Khoa có MaKh là ‘50’ và có điểm tb > 8:

a SELECT MaSV, Hoten FROM SV WHERE MaKh = 50, DiemTB >8

b SELECT MaSV, Hoten FROM SV WHERE MaKh = ‘50’, DiemTB >8

c SELECT MaSV, Hoten FROM SV WHERE MaKh = ‘50’ DiemTB >8

d SELECT MaSV, Hoten FROM SV WHERE MaKh = ‘50’ and DiemTB >8

111 Cho SV(MaSV: string, Hoten: string, MaKh:string, DiemTB:real) Câu truy vấn nào dưới đây đúng:

a SELECT MaSV, Hoten FROM SV WHERE MaKh = 50, DiemTB >8

b SELECT MaSV.SV, Hoten.SV FROM SV WHERE DiemTB >8

c SELECT SV.MaSV, SV.Hoten FROM SV WHERE DiemTB >8

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

Trang 22

112 Cho NV(MaNV: string, Hoten: string, Luong: Real, MaPB:string) Câu SQL nào dưới đây đúng:

a SELECT MaNV, Hoten, Luong * 2 From NV WHERE MAPB = ‘50’

b SELECT MaNV, Hoten, Luong * 2 Thuong From NV WHERE MAPB =

‘50’

c SELECT MaNV, Hoten, Luong * 2 as Thuong Form NV WHERE MAPB =

‘50’

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

113 Cho NV(MaNV: string, Hoten: string, Luong: Real, MaPB:string) Hãy cho biết kết quả của câu truy vấn: SELECT MaNV, Hoten, Luong * 2 as Thuong FROM NV

Một bảng gồm 3 thuộc tính MaNV, Hoten, Thuong

Trong đó thuộc tính MaNV, Hoten là từ NV.MaNV, NV.Hoten Thuộc tính Thuong đước tính bằng NV.Luong * 2

114 Từ khóa AS trong câu truy vấn SELECT MaNV, Hoten, Luong * 2 as

NhanVien as NV WHERE Luong >1000

Đưa ra danh sách nhân viên có lương lớn hơn 1000

116 Từ khóa AS trong câu truy vấn SELECT MaNV, Hoten, Luong FROM NhanVien as NV dùng để làm gì?

Đổi tên quan hệ NhanVien thành NV

Trang 23

117 Bí danh của thuộc tính được đặt ở mệnh đề SELECT có được dùng ở các mệnh đề khác không? Tại sao?

Bí danh của thuộc tính được đặt ở mệnh đề SELECT không được dùng ở cácmệnh đề khác vì thứ tự thực hiên câu truy vấn thì SELECT được thực hiện cuối nên khi đặt ở bí danh ở mệnh đề SELECT sẽ làm cho bí danh đó ở các mệnh đề

đó không hiểu và không đọc được

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

a Các biểu thức điều kiện ở mệnh đề WHERE phải được liên kết bằng AND hoặc OR

b Các biểu thức điều kiện ở mệnh đề WHERE phải được phân cách bằng dấu phẩy

c Cả a và b đều đúng

d Cả a và b đều sai

119 LIKE hoặc NOT LIKE dùng để làm gì?

Mệnh đề LIKE trong SQL được sử dụng để so sánh một giá trị với các giá trịtương tự sử dụng toán tử ký tự đại diện (wildcard) NOT LIKE sẽ có tác dụng phủ định với lệnh LIKE, tức là nếu biểu mẫu so khớp sai thì dòng dữ liệu đó sẽ được chọn

120 Ý nghĩa của ký tự đại diện ‘%’ hoặc ‘_’ trong biểu thức điều kiện so sánh chuỗi

‘_’ là ký tự đại diện cho một ký tự bất kỳ

‘%’ là ký tự dại diện cho một hoặc nhiều ký tự bất kì

121 Cho Q(A: nvarchar(4), B: int) câu SQL SELECT * FROM Q WHERE A like ‘%a% thực hiện việc gì?

Cho ra một bản gồm đầy đủ các thuộc tính của Q mà trong đó thuộc tính A

có chứa kí tự ‘a’

122 Cho Q(A: varchar(4), B: int) Câu SQL SELECT * FROM Q WHERE A like

‘_a% thực hiện việc gì?

Trang 24

Cho ra một bản gồm đầy đủ các thuộc tính của Q mà trong đó thuộc tính A cóchứa kí tự ‘a’ ở vị trí thứ 1 của chuỗi (chuỗi bắt đầu ở vị trí 0).

123 Cho Q(A: varchar(4), B: int) Viết câu SQL tương đương với câu

SELECT * FROM Q WHERE B Between 10 and 20

SELECT * FROM Q WHERE B>=10 and B<=20

124 Hàm gộp là gì và gồm những hàm nào?

Hàm gộp nhận vào một tập các giá trị và cho kết quả là một giá trị

Hàm gộp gồm những hàm sum, max, min, avg, count

125 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

Câu SQL SELECT count(*), avg(luong) FROM NV thực hiện việc gì? Đếm số lượng nhân viên và tính lương trung bình của các nhân viên trong quan hệ NV

126 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

Trong SQL Server, kết quả của câu SQL: SELECT count(*), avg(luong) FROM NV là gì?

Cho ra một bảng gồm 2 thuộc tính count, avg trong đó count có giá trị là số lượng các bộ trong quan hệ NV, avg có giá trị là trung bình lương của nhân viên trong quan hệ NV

127 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

Trong SQL Server, kết quả của câu SQL: SELECT count(*) Sonv,

avg(luong) as Luongtb FROM NV là gì?

Cho ra một bảng gồm 2 thuộc tính Sonv, Luongtb trong đó Sonv có giá trị là

số lượng các bộ trong quan hệ NV, Luongtb có giá trị là trung bình lương của nhân viên trong quan hệ NV

128 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

Câu SQL SELECT count(MaNV), avg(luong) FROM NV GROUP BY

MaPB thực hiện việc gì?

Trang 25

Thực hiện việc đếm số lượng nhân viên và tính lương trung bình theo từng phòng ban.

129 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

Trong SQL Server, kết quả của câu SQL: SELECT MaPB, count(MaNV), avg(luong) FROM NV GROUP BY MaPB là gì?

Một bảng gồm 3 thuộc tính MaPB, count, avg trong đó MaPB là các phong ban riêng biệt Với count là số lượng nhân viên của từng phòng và avg là lương trung bình ứng với từng phòng

130 Phát biểu nào dưới đây đúng khi câu SQL có sử dụng mệnh đề GROUP BY

a Các thuộc tính có trong mệnh đề SELECT phải có trong mệnh đề GROUP

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

a Trong câu SQL, mệnh đề HAVING được sử dụng khi điều kiện chọn liên quan tới hàm gộp

b Trong câu SQL, mệnh đề HAVING (nếu có) phải nằm sau mệnh đề GROUP BY

c Cả a và b đều đúng

d Cả a và b đều sai

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

a Trong câu SQL, khi sử dụng mệnh đề HAVING thì phải có mệnh đề

GROUP BY

b Trong câu SQL, mệnh đề WHERE sử dụng với điều kiện không dùng hàm gộp

Trang 26

c Trong câu SQL, có thể có cả mệnh đề WHERE và mệnh đề HAVING

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

133 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4))

câu SQL: SELECT MaPB, count(MaNV) FROM NV GROUP BY MaPB

HAVING count(MaNV) > 2; thực hiện việc gì?

Thực hiện việc in ra danh sách các phòng ban có số nhân viên lớn hơn 2

134 Cho Q(A: varchar(10), B: int, C: varchar(4)) Chỉ những chỗ sai của câu SQL:

SELECT A, count(b) as v FROM Q.A GROUP BY C HAVING v > 2;

Chỗ sai:

SELECT A, count(b) as v FROM Q.A GROUP BY C HAVING v > 2

Sau FROM là một quan hệ và ta thấy trong SECLECT có A vậy GROUP BY phải có A chứ không phải C

Trong mệnh đề SELECT có gán bí danh as v mà theo thứ tự thực hiện thì mệnh đề SELECT được thực hiện sau mệnh đề HAVING nên trong mệnh đề HAVING không sử dụng được v

Câu lệnh đúng:

SELECT A, count(b) FROM Q GROUP BY A HAVING count(b) > 2

135 Cho NV(MaNV: varchar(10), Luong: int, MaPB: varchar(4)) Chỉ những chỗsai của câu SQL: SELECT MaPB, count(MaNV) as sonv FROM NV n WHERE sonv > 2;

Chỗ sai:

SELECT MaPB, count(MaNV) as sonv FROM NV WHERE sonv > 2;Không đúng logic vì MaPB với count không thể kết hợp với điều kiện ở WHERE để cho ra một quan hệ hoàn chỉnh

Trang 27

Trong mệnh đề SELECT có gán bí danh as sonv mà theo thứ tự thực hiện thìmệnh đề SELECT được thực hiện sau mệnh đề HAVING nên trong mệnh đề HAVING không sử dụng được sonv

137 Cho NV (MaNV, Hoten, NgSinh) Câu SQL:

SELECT Hoten, NgSinh FROM NV ORDER BY Hoten, NgSinh DESC; thựchiện việc gì?

Cho ra một bản gồm 2 thuộc tính Hoten, NgSinh từ bảng NV mà trong đó Hoten được xếp theo thứ tự tăng dần và những người có cùng họ tên sẽ được xếp theo thứ tự ngày sinh giảm dần

138 Cho Q(A, B, C) Viết câu SQL cho kết quả tương đương với câu

SELECT * FROM Q ORDER BY A DESC, C

Câu lệnh tương đương: SELECT * FROM Q ORDER BY A DESC, C ASC;

139 Trình bày phép kết nội và phép kết ngoài

Cú pháp Inner Join như sau:

 Kết theta:

Cấu trúc:

SELECT list_of_expressionsFROM table_names

[WHERE conditions]

[GROUP BY list_of_columns

Trang 28

[HAVING aggregate_conditions]]

[ORDER BY list_of_columns];

Điều kiện kết đặt trong mệnh đề WHERE

VD: Tìm MaNV, Họ tên và tên phòng ban của tất cả nhân viênSELECT MaNV, HoNV, Tenlot, TenNV, TenPB

FROM NHANVIEN, PHONGBAN

Trang 29

FROM R LEFT/RIGHT/FULL OUTER JOIN S

ON R.A = S.B[WHERE row_conditions]

[GROUP BY list_of_columns

[HAVING aggregate_conditions]]

[ORDER BY list_of_columns];

VD: SELECT MaNV, HoNV, Tenlot, TenNV, TenPB

FROM NHANVIEN LEFT OUTER JOIN PHONGBAN

ON NHANVIEN.MaNV=PHONGBAN.TrPhong;

140 Cho Q1(A: int, B: int) và Q2(C: int, D: int) và câu SQL

SELECT A, C FROM Q1 INNER JOIN Q2 ON A = C; thực hiện việc gìThực hiện việc in ra 2 thuộc tính Q1.A, Q2.C tương ứng với nhau từ một quan hệ sau khi thực hiện việc kết nội Q1 vả Q2

141 Cho Q1(A: int, B: int) và Q2(C: int, D: int) Câu SQL nào dưới đây đúng

a SELECT A, C FROM Q1 JOIN Q2 ON A = C;

b SELECT A, C FROM Q1 INNER JOIN Q2 ON A = C;

c Cả a và b đều đúng

d Cả a và b đều sai

142 Cho Q1(A: int, B: int) và Q2(C: int, D: int) Câu SQL nào dưới đây đúng

a SELECT A, C FROM Q1 LEFT JOIN Q2 ON A = C;

b SELECT A, C FROM Q1 LEFT OUTER JOIN Q2 ON A = C;

c Cả a và b đều đúng

d Cả a và b đều sai

143 Cho Q1(A: int, B: int) và Q2(C: int, D: int) Câu SQL

SELECT * FROM Q1 FULL JOIN Q2 ON A = C; thực hiện việc gì?

Trang 30

Cho ra một quan hệ mới gồm đầy đủ các thuộc tính Q1.A, Q1.B, Q2.C, Q2.D từmột quan hệ mới là sự kết đầy đủ từ 2 quan hệ Q1 và Q2 Các dữ liệu ở Q2 không kết được với Q1 sẽ được gán giá trị NULL và ngược lại.

144 Cho Q1(A: int, B: int) và Q2(C: int, D: int) Câu SQL

SELECT * FROM Q1 FULL OUTER JOIN Q2 ON A = C; tương đương với

a SELECT * FROM Q1 JOIN Q2 ON A = C;

b SELECT * FROM Q1 FULL JOIN Q2 ON A = C

c Cả a và b đều đúng

d Cả a và b đều sai

145 Cho Q1(A: int, B: int) và Q2(C: int, D: char(5)) Câu SQL

SELECT * FROM Q1 OUTER JOIN Q2 A = C WHERE D = null; sai ở những chỗ nào?

Chỗ sai: SELECT * FROM Q1 OUTER JOIN Q2 A = C WHERE D = null;Không ghi rõ là kết ngoài gì (LEFT, RIGHT, FULL)

Câu lệnh đúng: SELECT * FROM Q1 LEFT/FULL OUTER JOIN Q2 A = CWHERE D = null;

Câu lệnh không thể kết phải vì ở mệnh đề where chỉ rõ D bằng ‘null’ mà chỉ

có kết trái với kết đầy đủ mới thực hiện được việc này

146 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL

(SELECT MaSV FROM SV) EXCEPT (SELECT MaSV FROM Dangky); thực hiện việc gì?

Thực hiện việc cho ra một danh sách các sinh viên chưa đăng kí môn học.Hiệu hai quan hệ có cùng cấu trúc MaSV

147 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL nào ở dưới tương đương với câu truy vấn (SELECT MaSV FROM SV) EXCEPT (SELECT MaSV FROM Dangky)

a SELECT SV.MaSV FROM SV LEFT JOIN Dangky ON SV.MaSV =

Dangky.MaSV

b SELECT SV.MaSV FROM SV LEFT JOIN Dangky ON SV.MaSV =

Dangky.MaSV WHERE Dangky.MaMH IS NULL

c SELECT SV.MaSV FROM SV LEFT JOIN Dangky ON SV.MaSV =

Dangky.MaSV WHERE Dangky.MaMH = NULL

Trang 31

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

148 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL nào ở dưới tương đương với câu truy vấn (SELECT MaSV FROM SV) EXCEPT (SELECT MaSV FROM Dangky)

a SELECT SV.MaSV FROM SV LEFT JOIN Dangky ON SV.MaSV =

Dangky.MaSV WHERE Dangky.MaMH IS NULL

b SELECT s.MaSV FROM SV s LEFT JOIN Dangky d ON s.MaSV =

d.MaSV WHERE Dangky.MaMH IS NULL

c Cả a và b đều đúng

d Cả a và b đều sai

149 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Chỉ những chỗ sai trongcâu SQL

SELECT MaSV FROM SV OUTER JOIN Dangky ON SV.MaSV =

Dangky.MaSV WHERE Dangky.MaMH = NULL;

Chỗ sai:

SELECT MaSV FROM SV OUTER JOIN Dangky ON SV.MaSV =

Dangky.MaSV WHERE Dangky.MaMH = NULL;

Không thể hiện rõ là loại kết ngoài gì (LEFT, RIGHT, FULL), trong SQL việc so sánh với null ta dùng toán tử logic IS NULL

Câu lệnh đúng: SELECT MaSV FROM SV LEFT/FULL OUTER JOIN Dangky

ON SV.MaSV = Dangky.MaSV WHERE Dangky.MaMH IS NULL; ta dùng LEFThoặc FULL vì chỉ có kết trái hoặc đầy đủ thì mới thể hiện dc MaMH có thể có giá trị NULL

150 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL nào ở dưới cho kết quả tương đương với câu truy vấn (SELECT MaSV FROM SV)

INTERSECT (SELECT MaSV FROM Dangky)

a SELECT MaSV FROM Dangky

b (SELECT MaSV FROM SV) EXCEPT (SELECT MaSV FROM Dangky)

Trang 32

c SELECT MaSV FROM SV

d Cả 3 đều đúng

151 Cho Q1(A, B) và Q2(A, B) Câu SQL

(SELECT A, B FROM Q1) INTERSECT (SELECT A, B FROM Q2); thực hiện việc gì?

In ra một bảng gồm 2 thuộc tính A, B mà trong đó các bộ đều có trong cả 2 quan hệ Q1 và Q2 (giao nhau)

152 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL dưới thực hiện việc gì (SELECT MaSV FROM SV) UNION (SELECT MaSV FROM Dangky)

Thực hiện việc in ra danh sách các sinh viên trong SV vì UNION là toán tử hợp lại và loại bỏ trùng nhau

153 Cho Q1(A, B) và Q2(A, B) Câu SQL

(SELECT * FROM Q1) UNION (SELECT * FROM Q2); thực hiện việc gì? Thực hiện việc cho ra một bảng gồm 2 thuộc tính A, B trong đó các bộ là các phần của Q1 và Q2 không trùng nhau

154 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu truy vấn

SELECT Hoten FROM SV WHERE MaSV NOT IN (SELECT MaSV FROMDangky); thực hiện việc gì?

Thực hiện việc in ra danh sách các sinh viên không đăng ký môn học

Sử dụng từ khoá NOT IN( Trả về TRUE nếu giá trị số hạng không có trong một danh sách biểu thức.) với một thuộc tính MaSV trong quan hệ DangKy

155 Cho SV(MaSV, Hoten) và Dangky(MaSV, MaMH) Câu SQL tương đương với câu:

SELECT MaSV FROM SV WHERE MaSV NOT IN (SELECT MaSV

FROM Dangky)

Trang 33

Cách 1: (SELECT MaSV FROM SV) EXCEPT (SELECT MaSV FROM Dangky);

Cách 2: SELECT SV.MaSV FROM SV LEFT JOIN Dangky ON SV.MaSV = Dangky.MaSV WHERE Dangky.MaMH IS NULL

156 Cho NV(MaNV, Hoten, Luong) Câu SQL

SELECT * FROM NV WHERE Luong > (SELECT AVG(Luong) FROM NV); thực hiện việc gì?

a Liệt kê danh sách NV có lương cao nhất

b Liệt kê danh sách NV có lương lớn hơn mức lương trung bình

158 Cho NV(MaNV, Hoten, Luong) Câu SQL

SELECT * FROM NV WHERE Luong >= all (SELECT Luong FROM NV); thực hiện việc gì?

Thực hiện việc tìm những người có lương cao nhất trong tất cả nhân viên Cho ra một bảng gồm tất cả các thuộc tính có trong NV mà trong đó các bộ

có đặc điểm là Luong luôn lớn hơn hoặc bằng Luong của mọi nhân viên

159 Cho NV(MaNV, Hoten, Luong) Câu SQL

SELECT * FROM NV WHERE Luong = (SELECT max(Luong) FROM NV); thực hiện việc gì?

Tìm những người có lương cao nhất trong tất cả các nhân viên

Trang 34

160 Cho NV(MaNV, Hoten, Luong) Câu SQL nào dưới đây tương đương vớiSELECT * FROM NV WHERE Luong >= all (SELECT Luong FROM NV)

a SELECT * FROM NV WHERE Luong >= any (SELECT Luong FROM NV);

b SELECT * FROM NV WHERE Luong = (SELECT max(Luong) FROM NV)

c Cả a và b đều đúng

d Cả a và b đều sai

161 Truy vấn con tương quan là gì?

Truy vấn tương quan là một truy vấn phụ sử dụng các giá trị từ truy vấn bên ngoài, cho phép so sánh giữa thuộc tính của quan hệ bên trong truy vấn con với thuộc tính của quan hệ trong truy vấn bao bên ngoài

VD: Ví dụ: Tìm MaNV, Họ tên của người có lương cao nhất của mỗi phòng:

SELECT MaNV, HoNV, Tenlot, TenNVFROM NHANVIEN AS NV1

WHERE Luong = (SELECT MAX(Luong)

FROM NHANVIEN AS NV2WHERE NV2.Phong = NV1.Phong);

162 Công dụng của EXISTS

Dùng để kiểm tra kết quả của câu truy vấn con tương quan là rỗng haykhông rỗng Nếu kết quả của câu truy vấn là rỗng thì EXISTS trả về False, ngượclại nó trả về True

163 Cho NV(MaNV, Hoten) và ThanNhan(MaNV, TenThannhan) Câu SQL nào dưới đây đúng

a SELECT Hoten FROM NV WHERE EXISTS (SELECT * FROM

THANNHAN tn WHERE NV.MaNV = tn.MaNV);

b SELECT Hoten FROM NV WHERE MaNV EXISTS (SELECT * FROM THANNHAN tn WHERE NV.MaNV = tn.MaNV);

c Cả a và b đều đúng

d Cả a và b đều sai

Ngày đăng: 21/12/2022, 16:10

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w