Đề thi GK Cơ sở dữ liệu 2017 – ĐH Công Nghệ Thông tin UIT
Bài viết này là phần 1 trong 3 bài của Series Cơ sở dữ liệu Cơ sở dữ liệu Đề thi GK Cơ sở dữ liệu 2017 – ĐH Công Nghệ Thông tin UIT [CSDL] BT Thực hành 1 truy vấn SQL – Phần 1 [CSDL] BT Thực hành 1 truy vấn SQL – Phần 2 Đề thi giữa kì môn Cơ sở dữ liệu năm học 2017 2018 – ...
Cơ sở dữ liệu
- Đề thi GK Cơ sở dữ liệu 2017 – ĐH Công Nghệ Thông tin UIT
- [CSDL] BT Thực hành 1 truy vấn SQL – Phần 1
- [CSDL] BT Thực hành 1 truy vấn SQL – Phần 2
Đề thi giữa kì môn Cơ sở dữ liệu năm học 2017 2018 – Trường Đại học Công Nghệ Thông tin UIT
Phần I: (2.5 Điểm)
1. Vẽ ERD (1.5 Điểm)
Một trung tâm tin học cần tổ chức một cơ sở dữ liệu để quản lý các phòng thực hành với các thông tin như sau:
- Mỗi phòng máy có mã phòng duy nhất để phân biệt với các phòng máy khác, có tên phòng và tên người quản lý phòng.
- Mỗi máy tính có một mã máy duy nhất. Ngoài ra mỗi máy tính còn có các thông tin về cấu hình như: tốc độ CPU, dung lượng RAM, dung lượng ở cứng. Các máy tính được bố trí trong các phòng máy.
- Mỗi môn học có mã môn duy nhất, có tên môn học và thời lượng môn học.
- Mỗi môn học có thể được thực hành ở các phòng máy khác nhau và một phòng máy có thể được đăng ký cho nhiều môn học khác nhau, khi đăng ký phải biết ngày đăng ký.
2. Chuyển ERD trên sang mô hình quan hệ (1 Điểm)
Phần II: (7.5 Điểm)
Người quản trị của Công ty Cổ phần xe khách Phương Trang muốn quản lý các giao dịch mua vé xe khách trên các tuyến đường của hãng, đã thiết kế một CSDL Quản lý vé xe. Sau đây là một phần của lược đồ CSDL:
XE(maxe, bienks, matuyen, sogheT1, sogheT2)
Mô tả: Lược đồ quan hệ XE nhằm mô tả cho những chuyến xe đang được công ty quản lý. Mỗi xe được ghi nhận thông tin biển kiểm soát (bienks), mã tuyến mà xe đó đang hoạt động (matuyen), số ghế tầng 1 (sogheT1), số ghế tầng 2 (sogheT2) và được ấn định một mã số duy nhất (maxe) để theo dõi.
TUYEN(matuyen, bendau, bencuoi, giatuyen, thoigiandk)
Mô tả: Lược đồ quan hệ TUYEN nhằm mô tả thông tin tuyến xe. Mỗi thông tin tuyến xe sẽ bao gồm bến đầu (bendau), bến cuối (bencuoi), giá vé thông thường (giatuyen), thời gian dự kiến mỗi chuyến (thoigiandk) được tính bằng giờ và được đặt một mã số duy nhất (matuyen) để quản lý.
KHACH(mahk, hoten, gioitinh, cmnd)
Mô tả: Lược đồ quan hệ KHACH nhằm mô tả thông tin những hành khách. Thông tin được ghi nhận bao gồm: Mã hành khách (mahk), họ tên (hoten), giới tính (gioitinh) và số chứng minh nhân dân của hành khách đó (cmnd).
VEXE(matuyen, mahk, ngaymua, giave)
Mô tả: Lược đồ quan hệ VEXE nhằm mô tả thông tin vé xe của hành khách. Thông tin vé xe bao gồm: Mã tuyến (matuyen), mã hành khách (mahk), ngày mua vé (ngaymua) và giá vé mua tại thời điểm đó (giave). Một hành khách có thể mua nhiều vé của cùng một tuyến xe tại những thời điểm khác nhau.
Lưu ý: thuộc tính gạch chân là khóa chính (thuộc tính)
1. Viết câu lệnh SQL: (1.5 Điểm)
a. Dùng câu lệnh DDL định nghĩa bổ sung các vấn đề sau: (0.75 điểm)
- Thêm vào thuộc tính diachi có kiểu dữ liệu nvarchar(20) cho quan hệ KHACH.
- Sửa kiểu dữ liệu của thuộc tính diachi trong quan hệ KHACH thành nvarchar(50).
- Xóa thuộc tính diachi trong quan hệ KHACH.
b. Giảm 10% giá vé được mua vào ngày ’20/10/2017′. (0.75 điểm)
2. Viết các biểu thức đại số quan hệ biểu diễn cho các câu truy vấn sau: (6.0 Điểm)
a. Liệt kê matuyen, giatuyen của những tuyến xe xuất phát từ bến đầu là ‘TP HCM’ và kết thúc ở bến cuối là ‘Phan Thiết’ (1 điểm).
b. Cho ra danh sách khách hàng (hoten) mua vé tuyến có bến đầu là ‘TP HCM’ và bến cuối là ‘Cần Thơ’ vào ngày ’02/01/2016′ (ngaymua) (1 điểm)
c. Tuyến nào (matuyen) được tất cả hành khách có giới tính nữ mua vào ngày ’04/11/2017′ (ngaymua=’04/11/2017′). (1 điểm)
d. Cho biết danh sách hành khách (mahk, hoten) mua vé cả hai tuyến có mã tuyến là ‘HCM-DL’ và ‘DL-HCM’. (1 điểm)
e. Với mỗi mã tuyến cho biết tổng số tiền vé bán ra vào năm 2016. (1 điểm)
f. Cho biết thông tin tất cả các tuyến xe xuất phát từ bến đầu là ‘TP HCM’ đi bến cuối là ‘Đà Lạt’ và thông tin biển kiểm soát của các xe đã được phân công đi tuyến này nếu có. (1 điểm)
Phần I
Câu 1: Vẽ mô hình ERD
Câu 2: Mô hình quan hệ
PHONGMAY(maphong, tenphong, tenngql)
MONHOC(mamh, tenmh, thoiluong)
MAYTINH(mamt, RAM, CPU, dungluong, maphong)
DANGKY(maphong, mamh, ngaydk)
Phần II
1. Viết lệnh SQL
Câu a:
- ALTER TABLE KHACH ADD diachi nvarchar(20)
- ALTER TABLE KHACH ALTER COLUMN diachi nvarchar(50)
- ALTER TABLE KHACH DROP COLUMN diachi
Câu b:
UPDATE VEXE SET giave=giave*0.9 WHERE ngaymua=’20/10/2017′
2. Viết biểu thức đại số quan hệ
Câu a:
Câu b:
Câu c:
Câu d:
Câu e:
Câu f: