Danh mục

Bài tập cơ sở dữ liệu

Số trang: 31      Loại file: doc      Dung lượng: 260.50 KB      Lượt xem: 26      Lượt tải: 0    
10.10.2023

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài tập cơ sở dữ liệu giúp cho các bạn rèn luyện kỹ năng làm bài qua đó hệ thống kiến thức của mình. Tài liệu tham khảo dành cho sinh viên chuyên ngành công nghệ thông tin cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài tập cơ sở dữ liệu BT Cơ Sở Dữ Liệu SV: Vương Ngọc Nam  Bài tập cơ sở dữ liệu Thành phố Hồ Chí Minh, tháng năm ….. 1 BT Cơ Sở Dữ Liệu SV: Vương Ngọc Nam DATABASE EXERCISES – MS SQL SERVER 2008 Bài 1: CSDL Quản lý học viên. Tạo DB: I. IF DB_ID('QuanLyHocVien') IS NULL CREATE DATABASE QuanLyHocVien; Tạo bảng: II. -- Tao QH MONHOC -- ------------------- USE QuanLyHocVien; IF OBJECT_ID('MONHOC') IS NOT NULL DROP TABLE MONHOC CREATE TABLE MONHOC ( MAMH NVARCHAR(30) NOT NULL PRIMARY KEY, TENMH NVARCHAR(30) NOT NULL UNIQUE, SOTC INT NOT NULL ); INSERT INTO MONHOC(MAMH, TENMH, SOTC) ('M01', N'Cơ sở dữ liệu', 3), VALUES ('M02', N'Thiết kế web', 3), ('M03', N'Xử lý ảnh', 4); -- Tao QH LOP -- ---------------- USE QuanLyHocVien; IF OBJECT_ID('LOP') IS NOT NULL DROP TABLE LOP CREATE TABLE LOP ( MALOP NVARCHAR(30) NOT NULL PRIMARY KEY, TENLOP NVARCHAR(30) NOT NULL UNIQUE ); INSERT INTO LOP(MALOP, TENLOP) ('L01', N'Công nghệ TT 2009'), VALUES ('L02', N'Quản trị 2009'); -- Tao QH HV -- --------------- USE QuanLyHocVien; IF OBJECT_ID('HV') IS NOT NULL DROP TABLE HV CREATE TABLE HV ( MAHV NVARCHAR(30) NOT NULL PRIMARY KEY, 1 BT Cơ Sở Dữ Liệu SV: Vương Ngọc Nam TENHV NVARCHAR(30) NOT NULL, DCHV NVARCHAR(30), MALOP NVARCHAR(30) REFERENCES LOP ); INSERT INTO HV(MAHV, TENHV, DCHV, MALOP) ('H01', N'Nguyễn Văn A', 'Q1', VALUES 'L01'), ('H02', N'Nguyễn Văn B', 'Q2', 'L01'), ('H03', N'Nguyễn Văn C', 'Q1', 'L01'), ('H04', N'Nguyễn Văn B', 'Q3', 'L02'), ('H05', N'Nguyễn Văn A', 'Q3', 'L02'), ('H06', N'Nguyễn Văn A', 'Q2', 'L03'); -- Tao QH DIEMHV -- ------------------- USE QuanLyHocVien; IF OBJECT_ID('DIEMHV') IS NOT NULL DROP TABLE DIEMHV CREATE TABLE DIEMHV ( MAHV NVARCHAR(30) REFERENCES HV, MAMH NVARCHAR(30) REFERENCES MONHOC, DIEM INT, CONSTRAINT Diem PRIMARY KEY (MAHV, MAMH) ); INSERT INTO DIEMHV(MAHV, MAMH, DIEM) VALUES ('H01', 'M01', 5), ('H01', 'M02', 4), ('H02', 'M01', 7), ('H02', 'M02', 5), ('H02', 'M03', 6), ('H03', 'M01', 7); Trả lời bằng T-SQL. III. Cho biết tên môn học và số tín chỉ của môn học mã số “M01”. 1 USE QuanLyHocVien; SELECT TENMH, SOTC FROM MONHOC WHERE MAMH = 'M03'; Liệt kê các học viên (mã số và tên) của lớp có tên “Quản trị 2009”. 2 USE QuanLyHocVien; SELECT hv.MAHV, hv.TENHV FROM LOP AS L , HV AS hv WHERE L.MALOP = hv.MALP AND TENLOP = N'Quản trị 2009'; Liệt kê điểm và tên môn học của học viên mã số “H01”. 3 USE QuanLyHocVien; 2 BT Cơ Sở Dữ Liệu SV: Vương Ngọc Nam select mh.TENMH, d.DIEM FROM MONHOC AS mh , DIEMHV AS d WHERE mh.MAMH = d.MAMH AND d.MAHV = 'H01'; Cho biết mã số và tên học viên chưa đạt điểm môn “Cơ sở dữ liệu”. 4 USE QuanLyHocVien; select hv.MAHV, hv.TENHV FROM DIEMHV AS d, HV AS hv WHERE d.DIEM < 5 AND d.MAMH = 'M01' AND hv.MAHV = d.MAHV; Cho biết các môn học mà học viên mã số “H01” chưa thi. 5 USE QuanLyHocVien; SELECT mh.MAMH, mh.TENMH FROM monhoc AS mh WHERE MAMH NOT IN (SELECT MAMH FROM DIEMHV WHERE MAHV = 'H01'); Liêt kê những học viên có điểm “M01” lơn nhất. 6 USE QuanLyHocVien; SELECT hv.MAHV, hv.TENHV, d.DIEM FROM HV AS hv,DIEMHV AS d WHERE d.MAMH = 'M01' AND DIEM = (SELECT MAX(DIEM) FROM DIEMHV) AND hv.MAHV = d. MAHV; Liêt kê những học viên có điểm môn “M01” lớn nhất. 7 USE QuanLyHocVien; SELECT hv.MAHV, hv.TENHV, d.DIEM FROM HV AS hv, DIEMHV AS d WHERE d.DIEM = (SELECT MAX(DIEM) FROM DIEMHV WHERE MAMH = 'M01') AND hv.MAHV = d.MAHV; 3 BT Cơ Sở Dữ Liệu SV: Vương Ngọc Nam Cho biết sĩ số từng lớp. 8 USE QuanLyHocVien; SELECT L.TENLOP, COUNT(*) AS 'Sĩ số' FROM HV AS hv, LOP AS L WHERE hv.MALOP = L.MALOP GROUP BY L.TENLOP; Bài 2: CSDL Hóa Đơn Bán Lẻ Tạo DB I. --- Bai 2 Tao DB Hoa Don Ban Le --- ----------------------------------- IF DB_ID('HoaDonBanLe') IS NULL CREATE DATABASE HoaDonBanLe; Tạo Table II. --- Tao QH HANG --- -------------------- USE HoaDonBanLe; IF OBJECT_ID('HANG') IS NOT NULL DROP TABLE HANG CREATE TABLE HANG ( MAHG NVARCHAR(30) NOT NULL PRIMARY KEY, TENHG NVARCHAR(30) NOT NULL, DONGIA INT NOT NULL ); INSERT INTO HANG(MAHG, TENHG, DONGIA) VALUES ('H01', N'Hàng A', 150), ('H02', N'Hàng B', 70), ...

Tài liệu được xem nhiều: