ĐỀ thi tỐt nghiỆp mÔn cƠ sỞ dỮ liỆu (cn1) · web viewmỗi đề tài có tổi đa...

39
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ệ: [email protected] – k2cn4.n-stars.org - 4rum K2CN4 1

Upload: others

Post on 26-Dec-2019

14 views

Category:

Documents


0 download

TRANSCRIPT

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

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

1

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

ĐÁP ÁN Đề 3Câ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 khoặ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

:

Thêm Xóa Sửa

KHOA -(*) - +(TongSoSV)

SINHVIEN + + +(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.

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

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.MaGVORDER 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 GROUP BY HoTenGV

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

2

MaSV MaDeT MaGV

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

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ố 2Cho 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)

[email protected] – 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) (0.25đ) + Khóa chính: MAKH+ Khóa ngoại: không có.

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

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

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

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 DANGKY (DICHVU: TenDV=“Dịch vụ 108”))[SOHD]

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

4SODT=SODT

MADV=MADV

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)

[email protected] – 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 lhoặ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

:

Thêm Xóa Sửa

LOAIXE -(*) - +(SoLuongXe)

XE + + +(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)

(TaiXe (ChuyenDi: ChieuDai >=300 SoNguoi> = 12)) [HoTen, NgayDi, NgayVe]

Câu 3) (1.0 điểm)SELECT HoTen, NgayDi, NgayVeFROM TaiXe t, Xe x, ChuyenDi cWHERE t.MaTX= c.MaTX

AND x.MaXe=c.MaXe AND x.MaLX= ‘15-Cho’ AND c.ChieuDai >=300 AND c.SoNguoi >=12

Câu 4) (0.75 điểm)SELECT t.MaTX, t.HoTen, count(c.SoCD) as TongSoChuyenDi

FROM TAIXE t, CHUYENDi c

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

6

MaTX

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

WHERE c.MaTX=t.MaTX and Year(NgayDi) = 2005 GROUP BY t.MaTX, t.HoTen

ĐỀ THI 4Cho 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 sinhSANPHAM (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)

[email protected] – 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ểma.

b.

SELECT MASP, TENSPFROM SANPHAMWHERE GIA>=50000 AND GIA<=10000 AND NUOCSX= ‘TrungQuoc’c.SELECT KH.MAKH, KH.HOTENFROM KHACHHANG KH, HOADON HDWHERE KH.MAKH = HD.MAKH AND HD.TRIGIA = (SELECT MAX(TRIGIA) FROM HOADON)

SELECT KH.MAKH, KH.HOTENFROM KHACHHANG KH, HOADON HDWHERE 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), cCTHD, $sSANPHAM/ 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 Xóa SửaHOADON + - + (TRIGIA)CTHD + + +(SL,MASP,SOHD)SANPHAM - - +(GIA)

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

8

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

Đề Thi Số 5Câ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).

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

9

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

ĐÁP ÁN ĐỀ THI SỐ 5Câ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

:

Thêm Xóa Sửa

DATMUA + - +(SoLuong, DonGia,

ThanhTien)

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

Câu c) (0.75 điểm)SELECT HoTen, DiaChiFROM BAO t, DATMUA dm, DOCGIA dgWHERE 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 WHERE t.MaToBao = dm.MaToBao AND dm.Nam = 2005

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

10

MaToBao MaDG

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

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

[email protected] – 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 phoặ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

:

Thêm Xóa Sửa

PHONGTHI - - +(SucChua)

THISINH + + +(SoPT)

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

Câu 3: (1.25 điểm)SELECT ts.SoBD, HoTen, TenMT, DiemThiFROM THISINH ts, MONTHI m, KETQUA kWHERE 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

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

12

SoBD MaMT

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

HAVING count(ts.SoBD) all (SELECT count(SoBD) FROM THISINH GROUP BY SoPT)

ĐỀ 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) [email protected] – k2cn4.n-stars.org - 4rum

K2CN413

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Ố 7Câ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 khoặ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)

Thêm Xóa Sửa

KHACHHANG+ - +

(TongTienMua)

HOADON + + +(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)((SANPHAM: (Nuocsx=‘TrungQuoc”)(10.000Gia50.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 SohdFROM HOADON WHERE Trigia = (Select max(Trigia) From HOADON)

SELECT Sohd

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

14

SohdMasp

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

FROM HOADONWHERE Trigia >= ALL (Select DISTINCT Trigia From HOADON)

b.SELECT month(Nghd) as Thang, Sum(Trigia) as DoanhSoFROM HOADONWHERE year(Nghd)=2005GROUP BY month(Nghd)

[email protected] – 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 1a. 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 so r - s

r A B C D s A B C D1 0 0 0 2 1 1 11 1 0 0 2 2 1 11 1 1 0 1 1 1 01 1 1 1 x y z v

Câu 2Cho 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

[email protected] – 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 q = r s và p = r-s (0.75đ)

q A B C D p A B C D1 1 1 0 1 0 0 0

1 1 0 01 1 1 1

Câu 2(2.5 đ)

- Select hoten, que, hochamFrom Nhanvien as NV, HocVi as HVWhere ((NV.Que)="HN") AND (HV.HocHam)="GS"));

- Select hoten, hocham, count(MaNV)From Nhanvien as NV, HocVi as HVWhere (NV.MaNV=(HV.MaNV))Group by HV.HocHam;

- Select hoten, queFrom Nhanvien as NV, HocVi as HVWhere ((HV.HocVi=”TS”) AND (Year(date())-year(namsinh)<35));

- Select hoten, queFrom Nhanvien as NV, HocVi as HVWhere ((HV.HocVi=”ĐH”) AND (Year(date())-year(Batđau)>3));

Câu 3: (1.0 đ)

[email protected] – 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ụ

[email protected] – 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 1a. 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 s((A=2)OR(C=1))s

r A B C D s A B C D1 0 0 0 2 1 1 11 1 0 0 2 2 1 11 1 1 0 1 1 1 01 1 1 1 x y z v

Câu 2Cho 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

[email protected] – 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 : p < ds_thuộc tính> (< tên quan hệ >) - p 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 : s < điều kiện > (< Tên quan hệ >) - s 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)r và p= s((A=2)OR(C=1))s (0.75đ)

q A B p A B C D1 0 2 1 1 11 1 2 2 1 1

1 1 1 0

Câu 2(2.5 đ)

- Select hoten, que, hochamFrom Nhanvien as NV, HocVi as HVWhere ((NV.Namsinh)=1956) AND (HV.HocVi)="TS"));

- Select hoten, hochamFrom Nhanvien as NV, HocVi as HVWhere ((NV.MaNV)=(HV.MaNV)) AND (HV.Hocvi=”TSKH”) AND

( 45 year(date())-year(date(namsinh)) 50) ;Group by HV.HocHam;

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

20

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

- Select hoten, que, max(namsinh) From Nhanvien as NVGroup by namsinh

- Delete From Nhanvien as NVWhere 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ệ

[email protected] – 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’

[email protected] – 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,

sv SINHVIEN sao cho sv.Lop = l.MaLop l.Siso = Count (sv.MaSV)

Cuối svCuối l

Hoặc viết khác:

l LOP, l.Siso = Count(sv SINHVIEN sv.Lop = l.Malop) (sv.MaSV)

Cuối l

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

:

Thêm Xóa Sửa

LOP+ - +

(SiSo)

SINHVIEN + + +(Lop)

Câu 2: (0.75 điểm)((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, KetQuaFROM SINHVIEN sv, MONHOC m, KETQUA kWHERE sv.MaSV = k.MaSV AND k.MaMH = m.MaMH

AND m.TenMH = ‘Cơ sở dữ liệu’ and k.LanThi=1ORDER BY Diem DESC;

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

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

23

MaLop=Lop

MaSV MaMH

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

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’

((MONHOC: TenMH= ‘Co So Du Lieu’) KETQUA)[Masv] a aa(((MONHOC: 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’

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

Select masv, hoten From SINHVIENWhere Masv NOT IN (Select masv from monhoc, ketqua

Where tenmh=‘Toan Roi Rac’ and monhoc.mamh=ketqua.mamh and )

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

24

MaMHMaMH

MaMH

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

Đề Mở Rộng:Đề 1: 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ỉ, khoa trực thuộc.

DETAI(MaDeTai, LinhVuc, Nam, MaKhoa)Tân từ: mỗi đề tài tốt nhghiệ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 một cách chặt chẽ (nội dung, bối cảnh, tầm ảnh hưởng) RBTV"Tổng số sinh viên của khoa bằng số lượng sinh viên của khoa đó".Nội dung: Mọi sv Thuộc Bảng sinh viên(tồn tại U Thuộc vào bảng Khoa(t.makhoa= U.makhoa)).Bối cảnh: Bảng sinhVien, Bảng khoa.Tầm ảnh Hưởng RBTV ........ Thêm......... Xóa........... SửaSinhVien......-................+.............-Khoa............+............... +.............- Thực hiên các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:2. Liệt kê danh sách các sinh viên có điểm số đe tài tốt nghiệp trên 8. Thông tin liệt kê bao gồm (MaSV, HoTenSV, TenDeTai, DiemSo).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 là "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 HoTenSV.

select s.masv,s.hoatensv,d.linhvuc,h.diemso from SINHVIEN s,DETAI d,HUONGDAN hwhere h.diemso >=8 orderby h.diemso desc4. Cho biết tên giảng viên không hướng dẫn đề tài nào trong năm 2006.5. Cho biết tên sinh viên có điểm số tốt nghiệp cao nhất trong năm 2006.

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

25

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

Đề 1:Cho lược đồ CSDL quản lí bán hàngKHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH)Tân từ: mỗi kháh 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 sinhSANPHAM (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, MASP, SL)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 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.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 Trung Quốc sản xuất.c. Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá ca nhấtPhầ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 đó.

Đề 2:Cho lươc đô cơ sơ dữ liệu Quan lí đề tài tốt nghiệp như sau:KHOA(MaKH, TenKH)Tân từ: Mỗi khoa có các thông tin: Mã khoa, Tên khoa.MON (MaMH, TenMH, SoTiet)Tân từ: Danh mục các môn học gồm có: Mã môn học, Tên môn học, Số tiết.SINHVIEN (MaSV, HoSV, TenSV, Phai, Ngaysinh, NoiSinh,MaKH, HocBong)Tân từ: Mỗi sinh viên cần lưu trữ các thông tin: Mã sinh viên. Họ tên sinh viên, Giới tính, Ngày sinh, Nơi sinh, Học bổng và Mã khoa mà sinh viên học.KETQUA (MaSV, MaKH, Diem)Tân từ: Lưu trữ thông tin điểm thi các môn học của sinh viên.

Câu 1: Phát biểu các câu truy vấn sau bằng đại số liên hệ:a. Cho biết các môn học có số tiết lớn hơn 40 và nhỏ hơn 60, gồm các thông tin: Mã môn học, Tên môn học, Số tiết.b. In ra danh sách các sinh viên (Mã sinh viên) chưa thi môn cơ sở dữ liệu.Câu 2: Phát biểu các truy vấn sau bằng ngôn ngữ SQL:a. Liệt kê danh sách các nam sinh viên khoa Công nghệ thông tin sinh sau năm 1989, gồm các thông tin: Mã sinh viên, Họ sinh viên, Tên sinh viên, Phái, Ngày sinh, Tên khoa.b. Thống kê tổng số môn thi của từng sinh viên, gồm các thông tin: Họ sinh viên, Tên sinh viên, Tên khoa, Tổng số môn thi.Câu 3: Mô tả chặt chẽ các ràng buộc sau:Mỗi khoa có tối đa 150 sinh viên theo học

[email protected] – k2cn4.n-stars.org - 4rum K2CN4

26