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 1Câ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 29 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 3trú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 4Ví 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 5d 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 6a {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 7Q1.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 8Câ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 9Thự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, CA=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 >5A, 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 10a 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 11b 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 12d 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 13Biể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 14Phé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 1578 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 16b Đ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 17a 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 18b 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 1998 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 20Câ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 21108 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 22112 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 23117 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 24Cho 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 25Thự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 26c 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 27Trong 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 29FROM 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 30Cho 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 31d 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 32c 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 33Cá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 34160 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