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

BÀI TẬP HỆ QUẢN TRỊ CƠ CỞ DỮ LIỆU SQL SERVER 2000 pot

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 (123.56 KB, 9 trang )

BÀI TẬP HỆ QUẢN TRỊ CSDL SQL SERVER 2000
Bài 1.
Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục
hàng hoá gồm các thuộc tính
sau:
+ Bảng HoaDonBan để
lưu danh sách các đơn hàng
gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
SoHD Số hoá đơn bán
MaKhach Mã khách hàng
NgayHD Ngày hoá đơn
DienGiai Diễn giải
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Yêu cầu
1/ Hãy tạo cấu trúc cơ sở dữ liệu
trên(Dùng trình soạn thảo Query
Analyzer; Với mỗi bảng nếu có
ràng buộc khoá chính hoặc ràng
buộc khoá ngoài yêu cầu định nghĩa đầy đủ)
Thực hiện các câu lệnh truy vấn sau:
1. Đưa ra danh sách mặt hàng chưa được bán trong tháng 9 năm 2009
2. Đưa ra danh sách khách hàng có địa chỉ ở Thái Nguyên và từng mua hàng trong tháng 9 năm 2009
3. Đưa ra số lượng đã bán tương ứng của từng mặt hàng trong tháng 9 năm 2009
4. Đưa ra tổng số lượng hàng đã bán cho mục đích mua hàng ‘Tiếp khách’
5. Hiển thị thông tin khách hàng đã từng mua hàng tại cửa hàng
2/ Tạo View để tổng hợp dữ liệu về từng mặt hàng đã được bán (Cấu trúc View gồm các thuộc tính: MaHang,
TenHang, DVT, SoLuongBan)
3. Tạo View để tổng hợp dữ liệu về các mặt hàng đã được bán với số lượng lớn nhất.


4/ Tạo View để tổng hợp dữ liệu về các khách hàng đã mua hàng trong ngày 20/10/2005.
5/ Tạo thủ tục có tham số vào là @SoHD để đưa ra danh mục các mặt hàng có trong hoá đơn trên.
6/ Tạo thủ tục có tham số vào là @Ngay để đưa ra danh mục các mặt hàng đã được bán vào ngày trên (Danh
sách đưa ra gồm các thuộc tính sau: MaHang, TenHang, DVT, SoLuong).
7/ Tạo TRIGGER để kiểm tra khi nhập dữ liệu vào bảng ChiTietHoaDon nếu số lượng hoặc đơn giá nhập vào
nhỏ hơn 0 thì in ra màn hình thông báo lỗi “Dữ liệu nhập vào không hợp lệ” và bản ghi này không được phép
nhập vào bảng; Ngược lại in ra màn hình thông báo “Dữ liệu đã được nhập thành công”.
8/ Tạo kiểu dữ liệu CURSOR để lưu trữ thông tin về các mặt hàng đã được bán trong ngày 20/11/2006. Sau đó
đưa ra màn hình danh sách dữ liệu trên.
9/ Thêm mới một trường TongTien vào bảng HoaDonBan
10/ Dùng kiểu dữ liệu CURSOR để cập nhập dữ liệu cho trường TongTien
Bài 2.
Cho cơ sở dữ liệu quản lý nhà cho thuê bao gồm các bảng dữ liệu sau:
+ Bảng KHACH để lưu danh sách các khách hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaK Mã khách hàng
TenK Tên khách hàng
ĐiaChi Địa chỉ khách
SoDT Số điện thoại
+ Bảng NHA để lưu trữ thông tin về các ngôi nhà cho thuê, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaN Mã nhà
TenChuNha Tên chủ nhà
GiaThue Giá thuê
Tên Thuộc tính Giải thích
MaKhach Mã khách hàng
TenKhach Tên khách hàng
DiaChi Địa khách hàng
DienThoai Điện thoại
Tên Thuộc tính Giải thích

MaHang Mã hàng
TenHang Tên hàng
DVT Đơn vị tính
Tên Thuộc tính Giải thích
SoHD Số hoá đơn bán
MaHang Mã hàng
SoLuong Số lượng bán
DonGia Đơn giá
1
DiaChiNha Địa chỉ nhà
+Bảng HOPDONG để lưu trữ thông tin về các hợp đồng thuê nhà của khách, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
SoHĐ Số hợp đồng
MaN Mã nhà
MaK Mã khách
NgayBĐ Ngày bắt đầu hợp đồng
NgayKT Ngày kết thúc hợp đồng
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
Thực hiện các câu lệnh truy vấn sau:
1. Đưa ra danh sách các ngôi nhà đang được thuê
2. Đưa ra thông tin về khách hàng đã thuê ngôi nhà có mã là ‘NHA09’
3. Đưa ra thông tin về những ngôi nhà hiện chưa có người nào thuê
2/ Tạo View để tổng hợp thông tin về những ngôi nhà có giá thuê cao nhất.
3/ Tạo View để tổng hợp thông tin về các khách hàng ngày hôm nay đã hết hạn hợp đồng.
4/ Tạo View để tổng hợp thông tin về các ngôi nhà chưa từng được ai thuê.
5/ Tạo thủ tục có một tham số vào là @ngay để đưa ra danh sách các khách hàng đã hết hạn hợp đồng vào ngày
trên.
6/ Tạo thủ tục để đưa ra màn hình danh sách các ngôi nhà hiện tại chưa có khách hàng thuê.

7/ Tạo thủ tục có tham số là @Ngay để đưa ra danh sách các khách hàng bắt đầu thuê nhà vào ngày trên.
8/ Tạo Trigger để kiểm tra khi nhập dữ liệu vào bảng NHA nếu giá thuê nhập vào <0 thì đưa ra màn hình thông
báo lỗi “Dữ liệu nhập vào không hợp lệ” và bản ghi này không được phép nhập vào bảng; Ngược lại in ra màn
hình thông báo “Dữ liệu đã được nhập thành công”.
9/ Sử dụng kiểu dữ liệu CURSOR để đưa ra màn hình thông tin về các khách hàng đang thuê các ngôi nhà có
địa chỉ ở “Tổ 10, phường Phan Đình Phùng”.
10/ Sử dụng kiểu dữ liệu CURSOR để đưa ra danh sách các ngôi nhà hiện tại chưa có khách hàng thuê.
Bài 3.
Cho cơ sở dữ liệu quản lý sinh viên bao gồm các bảng dữ liệu sau:
+ Bảng LOP để lưu thông tin về các lớp học gồm có các thuộc tính sau:
Tên Thuộc tính Giải thích
MaLop Mã lớp học
TenLop Tên lớp học
+ Bảng TINH để lưu trữ thông tin về các tỉnh thành phố, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaTinh Mã tỉnh, thành phố
TenTinh Tên tỉnh, thành phố
+Bảng SINHVIEN để lưu trữ thông tin về các sinh viên, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaSV Mã sinh viên
HoTen Họ tên sinh viên
NgaySinh Ngày sinh
GioiTinh Giới tính
MaLop Mã lớp
MaTinh Mã tỉnh
DTB Điểm trung bình
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
Thực hiện các câu lệnh truy vấn sau:

1. Đưa ra thông tin về những sinh viên có điểm trung bình dưới 5
2. Đưa ra thông tin về sinh viên có địa chỉ ở Thái Nguyên
3. Đưa ra thông tin về các lớp học không có sinh viên nào ở Hà Nội
2/ Tạo View để tổng hợp thông tin về các sinh viên có điểm trung bình cao nhất.
3/ Tạo View để tổng hợp thông tin về các sinh viên có điểm trung bình cao nhất theo từng lớp học.
4/ Tạo thủ tục để đưa ra sĩ số sinh viên cho từng lớp học (Danh sách đưa ra phải có các thuộc tính sau: MaLop,
TenLop, SiSo).
2
5/ Tạo thủ tục có tham số là @Tenlop để xoá thông tin về những sinh viên học ở lớp trên.
6/ Tạo TRIGGER để kiểm tra dữ liệu khi nhập vào bảng sinh viên: nếu điểm trung bình nhập vào <0 thì đưa ra
màn hình thông báo lỗi và bản nghi này không được phép nhập vào bảng dữ liệu, ngược lại đưa ra thông báo bản
ghi đã nhập thành công.
7/ Sử dụng kiểu dữ liệu CURSOR để đưa ra màn hình danh sách sinh viên học ở lớp có tên là ‘Cao đẳng 2A’.
Bài 4:
Cho cơ sở dữ liệu quản lý Thực tập gồm 3 bảng dữ liệu sau:
+ Bảng SINHVIEN chứa danh sách sinh viên bao gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
Masv Mã số sinh viên
HotenSV Họ tên sinh viên
NS Ngày sinh
Diachi Địa chỉ
+ Bảng DETAI chứa danh sách các đề tài thực tập gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDT Mã số đề tài
TenDT Tên đề tài
GVHD Họ và tên giáo viên hướng dẫn đề tài
+ Bảng SV_DETAI chứa thông tin về tình hình thực tập của sinh viên theo các đề tài, gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDT Mã số đề tài
MaSV Mã số sinh viên

NTT Nơi sinh viên đến thực tập
KQ Kết quả thực tập của sv theo đề tài đã chọn
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các sinh viên tham gia thực tập tại quê.
3/ Tạo View để tổng hợp thông tin về các sinh viên có kết quả thực tập cao nhất.
4/ Tạo View để tổng hợp thông tin về mỗi giáo viên đã và đang hướng dẫn bao nhiêu sinh viên thực tập.
5/ Tạo thủ tục có tham số vào là @gvhd để đưa ra danh sách các sinh viên do giáo viên trên hướng dẫn.
6/ Tạo thủ tục có tham số vào là @NTT để đưa ra danh sách các sinh viên thực tập tại địa điểm trên.
7/ Tạo thủ tục để đưa ra danh sách các đề tài chưa từng có sinh viên nào tham gia đăng ký thực tập.
8/ Tạo TRIGGER để kiểm tra khi nhập dữ liệu vào bảng SV_DETAI nếu kết quả thực tập nhỏ hơn 0 thì đưa ra
màn hình thông báo lỗi và bản nghi này không được phép nhập vào bảng dữ liệu, ngược lại đưa ra thông báo bản
ghi đã nhập thành công.
9/ Dùng kiểu dữ liệu CURSOR để đưa ra màn hình danh sách các sinh viên phải thực tập lại (những sinh viên có
kết quả thực tập < 5 yêu cầu phải thực tập lại)
10/ Dùng kiểu dữ liệu CURSOR để đưa ra màn hình danh sách các đề tài có kết quả thực tập cao nhất
Bài 5:
Cho cơ sở dữ liệu quản lý thư viện gồm các bảng dữ liệu sau:
+Bảng SACH chứa danh mục sách gồm các thông tin thuộc tính sau:
Tên Thuộc tính Giải thích
MaSach Mã sách
TenSach Tên sách
NXB Tên nhà xuất bản
NamXB Năm xuất bản
TenTG Tên tác giả
+Bảng DOCGIA chứa danh sách độc giả gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDG Mã độc giả
TenDG Tên độc giả

DiaChiDG Địa chỉ độc giả
+Bảng MUON_TRA chứa thông tin về sự mượn và trả sách của độc giả gồm các thuộc tính:
Tên Thuộc tính Giải thích
MaDG Mã độc giả
3
MaSach Mã sách
NgayMuon Ngày mượn
SL Số lượng mượn
NgayHenTra Ngày hẹn trả
NgayTra Ngày trả
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các độc giả đã hết hạn trả sách nhưng chưa trả.
3/ Tạo View để tổng hợp thông tin về danh mục sách chưa từng được độc giả nào mượn.
4/ Tạo View để tổng hợp thông tin về từng loại sách hiện tại có độc giả đang mượn ( Cấu trúc View gồm các
thuộc tính sau: MaSach, TenSach, TenTG, SoLuong).
5/ Tạo thủ tục có tham số là @MaDG để đưa ra danh mục sách mà độc giả trên đang mượn.
6/ Tạo thủ tục có tham số là @NgayMuon để đưa ra danh sách các độc giả đã mượn sách vào ngày trên.
7/ Tạo thủ tục để đưa ra danh sách các độc giả ngày hôm nay là hạn cuối cùng phải trả sách cho thư viện.
8/ Tạo TRIGGER để kiểm tra dữ liệu khi nhập vào bảng MUON_TRA nếu số lượng mượn nhỏ hơn 0 thì thì đưa
ra màn hình thông báo lỗi và bản nghi này không được phép nhập vào bảng dữ liệu, ngược lại đưa ra thông báo
bản ghi đã nhập thành công.
9/ Dùng kiểu dữ liệu CURSOR để đưa ra màn hình danh sách các độc giả đã hiện tại vẫn đang mượn sách của
thư viện.
Bài 6
Cho cơ sở dữ liệu quản lý dự án gồm các bảng dữ liệu sau:
+ Bảng NHANVIEN chứa danh sách các nhân viên gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaNV Mã nhân viên

Hoten Họ tên nhân viên
Ngaysinh Ngày sinh
GT Giới tính
+ Bảng DUAN chứa thông tin về các dự án gồm có các thuộc tính sau:
Tên Thuộc tính Giải thích
MaDA Mã dự án
TenDA Tên dự án
NganSach Ngân sách
+ Bảng THAMGIA ghi danh sách sinh viên đăng ký tham gia dự án
Tên Thuộc tính Giải thích
MaDA Mã dự án
MaNV Mã nhân viên
TGBD Thời gian bắt đầu
TGKT Thời gian kết thúc
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các nhân viên chưa tham gia bất kỳ dự án nào.
3/ Tạo View để tổng hợp thông tin về các dự án có ngân sách lớn nhất.
Tạo View để tổng hợp thông tin về mỗi nhân viên đã tham gia bao nhiêu dự án.
4/ Tạo thủ tục có tham số là @TenDA để đưa ra danh sách các nhân viên tham gia dự án trên.
5/ Tạo thủ tục có tham số là @TGKT và @MaDA để đưa ra danh sách các nhân viên phải hoàn thành dự án đó
vào ngày trên.
6/ Tạo TRIGGER để kiểm tra dữ liệu khi nhập vào bảng DUAN nếu ngân sách nhỏ hơn 0 thì đưa ra màn hình
thông báo lỗi và bản nghi này không được phép nhập vào bảng dữ liệu, ngược lại đưa ra thông báo bản ghi đã
nhập thành công.
7/ Dùng kiểu dữ liệu CURSOR để đưa ra danh sách nhân viên bắt đầu thực hiện dự án “Phòng chống bệnh mắt
hột” từ ngày 20/11/2005.
8/ Dùng kiểu dữ liệu CURSOR để đưa ra danh sách các dự án chưa từng có nhân viên nào tham gia đăng ký.
Bài 7

4
Cho cơ sở dữ liệu quản lý Tài sản trong một cơ quan gồm các bảng quan hệ sau:
+Bảng DMPhong để lưu danh sách các phòng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaP Mã phòng
TenP Tên phòng
+ Bảng DMTaiSan để lưu trữ thông tin về các tài sản gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaTS Mã tài sản
TenTS Tên tài sản
DonVi Đơn vị tính
Gia Đơn giá
+ Bảng PhanPhoi để lưu trữ thông tin về các loại tài sản có trong từng phòng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaTS Mã tài sản
MaP Mã phòng
SoLuong Số lượng
NgayPP Ngày phân phối tài sản
GhiChu Ghi chú
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các tài sản có đơn giá lớn nhất.
3/ Tạo View để tổng hợp thông tin về những tài sản chưa từng được phân phối cho các phòng để sử dụng.
4/ Tạo thủ tục có tham số là @TenP để đưa ra danh sách các tài sản được phân phối vào phòng trên.
5/ Tạo thủ tục có tham số là @TenTS để đưa ra danh sách các phòng được phân phối tài sản trên.
6/ Tạo TRIGGER để kiểm tra dữ liệu khi nhập vào bảng DMTaiSan nếu đơn giá nhập vào nhỏ hơn 0 thì đưa ra
màn hình thông báo lỗi và bản nghi này không được phép nhập vào bảng dữ liệu, ngược lại đưa ra thông báo bản
ghi đã nhập thành công.
Bài 8

Cho cơ sở dữ liệu quản lý điểm thi gồm các bảng dữ liệu sau:
+ Bảng SinhVien để lưu danh mục thông tin về sinh viên gồm các trường sau:
Tên Thuộc tính Giải thích
MaSV Mã sinh viên
TenSV Tên sinh viên
NgaySinh Ngày sinh
GioiTinh Giới tính
QueQuan Địa chỉ
+ Bảng MonHoc chứa danh mục các môn học gồm các trường sau:
Tên Thuộc tính Giải thích
MaM Mã môn
TenM Tên môn
DVHT Đơn vị học trình
+ Bảng Diem để lưu trữ thông tin về điểm thi theo từng môn học của mỗi sinh viên bao gồm các trường sau:
Tên Thuộc tính Giải thích
MaM Mã môn
MaSV Mã sinh viên
DiemThi Điểm thi
Yêu cầu
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các sinh viên có điểm thi cao nhất của môn học có tên là “Cơ sở dữ liệu”.
3/ Tạo thủ tục có tham số là @TenM để đưa ra danh sách sinh viên phải thi lại môn học trên.
4/ Dùng kiểu dữ liệu CURSOR để đưa ra trung bình điểm thi của từng môn học.
5
Bài 9
Cho cơ sở dữ liệu quản lý gồm các bảng dữ liệu sau:
+ Bảng GIAOVIEN để lưu các thông tin về giáo viên gồm các thuộc tính sau:
+ Bảng HOCVI để lưu thông tin
về học vị gồm các thuộc tính

sau:
+ Bảng
CHUYENNGANH để lưu danh sách các chuyên ngành gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaCN Mã chuyên ngành
TenCN Tên chuyên ngành
+ Bảng GV_HV_CN để lưu thông tin về học vị của giáo viên gồm các thuộc tính sau:
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu
trên(Dùng trình soạn thảo Query
Analyzer; Với mỗi bảng nếu có ràng
buộc khoá chính hoặc ràng buộc
khoá ngoài yêu cầu định nghĩa đầy đủ)
2/ Tạo View để cho biết thông tin về các giáo viên có học vị là “Tiến sỹ”
3/ Tạo View để cho biết thông tin về các giáo viên có chuyên ngành “Kinh tế”
4/ Tạo View để cho biết thông tin về các giáo viên có địa chỉ ở “Thái Nguyên”
5/ Tạo thủ tục có tham số vào là @Nam để đưa ra tên của các giáo viên nhận học vị “Tiến sỹ vào năm trên.
6/ Tạo thủ tục nhập dữ liệu cho bảng GIAOVIEN
7/ Tạo thủ tục có tham số vào là @TenHV để đưa ra thông tin về các giáo viên có tên học vị trên
8/ Tạo TRIGGER để kiểm tra khi nhập dữ liệu vào bảng GV_HV_CN nếu năm nhập vào nhỏ hơn 0 thì in ra màn
hình thông báo lỗi “Dữ liệu nhập vào không hợp lệ” và bản ghi này không được phép nhập vào bảng; Ngược lại
in ra màn hình thông báo “Dữ liệu đã được nhập thành công”.
9/ Dùng kiểu dữ liệu CURSOR để đưa ra thông tin về từng giáo viên của từng chuyên ngành.
Bài 10
Cho cơ sở dữ liệu quản lý gồm các bảng dữ liệu sau:
+ Bảng TOCONGDOAN để lưu thông tin về các chi đoàn gồm các thuộc tính sau:
+ Bảng CONGDOAN để
lưu thông tin về các đoàn viên
gồm các thuộc tính sau:
+ Bảng KHENTHUONG

để lưu thông tin về tình hình khen
thưởng của các công đoàn viên
gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaCDV Mã đoàn viên
MSKT Mã số khen thưởng
Ldo Lý do khen thưởng
Nam Năm khen thưởng
Yêu cầu:
1.Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2. Hãy tạo view để tổng hợp thông tin về các công đoàn viên đã được khen thưởng của tổ công đoàn “Hệ thống
thông tin”.
3. Hãy tạo view cho biết thông tin về các công đoàn viên chưa từng được khen thưởng.
4. Hãy tạo view để thông tin về các công đoàn viên được khen thưởng về việc hoàn thành đề tài câp bộ.
5. Tạo thủ tục có tham số vào @TenTCD để đưa ra thông tin về những đoàn viên của chi đoàn trên.
6. Tạo thủ tục có tham số vào @TenTCD, @Nam để đưa ra thông tin về những công đoàn viên của tổ công đoàn
đã được khen thưởng vào năm trên.
7. Tạo thủ tục có tham số vào @Tencd để xoá thông tin về những công đoàn viên thuộc chi đoàn trên.
8. Tạo Trigger để kiểm tra việc nhập dữ liệu cho bảng KHENTHUONG. Nếu năm khen thưởng nhỏ hơn 0 thì in
ra thông báo dữ liệu không hợp lệ và bản ghi không được phép nhập vào bảng. Ngược lại thì in ra thông báo dữ
liệu nhập thành công.
Tên Thuộc tính Giải thích
MaGV Mã giáo viên
TenGV Tên giáo viên
DiaChi Địa chỉ giáo viên
DienThoai Điện thoại giáo viên
Tên Thuộc tính Giải thích
MaHV Mã học vị
TenHV Tên học vị

Tên Thuộc tính Giải thích
MaGV Mã giáo viên
MaHV Mã học vị
MaCN Mã chuyên ngành
Nam Năm đạt học vị
Tên Thuộc tính Giải thích
MaTCD Mã tổ công đoàn
TenTCD Tên tổ công đoàn
Tên Thuộc tính Giải thích
MaCDV Mã công đoàn viên
TenCDV Tên công đoàn viên
NgayS Ngày sinh
NgayV Ngày ra nhập công đoàn
MaTCD Mã tổ công đoàn
6
9. Sử dụng kiểu dữ liệu Cursor để tổng hợp thông tin về những công đoàn viên chưa được khen thưởng trong
năm 2007.
Bài 11
Cho cơ sở dữ liệu quản lý điểm gồm 3 bảng dữ liệu sau:
+ Bảng SINHVIEN chứa danh sách sinh viên bao gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaSV Mã số sinh viên
HotenSV Họ tên sinh viên
NS Ngày sinh
Diachi Địa chỉ
DVHT Đơn vị học trình
+ Bảng MON chứa danh sách các môn học gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaM Mã môn
TenM Tên môn

+ Bảng DIEM chứa thông tin về điểm của sinh viên theo các môn học gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaM Mã môn
MaSV Mã số sinh viên
Phach Số phách
DIEM Điểm thi
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về sinh viên có điểm thi cao nhất của môn “CSDL”.
3/ Tạo View để tổng hợp thông tin về sinh viên có địa chỉ ở “Thái Nguyên”
4/ Tạo View cho biết thông tin về các sinh viên sinh trước năm 1980
5/ Tạo thủ tục có tham số đầo vào @TenM để đưa ra danh sách các sinh viên có điểm thi chưa đạt của môn học
trên.
6/ Tạo thủ tục có tham số đầo vào @Diem để đưa ra danh sách các sinh viên có điểm thi thấp hơn điểm trên của
môn học “CSDL”.
7/ Tạo Trigger để kiểm tra việc nhập dữ liệu cho bảng DIEM. Nếu điêm nhỏ hơn 0 hoặc điểm lớn hơn 10 thì in
ra thông báo dữ liệu không hợp lệ và bản ghi không được phép nhập vào bảng. Ngược lại thì in ra thông báo dữ
liệu nhập thành công.
8/ Dùng kiểu dữ liệu CURSOR để đưa ra màn hình danh sách các sinh viên có điểm thi cao nhất của các môn
học?
Bài 12
Cho cơ sở dữ liệu quản lý khách sạn gồm các bảng dữ liệu sau:
+ Bảng KhachHang để lưu danh mục thông tin về khách hàng tại khách sạn gồm các trường sau:
Tên Thuộc tính Giải thích
MaKhach Mã khách
TenKhach Tên khách hàng
ĐiaChi Địa chỉ
SDT Số điện thoại
+ Bảng Phong để lưu thông tin về các phòng có trong khách sạn gồm các trường sau:

Tên Thuộc tính Giải thích
MaP Mã phòng
TenP Tên phòng
LoaiP Loại phòng
Gia Đơn giá
+ Bảng DatPhong (Đặt phòng) để lưu trữ thông tin việc đặt phòng của khách:
Tên Thuộc tính Giải thích
MaKhach Mã khách
MaP Mã phòng
NgayNhan Ngày nhận phòng
NgayTra Ngày trả phòng
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo thủ tục để tăng giá của tất cả các phòng trong khách sạn lên 5%.
3/ Tạo View để tổng hợp thông tin về các khách hàng hiện tại đang thuê phòng tại khách sạn.
4/ Tạo View để tổng hợp thông tin hoá đơn thanh toán của khách hàng (hoá đơn gồm các thuộc tính sau: (Mã
khách, Tên khách, Mã phòng, Đơn Giá, Ngày nhận, Ngày Trả, Thành Tiền).
5/ Tạo View để tổng hợp thông tin về các khách hàng có số ngày đặt phòng lớn nhất.
7
6/ Tạo thủ tục để đưa ra danh các phòng hiện tại chưa có khách hàng đặt phòng .
7/ Tạo thủ tục để đưa ra danh sách khách hàng ngày hôm nay phải trả phòng.
8/ Tạo trigger để kiểm tra dữ liệu khi cập nhật vào bảng Phòng phải đảm bảo dữ liệu đơn giá >0.
9/ Tạo trigger để kiểm tra dữ liệu khi nhập vào bảng DatPhong phải đảm ngày trả phòng luôn lớn hơn hoặc bằng
ngày nhận phòng.
10/ Dùng kiểu dữ liệu CURSOR để đưa ra danh sách khách hàng ngày hôm nay phải trả phòng.
Bài 13
Cho cơ sở dữ liệu gồm các bảng dữ liệu sau:
+ Bảng NhanVien để lưu thông tin về nhân viên gồm các thuộc tính sau:
Tên Thuộc tính Giải thích

MaNV Mã nhân viên
TenNV Tên nhân viên
DiaChi Địa chỉ
Map Mã phòng
Luong Lương của nhân viên
+ Bảng Phong để lưu thông tin về các phòng ban trong cơ quan gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaP Mã phòng
TenP Tên phòng
DiaChiP Địa chỉ phòng
SDT Số điện thoại
+ Bảng NgoaiNgu (ngoại ngữ) gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaNN Mã ngoại ngữ
TenNN Tên ngoại ngữ
+ Bảng TrinhDo_NN (trình độ ngoại ngữ) để lưu trữ thông tin về trình độ ngoại ngữ của nhân viên:
Tên Thuộc tính Giải thích
MaNV Mã nhân viên
MaNN Mã ngoại ngữ
TrinhDo Trình độ ngoại ngữ
Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về mỗi phòng hiện tại có bao nhiêu nhân viên.
3/ Tạo View để tổng hợp thông tin về các nhân viên chưa tích luỹ được trình độ ngoại ngữ nào.
4/ Tạo View để tổng hợp thông tin về các nhân viên có lương cao nhất trong phòng họ làm việc.
5/ Tạo thủ tục có tham số vào @TenNN và @TrinhDo để đưa ra danh các nhân viên biết ngoại ngữ và trình độ
trên.
6/ Tạo thủ tục có tham số vào @TenP để đưa ra tổng số nhân viên hiện có trong phòng này.
7/ Tạo thủ tục có tham số vào là @TenNN, @TenP và @TrinhDo để đưa ra danh các nhân viên ở phòng này biết

ngoại ngữ và trình độ ứng với các tham biến đã cho
8/ Tạo thủ tục có tham số vào @TenP để đưa ra danh các nhân viên có lương cao nhất của phòng này.
9/ Tạo Trigger để kiểm tra khi nhập dữ liệu vào bảng NhanVien phải đảm bảo lương của nhân viên phải >0.
10/ Dùng kiểu dữ liệu CURSOR để tăng lương cho mỗi nhân viên lên 10%.
11/ Dùng kiểu dữ liệu CURSOR để đưa ra danh sách các nhân viên có ngoại ngữ tiếng anh trình độ C
Bài 14.
Cho cơ sở dữ liệu gồm các bảng dữ liệu sau:
+ Bảng NhanVien để lưu thông tin về nhân viên gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaNV Mã nhân viên
TenNV Tên nhân viên
DiaChi Địa chỉ
Map Mã phòng
Luong Lương của nhân viên
+ Bảng Phong để lưu thông tin về các phòng ban trong cơ quan gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
MaP Mã phòng
TenP Tên phòng
DiaChiP Địa chỉ phòng
SDT Số điện thoại
+ Bảng HocVi (học vị) gồm các thuộc tính sau:
8
Tên Thuộc tính Giải thích
MaHV Mã học vị
TenHV Tên học vị
+ Bảng NV_TDHV (trình độ học vị của nhân viên) :
Tên Thuộc tính Giải thích
MaNV Mã nhân viên
MaTD Mã trình độ học vị
ThoiGian Ngày tháng năm đạt trình độ này

Yêu cầu:
1/ Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).
2/ Tạo View để tổng hợp thông tin về các nhân viên có học vị là tiến sĩ trước năm 1990.
3/ Tạo View để tổng hợp thông tin về các nhân viên chưa có học vị Tiến sĩ.
4/ Tạo thủ tục có tham số vào là @TenHV và @ThoiGian để đưa ra danh các nhân viên có học vị và thời gian
đạt được ứng với các tham biến đã cho.
5/ Tạo thủ tục có tham số vào là @TenHV và @ThoiGian để đưa ra danh các nhân viên có trình độ học vị và
thời gian đạt được học vị đó ứng với các tham biến đã cho.
6/ Tạo trigger để kiểm tra dữ liệu khi nhập vào bảng NV_TDHV sao cho thời gian đạt học vị đó phải <= thời
gian hiện tại.
7/ Dùng kiểu dữ liệu CURSOR để đưa ra danh sách các nhân viên có học vị Tiến sĩ.
Bài 15.
Cho cơ sở dữ liệu quản lý điểm rèn luyện gồm các bảng sau:
+ Bảng LOP để lưu thông tin về các lớp học gồm các thuộc tính sau:
+ Bảng SINHVIEN để
lưu thông tin về các sinh viên
gồm các thuộc tính sau:
+ Bảng DIEMRL để lưu thông tin
về tình hình điểm rèn luyện của các
sinh viên gồm các thuộc tính
sau:
Tên Thuộc tính Giải thích
Masv Mã sinh viên
Hocky Học kỳ
Nam Năm học
Diem Điểm rèn luyện
Yêu cầu:
1. Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc
khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ).

2. Hãy tạo view để tổng hợp thông tin về điểm rèn luyện của những sinh viên học lớp “Cao đẳng K4A”
3. Hãy tạo view để in ra thông tin về sinh viên có điểm rèn luyện cao nhất.
4. Tạo view để tổng hợp thông tin về những sinh viên có điểm rèn luyện<50 trong năm học 2006-2007.
5. Tạo thủ tục có tham số vào @Masv để đưa ra thông tin về điểm rèn luyện của sinh viên trên.
6. Tạo thủ tục có tham số vào @Malop, @Nam để đưa ra thông tin về điểm rèn luyện của lớp trên vào nam học
trên.
7. Tạo thủ tục có tham số vào @tenlop để đưa ra thông tin về điểm rèn luyện của lớp trên.
8. Tạo Trigger kiểm tra việc nhập dữ liệu cho bảng DIEMRL nếu điểm nhập vào <0 hoặc >100 thì đưa ra yêu
cầu nhập lại và bản ghi này không được phép nhập vào bảng, ngược lại thì in ra thông báo nhập thành công.
9. Sử dụng kiểu dữ liệu Cursor để in ra màn hình danh sách điểm rèn luyện của học kỳ 1 năm học 2007-2008.
10. Sử dụng kiểu dữ liệu Cursor để in ra màn hình danh sách điểm rèn luyện của năm học 2006-2007.
Tên Thuộc tính Giải thích
Malop Mã lớp
Tenlop Tên lớp
Tên Thuộc tính Giải thích
Masv Mã sinh viên
Tensv Tên sinh viên
Ngaysinh Ngày sinh
Malop Mã lớp
9

×