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 . 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. 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. 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