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
Trang 1BÀ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:
sau:
Tên Thuộc tính Giải thích
MaKhach Mã khách hàng
+ 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
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
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
DienThoai Điện thoại
Tên Thuộc tính Giải thích
Tên Thuộc tính Giải thích
Trang 2DiaChiNha Đị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
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
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)
Trang 35/ 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
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ả
Trang 4MaSach Mã sách NgayMuon Ngày 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
+ 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
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
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
Trang 5Cho 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
+ 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
+ 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
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
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
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
Trang 6Bà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:
sau:
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
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:
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:
Tên Thuộc tính Giải thí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 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
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
Tên Thuộc tính Giải thích
Tên Thuộc tính Giải thích
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
NgayV Ngày ra nhập công đoàn MaTCD Mã tổ công đoàn
Trang 79 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
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
+ 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
MaSV Mã số sinh viê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ề 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
LoaiP Loại phòng
+ 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
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
Trang 86/ 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ỉ
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
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ỉ
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
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:
Trang 9Tê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:
sau:
Tên Thuộc tính Giải thí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 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
Tên Thuộc tính Giải thích
Tensv Tên sinh viên Ngaysinh Ngày sinh