Tải bản đầy đủ (.doc) (27 trang)

Bộ đề thi cơ sở dữ liệu tổng hợp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (270.56 KB, 27 trang )

Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

ĐỀ 3
Cho lược đồ cơ sở dữ liệu Quản lý đề tài tốt nghiệp như sau:
KHOA(MaKhoa, TenKhoa, TruongKhoa, TongsoSV)
Tân từ: mỗi khoa có một mã số duy nhất để phân biệt với các khoa khác, tên khoa,
trưởng khoa và tổng số sinh viên thuộc khoa.
SINHVIEN(MaSV, HoTenSV, NgaySinh, Gioitinh, DiaChi, MaKhoa)
Tân từ: mỗi sinh viên có một mã số duy nhất để phân biệt với các sinh viên khác,
tên sinh viên, ngày sinh, giới tính (Nam/Nữ), địa chỉ, và khoa sinh viên trực thuộc
(MaKhoa) .
GIANGVIEN(MaGV, HoTenGV, NgaySinh, DiaChi, MaKhoa)
Tân từ: mỗi giảng viên có một mã số duy nhất để phân biệt với các giảng viên
khác, tên giảng viên, ngày sinh, giới tính (Nam/Nữ), địa chỉ, và khoa trực thuộc.
DETAI(MaDeTai, TenDeTai, LinhVuc, Nam, MaGV)
Tân từ: mỗi đề tài tốt nghiệp có một mã số (MaDeTai) phân biệt với các đề tài
khác, tên đề tài, thuộc lĩnh vực nào (ví dụ: máy học, CSDL phân tán, xử lý ngôn
ngữ,…), năm thực hiện đề tài (Nam), giảng viên hướng dẫn đề tài (MaGV).
HUONGDAN(MaDeTai, MaSV, Diemso)
Tân từ: Sinh viên tham gia làm đề tài tốt nghiệp dưới sự hướng dẫn của giảng
viên, có một kết quả đề tài (điểm số). Mỗi đề tài có tổi đa 2 sinh viên tham gia.
Yêu cầu:
1. Hãy phát biểu RBTV “Tổng số sinh viên của khoa bằng số lượng sinh viên
thuộc về khoa đó” (1 điểm).
Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
2. Với các sinh viên thuộc khoa ‘CNTT’ (mã khoa = ‘CNTT’) và có làm đề
tài tốt nghiệp, hãy liệt kê tên sinh viên, tên đề tài, tên giáo viên hướng
dẫn (HoTenSV, TenDeTai, HoTenGV) (1 điểm).
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
3. Với các sinh viên thuộc khoa ‘Công nghệ thông tin’ (tên khoa = ‘Công nghệ
thông tin’) và có làm đề tài tốt nghiệp, hãy liệt kê tên sinh viên, tên đề tài, tên


giáo viên hướng dẫn (HoTenSV, TenDeTai, HoTenGV), sắp thứ tự theo tên đề
tài (1.5 điểm).
4. Cho biết tên giảng viên và số lượng đề tài mà giảng viên hướng dẫn (0.75
điểm).
5. Cho biết tên giảng viên, năm và số lượng đề tài mà họ hướng dẫn theo từng
năm (0.75 điểm).

– k2cn4.n-stars.org - 4rum K2CN4

1


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐÁP ÁN Đề 3
Câu 1: (1 điểm)
• Nội dung:
Tổng số sinh viên của khoa bằng số lượng sinh viên thuộc về khoa đó.
∀k ∈ KHOA,
k.TongSoSV = Count(sv ∈ SINHVIEN ∧ sv.MaKhoa = k.MaKhoa)
(sv.MaSV)
Cuối ∀k
hoặc cách khác: k.TongSoSV = Count(sv ∈ SINHVIEN ∧ sv.MaKhoa =
k.MaKhoa) (*)
• Bối cảnh: KHOA, SINHVIEN
• Bảng tầm ảnh hưởng
:
KHOA

SINHVIEN


Thêm
-(*)

Xóa
-

Sửa
+
(TongSoSV)

+

+

+
(MaKhoa)

-(*) Ở thời điểm thêm một bộ vào KHOA, giá trị bộ đó tại thuộc tính
KHOA là 0.
MaSV

MaDeTai

Câu 2: (1 điểm)
((SINHVIEN:MaKhoa=‘CNTT’)
HUONGDAN
GIANGVIEN) [HoTenSV, TenDeTai, HoTenGV]

MaGV


DETAI

Câu 3: (1.5 điểm)
Select HoTenSV, TenDeTai, HoTenGV
From SinhVien sv, Khoa k, HuongDan hd, DeTai dt, GiangVien gv
Where sv.MaKhoa = k.MaKhoa AND k.TenKhoa = ‘Công nghệ thông tin’
AND sv.MaSV = hd.MaSV AND hd.MaDeTai = dt.MaDeTai
AND dt.MaGV = gv.MaGV
ORDER BY TenDeTai
Câu 4: (0.75 điểm)
Select HoTenGV, count(MaDeTai) as SoLuongDT
From DeTai dt, GiangVien gv
Where dt.MaDeTai = gv.MaDeTai

– k2cn4.n-stars.org - 4rum K2CN4

2


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
GROUP BY HoTenGV
Câu 5: (0.75 điểm)
Select HoTenGV, Nam, count(MaDeTai) as SoLuongDT
From DeTai dt, GiangVien gv
Where dt.MaDeTai = gv.MaDeTai
GROUP BY HoTenGV, Nam

Đề Thi Số 2
Cho lược đồ quan hệ sau :
1. KHACHHANG (MAKH, TENKH, DIACHI, LOAIKH)

Tân từ: Một khách hàng có một mã số (MAKH) duy nhất, tên khách hàng
(TENKH), địa chỉ khách hàng (DIACHI) và thuộc một loại khách hàng
(LOAIKH). Loại khách hàng gồm có “Cá nhân”, “Doanh nghiệp”.
2. DIENTHOAI (SODT, MAKH, LOAIDT, SOHD)
Tân từ: Một điện thoại có một số điện thoại (SODT) để phân biệt với các
điện thoại khác, thuộc về một khách hàng (MAKH), loại điện thoại (LOAIDT)
gồm có “Vô tuyến”, “Dây cáp”, được lắp đặt theo một hợp đồng (SOHD).
3. DICHVU (MADV, TENDV)
Tân từ: Mỗi dịch vụ điện thoại có một mã dịch vụ (MADV) và tên dịch vụ
(TENDV).
4. DANGKY (MADV, SODT)
Tân từ: Một số điện thoại có thể đăng ký nhiều dịch vụ và một dịch vụ có
thể được nhiều số điện thoại đăng ký.
Yêu cầu:
Câu 1) Xác định khóa (khóa chính, khóa ngoại) của các quan hệ cho trên.
(1 điểm)
Câu 2) Trả lời các câu truy vấn sau bằng ngôn ngữ SQL:
a) Danh sách khách hàng (MAKH, TENKH) lắp đặt điện thoại loại
“Dây cáp”. (1.5 điểm)
b) Với mỗi dịch vụ có khách hàng đăng ký, hãy cho biết mã dịch
vụ, tên dịch vụ và tổng số điện thoại đăng ký dịch vụ đó. (1
điểm)
Câu 3) Trả lời câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
Liệt kê các số hợp đồng (SOHD) có đăng ký dịch vụ “Dịch vụ 108”.
(1.5 điểm)

– k2cn4.n-stars.org - 4rum K2CN4

3



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐÁP ÁN ĐỀ 2
Câu 1) Xác định khóa (khóa chính, khóa ngoại) của các quan hệ cho trên. (1 điểm)
KHACHHANG (MAKH, TENKH, DIACHI, LOAIKH)
+ Khóa chính: MAKH
+ Khóa ngoại: không có.

(0.25đ)

DIENTHOAI (SODT, MAKH, LOAIDT, SOHD)
+ Khóa chính: SODT
+ Khóa ngoại: MAKH.

(0.25đ)

DICHVU (MADV, TENDV)
+ Khóa chính: MADV
+ Khóa ngoại: không có.

(0.25đ)

DANGKY (MADV, SODT)
+ Khóa chính: (MADV, SODT)
+ Khóa ngoại: MADV, SODT.

(0.25đ)

Câu 2) Trả lời các câu truy vấn sau bằng ngôn ngữ SQL:
a) Danh sách khách hàng (MAKH, TENKH) lắp đặt điện thoại loại

“Dây cáp”. (1.5 điểm)
Select KHACHHANG.MAKH, KHACHHANG.TENKH
from KHACHHANG, DIENTHOAI
where KHACHHANG.MAKH = DIENTHOAI.MAKH
and DIENTHOAI.LOAIDT = ‘Dây cáp’
b) Với mỗi dịch vụ có khách hàng đăng ký, hãy cho biết mã dịch
vụ, tên dịch vụ và tổng số điện thoại đăng ký dịch vụ đó. (1
điểm)
Select DICHVU.MADV, DICHVU.TENDV, count(SODT) as
SodienthoaiDK
from DICHVU, DANGKY
where DICHVU.MADV = DANGKY.MADV
group by DICHVU.MADV, DICHVU.TENDV
Câu 3) Trả lời câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
Liệt kê các số hợp đồng (SOHD) có đăng ký dịch vụ “Dịch vụ 108”.
(1.5 điểm)
(DIENTHOAI
SODT=SODT

DANGKY

(DICHVU: TenDV=“Dịch vụ 108”))[SOHD]

MADV=MADV

– k2cn4.n-stars.org - 4rum K2CN4

4



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐỀ THI 1
Câu 3 (3.5 điểm) Cho cơ sở dữ liệu “Hệ thống quản lý xe ô tô du lịch” ở một
doanh nghiệp vận tải hành khách như sau:
LOAIXE (MaLX, TenLX, ThongTinLX, SoLuongXe)
Tân từ: mỗi loại xe ô tô có một mã số để phân biệt với các loại xe ô tô khác, tên
loại xe (ví dụ tên loại xe 7-chỗ, 15-chỗ,…), và thông tin về loại xe đó, SoLuongXe
là tổng số xe ô tô có loại xe này.
XE (MaXe, TenXe, CapSo, MaLX, HangSX, ThongTinXe)
Tân từ: mỗi xe ô tô được gán một mã số duy nhất để phân biệt với các xe ô tô
khác, tên xe, biến số xe ô tô (CapSo), hãng sản xuất, thông tin về chiếc xe.
TAIXE (MaTX, HoTen, NgaySinh, GioiTinh, DiaChi)
Tân từ: mỗi tài xế của công ty có một mã số để phân biệt với các tài xế khác, họ
tên tài xế, ngày sinh, giới tính (Nam/Nữ), địa chỉ.
CHUYENDI (SoCD, MaXe, MaTX, NgayDi, NgayVe, NoiDi, NoiDen,
ChieuDai, SoNguoi)
Tân từ: mỗi tài xế (MaTX) được phân công lái xe (MaXe) theo một lộ trình
(SoCD), ngày đi, ngày về, nơi đi, nơi đến, chiều dài đường đi ước lượng (tính theo
km), chở số người đi (SoNguoi) cho chuyến đi đó.
Yêu cầu:
1. Hãy phát biểu chặt chẽ ràng buộc: “Số lượng xe của một loại xe
(SoLuongXe) là tổng số xe ô tô thuộc loại xe đó.” (0.75 điểm).
Thực hiện câu truy vấn sau bằng đại số quan hệ:
2. Cho biết họ tên tài xế, ngày đi, ngày về của những chuyến đi có chiều dài
lớn hơn hoặc bằng 300km đã chuyên chở từ12 người trở lên trong mỗi
chuyến. (0.75 điểm)
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
3. Cho biết họ tên tài xế, ngày đi, ngày về của những chuyến đi có chiều dài
lớn hơn hoặc bằng 300km đã chuyên chở từ 12 người trở lên trong mỗi
chuyến, thuộc xe có mã loại xe là ‘15-Cho’. (1.0 điểm)

4. Với mỗi tài xế, hãy cho biết tổng số chuyến đi mà tài xế được phân công lái
xe trong năm 2005 (tính theo ngày đi). Thông tin hiển thị gồm 2 cột: Mã
tài xế, họ tên và tổng số chuyến đi. (1.0 điểm)

– k2cn4.n-stars.org - 4rum K2CN4

5


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐÁP ÁN Đề 1
Câu 1) (0.75 điểm)
• Nội dung:
“Số lượng xe của một loại xe (SoLuongXe) là tổng số xe ô tô có loại xe là
loại xe đó.”.
∀l ∈ LOAIXE,
l.SoLuongXe = Count(x ∈ XE ∧ x.MaLX = l.MaLX) (x.MaXe)
Cuối ∀l
hoặc cách khác:
l.SoLuongXe = Count(x ∈ XE ∧ x.MaLX = l.MaLX)
(*)
• Bối cảnh: LOAIXE, XE
• Bảng tầm ảnh hưởng
:
LOAIXE
XE

Thêm
-(*)


Xóa
-

Sửa
+
(SoLuongXe)

+

+

+
(MaLX)

-(*) Ở thời điểm thêm một bộ vào LOAIXE, giá trị bộ đó tại thuộc tính
SoLuongXe là 0.
Câu 2) (0.75 điểm)
MaTX

(TaiXe
(ChuyenDi: ChieuDai >=300 ∧ SoNguoi> = 12)) [HoTen,
NgayDi, NgayVe]
Câu 3) (1.0 điểm)
SELECT HoTen, NgayDi, NgayVe
FROM TaiXe t, Xe x, ChuyenDi c
WHERE t.MaTX= c.MaTX
AND x.MaXe=c.MaXe
AND
x.MaLX= ‘15-Cho’
AND

c.ChieuDai >=300
AND
c.SoNguoi >=12

– k2cn4.n-stars.org - 4rum K2CN4

6


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
Câu 4) (0.75 điểm)
SELECT t.MaTX, t.HoTen, count(c.SoCD) as TongSoChuyenDi
FROM TAIXE t, CHUYENDi c
WHERE c.MaTX=t.MaTX and Year(NgayDi) = 2005
GROUP BY t.MaTX, t.HoTen
ĐỀ THI 4
Cho lược đồ CSDL quản lý bán hàng
KHACHHANG (MAKH,HOTEN, DCHI,SODT,NGSINH)
Tân từ: Mỗi khách hàng sẽ có một mã số để phân biệt với nhau, cần lưu trữ họ tên,
địa chỉ, số điện thoại, ngày sinh
SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)
Tân từ: Mỗi sản phẩm có một số, một tên gọi, đơn vị tính, nước sản xuất và một
giá bán.
HOADON (SOHD, NGHD, MAKH, TRIGIA)
Tân từ: Mỗi lần mua hàng sẽ ghi nhận số hóa đơn, ngày mua, trị giá của hóa đơn
và khách hàng nào mua.
CTHD (SOHD,MASP,SL)
Tân từ: Diễn giải chi tiết trong mỗi hóa đơn gồm có những sản phẩm gì với số
lượng là bao nhiêu.
Phần 1: Phát biểu các câu truy vấn sau bằng đại số quan hệ (câu a,b) và SQL (câu

b,c):
a. In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được bán ra
trong ngày 10/10/2005. (1 điểm)
b. In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) có giá từ 10.000
đến 50.000 do TrungQuoc sản xuất. (1 điểm)
c. Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao nhất. (0.75
điểm)
Phần 2: Mô tả chặt chẽ các ràng buộc sau:
a. Trị giá của một hóa đơn phải bằng tổng tiền của các chi tiết (sl*gia) thuộc
hóa đơn đó. (0.75 điểm)

– k2cn4.n-stars.org - 4rum K2CN4

7


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

Đáp án: Đề 4
Phần 1: (4 điểm) mỗi câu 1 điểm
MASP
SOHD
a. ((SANPHAM CTHD ) HOADON : NGHD =#10 / 10 / 2005# )[MASP, TENSP ]
b.

( SANPHAM : (GIA ≥ 50000) ∧ (GIA ≤ 10000) ∧ ( NUOCSX =" TrungQuoc" ))[MASP, TENSP ]

SELECT MASP, TENSP
FROM SANPHAM
WHERE GIA>=50000 AND GIA<=10000 AND NUOCSX= ‘TrungQuoc’

c.
SELECT KH.MAKH, KH.HOTEN
FROM KHACHHANG KH, HOADON HD
WHERE KH.MAKH = HD.MAKH AND HD.TRIGIA = (SELECT
MAX(TRIGIA) FROM HOADON)
SELECT KH.MAKH, KH.HOTEN
FROM KHACHHANG KH, HOADON HD
WHERE KH.MAKH=HD.MAKH AND HD.TRIGIA >= ALL (SELECT
DISTINC TRIGIA FROM HOADON)
Phần 2: (2 điểm)
- Phát biểu:
∀h ∈ HOADON,
h.TRIGIA = ∑(c.SL*s.GIA), ∀c∈CTHD, ∃s∈SANPHAM/
c.MASP=s.MASP
and h.SOHD=c.SOHD
- Bối cảnh: SANPHAM, HOADON, CTHD
- Bảng tầm ảnh hưởng:
Thêm
HOADON +
CTHD
+
SANPHAM -

Xóa
+
-

Sửa
+ (TRIGIA)
+(SL,MASP,SOHD)

+(GIA)

– k2cn4.n-stars.org - 4rum K2CN4

8


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

Đề Thi Số 5
Câu 1 (3.5 điểm) Cho lược đồ cơ sở dữ liệu Quản lý đặt mua báo như sau:
BAO (MaToBao, TenBao, DiaChiTS)
Tân từ: mỗi báo có một mã số duy nhất để phân biệt với các báo khác, tên báo, địa
chỉ tòa soạn chính. Ví dụ: báo “Tuổi trẻ”, báo “Công an”, báo “Thanh niên”,…
DOCGIA(MaDG, HoTen, NgaySinh, GioiTinh, DiaChi)
Tân từ: mỗi đọc giả có một mã số để phân biệt với các đọc giả khác, họ tên đọc
giả, ngày sinh, giới tính (Nam/Nữ), địa chỉ đọc giả.
DATMUA (MaDG, MaToBao, Quy, Nam, SoLuong, DonGia, ThanhTien)
Tân từ: mỗi đọc giả (MaDG) sẽ đặt mua các báo (MaToBao) theo từng quý (1, 2,
3, 4) trong năm với số lượng đặt là bao nhiêu tờ (SoLuong), có đơn giá một tờ báo
(DonGia), thành tiền là số tiền đọc giả mua báo trong quý đó (ThanhTien =
SoLuong x DonGia).
Yêu cầu:
1. Hãy phát biểu chặt chẽ ràng buộc: “Số tiền (ThanhTien) đọc giả trả khi đặt
mua báo trong một quý phải bằng số tờ đặt trong quý đó (SoLuong) x đơn
giá (DonGia).” (0.75 điểm).
Thực hiện câu truy vấn sau bằng đại số quan hệ:
2. Cho biết họ tên, địa chỉ các đọc giả đặt mua báo tuổi trẻ (TenBao=“Tuổi
trẻ”) của quý 1 năm 2006. (0.75 điểm)
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:

3. Cho biết họ tên, địa chỉ các đọc giả đặt mua báo tuổi trẻ (TenBao=“Tuổi
trẻ”) của quý 1 năm 2006. (0.75 điểm)
4. Hãy cho biết tổng số tờ báo độc giả đặt mua trong năm 2005 theo từng báo.
Thông tin hiển thị gồm 2 cột: MaToBao và tổng số tờ đặt. (0.75 điểm)
5. Tương tự câu d nhưng thông tin hiển thị gồm 2 cột: TenBao và tổng số
lượng đặt. (0.5 điểm).

– k2cn4.n-stars.org - 4rum K2CN4

9


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

ĐÁP ÁN ĐỀ THI SỐ 5
Câu a) (0.75 điểm)
• Nội dung:
Số tiền (ThanhTien) độc giả trả khi đặt mua báo trong một quý phải bằng
số tờ đặt trong quý đó (SoLuong) x đơn giá (DonGia).
∀d ∈ DATMUA,
d.ThanhTien = d.SoLuong * d.DonGia
Cuối ∀d
• Bối cảnh: DATMUA
• Bảng tầm ảnh hưởng
:
DATMUA

Thêm
+


Xóa
-

Sửa
+
(SoLuong, DonGia,
ThanhTien)

Câu b) (0.75 điểm)
MaToBao
((BAO: TenBao=“Tuổi trẻ”)
(DATMUA: Quy =1 ∧ Nam = 2006)
DOCGIA) [HoTen, DiaChi]

MaDG

Câu c) (0.75 điểm)
SELECT HoTen, DiaChi
FROM BAO t, DATMUA dm, DOCGIA dg
WHERE t.TenBao= “Tuổi trẻ”
AND
t.MaToBao = dm.MaToBao
AND dm.Quy=1 AND dm.Nam = 2006
AND
dm.MaDG = dg.MaDG
Câu d) (0.75 điểm)
SELECT dm.MaToBao, sum(dm.SoLuong) as TongSoLuongDat
FROM DATMUA dm
WHERE dm.Nam = 2005
GROUP BY dm.MaToBao

Câu e) (0.5 điểm)
SELECT t.TenBao, sum(dm.SoLuong) as TongSoLuongDat
FROM DATMUA dm, BAO t

– k2cn4.n-stars.org - 4rum K2CN4

10


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
WHERE t.MaToBao = dm.MaToBao AND dm.Nam = 2005
GROUP BY t.TenBao
ĐỀ THI SỐ 6
Cho lược đồ cơ sở dữ liệu Quản lý thi tốt nghiệp tại một trường PTTH như
sau:
PHONGTHI (SoPT, DiaChiPT, SucChua)
Tân từ: mỗi phòng thi có một số duy nhất để phân biệt với các phòng thi khác, địa
chỉ phòng thi, có sức chứa là bao nhiêu sinh viên (SucChua).
THISINH(SoBD, HoTen, NgaySinh, GioiTinh, DiaChi, SoPT)
Tân từ: mỗi thí sinh có một số báo danh duy nhất để phân biệt với các thí sinh
khác (SoBD), họ tên thí sinh, ngày sinh, giới tính (Nam/Nữ), địa chỉ. Mỗi thí sinh
chỉ thi tại một phòng thi (SoPT) cho tất cả các môn thi tốt nghiệp.
MONTHI(MaMT, TenMT, Buoi, NgayThi)
Tân từ: mỗi môn thi tốt nghiệp có một mã số duy nhất để phân biệt với các môn
thi khác (MaMT), tên môn thi (TenMT), thi vào buổi sáng hay chiều (Buoi), vào
ngày thi nào (NgayThi).
KETQUA(SoBD, MaMT,DiemThi,VangThi)
Tân từ: Mỗi thí sinh thi một môn sẽ có một kết quả thi cho môn đó. Điểm thi phải
lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 10. Cột VangThi có giá trị là 1 nếu thí
sinh vắng thi, VangThi = 0 nếu thí sinh có dự thi.

Yêu cầu:
1. Hãy phát biểu một cách chặt chẽ RBTV “Tổng số thí sinh thi tại một phòng
thi phải nhỏ hơn hay bằng sức chứa (SucChua) của phòng thi đó.” (1 điểm).
Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
2. Với các thí sinh thi ở phòng ‘P07’ (SoPT = ‘P07’), hãy liệt kê số báo danh,
họ tên thí sinh, tên môn thi, điểm thi với tình trạng là có dự thi (VangThi =
0). (0.75 điểm).
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
3. Với các thí sinh thi ở phòng ‘P07’ (SoPT = ‘P07’) vào ngày ‘21/5/2006’,
hãy liệt kê số báo danh, họ tên thí sinh, tên môn thi, điểm thi với tình trạng
là có dự thi (VangThi = 0). Sắp thứ tự tăng dần theo số báo danh, tên môn
thi. (1.25 điểm)
4. Cho biết phòng thi (SoPT) có số lượng thí sinh thi đông nhất (0.5 điểm).

– k2cn4.n-stars.org - 4rum K2CN4

11


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐÁP ÁN
Câu 1: (1 điểm)
• Nội dung:
Tổng số thí sinh thi tại một phòng thi phải nhỏ hơn hay bằng sức chứa
(SucChua) của phòng thi đó.
∀p ∈ PHONGTHI,
Count(ts ∈ THISINH ∧ ts.SoPT = p.SoPT) (ts.SoBD)
p.SucChua
Cuối ∀p
hoặc cách khác:

Count(ts ∈ SINHVIEN ∧ ts.SoPT = p.SoPT) (*)
p.SucChua




• Bối cảnh: PHONGTHI, THISINH
• Bảng tầm ảnh hưởng
:

PHONGTHI
THISINH

Thêm
-

Xóa
-

Sửa
+
(SucChua)

+

+

+
(SoPT)


SoBD
Câu 2: (0.75 điểm)
( (THISINH: SoPT= 'P07')
(KETQUA:VangThi=0)
[SoBD, HoTen, TenMT, DiemThi]

MaMT

MONTHI)

Câu 3: (1.25 điểm)
SELECT ts.SoBD, HoTen, TenMT, DiemThi
FROM THISINH ts, MONTHI m, KETQUA k
WHERE ts.SoBD = k.SoBD AND k.MaMT = m.MaMT
AND k.VangThi=0 AND ts.SoPT = 'P07' AND m.NgayThi = #21/5/2006#
ORDER BY ts.SoBD, TenMT ASC
Câu 4: (0.5 điểm)
SELECT ts.SoPT, count(ts.SoBD) as SoTSThi
FROM THISINH ts
GROUP BY ts.SoPT

– k2cn4.n-stars.org - 4rum K2CN4

12


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
HAVING count(ts.SoBD) ≥ all (SELECT count(SoBD) FROM
GROUP BY SoPT)


THISINH

ĐỀ THI SỐ 7
Cho lược đồ CSDL quản lý bán hàng
KHACHHANG (MAKH, HOTEN, DCHI, SODT, TONGTIENMUA)
Tân từ: Mỗi khách hàng sẽ có một mã số (MAKH) để phân biệt với nhau, cần lưu
trữ họ tên, địa chỉ, số điện thoại và tổng tiền mua của khách hàng (tổng trị giá các
hóa đơn mà khách hàng đã mua)
SANPHAM (MASP,TENSP, DVT, NUOCSX, DONGIA)
Tân từ: Mỗi sản phẩm có một mã số (MASP), một tên gọi, đơn vị tính, nước sản
xuất và một đơn giá bán.
HOADON (SOHD, NGHD, MAKH, TRIGIA)
Tân từ: Mỗi lần mua hàng sẽ ghi nhận số hóa đơn (SOHD), ngày mua (NGHD), trị
giá (TRIGIA) của hóa đơn và khách hàng (MAKH) nào mua.
CTHD (SOHD,MASP,SL)
Tân từ: Diễn giải chi tiết trong mỗi hóa đơn gồm có những sản phẩm gì với số
lượng là bao nhiêu.
Câu 1: Mô tả chặt chẽ ràng buộc sau: (1 điểm)
Tổng tiền mua của khách hàng bằng tổng trị giá các lần mua hàng (hóa đơn) của
khách hàng đó.
Câu 2: Thực hiện câu truy vấn sau bằng đại số quan hệ: (1 điểm)
In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được bán ra trong
ngày 20 tháng 8 năm 2006, có đơn giá từ 10.000 đến 50.000 do “TrungQuoc” sản
xuất.
Câu 3: Thực hiện câu truy vấn sau bằng ngôn ngữ SQL: (1.5 điểm)
d. Tìm số hóa đơn có trị giá cao nhất. (0.75 điểm)
e. Tính doanh số bán hàng (tổng các trị giá hóa đơn) của từng tháng trong
năm 2005 (0.75 điểm)

– k2cn4.n-stars.org - 4rum K2CN4


13


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

* Chú ý: hàm month(Ngay), year(Ngay) để lấy tháng và năm của Ngay

ĐÁP ÁN ĐỀ SỐ 7
Câu 1: (1 điểm)
• Nội dung: (0.5 điểm)
Tổng tiền mua của khác hàng bằng tổng trị giá các lần mua hàng (hóa đơn) của khách
hàng đó.
∀k ∈ KHACHHANG,
k.TongTienMua = Sum(h ∈ HOADON ∧ h.Makh = k.Makh) (h.Trigia)
Cuối ∀k
hoặc cách khác: k.TongTienMua = ∑(h ∈ HOADON ∧ h.Makh = k.Makh) (h.Trigia)
• Bối cảnh: KHACHHANG, HOADON
• Bảng tầm ảnh hưởng
: (0.5 điểm)

KHACHHANG

HOADON

Thêm
+

Xóa
-


Sửa
+
(TongTienMua)

+

+

+
(TriGia, Makh)

Câu 2 In ra danh sách các sản phẩm (mã sản phẩm, tên sản phẩm) được bán ra trong ngày 20
tháng 8 năm 2006, có giá từ 10.000 đến 50.000 do “TrungQuoc” sản xuất.
Câu 2: (1 điểm)
Masp
Sohd
((SANPHAM: (Nuocsx=‘TrungQuoc”)∧(10.000≤Gia≤50.000))
CTHD
(HOADON: Nghd=’20/10/2006’)) [Masp, Tensp]
Câu 3: Thực hiện câu truy vấn sau bằng ngôn ngữ SQL: (1.5 điểm)
a. Tìm số hóa đơn có trị giá cao nhất. (0.75 điểm)
b. Tính doanh số bán hàng (tổng các trị giá hóa đơn) của từng tháng trong năm 2005 (0.75
điểm)
Câu 3: (0.75 điểm)
a.
SELECT Sohd
FROM
HOADON
WHERE

Trigia = (Select max(Trigia) From HOADON)

– k2cn4.n-stars.org - 4rum K2CN4

14


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
SELECT
FROM
WHERE
b.
SELECT
FROM
WHERE
GROUP BY

Sohd
HOADON
Trigia >= ALL (Select DISTINCT Trigia From HOADON)

month(Nghd) as Thang, Sum(Trigia) as DoanhSo
HOADON
year(Nghd)=2005
month(Nghd)

– k2cn4.n-stars.org - 4rum K2CN4

15



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

ĐỀ THI SỐ 8
Câu 1
a.

Trình bày các khái niệm về mô hình dữ liệu quan hệ: quan hệ, bộ,
giá trị, thuộc tính.
b.
Cho hai quan hệ r và s. Hãy thực hiện các phép tính sau:
o r∩s
o r-s
r

A
1
1
1
1

B
0
1
1
1

C
0
0

1
1

D
0
0
0
1

s

A
2
2
1
x

B
1
2
1
y

C
1
1
1
z

D

1
1
0
v

Câu 2
Cho cơ sở dữ liệu của một cơ quan gồm có các quan hệ sau:
a.
NhanVien(MaNV, Hoten, Namsinh, Que, BatDau) với MaNV là
mã số nhân viên, Hoten là họ tên nhân viên, Namsinh là năm sinh của nhân
viên, Que là quê quán của nhân viên và BatDau là ngày bắt đầu đi làm tại cơ
quan của nhân viên
b.
HocVi(MaNV, HocHam, HocVi) với HocHam là học hàm(Phó GS
hoặc GS), HocVi là học vị (Đại học, cao học, tiến sỹ, tiến sỹ khoa học)
Hãy dùng ngôn ngữ SQL để thực hiện công việc sau:
1. Lập báo cáo gồm Hoten và Que của những người quê ở Hà Nội có HocHam
là giáo sư
2. Đưa ra danh sách và số lượng nhân viên có học hàm Giáo sư
3. Lập báo cáo danh sách những người tuổi dưới 35 có học vị tiến sỹ
4. Lập báo cáo đưa ra danh sách những người có HocVi đại học và công tác
trên 3 năm
Câu 3
- Trình bày định nghĩa về ràng buộc toàn vẹn, cho ví dụ ?
- Các yếu tố của ràng buộc toàn vẹn: Nội dung, bối cảnh, tầm ảnh hưởng

– k2cn4.n-stars.org - 4rum K2CN4

16



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

ĐÁP ÁN ĐỀ SỐ 8
Câu 1(1.5 đ)
a. Trình bày các khái niệm về mô hình dữ liệu quan hệ
đ)
-

(0.75

Quan hệ : Cho tập hữu hạn thuộc tính R = {A1, A2, …..,An} (n ≥ 1). Mỗi
thuộc tính Ai có một miền xác định tương ứng gọi là dom(Ai). Quan hệ
r(R) là tập con của tích Descarter của các miền giá trị của các thuộc tính
định nghĩa trên R
r(R) ⊆ dom(A1) × dom(A2) × …× dom(An)

-

Bộ t của quan hệ r(R): t=<v1, v2,….vn> trong đó vi là giá trị tương ứng với
thuộc tính Ai (Mỗi dòng của quan hệ được gọi là một bộ)
Thuộc tính : là dữ liệu mô tả một đặc trưng của một thực thể
Miền giá trị là một tập hợp các giá trị của thể thoả mãn

b. Thực hiện các phép tính
(0.75đ)

q = r ∩ s và p = r-s

q A B C D

1 1 1 0

p A
1
1
1

B
0
1
1

C
0
0
1

D
0
0
1

Câu 2(2.5 đ)
-

Select hoten, que, hocham
From Nhanvien as NV, HocVi as HV
Where ((NV.Que)="HN") AND (HV.HocHam)="GS"));
- Select hoten, hocham, count(MaNV)
From Nhanvien as NV, HocVi as HV

Where (NV.MaNV=(HV.MaNV))
Group by HV.HocHam;
- Select hoten, que
From Nhanvien as NV, HocVi as HV
Where ((HV.HocVi=”TS”) AND (Year(date())-year(namsinh)<35));
- Select hoten, que
From Nhanvien as NV, HocVi as HV
Where ((HV.HocVi=”ĐH”) AND (Year(date())-year(Batđau)>3));
Câu 3: (1.0 đ)

– k2cn4.n-stars.org - 4rum K2CN4

17


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
-

Định nghĩa về ràng buộc toàn vẹn(RBTV): RBTV là điều kiện bất biến
không được vi phạm trong một CSDL. Các mối quan hệ phụ thuộc lẫn nhau
trong CSDL chính là điều kiện bất biến mà các bộ của quan hệ cần phải
thoả mãn. Ngoài ra RBTV còn được gọi là các quy tắc quản lý được áp
dụng trên các đối tượng
VD: RBTV trong CSDL quản lý sinh viên
 RBTV 1: mỗi sinh viên có một mã số để phân biệt
 RBTV 2: Điểm của sinh viên nằm trong khoảng từ 0 đến 10

-

Các yếu tố của RBTV


 Nội dung: Nội dung của RBTV có thể được phát biểu bằng ngôn ngữ tự
nhiên hoặc ngôn ngữ hình thức. Dựa vào nội dung để xác định các biểu
diễn
 Bối cảnh: Là tập các quan hệ mà khi thực hiện cập nhật có khả năng làm
cho RBTV bị vi phạm.
 Bảng tầm ảnh hưởng: Khả năng tính toàn vẹn dữ liệu bị vi phạm. Bảng tầm
ảnh hưởng gồm 3 thao tác cập nhật dữ liệu (Thêm, sửa, xoá ). Dấu (+) dùng
cho các thao tác gây nên vi phạm RBTV và dấu (-) dùng cho các thao tác
không thể gây ra vi phạm RBTV
Lấy ví dụ

– k2cn4.n-stars.org - 4rum K2CN4

18


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐỀ THI SỐ 9
Câu 1
a. Trình bày các phép toán chiếu và chọn trên quan hệ.
b. Cho hai quan hệ r và s. Hãy thực hiện các phép tính sau:
o ∏(A, B)r
o σ ((A=2)OR(C=1))s
r

A
1
1
1

1

B
0
1
1
1

C
0
0
1
1

D
0
0
0
1

s

A
2
2
1
x

B
1

2
1
y

C
1
1
1
z

D
1
1
0
v

Câu 2
Cho cơ sở dữ liệu của một cơ quan gồm có các quan hệ sau:
a. NhanVien(MaNV, Hoten, Namsinh, Que, BatDau) với MaNV là mã số
nhân viên, Hoten là họ tên nhân viên, Namsinh là năm sinh của nhân viên,
Que là quê quán của nhân viên và BatDau là ngày bắt đầu đi làm tại cơ
quan của nhân viên
b. HocVi(MaNV, HocHam, HocVi) với HocHam là học hàm(Phó GS hoặc
GS), HocVi là học vị (Đại học, cao học, tiến sỹ, tiến sỹ khoa học)
Hãy dùng ngôn ngữ SQL để thực hiện công việc sau:
1. Lập báo cáo gồm Hoten và Que của những người sinh năm 1956 có HocVi
là tiến sỹ
2. Lập báo cáo danh sách những người là tiến sỹ khoa học nằm trong độ tuổi
từ 45 đến 50
3. Lập báo cáo danh sách những nhân viên trẻ nhất

4. Xoá bỏ những người sinh năm 1930 trở về trước
Câu 3
- Trình bày định nghĩa về ràng buộc toàn vẹn, cho ví dụ ?
- Phân loại các ràng buộc toàn vẹn

– k2cn4.n-stars.org - 4rum K2CN4

19


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

ĐÁP ÁN ĐỀ SỐ 9
Câu 1(1.5 đ)
a. Trình bày về phép toán chọn và chiếu trên quan hệ
(0.75 đ)
• Phép chiếu
Phép chiếu trên một quan hệ thực chất là loại bỏ đi một số thuộc tính và giữ lại
những thuộc tính còn lại của quan hệ đó
Dạng tổng quát : π < ds_thuộc tính> (< tên quan hệ >)
- π là kí hiệu phép chiếu.
- < ds_thuộc tính> : danh sách các thuộc tính được lấy ra
- Kết quả của phép chiếu là tập các thuộc tính trong danh sách với cùng
thứ tự .
• Phép chọn :
Phép chọn dùng để trích chọn một tập con trong một quan hệ, các bộ được
trích chọn phải thoả mãn điều kiện chọn. ( Phép chọn trích ra các hàng trong
quan hệ)
Dạng tổng quát : σ < điều kiện > (< Tên quan hệ >)
- σ là kí hiệu phép chiếu.

- < Tên quan hệ >: chỉ quan hệ được chọn
- Kết quả thu được từ phép chọn là một quan hệ có danh sách thuộc tính
được chỉ ra trong Tên quan hệ
b. Thực hiện các phép tính
q A B
1 0
1 1

q = ∏(A, B)r và p= σ ((A=2)OR(C=1))s
p A
2
2
1

B
1
2
1

(0.75đ)
C
1
1
1

D
1
1
0


Câu 2(2.5 đ)
-

-

Select hoten, que, hocham
From Nhanvien as NV, HocVi as HV
Where ((NV.Namsinh)=1956) AND (HV.HocVi)="TS"));
Select hoten, hocham
From Nhanvien as NV, HocVi as HV
Where ((NV.MaNV)=(HV.MaNV)) AND (HV.Hocvi=”TSKH”) AND
( 45 ≤ year(date())-year(date(namsinh)) ≤50) ;
Group by HV.HocHam;
Select hoten, que, max(namsinh)
From Nhanvien as NV

– k2cn4.n-stars.org - 4rum K2CN4

20


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
Group by namsinh
Delete
From Nhanvien as NV
Where year(namsinh)<1930;
Câu 3(1.0đ)
-

a. Định nghĩa về ràng buộc toàn vẹn(RBTV): RBTV là điều kiện bất biến

không được vi phạm trong một CSDL. Các mối quan hệ phụ thuộc lẫn nhau trong
CSDL chính là điều kiện bất biến mà các bộ của quan hệ cần phải thoả mãn. Ngoài
ra RBTV còn được gọi là các quy tắc quản lý được áp dụng trên các đối tượng
b. Phân loại RBTV: RBTV được chia ra thành hai loại chính dựa trên bối cảnh
 RBTV có bối cảnh là một quan hệ cơ sở
- RBTV về miền giá trị
- RBTV giữa các thuộc tính này với thuộc tính khác(RBTV liên thuộc
tính)
- RBTV giữa các giá trị của các bộ giá trị khác nhau(RBTV liên bộ - liên
thuộc tính)
 RBTV có bối cảnh là nhiều quan hệ cơ sở
- RBTV về phụ thuộc tồn tại: có sự xuất hiện của khoá ngoại và sự lồng
khoá của quan hệ
- RBTV liên bộ - liên quan hệ

– k2cn4.n-stars.org - 4rum K2CN4

21


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
BÀI TẬP TỔNG HỢP
Cho lược đồ cơ sở dữ liệu Quản lý điểm thi như sau:
LOP(MaLop, TenLop, LopTruong, SiSo)
SINHVIEN(MaSV, HoTenSV, NgaySinh, GioiTinh, DiaChi, Lop)
MONHOC(MaMH, TenMH, SoTinChi, SoTiet)
KETQUA(MaSV, MaMH, LanThi, Diem, KetQua)
Yêu cầu:
5. Hãy phát biểu một cách chặt chẽ RBTV “Sĩ số thực sự (SiSo) của một lớp
bằng số lượng sinh viên trực thuộc lớp đó”.

Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
6. Với các sinh viên thuộc lớp ‘K1-01’ (tên lớp = ‘K1-01’), hãy liệt kê mã số
sinh viên, họ tên sinh viên, tên môn học, lần thi, điểm số của các môn học
mà sinh viên tham gia với kết quả ‘Đậu’.
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL, DSQH:
7. Liệt kê mã sinh viên, họ tên sinh viên và kết quả thi (MaSV, HoTenSV,
Diem, KetQua) lần 1 môn ‘Cơ sở dữ liệu’ (Tên môn học = ’Cơ sở dữ liệu’).
Kết quả sắp xếp theo điểm giảm dần.
8. Cho biết tên lớp và sĩ số của lớp có đông sinh viên nhất. (chọn mẫu tin có
cột kiểu số có giá trị lớn nhất) (tương tự cho câu hỏi: Cho biết môn học có
số tín chỉ nhiều nhất hoặc Cho biết sinh viên có tuổi lớn nhất,…. )
9. Cho biết mã sinh viên, họ tên và số lượng môn học mà sinh viên đó đã
tham gia thi. (dùng GROUP BY)
10. Cho biết mã sinh viên, họ tên và số môn học mà sinh viên đó đã tham
gia thi với số môn học trên 5? (đk trên nhóm HAVING)
11. Cho biết sinh viên học nhiều môn nhất? (đk HAVING>= all…)
12. (DSQH+SQL, phép giao): cho biết sv học cả 2 môn ‘Co So Du Lieu’ và
‘Toan Roi Rac’
13. (DSQH+SQL, phép trừ): cho biết những sv không học môn ‘Toan Roi
Rac’

– k2cn4.n-stars.org - 4rum K2CN4

22


Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
ĐÁP ÁN ĐỀ TỔNG HỢP
Câu 1: (1 điểm)
• Nội dung:

Sĩ số thực sự của một lớp bằng số lượng sinh viên trực thuộc lớp đó.
∀l ∈ LOP,

Cuối ∀l

∀sv ∈ SINHVIEN sao cho sv.Lop = l.MaLop
l.Siso = Count (sv.MaSV)
Cuối ∀sv

Hoặc viết khác:
∀l ∈ LOP,
Cuối ∀l

l.Siso = Count(sv ∈ SINHVIEN ∧ sv.Lop = l.Malop) (sv.MaSV)

hoặc cách khác: l.SiSo = Count(sv ∈ SINHVIEN ∧ sv.Lop = l.Malop) (*)
• Bối cảnh: LOP, SINHVIEN
• Bảng tầm ảnh hưởng
:

LOP

SINHVIEN

Thêm
+

Xóa
-


Sửa
+
(SiSo)

+

+

+
(Lop)

Câu 2: (0.75 điểm)
MaLop=Lop
MaSV
MaMH
((LOP:TenLop=‘K1-01’)
SINHVIEN
(KETQUA:Ketqua=’Đậu’) aaa
MONHOC) [MaSV, HoTenSV, TenMH, LanThi, Diem]
Câu 3: (0.75 điểm) (kết giữa các bảng, chọn, chiếu đơn giản)
SELECT sv.MaSV, HoTenSV, Diem, KetQua
FROM SINHVIEN sv, MONHOC m, KETQUA k
WHERE sv.MaSV = k.MaSV AND k.MaMH = m.MaMH
AND m.TenMH = ‘Cơ sở dữ liệu’ and k.LanThi=1
ORDER BY Diem DESC;

– k2cn4.n-stars.org - 4rum K2CN4

23



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu

Câu 4: (0.5 điểm) (chọn mẫu tin có cột kiểu số có giá trị lớn nhất)
SELECT TenLop, SiSo
FROM LOP
WHERE SiSo = ( SELECT Max (SiSo) FROM Lop)
Câu 5: (0.5 điểm) (dùng GROUP BY)
SELECT sv.MaSV, HoTenSV, count(distinct k.MaMH) as SoMonDaHoc
FROM SINHVIEN sv, KETQUA k
WHERE sv.MaSV = k.MaSV
GROUP BY sv.MaSV, HoTenSV
MỞ RỘNG
Câu 6: Cho biết mã sinh viên, họ tên và số môn học mà sinh viên đó đã tham gia thi với số môn
học trên 5? (đk trên nhóm HAVING)
SELECT sv.MaSV, HoTenSV, count(distinct k.MaMH) as SoMonDaHoc
FROM SINHVIEN sv, KETQUA k
WHERE sv.MaSV = k.MaSV
GROUP BY sv.MaSV, HoTenSV
HAVING count(distinct k.MaMH) >=5
Câu 7: Cho biết sinh viên học nhiều môn nhất? (đk HAVING>= all…)
SELECT sv.MaSV, HoTenSV, count(distinct k.MaMH) as SoMonDaHoc
FROM SINHVIEN sv, KETQUA k
WHERE sv.MaSV = k.MaSV
GROUP BY sv.MaSV, HoTenSV
HAVING count(distinct k.MaMH) >= All (SELECT count(distinct k.MaMH)
FROM SINHVIEN sv, KETQUA k
WHERE sv.MaSV = k.MaSV
GROUP BY sv.MaSV, HoTenSV )
Câu 8: (DSQH+SQL, phép giao): cho biết sv học cả 2 môn ‘Co So Du Lieu’ và ‘Toan Roi

Rac’
MaMH
((MONHOC: TenMH= ‘Co So Du Lieu’)
KETQUA)[Masv] a aa(((MONHOC:
MaMH
TenMH= ‘Toan Roi Rac’)
KETQUA)[Masv]
Select masv From MONHOC, KETQUA
Where tenmh=‘Co So Du Lieu’ and monhoc.mamh=ketqua.mamh and
Masv IN (Select masv From MONHOC, KETQUA
Where tenmh=‘Toan Roi Rac’ and monhoc.mamh=ketqua.mamh and
)



Câu 9: (DSQH+SQL, phép trừ): cho biết những sv không học môn ‘Toan Roi Rac’
MaMH

SINHVIEN[MaSV]-((MONHOC:TenMH=‘Toanroirac’)

KETQUA)[Masv]

Select masv, hoten From SINHVIEN
Where Masv NOT IN (Select masv from monhoc, ketqua
Where tenmh=‘Toan Roi Rac’ and monhoc.mamh=ketqua.mamh and

– k2cn4.n-stars.org - 4rum K2CN4

24



Bé §Ò Thi Tæng Hîp - M«n C¬ Së D÷ LiÖu
)

– k2cn4.n-stars.org - 4rum K2CN4

25


×