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

Đề cương ôn tập môn cơ sở dữ liệu

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 (91.97 KB, 5 trang )

ĐỀ CƯƠNG ÔN TẬP
MÔN: CƠ SỞ DỮ LIỆU_II
I. PHẦN LÝ THUYẾT
1. Một số thao tác cơ bản trên SQL Server 2005: Tạo một CSDL mới, Tạo bảng mới, Xóa
bảng, xóa CSDL, Mở một query editor để viết câu lệnh SQL
2. Ngôn ngữ thao tác dữ liệu: Câu lệnh truy vấn (SELECT): Truy vấn cơ bản, Phép hợp
(UNION), Phép nối , Mệnh đề GROUP BY, HAVING, Truy vấn con (Subquery), Thêm, cập
nhật và xóa dữ liệu.
3. Ngôn ngữ định nghĩa dữ liệu: Tạo bảng, Các loại ràng buộc(CHECK, PRIMARY KEY,
FOREIGN KEY), Sửa đổi định nghĩa bảng, Xóa bảng , Khung nhìn - VIEW
4. Thủ tục lưu trữ (Stored procedure)
5. Hàm do người dùng định nghĩa (User Defined Function -UDF)
6. Bẫy sự kiện (Trigger)
7. Các hàm quan trọng trong T-SQL (ISNUMERIC, ROUND, LEFT, RIGHT,
SUBSTRING, LEN, REPLACE, STUFF, LOWER/UPPER, LTRIM/RTRIM, GETDATE,
DAY/ MONTH/ YEAR, DATEPART)

II. PHẦN BÀI TẬP
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:
Tên Thuộc tính
Giải thích
+
Bảng MaKhach
DMHang
để
Mã khách hàng
lưu danh mục TenKhach
hàng hoá gồm
Tên khách hàng


các thuộc tính DiaChi
sau:
Địa khách hàng
Tên
Thuộc
tính
Giải
thích
DienThoai
Điện thoại
+
Bảng MaHang
HoaDonBan
Mã hàng
để lưu danh TenHang
sách các đơn
Tên hàng
hàng gồm các DVT
thuộc tính sau:
Đơn vị tính
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:
Tên Thuộc tính
Giải thích
Yêu cầu
SoHD
Số hoá đơn bán
1/ Hãy tạo cấu MaHang
trúc cơ sở dữ
Mã hàng
liệu trên(Dùng SoLuong
trình soạn thảo
Số lượng bán
Query
Analyzer; Với
DonGia
Đơn giá
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
1


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
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ê
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 đủ).
2


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”.
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
Giải thích
tính
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
Giải thích
tính
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


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).
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.
Bài 4
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.
Bài 5.
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:
4


+

Bảng
lưu thông tin về
gồm các thuộc
+
Bảng
lưu thông tin về
rèn luyện của
gồm các thuộc

Tên Thuộc tính
Malop
Tenlop

Giải thích
Mã lớp
Tên lớp

Tên Thuộc tính
Masv
Tensv
Ngaysinh
Malop
Tên Thuộc tính
Masv
Hocky
Nam
Diem

Giải thích
Mã sinh viên

Tên sinh viên
Ngày sinh
Mã lớp
Giải thích
Mã sinh viên
Học kỳ
Năm học
Điểm rèn luyện

SINHVIEN để
các sinh viên
tính sau:
DIEMRL
để
tình hình điểm
các sinh viên
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 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.

5



×