Monday, June 1, 2020

Đề cương ôn tập môn Cơ sở dữ liệu

1. Phần lý thuyết
Đọc các phần lý thuyết sau:
Chương 3: Ràng buộc toàn vẹn quan hệ: https://tailieuhoctin.blogspot.com/2019/01/rang-buoc-toan-ven-quan-he.html
Chương 4: Phụ thuộc hàm: https://tailieuhoctin.blogspot.com/2019/01/chuong-4-phu-thuoc-ham.html
Chương 5 & 6: https://tailieuhoctin.blogspot.com/2019/01/chuong-5-phu-cua-phu-thuoc-ham-chuong-6.html
Yêu cầu: Trả lời các câu hỏi sau;
Câu 1. Ràng buộc toàn vẹn quan hệ là gì? Trình bày các yếu tố của ràng buộc toàn vẹn.
Câu 2. Trình bày khái niệm phụ thuộc hàm, thuật toán Satifies.
Câu 3. Trình bày khái niệm về phủ của phụ thuộc hàm, khái niệm khóa của lược đồ quan hệ.
Câu 4. Trình bày các khái niệm về các dạng chuẩn của lược đồ quan hệ.
2. Phần bài tập:
BÀI TẬP CƠ SỞ DỮ LIỆU
Bài 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ỉ, 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:
Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
1. 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)
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
2. 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 Cho biết tên giảng viên và số lượng đề tài mà giảng viên hướng dẫn
3. 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
Bài 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.
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”.
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ụ đó.
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

Bài 3
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:
Thực hiện câu truy vấn sau bằng đại số quan hệ:
1. 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:
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, thuộc xe có mã loại xe là ‘15-Cho’. (1.0 điểm)
3. 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)

BÀI 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.
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.
c. Tìm khách hàng (MAKH, HOTEN) mua hóa đơn có trị giá cao nhất.


BÀI 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:
Thực hiện câu truy vấn sau bằng đại số quan hệ:
1. 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.
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
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.
3. 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.
4. 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.
BÀI 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:
Thực hiện các câu truy vấn sau bằng ngôn ngữ đại số quan hệ:
1. 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).
Thực hiện các câu truy vấn sau bằng ngôn ngữ SQL:
2. 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)
3. Cho biết phòng thi (SoPT) có số lượng thí sinh thi đông nhất (0.5 điểm).

BÀI 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 2: Thực hiện câu truy vấn sau bằng đại số quan hệ:

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:
d. Tìm số hóa đơn có trị giá cao nhất.
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

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

BÀI 8

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


0 comments:

Post a Comment