Professional Documents
Culture Documents
1. Tạo CSDL tên QLSV, connect với CSDL bằng tài khoản SYS.
HD:
- Chạy Database Configuration Assistant:
1
Chạy sqldeveloper.exe
2
- Right Click vào Other User chọn Create User
3
- Nhập User Name: QLSV
- New Password: 123456
- Confirm Password: 123456
- Chọn Apply
- User QLSV đã được tạo ra. Right Click chọn Edit User để chọn các quyền cho
user QLSV
4
- Chọn quyền: Granted Roles; System Privileges
- Quotas:
5
- Tạo new conection:
+ Name: UserStudent
+ UserName: QLSV; Password: 123456
+SID: SV
3. Tạo bảng và nhập dữ liệu cho lược đồ CSDL Sinh viên (SV) như sau:
Khoa
FieldName FieldType FieldSize Ghi chú
MaKhoa Char 4 Mã khoa – Khóa chính
TenKhoa Nvarchar 30 Tên khoa
MonHoc
FieldName FieldType FieldSize Ghi chú
MaMH Char 4 Mã môn học – Khóa chính
TenMH Nvarchar 100 Tên môn học
SoTiet Int Số tiết
SinhVien
FieldName FieldType FieldSize Ghi chú
MaSV Char 8 Mã sinh viên – Khóa chính
HoSV Nvarchar 100 Họ sinh viên
TenSV Nvarchar 50 Tên sinh viên
Phai Nvarchar 50 Phái
NgaySinh DateTime Ngày sinh
NoiSinh Nvarchar 100 Nơi sinh
MaKH Char 4 Mã khoa – Khóa ngoại
6
7
KetQua
FieldName FieldType FieldSize Ghi chú
MaMH Char 4 Mã môn học – Khóa chính
MaSV Char 4 Mã sinh viên – Khóa chính
LanThi Int Lần thi
Diem Decimal (4,2) Điểm thi
Dữ liệu mẫu:
Khoa
MaKhoa TenKhoa
AV Anh văn
CNTT Công nghệ thông tin
TCNH Tài Chính Ngân Hàng
QTKD Quản trị kinh doanh
MonHoc
MaMH TenMH Số tiết
01 Cơ sở dữ liệu 60
02 An toàn thông tin 60
03 Lập trình web 75
04 Hệ thống thông tin quản lý 60
SinhVien
MaSV HoSV TenSV Phai NgaySinh NoiSinh MaKH
10001 Trần Minh Anh Nữ 12/09/2005 Hà Nội QTKD
10002 Hoàng Tú Hải Nam 24/12/2005 Tiền Giang CNTT
10003 Lê Thanh Hoa Nữ 13/2/2005 Mỹ Tho CNTT
10004 Mai Thùy Minh Hạnh Nữ 6/9/2005 Bình Định TCNH
10005 Nguyễn Huy Hoàng Nam 29/3/2005 Huế AV
8
BÀI TẬP THỰC HÀNH 2
Bảng Regions
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
Bảng Countries
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
9
COUNTRY_ID Mã quốc gia Char 2 PK
Bảng Locations
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
Bảng Departments
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
10
lý
Bảng Jobs
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
Bảng Employees
Tên thuộc tính Diễn giải Kiểu dữ Chiều dài Ràng buộc
liệu
11
SALARY Lương Number 8,2 >0
Hướng dẫn:
1. Chạy Database Configuration Asistant tạo 1 database tên là HR (đặt mặt khẩu:
123456)
12
Hoặc sử dụng lệnh trong Query Builder:
--
PROFILE DEFAULT
+ Apply/ OK
13
14
4. Tạo connection với user mới và database HR
15
2. Liệt kê tên (last_name) và lương (salary) của những nhân viên có lương lớn hơn
12000$.
3. Liệt kê tên và lương của những nhân viên có lương thấp hơn 5000$ hoặc lớn hơn
12000$.
4. Cho biết thông tin tên nhân viên (last_name), mã công việc (job_id) , ngày thuê
(hire_date) của những nhân viên được thuê từ ngày 20/02/1998 đến ngày
1/05/1998. Thông tin được hiển thị tăng dần theo ngày thuê.
5. Liệt kê danh sách nhân viên làm việc cho phòng 20 và 50. Thông tin hiển thị gồm:
last_name, department_id, trong đó tên nhân viên được sắp xếp theo thứ tự
alphabe.
16
14. Liệt kê danh sách nhân viên, khoảng thời gian (tính theo tháng) mà nhân viên đã làm
việc trong công ty cho đến nay. Kết quả sắp xếp tăng dần theo số lượng tháng làm
việc. (dung hàm MONTHS_BETWEEN)
15. Thực hiện câu truy vấn cho kết quả theo định dạng sau :
16. Liệt kê tên nhân viên, mức hoa hồng nhân viên đó nhận được. Trường hợp nhân viên
nào không được hưởng hoa hồng thì hiển thị “No commission”. (dùng hàm NVL)
17. Thực hiện câu truy vấn cho kết quả như sau: (dùng hàm DECODE hoặc cấu trúc
CASE…)
JOB_ID GRADE
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
Không thuộc 0
18. Cho biết tên nhân viên, mã phòng, tên phòng của những nhân viên làm việc ở thành
phố Toronto.
19. Liệt kê thông tin nhân viên cùng với người quản lý của nhân viên đó. Kết quả hiển
thị: mã nhân viên, tên nhân viên, mã người quản lý, tên người quản lý.
20. Liệt kê danh sách những nhân viên làm việc cùng phòng.
21. Liệt kê danh sách nhân viên được thuê sau nhân viên “Davies‟.
22. Liệt kê danh sách nhân viên được thuê vào làm trước người quản lý của họ.
23. Cho biết lương thấp nhất, lương cao nhất, lương trung bình, tổng lương của từng loại
công việc.
24. Cho biết mã phòng, tên phòng, số lượng nhân viên của từng phòng ban.
25. Cho biết tổng số nhân viên, tổng nhân viên được thuê từng năm 1995, 1996, 1997,
1998.
17
26. Liệt kê tên, ngày thuê của những nhân viên làm việc cùng phòng với nhân viên
“Zlotkey‟.
27. Liệt kê tên nhân viên, mã phòng ban, mã công việc của những nhân viên làm việc
cho phòng ban đặt tại vị trí (location_id) 1700.
28. Liệt kê danh sách nhân viên có người quản lý tên “King‟.
29. Liệt kê danh sách nhân viên có lương cao hơn mức lương trung bình và làm việc
cùng phòng với nhân viên có tên kết thúc bởi “n‟.
30. Liệt kê danh sách mã phòng ban, tên phòng ban có ít hơn 3 nhân viên.
31. Cho biết phòng ban nào có đông nhân viên nhất, phòng ban nào có ít nhân viên nhất.
32. Liệt kê danh sách nhân viên được thuê vào ngày có số lượng nhân viên được thuê
đông nhất. (dùng hàm TO_CHAR(hire_date, “Day‟)).
33. Liệt kê thông tin 3 nhân viên có lương cao nhất.
34. Liệt kê danh sách nhân viên đang làm việc ở tiểu bang “California‟.
35. Cập nhật tên của nhân viên có mã 3 thành “Drexler‟.
36. Liệt kê danh sách nhân viên có mức lương thấp hơn mức lương trung bình của phòng
ban mà nhân viên đó làm việc.
37. Tăng thêm 100$ cho những nhân viên có lương nhỏ hơn 900$.
38. Xóa phòng ban 500.
39. Xóa phòng ban nào chưa có nhân viên
40. Tạo view chứa thông tin của những quốc gia ở vùng Asia.
41. Tạo view chứa danh sách nhân viên không có người quản lý.
42. Tạo view chứa danh sách phòng ban chưa có nhân viên.
43. Tạo view chứa mã nhân viên, tên nhân viên, tên phòng, mã công việc, số năm làm
việc, lương của những nhân viên có mức lương lớn hơn mức lương trung bình của
công ty.
Lệnh CREATE PROCEDURE:
44. Tạo thủ tục có tên là dept_info cho biết thông tin về phòng ban với tham số truyền
vào là mã phòng ban.
18
45. Tạo thủ tục có tên là add_job thêm một công việc mới với tham số truyền vào là
mã công việc, tên công việc.
46. Tạo thủ tục có tên là update_comm cập nhật hoa hồng cho nhân viên tăng thêm
5% hoa hồng ban đầu, tham số truyền vào là mã nhân viên.
47. Tạo thủ tục có tên là add_emp thêm một nhân viên mới với tất cả các giá trị là
tham số truyền vào.
48. Tạo thủ tục có tên là delete_emp xóa một nhân viên mới với mã nhân viên là tham
số truyền vào.
49. Tạo thủ tục có tên find_emp tìm kiếm nhân viên có lương lớn hơn mức lương
thấp nhất (MIN_SALARY) và nhỏ hơn mức lương cao nhất (MAX_SALARY).
50. Tạo thủ tục có tên update_comm cập nhật lương của nhân viên với điều kiện nhân
viên nào làm việc trên 2 năm thì tăng lương thêm 200$, nhân viên làm việc trên 1
năm và dưới 2 năm thì tăng lương thêm 100$, nhân viên nào làm việc đúng 1 năm
thì tăng 50$, còn lại không tăng.
51. Tạo thủ tục có tên job_his cho biết lịch sử làm việc của nhân viên với tham số
truyền vào là mã nhân viên.
19
Lệnh CREATE PACKAGE:
57. Tạo package có tên emp_info chứa thủ tục salary_table cho biết thông tin về lương
của nhân viên và một hàm có tên sum_salary tính tổng lương của các phòng ban
với mã phòng ban là tham số truyền vào.
58. Tạo package có tên employer chứa thủ tục employ_info cho biết mã nhân viên,
tên nhân viên, lương, hoa hồng, ngày thuê, tên người quản lý, tên công việc, tên
phòng ban với mã nhân viên là tham số truyền vào.
59. Tạo package có tên là job_pack chứa 3 thủ tục tên là add_job để thêm công việc,
update_job để cập nhật công việc, del_job để xóa công việc và 1 hàm có tên q_job
để tìm kiếm tên công việc theo mã.
60. Tạo package có tên emp_pack chứa một thủ tục tên new_emp thêm một nhân viên
mới với tất cả các tham số truyền vào và một hàm tên valid_deptid kiểm tra mã
phòng ban hợp lệ , khi mã phòng hợp lệ mới được phép thêm nhân viên.
61. Cài đặt ràng buộc toàn vẹn ngày thuê nhân viên phải nhỏ hơn hoặc bằng ngày
hiện hành khi thêm mới hoặc cập nhật thông tin về nhân viên.
62. Cài đặt ràng buộc toàn vẹn min_salary luôn nhỏ hơn max_salary khi thêm mới
hoặc cập nhật thông tin bảng công việc
63. Cài đặt ràng buộc toàn vẹn ngày bắt đầu luôn nhỏ hơn hoặc bằng ngày kết thúc khi
thêm mới hoặc cập nhật thông tin bảng job_history.
64. Cài đặt ràng buộc toàn vẹn lương và hoa hồng của nhân viên phải tăng chứ không
giảm khi cập nhật nhân viên.
20
68. Tạo user có tên là tên sinh viên, mật khẩu do sinh viên tự đặt với tablespace và
temporary tablespace vừa tạo.
69. Cấp quyền truy xuất tài nguyên (resource) cho user vừa tạo.
70. Cấp quyền cho phiên làm việc (session) cho user vừa tạo.
71. Cấp quyền tạo bảng (table) cho user vừa tạo.
72. Cấp quyền tạo khung nhìn (view) cho user vừa tạo.
73. Cấp quyền Select, Insert, Update, Delete trên bảng Employees cho user vừa tạo.
74. Cấp quyền Select, Insert, Update, Delete trên bảng Departments cho user vừa tạo.
75. Cấp quyền Select chỉ với các thuộc tính job_id, job_title trên bảng Jobs cho user
vừa tạo.
76. Login vào csdl HR với user vừa tạo.
77. Truy vấn các bảng trong csdl HR và cho nhận xét.
78. Cho biết các user hiện có từ view dba_users.
79. Đăng nhập với quyền hệ thống và tao user có tên là mã sinh viên, mật khẩu là tên
sinh viên
a. Thay đổi mật khẩu của user.
b. Cấp quyền đăng nhập csdl
c. Truy xuất view v$session để xem phiên làm việc.
d. Tao bảng phòng ban gồm 2 thuộc tính: mã phòng ban, tên phòng ban và cho
nhận xét câu c.
e. Cấp phát hạn ngạch (quota) 20M cho user vừa tao.
f. Tao lại bảng Phòng ban và cho nhận xét.
g. Cấp phát không gian giới hạn tablespace cho user vừa tao
h. Cấp phát tài nguyên cho user
i. Cấp phát phiên làm việc cho user
j. Cấp quyền đăng nhập OEM
80. Truy xuất vào view hệ thống dba_profiles.
81. Tao profile giới hạn việc truy xuất tài nguyên và cấp cho user vừa tạo:
a. Thời gian kết nối 120s
b. Số lần thất bại khi cho phép kết nối là 3.
21
c. Thời gian chờ kết nối là 60s
d. Phiên làm việc cho mỗi user là 2
22
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaCN Mã chi nhánh Number 2 NOT NULL
TenCN Tên chi nhánh Varchar2 50 NOT NULL
DiaChiCN Địa chỉ chi nhánh Varchar2 100 NULL
DienThoaiCN Điện thoại chi Varchar2 12 NULL
nhánh
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaPB Mã phòng ban Number 2 NOT NULL
TenPB Tên phòng ban Varchar2 50 NOT NULL
MaCN Mã chi nhánh Number 2 NULL
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaCV Mã chức vụ Number 2 NOT NULL
TenCV Tên chức vụ Varchar2 25 NOT NULL
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaNV Mã nhân viên Number 2 NOT NULL
HoLot Họ lót Varchar2 35 NOT NULL
TenNV Tên nhân viên Varchar2 15 NOT NULL
NgayVaoLam Ngày vào làm Date NULL
Luong Lương Number 11.2 NULL
HoaHong Hoa hồng Number 4.2 NULL
23
MaNQL Mã người quản Number 2 NULL
lý
MaCV Mã chức vụ Number 2 NULL
MaPB Mã phòng ban Number 2 NULL
(5) Bảng Kho hàng (KhoHang)
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaKho Mã kho hàng Number 2 NOT NULL
TenKho Tên kho hàng Varchar2 50 NOT NULL
DiaChiKho Địa chỉ kho Varchar2 100 NULL
DienThoaiKho Điện thoại kho Varchar2 12 NULL
MaNV Mã nhân viên Number 2 NULL
MaCN Mã chi nhánh Number 2 NULL
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaQG Mã quốc gia Number 4 NOT NULL
TenQG Tên quốc gia Varchar2 50 NOT NULL
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaTinh Mã tỉnh Number 5 NOT NULL
TenTinh Tên tỉnh Varchar2 50 NOT NULL
MaQG Mã quốc gia Number 4 NULL
24
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaKH Mã khách hàng Number 7 NOT NULL
TenKH Tên khách hàng Varchar2 50 NOT NULL
DienThoaiKH Điện thoại Varchar2 12 NULL
khách hàng
DiaChiKH Địa chỉ khách Varchar2 200 NULL
hàng
MucDoHaiLong Mức độ hài lòng Varchar2 15 NULL
GhiChu Ghi chú Varchar2 255 NULL
MaNV Mã nhân viên Number 2 NULL
MaTinh Mã tỉnh/ thành Number 5 NULL
phố
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaDVT Mã đơn vị tính Number 2 NOT NULL
TenDVT Tên đơn vị tính Varchar2 20 NOT NULL
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaSP Mã sản phẩm Number 7 NOT NULL
TenSP Tên sản phẩm Varchar2 50 NOT NULL
QuyCach Quy cách Varchar2 255 NULL
GiaBan Giá bán Number 11.2 NULL
MaDVT Mã đơn vị tính Number 2 NULL
25
Tên thuộc tính Diễn giải Kiểu dữ liệu Chiều dài Ghi chú
MaSP Mã sản phẩm Number 7 NOT NULL
MaKho Mã kho Number 2 NOT NULL
NgayKiem Ngày kiểm Date NOT NULL
SoLuongTon Số lượng tồn Number 9 NOT NULL
TonDK Tồn ít nhất Number 9 NOT NULL
TonCK Tồn nhiều nhất Number 9 NULL
NhapTK Nhập trong kỳ Number 9 NULL
XuatTK Xuất trong kỳ Number 9 NULL
GhiChu GhiChu Varchar2 255 NULL
26
SoLuong Số lượng đặt Number 9 NOT NULL
Thực hành các câu hỏi sau bằng ngôn ngữ truy vấn có cấu trúc PL/SQL:
1. Lệnh Create, Alter, Drop
1.1. Sử dụng câu lệnh Create để tạo các bảng đã mô tả ở phần trên.
1.2. Sử dụng lệnh Alter để thêm các ràng buộc khóa ngoại cho các bảng đã mô tả ở
phần trên.
1.3. Sử dụng lệnh Alter và Drop để xóa các ràng buộc tham chiếu đã tạo và xóa bảng
ChiNhanh, DonViTinh.
1.4. Tạo lại các bảng và ràng buộc vừa xóa ở câu 1.3.
1.5. Tạo index trên thuộc tính tên khách hàng và tên sản phẩm.
1.6. Tạo sequence cho các bảng vừa tạo.
1.7. Tạo ràng buộc trên thuộc tính Lương của nhân viên phải lớn hơn 0.
1.8. Nhập dữ liệu cho các bảng vừa tạo.
2. Lệnh Select
2.1. Cho biết tất cả thông tin của khách hàng.
2.2. Cho biết mã khách hàng, tên khách hàng và địa chỉ của mỗi khách hàng.
2.3. Cho biết tên và điện thoại của mỗi khách hàng với số điện thoại xuất hiện đầu
tiên.
2.4. Cho biết tên và ngày vào làm việc của tất cả các nhân viên vào làm việc năm
1991.
2.5. Cho biết họ lót và tên của tất cả các nhân viên có ký tự thứ hai là ‘a’.
2.6. Cho biết mã nhân viên, tên nhân viên, lương nhân viên và mã phòng ban của các
nhân viên có mức lương lớn hơn 7.000.000đ làm việc ở phòng ban có mã phòng
ban là 44 hoặc 42.
2.7. Cho biết tên nhân viên, mã chức vụ, lương nhân viên có bí danh là ‘Lương tháng’.
2.8. Cho biết tất cả các thông tin của nhân viên mà lương năm của nhân viên là
84.000.000đ.
2.9. Cho biết mã nhân viên, tên nhân viên, lương năm của nhân viên có bí danh là
‘Lương năm’của tất cả nhân viên có lương lớn hơn 5.000.000 và năm vào làm
việc là năm 1990.
2.10. Cho biết tên khách hàng, mã khách hàng, mức độ hài lòng của khách hàng
được bán hàng bởi nhân viên có mã nhân viên là 11.
2.11. Cho biết tên khách hàng, mã khách hàng, mức độ hài lòng của khách hàng được
bán hàng bởi nhân viên có mã nhân viên là 11.
27
2.12. Cho biết tên khách hàng có bí danh là ‘Cust’, mã khách hàng, mức độ hài lòng
của khách hàng được bán hàng bởi nhân viên có mã số là 11, mã khách hàng sắp
xếp theo thứ tự tăng dần.
2.13. Cho biết họ lót và tên của nhân viên có mã nhân viên là 23.
2.14. Cho biết họ lót, tên nhân viên, mã phòng ban của nhân viên mà phòng ban đó có
mã phòng ban là 10 hoặc mã phòng ban là 50, sắp theo tăng dần theo tên nhân
viên. Họ lót và tên nhân viên được ghép lại với nhau có bí danh là ‘Employees’.
2.15. Cho biết tất cả thông tin của nhân viên mà tên nhân viên có chứa ký tự ‘h’.
2.16. Cho biết họ lót, tên nhân viên và ngày vào làm việc của tất cả các nhân viên mà
ngày vào làm việc nằm trong khoảng ’14-05-1990’ đến ngày ’26-05-1991’. Sắp
xếp tăng dần theo ngày vào làm việc của nhân viên.
2.17. Cho biết tên và lương của tất cả nhân viên mà lương không nằm trong khoảng từ
7.000.000đ đến 8.500.000đ.
2.18. Cho biết tên nhân viên, lương nhân viên mà lương nhân viên lớn hơn 7.500.000đ
và mã phòng ban là 31, 42 hoặc 50.
2.19. Cho biết họ lót và tên nhân viên mà không có người quản lý.
2.20. Cho biết tên của sản phẩm bắt đầu bằng ‘Int’.
2.21. Cho biết tên sản phẩm và mô tả về sản phẩm có chứa ‘EPSON’.
2.22. Cho biết mã nhân viên, tên nhân viên và lương nhân viên tăng 15% so với lương
hiện hành.
2.23. Cho biết tên nhân viên và tên chức vụ của nhân viên.
2.24. Cho biết tên sản phẩm mà tên sản phẩm đó có chứa ‘Max’.
2.25. Cho biết tên nhân viên, tên chi nhánh phụ trách và phần trăm hoa hồng của tất
cả nhân viên có hưởng hoa hồng.
2.26. Cho biết tên nhân viên, mã phòng ban và tên phòng ban của tất cả nhân viên.
2.27. Cho biết tên nhân viên, tên phòng ban và tên chi nhánh phụ trách của tất cả các
nhân viên có hưởng hoa hồng.
2.28. Cho biết tên nhân viên và tên phòng ban mà tên nhân viên là ‘Linh’.
2.29. Cho biết mã sản phẩm, tên sản phẩm, số lượng đặt của của những đơn hàng có
mã đơn hàng là 101.
2.30. Cho biết mã khách hàng và tên của nhân viên đại diện bán hàng. Sắp xếp thứ tự
tăng dần theo tên nhân viên.
2.31. Cho biết mã khách hàng, tên khách hàng, mã đơn hàng của những đơn đặt hàng
có tổng trị giá đơn hàng lớn hơn 100.000.000đ.
2.32. Cho biết tên nhân viên ngắn nhất và tên nhân viên dài nhất.
2.33. Cho biết phần trăm hoa hồng của nhân viên ở phòng ban có mã phòng là 31.
28
2.34. Cho biết số lượng nhân viên ở phòng ban có mã phòng là 31.
2.35. Cho biết mã nhân viên, tên nhân viên, tên chức vụ và lương cao nhất của nhân
viên.
2.36. Cho biết mã phòng ban, tên phòng ban, số nhân viên của mỗi phòng ban.
2.37. Cho biết mã phòng ban và tổng lương tháng của mỗi phòng ban với điều kiện
tổng lương của mỗi phòng ban phải lớn hơn 5.500.000đ. Sắp xếp theo tăng dần
của tổng lương.
2.38. Cho biết những dơn hàng có số lượng đặt hàng nhiều nhất. Thông tin hiển thị
gồm: mã đơn hàng, ngày đặt hàng, mã sản phẩm, tên sản phẩm, số lượng đặt
nhiều nhất.
2.39. Cho biết số lượng đặt hàng của đơn hàng ít nhất. Thông tin hiển thị gồm: mã đơn
hàng, ngày đặt hàng, mã sản phẩm, tên sản phẩm, số lượng đặt ít nhất.
2.40. Cho biết mã nhân viên, tên nhân viên, tên chức vụ, lương cao nhất và lương
thấp nhất của mỗi nhân viên.
2.41. Cho biết số phòng quản lý nhân viên.
2.42. Cho biết mã đơn hàng, mã sản phẩm, số lượng hàng đặt của mỗi đơn hàng, bí
danh của cột số lượng đặt là ‘Number of Items’.
2.43. Cho biết mã nhân viên, tên nhân viên và lương thấp nhất của nhân viên với điều
kiện lương thấp nhất nhỏ hơn 5.000.000đ. Sắp xếp giảm dần theo lương thấp
nhất của nhân viên.
2.44. Cho biết khoảng cách khác nhau giữa lương cao nhất và lương thấp nhất là bao
nhiêu?
2.45. Cho biết mã chi nhánh phụ trách, tên chi nhánh và số phòng ban cho mỗi chi
nhánh.
2.46. Cho biết mã đơn hàng, tổng số lượng hàng đặt cho mỗi đơn hàng với điều kiện
tổng trị giá đơn hàng đó lớn hơn 30.000.000đ.
2.47. Cho biết mã khách hàng và số đơn đặt hàng cho mỗi khách hàng.
2.48. Cho biết mã nhân viên, tên nhân viên, tên khách hàng kể cả những nhân viên
không đại diện bán hàng.
2.49. Cho biết mã nhân viên, tên nhân viên, tên khách hàng kể cả những khách hàng
không có nhân viên đại diện bán hàng.
2.50. Cho biết họ nhân viên, tên nhân viên, ngày vào làm việc của tất cả các nhân viên
ở trong phòng ban có tên nhân viên là ‘Hà’.
2.51. Cho biết mã nhân viên, họ lót, tên của tất cả nhân viên có lương lớn hơn lương
trung bình của cc nhn vin lm việc ở phịng ban cĩ m phịng l 41.
2.52. Cho biết tên phòng ban, mã phòng ban và tên chức vụ của tất cả nhân viên phụ
trách chi nhánh 1 hoặc chi nhánh 2.
29
2.53. Cho biết tên và lương của tất cả nhân viên mà phải báo cáo cho ‘Võ Duy Anh’.
2.54. Cho biết mã nhân viên và tên của tất cả các nhân viên có lương lớn hơn lương
trung bình của nhân viên mà tên nhân viên có chứa ký tự ‘t’.
2.55. Cho biết mã khách hàng, tên khách hàng, mức độ hài lòng của khách hàng, tên
nhân viên bán hàng cho tất cả các khách hàng ở trong chi nhánh ‘Hà Nội’ hoặc
tên nhân viên bán hàng là ‘Hương’.
2.56. Cho biết tên sản phẩm và mô tả sản phẩm của bất kỳ sản phẩm nào mà không có
xuất hiện trong đơn đặt hàng trong tháng 9 năm 2007.
2.57. Cho biết tên khách hàng và mức độ hài lòng của tất cả khách hàng có người đại
diện bán hàng là ‘Út Hoài’.
2.58. Cho biết mã sản phẩm, tên sản phẩm, mô tả của những sản phẩm có giá bán do
người dùng nhập vào từ bàn phím.
2.59. Cho biết thông tin về kho hàng với tên kho do người dùng nhập vào từ bàn phím.
2.60. Cho biết mã sản phẩm, tên sản phẩm, mã đơn hàng, tổng tiền của đơn hàng, ngày
đặt hàng, ngày giao hàng của những khách hàng có mã nhân viên bán hàng do
người dùng nhập vào từ bàn phím.
2.61. Cho biết mã sản phẩm, tên sản phẩm, mã đơn hàng, hình thức thanh toán, mức
độ hài lòng của những khách hàng có mã đơn hàng do người dùng nhập vào từ
bàn phím.
3. Lệnh Insert
3.1. Thêm vào bảng phòng ban một phòng ban mới có mã phòng 11, tên phòng là
‘Marketing’, mã chi nhánh là 2.
3.2. Thêm vào bảng phòng ban một phòng ban mới có mã phòng là 37, tên phòng là
‘Quản trị mạng'
3.3. Thêm vào bảng phòng ban một phòng ban mới có mã phòng là 54, tên phòng là
‘Vật tư’.
3.4. Thêm vào bảng nhân viên một nhân viên mới có mã nhân viên là 201, họ và tên
nhân viên là ‘Albert Jones’, mã phòng ban là 54.
3.5. Thêm vào bảng nhân viên một nhân viên mới có mã nhân viên là 202, họ và tên
nhân viên là ‘Hary Chin’, mã phòng ban là 75.
3.6. Thêm vào bảng nhân viên một nhân viên mới có mã nhân viên là 203, họ và tên
nhân viên là ‘Rey Guiliani’, mã phòng ban là 37.
3.7. Thêm vào bảng chi nhánh một chi nhánh mới có mã chi nhánh là 8, tên chi
nhánh là ‘Đồng Tháp’.
3.8. Thêm vào bảng kho hàng với điều kiện tất cả các thông tin về kho hàng do người
dùng nhập vào từ bàn phím.
4. Lệnh Update
4.1. Chuyển nhân viên có mã nhân viên là 2 sang làm việc ở phòng ban có mã phòng
là 35 và cập nhật lại lương là 8.500.000đ.
30
4.2. Cập nhật lại phòng ban có tên phòng là ‘Vật tư’ thành phòng ban có tên phòng là
‘Sản xuất’.
4.3. Cập nhật tên nhân viên có mã nhân viên là 202 thành ‘Korsgaard’.
4.4. Truy vấn để xem kết quả nhân viên có mã 202.
4.5. Tăng lương của các nhân viên có chức vụ ‘Thư ký kho’ thêm 1.000.000đ.
5. Lệnh Delete
5.1. Xóa nhân viên có tên nhân viên là ‘Albert Jones’.
5.2. Xóa nhân viên có mã số là 202.
6. Lệnh Grant
6.1Tạo không gian bảng (tablespace) có kích thước 100M.
6.2 Tạo không gian bảng tạm (temporary tablespace) có kích thước 50M.
6.3 Tạo rollback segment ro1ora để truy xuất đồng thời cho tablespace vừa tạo.
6.4Tạo user có tên là tên sinh viên, mật khẩu do sinh viên tự đặt với tablespace và
temporary tablespace vừa tạo.
6.5 Cấp quyền truy xuất tài nguyên (resource) cho user vừa tạo.
6.6 Cấp quyền cho phiên làm việc (session) cho user vừa tạo.
6.7 Cấp quyền tạo bảng (table) cho user vừa tạo.
6.8 Cấp quyền tạo khung nhìn (view) cho user vừa tạo.
6.9 Cấp quyền Select, Insert, Update, Delete trên bảng NhanVien cho user vừa tạo.
6.10 Cấp quyền Select, Insert, Update trên bảng SanPham cho user vừa tạo.
6.11 Cấp quyền Select, Insert trên bảng ChucVu cho user vừa tạo.
6.12 Cấp quyền Select, Insert, Delete trên bảng PhongBan cho user vừa tạo.
6.13 Cấp quyền upadte chỉ với các thuộc tính TenKH, DiaChi, DienThoai trên bảng
KhachHang cho user vừa tạo.
6.14 Login vào cơ sở dữ liệu BanHang với user vừa tạo.
6.15 Truy vấn trên bảng NhanVien, DonHang, CTDonHang, SanPham, KhachHang
và cho nhận xét.
7. Lệnh Revoke
7.1Hủy các quyền Select trên bảng SanPham.
7.2Hủy các quyền Select, Delete trên bảng PhongBan.
7.3Login vào cơ sở dữ liệu BanHang với user vừa tạo và truy xuất vào bảng
SanPham, PhongBan và cho nhận xét.
7.4Hủy user vừa tạo.
8. Lệnh Create View
8.1 Tạo view có tên là product_info cho biết mã sản phẩm, tên sản phẩm, quy cách,
tên đơn vị tính, giá bán, tên kho, số lượng tồn của tất cả các sản phẩm.
8.2 Tạo hoặc thay thế view có tên là cust_info cho biết tên khách hàng, ngày đặt
hàng, số lượng đặt, tổng trị giá của những đơn hàng có ngày giao hàng nhỏ hơn
26/09/07.
31
8.3 Tạo hoặc thay thế view có tên là emp_info cho biết mã nhân viên, họ lót, tên
nhân viên, lương, hoa hồng của những nhân viên ở phòng ban 44 hoặc 41 và có
hưởng hoa hồng.
8.4 Tạo hoặc thay thế view có tên là info_emp cho biết mã nhân viên, họ lót, tên
nhân viên, tên phòng ban, tên chức vụ, lương của mỗi nhân viên. Sắp xếp giảm
dần theo tên nhân viên.
8.5 Tạo hoặc thay thế view có tên là info_dept cho biết mã phòng ban, tên phòng
ban, tổng lương của mỗi phòng ban với điều kiện tổng lương của phòng ban lớn
hơn hoặc lương trung bình của phòng ban có mã phòng là 41 hoặc 44. Sắp xếp
giảm dần theo tổng lương của phòng ban.
33
34