BÀI TẬP SQLCho các lược đồ quan hệ Quản lý lương nhân viên của một công ty phần mềm như sau: BophanMaBP, TenBP ChucvuMaCV, TenCV NhanvienMaNV, HoNV, TenNV, Luong, Phai, NgaySinh, MaCV
Trang 1BÀI TẬP SQL
Cho các lược đồ quan hệ Quản lý lương nhân viên của một công ty phần mềm như sau:
Bophan(MaBP, TenBP)
Chucvu(MaCV, TenCV)
Nhanvien(MaNV, HoNV, TenNV, Luong, Phai, NgaySinh, MaCV,
MaBP)
Table ChucVu
AP Phụ tá cho lập trình viên
MGR Trưởng phòng
P Lập trình viên
SA Phân tích viên hệ thống
SP Lập trình viên cao cấp
SSA Phân tích viên hệ thống cao cấp
Trang 2Table Bophan
ACCT Kế toán
Table: Nhanvien
MANV HONV TENNV LUONG PHAI NGAYSINH MACV MABP
43000 Trần Thanh Thanh 51000 1 2/19/1967 MGR PERS
45000 Phạm Văn Nhanh 56000 0 8/16/1977 MGR BUDG
54322 Nguyễn Thị Thanh 24000 1 5/25/1976 P ACCT
64905 Trần Thiện Thanh Tùng 28700 0 6/6/1979 SA PERS
65789 Quách Nhân Chương 22000 0 9/5/1980 AP ACCT
Yêu cầu:
1 Tạo Cơ sở dữ liệu tên là QLNV
2 Tạo các table: Bophan, Chucvu, Nhanvien và thiết đặt khóa chính cho các table như mô tả trên
3 Tạo Diagram cho cơ sở dữ liệu trên
Trang 34 Nhập dữ liệu cho các table trên (chú ý đúng thứ tự: Table Bophan, Chucvu, Nhanvien)
5 Xuất dữ liệu của các Table trên sang file QLNV.xls (file Excel)
6 Xuất dữ liệu của các table trên sang file QLNV.mdb (file Access)
7 Tạo một cơ sở dữ liệu mới tên là QLNV1
8 Import dữ liệu từ file QLNV.mdb vừa tạo tên
9 Thiết đặt lại khóa chính và kiểu dữ liệu của một số trường cho phù hợp
10 Thực hiện thao tác Backup và Restore trên cơ sở dữ liệu QLNV
Bài 2:
Giúp sinh viên làm quen với việc thao tác trên cơ sở dữ liệu bằng các câu lệnh SQL đơn giản, các câu truy vấn lồng nhau và sử dụng các hàm kết tập, gộp nhóm, sắp xếp kết quả truy vấn
Dùng ngôn ngữ SQL thực hiện các công việc sau:
1 Tạo bảng NHANVIEN1 với cấu trúc như trên
2 Tạo bảng BOPHAN1 với cấu trúc giống như trên
3 Tạo bảng CHUCVU1 với cấu trúc giống như trên
4 Tìm tất cả các nữ nhân viên có lương trên 30000 USD
5 Liệt kê tất cả các trưởng phòng
6 Liệt kê tất cả các nam lập trình viên thuộc phòng kế toán
7 Tìm những nhân viên có tuổi nhỏ hơn 25
8 Tìm tất cả các lập trình viên và phụ tá lập trình viên
9 Liệt kê tất cả các nam nhân viên có tuổi từ 30 – 40
Trang 410 Liệt kê những lập trình viên của phòng nhân sự.
11 Liệt kê những nhân viên không thuộc bộ phận kế toán
12 Liệt kê tất cả các nữ nhân viên sắp xếp tăng dần theo lương
13 Cho biết lương trung bình của tất cả các nhân viên
14 Cho biết số lượng các chức vụ
15 Liệt kê mức lương thấp nhất, lương cao nhất và trung bình lương theo từng phòng
16 Liệt kê các chức vụ có nữ nhiều hơn 3 người
17 Tăng 10% cho tất cả các nhân viên thuộc bộ phận nhân sự
18 Tìm lương trung bình của các nhân viên sinh vào tháng 6
19 Liệt kê lương cao nhất, thấp nhất và tổng lương theo chức vụ
20 Liệt kê các phòng có ít hơn 7 nhân viên và in ra số lượng nhân viên tương ứng
21 Liệt kê trung bình lương của tất cả các nhân viên thuộc bộ phận Nhân sự
và có tuổi nhỏ hơn 36
22 Tìm những nhân viên có lương cao hơn trung bình lương của bộ phận mà
họ trực thuộc
23 Liệt kê tất cả các nam nhân viên có lương cao hơn trung bình lương của
nữ nhân viên, in ra mức lương tương ứng
24 Liệt kê tất cả các trưởng phòng và các phòng tương ứng
25 Tăng 9% lương cho tất cả các nhân viên không phải là SA hoặc SSA
26 Liệt kê tất cả các nhân viên với tên chức vụ và tên phòng
Trang 527 Tuyển thêm lập trình viên mới với lương khởi điểm là 20000 vào bộ phận nhân sự, thông tin nhân viên: mã NV: 66123, họ tên: Hồ Thanh Xuân, phái:
Nữ, ngày sinh: 18/12/1982
28 Tăng 5% cho nhân viên vừa tuyển
29 Tìm trung bình lương của tất cả các chức vụ Danh sách này phải có cả tên chức vụ và tên phòng
30 Tìm nhân viên có lương cao nhất và không phải trưởng phòng
31 Tìm những phòng có số lượng nhân viên nhiều nhất
32 Tìm những nhân viên thuộc các phòng có trung bình lương cao nhất
33 Tìm nhân viên có tuổi lơn nhất, nhỏ nhất theo từng bộ phận
34 Cho biết trung bình lương của mỗi phòng của tất cả các nhân viên không phải là trưởng phòng và không dưới 30 tuổi
Bài 3:
Giúp sinh viên làm quen với việc thao tác trên cơ sở dữ liệu bằng các câu lệnh SQL đơn giản, các câu truy vấn lồng nhau và sử dụng các hàm kết tập, gộp nhóm, sắp xếp kết quả truy vấn
Giaovien MaGV HoGV TenGV DChi Hocvi
GV001 Vũ Đức Phúc Cần Thơ Cử nhân
GV002 Trần Thái An Bạc Liêu Tiến Sĩ
GV003 Lý Quốc Bình Đồng Tháp Thạc sĩ
GV004 Vũ Thị Ngọc Trân Đồng Tháp Cử nhân
GV005 Lê Phú Quí Tiền Giang Thạc sĩ
Trang 6Giaovien MaGV HoGV TenGV DChi Hocvi
GV006 Nguyễn Quốc Cường Cần Thơ Tiến sĩ
GV007 Hà Phương Đông Vĩnh Long Thạc sĩ
Sinhvien
SV001 Hồ Văn Quang 5/15/1984 Đồng Tháp TH3A
SV002 Nguyễn Văn Thành 2/18/1983 Vĩnh Long 28K10
SV003 Lê Phong Ba 8/25/1982 Tiền Giang 27K10
SV004 Hà Thị Tí 3/29/1984 Cà Mau TH3A
SV005 Trần Ngọc Phụng 10/8/1983 Cần Thơ 28K10
SV006 Lê Phong Bích Nguyệt 7/12/1983 Đồng Tháp TH3A
SV007 Lý Thị Ngọc Điệp 6/19/1984 Trà Vinh TIN06
SV008 Nguyễn Đức Tài 1/17/1984 Vĩnh Long TIN06
SV009 Thái Bình An 9/25/1983 Đồng Tháp 28K10
SV010 Lê Đức Anh Khoa 4/18/1985 Cà Mau TH4A
SV011 Trần Thi Cử 2/17/1986 Đồng Tháp TH5A
SV012 Hồ Thị Út Em 5/19/1985 Tiền Giang TH5A
SV013 Thái Thị bách Hoa 4/12/1984 Bạc Liêu TIN06
Monhoc
TH301 Kỹ thuật lập trình C 4
TH302 Cấu trúc dữ liệu & Giải thuật 5
TH303 Toán rời rạc 4
TH304 Cơ sở dữ liệu 5
TH305 Lập trình hướng đối tượng 4
TH306 Mạng máy tính 3
TH307 Phân tích và Thiết kế hệ thống 4
TH308 Lập trình Internet 4
TH309 Kiến trúc máy tính 2
TH310 Cơ sở dữ liệu nâng cao 4
Trang 8Hoc MaSV MaMH MaGV HK NK Lanthi KQ
SV001 TH301 GV001 1 2005-2006 1 6
SV001 TH302 GV001 1 2005-2006 1 4
SV001 TH302 GV001 1 2005-2006 2 7
SV001 TH303 GV002 2 2006-2007 1 8
SV001 TH304 GV002 2 2006-2007 1 9.5
SV002 TH304 GV002 2 2006-2007 1 10
SV002 TH305 GV003 2 2006-2007 1 6.5
SV002 TH309 GV007 2 2006-2007 1 8.5
SV003 TH304 GV002 2 2006-2007 1 5
SV003 TH305 GV003 1 2005-2006 1 6
SV004 TH304 GV002 2 2005-2006 1 7
SV004 TH305 GV003 1 2005-2006 1 8.5
SV005 TH305 GV003 1 2005-2006 1 7.5
SV005 TH308 GV005 2 2006-2007 1 6.5
SV006 TH307 GV004 2 2006-2007 1 8
SV006 TH308 GV005 1 2006-2007 1 9
SV007 TH307 GV001 2 2006-2007 1 10
SV007 TH308 GV006 1 2006-2007 1 9.5
SV008 TH307 GV004 2 2006-2007 1 10
SV008 TH309 GV007 2 2005-2006 1 7
SV008 TH309 GV007 2 2005-2006 2 8
SV009 TH307 GV002 2 2005-2006 1 7
SV009 TH309 GV001 2 2005-2006 1 3.5
SV013 TH302 GV002 2 2005-2006 1 4.5
SV007 TH302 GV004 2 2006-2007 1 3
SV009 TH309 GV001 2 2005-2006 2 5
SV013 TH302 GV002 2 2005-2006 2 5
CÂU HỎI:
1 In ra mã số, họ tên của các sinh viên có địa chỉ ở Đồng Tháp
Trang 92 In ra thông tin gồm mã số và tên các môn học có số đơn vị học trình từ 3 trở lên
3 In ra thông tin các sinh viên học các môn do các giáo viên ở Cần Thơ giảng dạy
4 In ra danh sách các sinh viên thi lần 2 ở năm học 2006-2007
5 Cộng thêm 1 điểm cho các sinh viên thi lần 1 ở học kỳ 1, năm học 2006-2007
6 Tăng số đơn vị học trình của môn TH308 lên 1
7 Thêm môn học mới “TH311”, “Trí tuệ nhân tạo”, 3 đvht vào bảng môn học
8 In ra thông tin các môn học không được giảng dạy vào học ky 2 năm học 2006-2007
9 In ra các môn học vừa được học bởi các sinh viên lớp TH3A và lớp TH4A 10.In ra thông tin các môn học theo từng học kỳ niên khoá (những môn trùng nhau chỉ giữ lại 1)
11.In ra các sinh viên không phải thi lần 2 ở năm học 2006-2007
12.In ra thông tin các môn học có tổng số lần học của các sinh viên là nhiều nhất và in ra tổng số lần học tương ứng
13.In ra các sinh viên có điểm thi lớn nhất theo từng lớp, theo từng môn
14.In ra trung số lượng môn học của mỗi sinh viên theo từng học kỳ, niên khoá
15.Cho biết sinh viên nào học nhiều môn nhất ở năm học 2006-2007, in ra số lượng học môn cụ thể
16.In thông tin của các sinh viên chưa từng học các môn mà giáo viên Vũ Đức Phúc đã giảng dạy
Trang 1017.In ra thông tin của giáo viên dạy nhiều sinh viên nhất
18.In ra thông tin của môn học có nhiều sinh viên không phải thi lại nhiều nhất
19.In ra điểm trung bình theo từng học kỳ niên khoá của mỗi sinh viên và cho biết sinh viên có điểm trung bình lớn nhất theo từng học kỳ niên khoá
In ra danh sách các sinh viên đạt điều kiện xét học bổng của mỗi học kỳ niên khoá