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...12 43.. Tạo thủ tục
Trang 1BỘ CÔNG THƯƠNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP
KHOA CÔNG NGHỆ THÔNG TIN
-o0o -BÁO CÁO THỰC TẬP HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Trang 2LỜI CẢM ƠN
Để hoàn thành được Báo cáo Thực tập Hệ quản trị CSDL Oracle , trước hết nhóm em xin gửi lời cảm ơn chân thành nhất đến các Cán bộ Giảng viên Khoa Công nghệ thông tin, các cán bộ giảng viên trong Trường Đại học UNETI đã tận tình giảng dạy và truyền đạt kiến thức cho nhóm em.
Nhóm em cũng xin gửi lời cảm ơn tới Ths.Trần Thanh Đại
đã luôn quan tâm và tạo điều kiện giúp nhóm em hoàn thành Báo cáo Thực tập Hệ quản trị CSDL Oracle này Ngoài ra, nhóm cũng xin cảm ơn những người bạn đã giúp đỡ và trao đổi thêm nhiều thông tin về đề tài trong quá trình thực hiện đề tài này.
Do kiến thức còn hạn chế, bài báo cáo của chúng em không tránh khỏi những sai sót Rất mong nhận được những lời góp ý từ quý Thầy để Báo cáo Thực tập Hệ quản trị CSDL Oracle của nhóm em được hoàn thiện và giúp nhóm có thêm những kinh nghiệm quý báu.
Cuối cùng, chúng em xin kính chúc các thầy cô giảng viên UNETI nói chung, các thầy cô khoa Công nghệ thông tin nói riêng dồi dào sức khỏe và thành công trong sự nghiệp cao quý.
Trang 3Mục Lục
26 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 4
27 Liệt kê danh sách nhân viên có người quản lý tên “King” 4
28 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” 5
30 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 6
31 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‟)) 6
32 Liệt kê thông tin 3 nhân viên có lương cao nhất 7
33 Liệt kê danh sách nhân viên đang làm việc ở tiểu bang “California” 7
34 Cập nhật tên của nhân viên có mã 3 thành “Drexler” 7
35 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 8
36 Tăng thêm 100$ cho những nhân viên có lương nhỏ hơn 900$ 9
37 Xóa phòng ban 500 9
38 Xóa phòng ban nào chưa có nhân viên 10
39 Tạo view chứa thông tin của những quốc gia ở vùng Asia 10
40 Tạo view chứa danh sách nhân viên không có người quản lý 11
41 Tạo view chứa danh sách phòng ban chưa có nhân viên 11
42 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 12
43 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 12
44 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 13
45 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 13
46 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 14
47 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 14
48 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) 15
Trang 449 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ệctrê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 15
50 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 16
51 Tạo hàm có tên sum_salary tính tổng lương của từng phòng ban với tham số truyền vào là mã phòng ban 16
52 Tạo hàm có tên name_con cho biết tên quốc gia với mã quốc gia là tham số truyền vào 17
53 Tạo hàm có tên là annual_comp tính thu nhập hàng năm với tham số truyền vào là lương tháng và hoa hồng (lương hàng năm = lương tháng * 12 + (hoa hồng * lương tháng*12)) 17
54 Tạo hàm có tên avg_salary tính lương trung bình của từng phòng ban với tham số truyền vào là mã phòng ban 18
55 Tạo hàm có tên là time_work tính số tháng làm việc của nhân viên, với tham
số truyền vào là mã nhân viên 18
56 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 19
57 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 20
58 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ênq_job để tìm kiếm tên công việc theo mã 20
59 Tạo package có tên emp_pack chứa một thủ tục tên new_emp thêm một nhânviê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 21
60 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 21
61 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 22
62 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 22
63 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 23
64 Tạo không gian bảng (tablespace) có kích thước 100M 23
65 Tạo không gian bảng tạm (temporary tablespace) có kích thước 50M 24
66 Tạo rollback segment rolora để truy xuất đồng thời cho table space vừa tạo 24
67 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 25
Trang 568 Cấp quyền truy xuất tài nguyên (resource) cho user vừa tạo 26
69 Cấp quyền cho phiên làm việc (session) cho user vừa tạo 27
70 Cấp quyền tạo bảng (table) cho user vừa tạo 28
Bài làm
26 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.
Trang 627 Liệt kê danh sách nhân viên có người quản lý tên “King”
28 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”
Trang 729 Liệt kê danh sách mã phòng ban, tên phòng ban có ít hơn 3 nhân viên
30 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.
31 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‟)).
Trang 832 Liệt kê thông tin 3 nhân viên có lương cao nhất.
Trang 933 Liệt kê danh sách nhân viên đang làm việc ở tiểu bang
“California”
34 Cập nhật tên của nhân viên có mã 3 thành “Drexler”
Trang 1035 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
36 Tăng thêm 100$ cho những nhân viên có lương nhỏ hơn 900$.
Trang 1137 Xóa phòng ban 500
38 Xóa phòng ban nào chưa có nhân viên
Trang 1239 Tạo view chứa thông tin của những quốc gia ở vùng Asia
40 Tạo view chứa danh sách nhân viên không có người quản lý.
Trang 1341 Tạo view chứa danh sách phòng ban chưa có nhân viên
42 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.
Trang 1443 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
44 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.
Trang 1545 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.
46 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.
Trang 1647 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
48 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).
Trang 1749 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.
Trang 1850 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
51 Tạo hàm có tên sum_salary tính tổng lương của từng phòng ban với tham số truyền vào là mã phòng ban.
Trang 1952 Tạo hàm có tên name_con cho biết tên quốc gia với mã quốc gia là tham số truyền vào
53 Tạo hàm có tên là annual_comp tính thu nhập hàng năm với tham số truyền vào là lương tháng và hoa hồng (lương hàng năm = lương tháng * 12 + (hoa hồng * lương tháng*12))
Trang 2054 Tạo hàm có tên avg_salary tính lương trung bình của từng phòng ban với tham số truyền vào là mã phòng ban
55 Tạo hàm có tên là time_work tính số tháng làm việc của nhân viên, với tham số truyền vào là mã nhân viên
Trang 2156 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
Trang 2257 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.
58 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ã.
Trang 2359 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.
60 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.
Trang 2461 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
62 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.
Trang 2563 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
64 Tạo không gian bảng (tablespace) có kích thước 100M
Trang 2665 Tạo không gian bảng tạm (temporary tablespace) có kích thước 50M
66 Tạo rollback segment rolora để truy xuất đồng thời cho table space vừa tạo
Trang 2767 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.
Trang 2868 Cấp quyền truy xuất tài nguyên (resource) cho user vừa tạo.
Trang 2969 Cấp quyền cho phiên làm việc (session) cho user vừa tạo.
Trang 3070 Cấp quyền tạo bảng (table) cho user vừa tạo.