Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu OracleCÁC THUẬT NGỮ VIET TAT Ứng dụng Web Phần mềm chạy trên nên web Menu Danh mục chính của phần mềm Form Giao diện
Trang 1Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
CHƯƠNG 1: TONG QUAN VE DE TAL - 5< 5< s<sseevssesssersssesse 3
1.1 GIỚI THIỆU CƠ SỞ THUC T:.ẬP 2-2 se ©se+xe£xeerserssexerrseree 3
1.2 GIỚI THIEU DE TÀI 2-2 + +t£E£EeEEsEEsExsEeetterrrrrrrsrrsrrsrrerree 4
1.2.1 Lý do chọn để tài ¿- 2-52 z+ESEeEESEEEEEE 1211211212171 11 11111 cyeU 51.2.2 Mục tiêu nghiên cứu đề tài 2¿225++SxccEt2E2EEeEEerkrrreerxerrrred 61.2.3 Đối tượng và phạm vi nghiên cứu đề tài +: 5+ s+cs+szzse+: 7
1.2.4 Ý nghĩa của đề tài -5 cSs+ ke E2 2E1271211211211 11111 Exctyet 71.3 UNG DUNG WEB 0 000NNNợNợNậỹợgggn ,ÔỎ 8
1.3.1 Tổng quan về ứng dụng Web - 25s 2k2 2 2 11 EeEerrrrei 8
1.3.2 Phương thức hoạt động - - - 5 + HT HH HH tr9
14 HE THONG QUAN LÝ NHÂN SỤ 2s ccscescesrersrrersrrsresre 10
1.4.1 Hệ thống Quản lý thông tin nhân sự là gì -2- 5-5 s52 10
1.4.2 Tình hình ứng dụng công nghệ thông tin 5-5555 «<< 10
1.4.3 Môi trường hoạt động của hệ thống quản lý nhân sự 111.4.4 Vai trò của hệ thong ceccececcccesesessesesesessessessessessesseaeseeseeseesessessees 12
1.4.5 Yêu cầu của hệ thống quản lý nhân sự .-. - 2-2522 13
CHƯƠNG 2: NGHIÊN CỨU HE QUAN TRI CƠ SO DU LIEU ORACLE 14
2.1 ORACLE DATABASE T\C << << << nh ng ngư 14
GVHD: ThS Luu Minh Tuấn i SVTH: Nguyễn Cao Son
Trang 2Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
2.1.1 Giới thiệu Oracle Database l2 - -c<c- S22 sccesssee 14
2.1.3 Kiến trúc cơ sở dit liệu OracÌe - + +3 S+< sesseeeeeres 17
2.1.4 Các công cụ thao tác với cơ sở dữ liệu Oracle - -‹ 23 2.2 JAVA DEVELOPMENT KIT << << cưng m 28 2.3 WEBLOGIC SERVERS TC -< << 5< << sExkK k th nưe 29 2.4 ORACLE FORMS AND REPORTS I2C << << s=<=ssesseese 31
2.4.1 Oracle [FOTINS - 5 G1 309 90 90 ng ng nến 31 2.4.2 Oracle l€DOTS - HT TH HH He 34
CHUONG 3: UNG DỤNG XÂY DUNG PHAN MEM QUAN LÝ NHÂN SỰ SỬ
DỤNG CƠ SỞ DU LIEU OIRACL/E - 5s se©ssssevseSseseessessersersser 37
3.1 KHAO SÁT HOAT DONG NGHIỆP VỤ -s-©cs©cssccse©seee 37
3.1.1 Sơ đồ hoạt động nghiỆp vụ - 2: 5c ©52+cs+£EvzEczEzrxerxerrres 37
3.1.3 Các báo cáo thu thập Gu 0 ce eeceeceeseeeeeeeeeeeceeeeeeeeeeeeeseeeeeeeaeeaes 39
3.2 PHAN TÍCH CHÚC NANG CUA HE THÔNG . - +: 41
3.2.1 Biéu đồ phân cấp chức năng toàn hệ thong - +: 413.2.2 Biéu đồ đường dữ GU eceececcesesesesscesessessessessesesestsstesessesseeees 423.2.3 Xây dựng sơ đồ thực thé liên KẾ - 2 252 +s+£x+£x+£svzszreez 453.3 THIET KE HE THÔNG 2° 2° 5< ©s£ se SsEEeExsExsEee+eererrrererreresre 47
3.3.1 Thiết kế cơ sở dữ liệu -c-ccccccrrrrrrerrrrrrrrrrrree 47
3.3.2 Thiết kế giao diện màn hình và các mẫu biểu báo cáo 503.3.3 Code một số module chính -¿- + +k+xk+k£E+EeEeEerxererxererrers 55
3.3.4 Hướng dan cài đặt và sử dụng ứng dụng - sec: 58
GVHD: ThS Luu Minh Tuấn ii SVTH: Nguyễn Cao Sơn
Trang 3Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
CHƯƠNG 4: ĐÁNH GIÁ KET QUA . -°5° 5° 5c sssessessessesssseesess 66
4.1 UU DIEM CUA HE THONG -22- s52 ©ss£se£cse+ss+xsexsersersee 66
4.2 NHŨNG TON TAI CUA HE THONG 22-2 s2 ©ss©sscssecsee 664.3 HƯỚNG PHÁT TRIEN TRONG TƯƠNG LAI -5-cs° «+ 67
TÀI LIEU THAM KHẢO - <5 5£ 5£ 2< s£ s2 £SsEEseEseEssessessersersser 68
GVHD: ThS Luu Minh Tuấn iii SVTH: Nguyễn Cao Sơn
Trang 4Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
DANH MỤC HÌNH VE
Hình 1.1: Sơ đồ cơ cầu tổ chức SAPO cccccccrtEiitrtEiiirriiiirrirree 4
Hình 1.2: Sơ đồ Respond/Request của Ung dụng Web cơ bản - 10
Hình 2.1: Giao điện dòng lệnh của SQLFPPHI ằẶSccSSSSEsseerrsseerreeses 24 Hình 2.2: Giao diện chính của SQL DeVeÏOD€F 7< << kssvEEseeseeereeeee 26 Hình 2.3: Thanh menu của SQL DeVeÌOJ6F 5< +vEEsseEkeeesreereree 26
Hình 2.4: Giao diện kết noi của SOL Developer vsceccescesvssvessessssessessessessessessesseseess 27Hình 2.5: Giao diện chỉ tiết bảng dữ liệu của SOL Developer -:-: 27
Hình 2.6: Môi trường Java khởi chạy trên trình duyệt Web trước khi chạy ứng dụng Web FOr 88Ẻ88ẼẼe - d 28 Hình 2.7: Mô hình quản lý giữa các máy chủ WeDLOIC ««<<<s<+ 31 Hình 2.8: Giao diện chính cua Oracle Forms BuilidÌer -< «<< <<<<< + 32 Hình 2.9: Giao diện chính cua Oracle Reports BuiÌiÌ©F .- << «<< s+ss++ 34
Hình 3.1: Sơ đô nghiệp vụ quản lý nhân viÊn -.- 2-2 2+5 +teckeEeEzErrzrered 37
Hình 3.2: Biểu đô phân cấp chức năng toàn hệ thong —— 42Hình 3.3: Biểu đồ luông dit liệu mức khung CẢHH «ccàSSsssssvexsssexss 42
Hình 3.4: Biểu đồ luông dữ liệu mức đỉnh - 2-52 25£+cc£EecteEererrrrreres 43Hình 3.5: Biểu đồ chức năng quản lý nhân viÊn - + + se cs+cs+ce+cczrezeered 43Hình 3.6: Biéu đồ chức năng quản lý danh IHỊC - 5: 5c©5+©5s+c++c+e£ee>cescseei 44Hình 3.7: Biểu đồ chức năng quản lý tiỀn ÏưƠng - 5c ©ccsecsceEczrereered 44
Hình 3.8: Biéu đồ chức năng quản lý báo CáO - 2-2 ©5c©52+c+c+cteztezrescseei 45Hình 3.9: Biéu đồ chức năng tìm ÄiẾHm :-©5+©52+Et‡EeEteEESEEEEerkerrrrreerkee 45
Hình 3.10: Sơ đồ thực thể liên kế| -cccecccS+eetEEEtiirrtrkirrrrririeriied 47Hình 3.11: Mối quan hệ giữa các bảHg 5- 5c St+ct‡E‡EeEkeEkerererrrrrrred 50Hình 3.12: Giao diện đăng nhập hệ thong.rccccecccsscesscsssessessessesssessessessssssessecsesseessee 50
Hình 3.13: Giao diện chon chức năng hệ thống ¬ 51
Hình 3.14: Giao diện quản lý nhân VỈÊN Sàn He, 51 Hình 3.15: Giao diện thêm (anh Muc << << + << SE EEeeeeeeeeeeeeessszse 52
GVHD: ThS Luu Minh Tuấn iv SVTH: Nguyễn Cao Sơn
Trang 5Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
Hình 3.16: Giao diện quản lý tiỀn Wtong vecsesscecscessessesssessessessssssessessessssssessessessseeses 52
Hình 3.17: Báo cáo thông tin nhân VIÊN cv hiEikssirsssreeee 53
Hình 3.18: Báo cáo tién MONG ceseessesssesssessssssesssesssessssssssssessssssssssesssessssssesesessseesece 54
Hình 3.19: Báo cáo thời giqH CONG fẮC - cv hit 55
Hình 3.20: Mở kết nổi cơ sở dữ liệu PDBORCL -.:-cccccc+ccccce2 59
Hình 3.21: Khởi động Node MAndge r o cccccsccsssesseesscesseeeesseeseeesecsseueeuseeesecsseneenaes 59
Hình 3.22: Khởi động máy Chủ AUMINS CVE o ceccccescccescceesccesseeensceesecesseeeseeeesenaes 60 Hình 3.23: Khởi động máy chủ (HH ŠÌ - Sex tk ke, 60
Hình 3.24: Các máy chủ ứng dụng chưa được khởi động «+- 61 Hình 3.25: Khởi động máy chủ WLS_FORMS cccccccscceseesseecsesseesseeseenseesseeseenaes 61
Hình 3.26: Khởi động máy chủ WLS_REPORTY ĂS.cĂSSssevisseereesee 62 Hình 3.27: Các máy chu ứng dụng hoạt AON ccccccccccccscccescceseeesseeeneeeseeeesseesseeeses 62
Hình 3.28: Giao diện đăng nhập hệ thong.eccccccccccccsscescesvssvessessesseseeseesessessesessesvess 63Hình 3.29: Giao điện chọn chức năng hệ thong 63
Hình 3.30: Giao diện quản lý tiền ÏưƠngg 5-©52©5£5s+Ste£Ec£E+Eerterrerreerseei 64
Hình 3.31: Hộp thoại lưu thay đổi - 5555 St SE +E‡ECEEeEEeEEerkerkerrrrrrrree 64
GVHD: ThS Luu Minh Tuấn Vv SVTH: Nguyễn Cao Sơn
Trang 6Xây dựng hệ thong quan lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
CÁC THUẬT NGỮ VIET TAT
Ứng dụng Web Phần mềm chạy trên nên web
Menu Danh mục chính của phần mềm
Form Giao diện gồm các thông tin mô tả và ô trống cho người dùng
điền thông tin
Wizard Giao diện hướng dẫn và làm thay người dùng các thủ tục qua
từng bước
Request Yêu cau từ may khách đến máy chủ
Response Trả lời từ máy chủ cho máy khách
Servlet Thanh phan hỗ trợ máy chủ trong xử lý yêu cầu động
Static Yêu cầu tinh
RDBMS Hệ quản trị cơ sở dữ liệu quan hệ
Multitenant Đa người dùng
Metadata Siêu dữ liệu dùng đề mô tả cơ sở dữ liệu
listener Tiến trình trợ giúp kết nối, điều hướng giữa client và server
GVHD: ThS Luu Minh Tuấn vi SVTH: Nguyễn Cao Sơn
Trang 7Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
LỜI NÓI ĐẦU
Ngày nay sự cần thiết của công nghệ thông tin trong đời sông xã hội hàng ngày làkhông thể phủ nhận, đóng vai trò hết sức quan trọng trong mọi vấn đề từ lớn đến nhỏ
của xã hội hiện đại Trong hàng thập kỉ phát triển liên tục không ngừng, công nghệ thông tin đã từng bước từ một công cụ hỗ trợ hoạt động con người, trở thành một
phan không thé thiếu, yếu tố quyết định trong thành công của các hoạt động thuộc
mọi lĩnh vực cuộc sống Một trong các lĩnh vực được hưởng lợi nhiều nhất trong việc
áp dụng công nghệ thông tin đó là lĩnh vực quản lý nói chung, và quản lý nhân sự nói
riêng Do bản chất phức tạp liên quan đến con người và thông tin cá nhân của lĩnh
vực nhân sự, các hệ thống công nghệ thông tin quản lý nhân lực đã trợ giúp đắc lực
cho các nhà quản tri thực hiện công việc một cách chính xác, hiệu quả và tiết kiệm
thời gian.
Đề tài “Xây dựng hệ thong quản lý nhân sự sử dụng Hệ quản trị cơ sở dit
liệu Oracle“ được xây dung với ý tưởng chủ đạo là ứng dụng công nghệ cơ sở dữ
liệu , web server và lập trình của Oracle để xây dựng hệ thống quản lý nhân sự trên
nền tảng ứng dụng Web Qua quá trình tự tìm hiểu và tự nghiên cứu đề tài dưới sự
hướng dẫn của thầy Lưu Minh Tuan, em đã xây dựng ứng dung Web này thông quacác công cụ phát triển: Oracle Database 12c, Oracle Forms and Reports 12c, OracleMiddleware WebLogic Servers và Java Development Kit 8 Bố cục đề tài gồm 4
chương:
CHƯƠNG 1: TONG QUAN VE ĐÈ TÀI
Chương này trình bày tong quan về dé tài nghiên cứu, lý do chọn dé tài, mục dich,
phạm vi ứng dụng, ý nghĩa đề tài
CHUONG 2: NGHIÊN CỨU HE QUAN TRI CƠ SO DU LIEU ORACLE
Chương nay trình bay những khái niệm cơ ban về hệ quản trị cơ sở dữ liệu Oracle
cùng các ứng dụng phát triển, lập trình, công cụ quản lý web servers của Oracle
CHUONG 3: UNG DỤNG HE QUAN TRI CƠ SỞ DU LIEU ORACLE VÀO
HE THONG QUAN LY NHAN SU
GVHD: ThS Luu Minh Tuấn 1 SVTH: Nguyễn Cao Son
Trang 8Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Chương này bao gồm khảo sát và phân tích nghiệp vụ của bài toán quản lý nhân
sự, xây dựng biểu đồ phân cấp chức năng, biéu đồ đường dit liệu, thiết kế cơ sở dữliệu và menu, giao diện trong chương trình, cài đặt hệ thống và chạy chương trình
CHƯƠNG 4: ĐÁNH GIÁ KÉT QUÁ
Đánh giá các ưu điểm, nhược điểm, những tồn tại và định hướng phát triển trong
tương lai của hệ thống
Em xin chân thành cảm ơn ThS Lưu Minh Tuan đã tận tình hướng dẫn em, chỉ rasai sót trong quá trình hoàn thiện chuyên đề tốt nghiệp
Em cũng xin được gửi lời cảm ơn thầy cô của Viện Công nghệ thông tin và Kinh
tế số Đại học Kinh tế Quốc dân đã giảng dạy các kiến thức nền tảng về công nghệ
thông tin cho chúng em trong 4 năm học tập trong trường.
Do hạn chế về thời gian, về kiến thức của bản thân, mức độ khó tiếp cận của cáccông cụ sử dụng, thiếu tài liệu và giới hạn phần cứng và nên đề tài còn nhiều thiếuxót, mong thay cô đánh giá và góp ý dé đề tài được hoàn thiện tốt nhất
Hà Nội, tháng 05 năm 2020
Sinh viên
Nguyễn Cao Sơn
GVHD: ThS Lưu Minh Tuấn 2 SVTH: Nguyễn Cao Sơn
Trang 9Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
CHƯƠNG 1: TONG QUAN VE ĐÈ TÀI
1.1 GIỚI THIEU CƠ SỞ THUC TAP
Tên công ty: Công ty cổ phần công nghệ SAPO
Tên quốc tế: SAPO TECHNOLOGY JOINT STOCK COMPANY
Tên viết tat: SAPO TECHNOLOGY, JSC
Mã số thuế: 0103243195
Dia chỉ: P1006, B6 Khu đô thị Mỹ Đình 1, Phường Cầu Diễn, Quận Nam Từ
Liêm, Hà Nội, Vietnam.
Người đại diện: TRAN TRỌNG TUYẾN
Điện thoại: 02466558868.
Website: https://www.sapo.vn.
Ngày hoạt động: 2009-02-05.
Quản lý bởi: Chi cục Thuế Quận Nam Từ Liêm
Loại hình Doanh Nghiệp: Công ty cổ phần ngoài Nhà Nước
Tình trạng: Đang hoạt động (đã được cấp giấy chứng nhận đăng ký thuê)
Lĩnh vực hoạt động: Hoạt động dịch vụ công nghệ thông tin và dịch vụ khác liên quan đên máy vi tính.
Chi tiết: Khắc phục sự cố máy tính và cài đặt phần mềm; Thiết kế, phát triển
và lưu trữ website, dữ liệu trong lĩnh vực công nghệ thông tin; Thiết kề đồ họa (không
bao gồm thiết kế công trình); Dịch vụ giá tri gia tăng trên mạng internet
Được thành lập ngày 20/08/2008, với niềm đam mê và khát vọng thành công cùnghướng đi rõ rang, Sapo nhanh chóng khang định được vi trí hàng đầu trong lĩnh vựcbán lẻ va thương mại điện tử với 2 sản phẩm chủ đạo là Bizweb va Sapo Đến tháng4/2018, Bizweb và Sapo hợp nhất với nhau, trở thành Nền tảng quản lý và bán hàng
đa kênh được sử dụng nhiều nhất Việt Nam Tính đến tháng 12/2019 Sapo đã có
67,000 khách hàng lựa chọn sử dụng.
Cơ câu tô chức:
GVHD: ThS Lưu Minh Tuấn 3 SVTH: Nguyễn Cao Sơn
Trang 10Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
BAN TONG GIÁM ĐỐC
——— Ban trợ lý
T
: Khối : GD
Khối Khối Khối Các '> DV Khối KD
ho trợ tăng Khách CN & dự án toà
i : TT Dự án Khu Tỉnh Tỉnh Tỉnh Khu
ng Phong thuật Sapo vực miền miền miền vực
aT, CK Sapo Express HN Bac Trung Nam HCM
tạo Trung HCM) Finance
Phòng Phòng Phòng
Kiểm triển khai TK
soát & miền Nam (HN &
CL va TVGH HCM)
Tổng
hội
Hình 1.1: Sơ đồ cơ cầu tổ chức SAPO
Hiện tại, Sapo đang mang đến cho các doanh nghiệp bán lẻ một nền tảng quản lý
và bán hàng tông thể từ online đến offline với Sapo POS - Phần mềm quản lý bán
hàng, Sapo GO - Giải pháp qsuản lý bán hàng online dành riêng cho nhà bán hàng
trên Facebook và sàn thương mại điện tử, Sapo FnB - Phần mềm quản lý nhà hàng,
quán cafe, Sapo Web Giải pháp thiết kế website bán hàng và Sapo Omnichannel giải pháp quản lý và bán hàng từ Online đến Offline
-1.2 GIỚI THIỆU ĐÈ TÀI
GVHD: ThS Lưu Minh Tuấn 4 SVTH: Nguyễn Cao Sơn
Trang 11Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
1.2.1 Lý do chọn đề tài
Do đặc tính là xây dựng dựa trên cơ sở đữ liệu và chạy trên máy tính, các phầnmềm quản lý nhân viên đem lại nhiều lợi ích như:
e Đầu tư có hiệu quả: Phần mềm sẽ giúp quan lý các van đề liên quan đến nhân
sự thường mang đến nhiều phức tạp như lương thưởng, chế độ, bảo hiểm, ; cắt giảm
chi phí nhân lực bằng cách làm việc từ xa qua mạng internet; tăng sự chuyên nghiệpcho tổ chức;
e_ Giảm nhẹ công việc quản lý: Tất cả các, thông tin của các cá nhân, trình độ,
quá trình công tác, khen thưởng, kỷ luật, được ghi lại trên một nguồn; tăng khả nănggiám sát chặt chẽ tiền lương, giờ làm ; dé dàng đáp ứng nhu cầu trích xuất thông tin
bắt buộc dé duy trì tính chính xác, bảo mật và giảm thiểu chi phí trong vận hành
Ở các doanh nghiệp nhỏ, việc quản lý nhân sự đơn giản hơn so với các công ty,
tổ chức lớn do số lượng nhân viên ít hơn Do đó, dé cat giảm chi phí, một số đi đếngiải pháp sử dụng các công cụ bảng tinh đơn giản hơn dé lưu trữ thông tin và số liệu.Theo hướng này, chi phí cho quản lý giảm xuống đáng kể, nhưng đi theo nó là sự battiện cho người làm công tác quản lý, tăng tỉ lệ mat mát dit liệu, sai sót do con người,
thiếu bảo mật và gây tạo cơ hội cho sự gian lận Do vậy, ké cả ở quy mô nhỏ, một
phần mềm quản lý chuyên nghiệp sẽ giảm thiéu rủi ro cho doanh nghiệp và làm công
việc của người quản lý nhân viên trở nên dễ dàng, thuận lợi hơn.
Được xây dựng trên cơ sở các phần mềm phát triển của Oracle, sản phâm của đề
tài là một phần mềm ứng dụng trên nền Web chạy trên hạ tầng server cục bộ, có thểtriển khai ở quy mô nhỏ, nhưng vẫn có tiềm năng phát triển để áp dụng cho các nhu
câu quản lý ở quy mô lớn khi có yêu câu Các phân mêm sử dụng dé phát triên đê tài
GVHD: ThS Lưu Minh Tuấn 5 SVTH: Nguyễn Cao Sơn
Trang 12Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
đều được cung cấp miễn phí cho người dùng của Oracle, không cần thiết phải trả phí
dé sở hữu bản quyền sử dung va phát triển
Dé phát trién và triển khai hệ thống quản lý nhân sự trên nền tảng ứng dụng Web,
trước hết cần có các công cụ và môi trường có khả năng thiết lập và duy một hệ thống
máy chủ ứng dụng Web Các gói phần mềm Oracle Middleware với cấu trúc các máy
chủ WebLogic chạy trên nền tảng máy ảo JVM có khả năng đáp ứng hoàn hảo cho
yêu cau trên, với điểm mạnh là triển khai, duy trì đơn giản, cùng với đó là sự tiết kiệm
chi phí do được phát hành miễn phí.
Sau khi đã có hệ thống mang để triển khai, việc tiếp theo là thiết kế cơ sở dữliệu và phát triển trực tiếp ứng dụng Web theo các forms dữ liệu và báo cáo Bộ công
cụ Oracle Forms and Reports 12c là lựa chọn tốt nhất dé hoàn thành yêu cầu này, do
sự tương thích với hệ thống mạng máy chủ WebLogic Cùng với lí do này, Hệ quảntrị cơ sở dit liệu Oracle Database 12c là môi trường thích hợp dé lưu trữ, xây dựng
và truy vấn cơ sở dữ liệu cho hệ thống quản lý nhân viên này
Về ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu Oracle Database hoàn toàn hỗ trợ
ngôn ngữ truy xuất cơ sở dữ liệu SQL theo chuân ANSI Ngoài ra, với công cụ Oracle
Forms and Reports, Oracle yêu cầu sử dụng ngôn ngữ lập trình PL/SQL, là ngôn ngữlập trình mở rộng hướng thủ tục dựa trên nền tang SQL Do sự đơn giản hoá trongthiết kế Forms của Oracle Forms and Reports nhờ các bộ công cụ và các trình Wizards
có san, hiểu biết về PL/SQL của người sử dụng bộ công cụ này chỉ yêu cầu ở mức cobản.
Mặc dù vậy, do được phát triển dành cho các hệ sinh thái phần mềm Oracle, sự
chuyên biệt của PL/SQL và bộ công cụ Oracle Forms and Reports sẽ gây nhiều khókhăn cũng như giới hạn tiềm năng phát triển ứng dụng cho người dùng và các pháttriển xuất phát từ các nền tảng ngôn ngữ lập trình và công cụ xây dựng Form khác
1.2.2 Mục tiêu nghiên cứu đề tài
GVHD: ThS Lưu Minh Tuấn 6 SVTH: Nguyễn Cao Sơn
Trang 13Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Mục tiêu chính của đề tài là nghiên cứu, cài đặt, sử dụng các gói phần mềm củaOracle liên quan đến quản trị cơ sở dữ liệu, thiết kế và lập trình ứng dụng Web, thiếtlập và triển khai hệ thống server cục bộ Các gói phần mềm này bao gồm:
e Oracle Database 12c.
e Oracle Forms and Reports 12c.
e Oracle WebLogic Server 12c (Infrastructure).
e Java Development Kit 1.8.
Các gói phần mềm trên sẽ được sử dụng dé tạo cơ sở dữ liệu Oracle Database 12c
dé lưu trữ dit cho bài toán quản lý nhân sự đơn giản, từ đó phát trién một ứng dụngWeb có giao diện dé sử dung bang Oracle Forms dé thao tác trên cơ sở dit liệu này,xuất ra các báo cáo về dữ liệu theo yêu cầu sử dụng Oracle Reports, tất cả chạy trên
hệ thống server cục bộ Oracle WebLogic Server 12c
1.2.3 Đối tượng và phạm vi nghiên cứu đề tài
Đối tượng nghiên cứu: Ứng dụng Web trên nền tang Java hỗ trợ công tác quản lý
nhân sự, các gói phần mềm của Oracle liên quan đến phát triển cơ sở dữ liệu, form,
báo cáo, quản lý và triển khai hệ thống server cục bộ
Phạm vi nghiên cứu: Thiết lập hệ thống server cục bộ dựa trên cơ sở dữ
liệu Oracle và tạo ứng dụng Web quản lý nhân sự cơ bản có thé thực hiện các chức
năng:
e Lưu trữ hồ sơ nhân viên, hiển thị các bản ghi thông tin theo yêu cầu tìm kiếm
e Cập nhật hồ sơ nhân viên (Sửa, xoá, thêm bản ghi)
e Theo dõi lịch sử công tác của nhân viên
e Quan lý, tính toán lương của nhân viên.
e Xuất báo cáo, thông kê các thông tin theo nhu cầu
1.2.4 Ý nghĩa của đề tài
Đề tài chứng tỏ sự khả thi của việc triển khai, duy trì một hệ thống sever cục bộ
và phát triển ứng dụng Web dé đáp ứng nhu cầu quản lý của các tổ chức từ nhỏ đếnlớn trên hạ tang này Cụ thé, sản phẩm ứng dụng Web quản lý nhân sự được xây dựng
GVHD: ThS Lưu Minh Tuấn 7 SVTH: Nguyễn Cao Sơn
Trang 14Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
trên nền tang các công nghệ của Oracle, cho thấy khả năng hoạt động 6n định cùngvới nhau dé cung cấp giải pháp cho bài toán quản lý đơn giản, có khả năng phát triển
dé dap ứng nhu cầu phức tạp hơn, bộ đữ liệu lớn hơn
1.3 ỨNG DỤNG WEB
1.3.1 Tổng quan về ứng dụng Web
Một ứng dụng trên nền Web, hay một ứng dụng Web là một chương trình theo
mô hình Client - Server, trong đó phía người dùng chạy toàn bộ giao diện và logic phía client trên trình duyệt web Hiện nay, các ứng dụng Web được áp dụng rộng rãi
dưới dạng các hệ thống thư điện tử, bán hàng online, đấu giá online, ngân hàng
online, Đối với người dùng, các ứng dụng Web cho phép người dùng tương tác dễdang hơn với cơ sở dit liệu trên server, giảm thiểu mat thời xử lý do phần cứng thấp;đối với nhân viên, ứng dụng Web cho phép thực hiện các công việc hàng ngày, chia
sẻ thông tin chung mà không cần phải có mặt tại công ty
Một trình duyệt web là phần mềm sử dụng nhằm truy cập thông tin trên mạng
World Wide Web Khi người dùng gửi yêu cầu một website, trình duyệt sẽ lấy cácthông tin cần thiết từ server của website đó và hiện thị kết quả đưới dạng trang web
trên thiết bị của người dùng Dựa trên cơ chế đa nền tảng, đa phần cứng của các trìnhduyệt web, ứng dụng Web có thể hoạt động hiệu quả với hầu hết các thiết bị của
người dùng.
Các tính chất ưu điểm của ứng dụng Web so với ứng dụng desktop thông thường
bao gồm:
e Đanên tang: Đối với một ứng dụng desktop triển khai trên máy tính của người
dùng, người phát triển phải viết code riêng cho mỗi nền tang theo yêu cau, như trênWindows, Mac hay Linux Mặc dù một vài phan code có thé tương tự nhau trên cácnền tảng khác nhau, nhưng cách sử dụng các dịch vụ hệ thống của các nền tảng này
có thé có nhiều sự khác biệt lớn Đối với một ứng dụng Web, tất cả các chỉ tiết nàyđược kiểm soát bởi trình duyệt, do đó người phát triển chỉ cần sử dụng các ngôn ngữ
GVHD: ThS Lưu Minh Tuấn 8 SVTH: Nguyễn Cao Son
Trang 15Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
lập trình web bậc cao như HTML, JavaScript, CSS mà không cần tương tác trực tiếpvới các nền tảng hệ điều hành
e Dễ kiểm soát cấu hình phần cứng: Khác với ứng dụng chạy hoàn toàn trên
thiết bị của người dùng, hầu hết các tác vụ yêu cầu nhiều phần cứng đều được thực
hiện bên phía server, nơi mà cấu hình được xác định ngay trong các bước thiết kế.
Người phát triển không cần lo đến việc tối ưu hoá phần mềm dé phù hợp với phan
cứng của khách hàng.
e Trong suốt trong bảo dưỡng, nâng cấp: Vì ứng dụng được triển khai trên phíaserver, người dùng không cần phải tải về và cài đặt lại mỗi khi có thay đổi về phanmềm, tiết kiệm thời gian và chỉ phí
e_ Mô hình lợi nhuận tối ưu: Khi triển khai các ứng dụng desktop, người dùngphải mua bản quyền một lần với giá cao, nhà phát triển chỉ có lợi nhuận tức thời Khitriển khai ứng dụng Web, có thê bắt người dùng trả phí nhỏ thường xuyên thông quađăng ký với server, nhà phát triển có được lợi nhuận liên tục
1.3.2 Phương thức hoạt động
Dé có thé chạy trên nền tảng trình duyệt web, các ứng dụng Web thường đượccode bằng các ngôn ngữ được hỗ trợ như HTML, JavaScript Một số có yêu cầu tương
tác với server, đòi hỏi xử lý dữ liệu trên server như các ứng dụng quản lý, bán hàng;
một số chỉ cần triển khai tĩnh mà không cần sử dụng tài nguyên trên server
Bat cứ ứng dụng Web nào cũng cần có một web server dé quản lý các yêu cầu từphía client Ứng dụng hay cơ sở dữ liệu trên server sẽ giải quyết yêu cầu này Một số
công nghệ sử dụng cho ứng dụng trên server bao gồm ColdFusion, PHP, JSP,
ASP.NET.
Ban đầu, sử dụng ứng dụng trên trình duyệt web, người dùng gửi yêu cầu (HTTPRequest) tới web server Nếu yêu cầu này không cần tới các dịch vụ của server ứng
dụng Web (Static Data Request), chính web server sẽ đáp ứng các nhu cầu này Trong
trường hợp còn lại, thông tin được truyền qua mạng internet, web server nhận và
chuyền hướng yêu cầu (Servlet Request) tới server ứng dụng Web Tại đây, yêu cầu
được xử lý, thường là các công việc như chuyền đổi định dạng dit liệu, hay truy vấn
GVHD: ThS Lưu Minh Tuấn 9 SVTH: Nguyễn Cao Son
Trang 16Xây dựng hệ thong quản lý nhân sự sử dụng Hệ quản trị cơ sở dit liệu Oracle
cơ sở đữ liệu Sau khi kết quả quá trình xử lý hoàn thành, server ứng dụng Web trảlại web server kết quả được yêu cau, từ đây thông tin được chuyền tiếp đến phía người
dùng Kết quả nay sẽ được hiển thị trên trình duyệt của thiết bị người dùng
1.4 HỆ THONG QUAN LÝ NHÂN SU
1.4.1 Hệ thống Quản lý thông tin nhân sự là gì
Công việc quản lý nhân sự bao gồm một số công việc như: lưu trữ thông tin nhânviên, đơn vị công tác; cập nhật, sửa đồi thông tin khi có yêu cầu; tra cứu, thống kê vàbáo cáo các thông tin này Người quản lý cần thực hiện có hiệu quả các công việc
trên, năm bắt và kiểm soát thông tin một cách chính xác dé phuc vu nhiéu muc tiéu,
ví dụ như phục vụ phân tích, kế toán kiểm toán, cung cấp thông tin pháp ly,
1.4.2 Tình hình ứng dụng công nghệ thông tin
Từ khi máy tính điện tử được phát mình, rất nhiều lĩnh vực trong sản xuất kinhdoanh đã và đang sử dụng các công nghệ số dé gia tăng năng suất và đơn giản hoáquy trình Ngày này, sau hon 70 năm phát triển liên tục, công nghệ số đã trở thành
một phân không thê tách rời của thê giới hiện đại, các công nghệ tiên tiên vê bán dẫn,
GVHD: ThS Lưu Minh Tuấn 10 SVTH: Nguyễn Cao Sơn
Trang 17Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
máy tính, lưu trữ thông tin, truyền số liệu đã không ngừng giảm thiểu khoảng cách,giới hạn vật lý mà trước đây con người không thé vượt qua
Cuộc cách mạng công nghiệp lần thứ 4, hay cách mạng 4.0 được mô tả bằng Sự
kết hợp giữa không gian số và không gian vật lý, đặc biệt là sự phát triển và ứng dụng
mạnh mẽ các công nghệ mới như trí tuệ nhân tạo, điện toán dam mây, rô bốt, in 3D,
Internet vạn vật và công nghệ không dây tiên tiến Trong bối cảnh hiện nay, trong
khoảng thời gian đổi mới không ngừng này, công nghệ thông tin đã đi vào từng lĩnhvực của đời song con người như chính trị, văn hoá, xã hội, va đương nhiên trong kinh
tế, sản xuất Cụ thé, trong lĩnh vực quản lý, tat cả các thông tin đều đã và dang được
số hoá hoàn toàn, su Sai sot của con người dần được loại bỏ Từ các tập đoàn, tô chức
lớn đến các công ty nhỏ đều áp dụng các phần mềm dé quản lý thông tin, hạn chếviệc lưu trữ và xử lí thông tin trên mức độ vật lý sử dụng giấy tờ, văn bản
Về công tác quản lý nhân sự nói riêng, một số phần mềm quản lý thông tin thươngmại đang được sử dụng rộng rãi có thể kê đến:
e Phần mềm quản lý nhân sự SV-HRIS, sản phẩm của Công ty TNHH Tin học
Công Nghệ Sao Việt.
e Phần mềm quản lý nhân sự Perfect HRM 2012, sản phâm của công ty phanmềm Hoàn Hảo
e Phần mềm quản lý nhân sự HR-MANAGER, do công ty TNHH Phần MềmHoàng Hà phát hành.
e Phan mềm quản lý nhân sự SSOFT LUCKY HRM, phát hành bởi Công Ty Cổ
Phần Công Nghệ Phần Mềm Ssoft Việt Nam
Trên thị trường phần mềm hiện nay còn rất nhiều các phần mềm quản lý nhân sự,đáp ứng tất cả các nhu cầu của tô chức, cá nhân về chức năng, hệ thống, nền tang,
ngôn ngữ Ngoài ra, các tổ chức, cá nhân có tiềm lực tài chính và nhân lực đủ mạnh
có thê tự phát triển ra các phần mềm quản lý nhân sự nội bộ, hay thuê các công typhần mềm phát triển ứng dụng riêng dé đáp ứng đòi hỏi cao hơn của tô chức đó
1.4.3 Môi trường hoạt động của hệ thống quản lý nhân sự
GVHD: ThS Lưu Minh Tuấn 11 SVTH: Nguyễn Cao Son
Trang 18Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Đối với một hệ thống quản lý nhân sự, môi trường bên ngoài của các hệ thống này
là vị trí triển khai, thường là trong các công ty, t6 chức với quy mô nhân sự đáng kẻ,với nhu cầu lưu trữ đa dang các thông tin về các cá nhân trong tổ chức Don vị trực
tiếp sử dụng các phần mềm này bên trong tô chức là bộ phận nhân sự, thực hiện vận
hành và thao tác trích xuất, sử dụng thông tin cũng như thực hiện các thay đổi trên hệ
thống theo yêu cầu nghiệp vụ Mặc dù không trực tiếp sử dụng phần mềm, nhưng các
phòng ban khác trong tổ chức cũng có thé thu thập thông tin và dùng các thông tinnày nhằm phục vụ hoàn thành các yêu cầu của công việc, ví dụ như phòng kế toán cóthé sử dụng thông tin cham công, bảng lương thưởng dé chỉ trả tiền lương và phụ cấp
cho nhân viên.
Là một phần mềm, môi trường hoạt động bên trong hệ thống phần mềm này làphần cứng máy tính của tổ chức, công ty sử dụng hệ thống Ở quy mô nhỏ, các phầnmềm này thường được lưu trữ và chạy trực tiếp trên một máy tính duy nhất, với cơ
sở đữ liệu cục bộ cũng sử dụng chung máy tính này Ở quy mô lớn hơn, các công ty
tổ chức có thé đầu tư hệ thống mạng cục bộ lớn, với máy chủ lưu trữ cơ sở dữliệu riêng và các máy khách trực tiếp chạy chương trình, qua các phần mềm vật lý
trên máy hay ứng dụng Web trên máy chủ thông qua trình duyệt web.
1.4.4 Vai trò của hệ thống
Trong các cơ quan sự nghiệp tô chức, yếu tố con người là hết là không thể thiếu
và đóng vai trò cốt yêu đối với sự thành công của tổ chức Đối tượng quản lý chínhtrong lĩnh vực quản lý thông tin nhân sự đó là con người, với số lượng rất lớn thôngtin và quan hệ phức tạp cần phải được lưu trữ và quản lý một cách rõ ràng Cùng với
đó, mục đích của một doanh nghiệp là tạo ra lợi nhuận lớn nhất với chi phí nhỏ nhất,
nếu dành quá nhiều công sức và tài nguyên dé giải quyết chỉ một van dé quản lý thi
sẽ gây thiệt hai cho tô chức Nếu việc quản lý thông tin nhân sự thiếu hiệu quả sẽ gây
ra nhiều rắc rồi, bất cập, gây gián đoạn quy trình xử lý công việc, ảnh hưởng tới công
việc của tô chức và đời sống của cán bộ công nhân viên Vì vậy, việc khai thác, quản
lý và sử dụng nguồn lực này một cách hiệu quả là rất quan trọng
GVHD: ThS Lưu Minh Tuấn 12 SVTH: Nguyễn Cao Sơn
Trang 19Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Ngoài ra, công việc quản lý nhân sự có mức độ lặp lại các thao tác, quy trình cao,
vì vậy đi cùng với việc quản lý chính xác và rõ ràng, Hệ thống có vai trò tối giản hoá
các bước thực hiện dé giảm thiểu tối đa thời gian xử lý công việc cũng như tài nguyên
sử dụng.
1.4.5 Yêu cầu của hệ thống quản lý nhân sự.
Bat kì hệ thống quản lý nhân sự nào khi được phát triển và triển khai thực tế cầnđáp ứng yêu cầu được yêu cầu chung nhất của người sử dụng, đó là: Trợ giúp, hỗ trợ
các nhà quản lý thực hiện hiệu quả các công việc trong quản lý nhân sự như theo dõi
chỉ tiết tình hình nhân sự, đánh giá nhân sự; theo dõi và tính chi tiết các khoản lương,thưởng, thuế và các thay đôi của các cá nhân trong hệ thống và từ đó đưa ra cái nhìntổng quan nhất về tình hình nhân sự và chất lượng lao động của công ty; bổ trợ chohoạt động của các bộ phận khác của công ty cần sử dụng tới dữ liệu nhân sự, nhưphòng dao tạo, kế toán, tô chức và ban lãnh đạo
Phần mềm cần phải có khả năng lưu trữ và cung cấp được cho nhà quản lý cácthông tin chỉ tiết của nhân viên trong công ty, gồm các thông tin cá nhân về tên, ngàysinh, học van; cùng với các thông tin liên quan đến tổ chức như phòng ban công tác,
chức vụ, lương, thời gian bắt đầu công tác tại các chức vụ Các thông tin này sẽ được
chuyển đến cho nhà quản lý dưới dạng các báo cáo phù hợp với các mẫu chứng từ
thông tin của công ty sử dụng.
Ngoài khả năng cung cấp và lưu trữ các thông tin trên, phần mềm còn phải có thể
sửa, xoá, thay đôi thông tin nhân viên nhanh, chính xác, đồng thời đảm bảo về bảo
mật và an toàn cho các thông tin nay.
GVHD: ThS Lưu Minh Tuấn 13 SVTH: Nguyễn Cao Sơn
Trang 20Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
CHƯƠNG 2: NGHIÊN CỨU HE QUAN TRI CƠ SỞ DU
LIỆU ORACLE
2.1.ORACLE DATABASE 12C
2.1.1 Giới thiệu Oracle Database 12c
Hệ quản trị cơ sở dữ liệu quan hệ Oracle (Oracle RDBMS) là hệ thống quản trỊ cơ
sở dữ liệu quan hệ - hướng đối tượng, thuộc sở hữu độc quyền, được phát triển và
phân phối bởi công ty Oracle
Oracle Database 12c được ra mắt vào năm 2013, với đặc điểm nổi trội là cơ sở dữliệu đầu tiên trên thé giới được thiết kế dành cho nên tảng điện toàn đám mây (c trong12c là “Cloud — đám mây) Trong phiên bản này, Oracle sử dụng kiến trúcMultitenant — cho phép nhiều khách hang cùng sử dụng một hệ thống ứng dụng Web
với dữ liệu độc lập giữa các khách hàng.
Mỗi phiên bản phát hành Oracle Database đều chia làm 3 phiên bản chính, phục
vụ các mục đích sử dụng khác nhau bao gồm:
e Enterprise Edition (EE): Phiên bản chuyên nghiệp dành cho đối tượng là các
tổ chức với nhu cầu sử dụng cơ sở dữ liệu lớn, không giới hạn mức độ phần cứng,chứa nhiều chức năng đặc biệt hơn các phiên bản còn lại Di đôi với các đặc điểm
trên là mức giá cao dé có được bản quyền EE
e Standard Edition (SE): Phiên bản tiêu chuẩn, gần như tương tự EE nhưng bị
giới hạn bởi số lượng CPU là 4, số lượng các chức năng bị cắt giảm, đương nhiên vớimức giá sở hữu thấp hơn
e Expression Edition (XE): Phiên bản sử dụng miễn phí, với nhiều giới hạn như
số lượng CPU hỗ trợ chỉ còn 2, tối đa chỉ sử dụng 2GB bộ nhớ RAM, không gian lưu
trữ người dùng giới hạn ở 12GB Các tính năng của phiên bản này cũng khá hạn hẹp.
Ngoài 3 phiên bản chính thức trên, dé hỗ trợ việc tiếp cận với Oracle Database,công ty Oracle còn cho phép người dùng miễn phí tải về các phiên bản không chínhthức (Release) Mặc dù có đầy đủ chức năng và không có giới hạn phần cứng như
GVHD: ThS Lưu Minh Tuấn 14 SVTH: Nguyễn Cao Sơn
Trang 21Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
phiên bản EE, các phiên bản không chính thức này không phải là sản phẩm cuối cùngcủa Oracle, có thé chứa các lỗi va bug, và người sử dụng các phiên bản này sẽ khôngđược nhận chăm sóc khách hàng Các bản Release rất phù hợp cho học tập và nghiên
cứu do bản chất là miễn phí, nhưng không phù hợp trong triển khai chính thức do
thiếu 6n định
Trong đề tài này sẽ sử dụng phiên bản Oracle Database 12c Release 2
2.1.2 Các khái niệm cơ bản
2.1.2.1 Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)
Mô hình quan hệ của E F Codd năm 1970 đóng vai trò làm gốc của một hệ quản
trị cơ sở dữ liệu Các chức năng chính va cơ bản của một hệ quản tri cơ sở dữ liệu quan
hệ là lưu trữ dữ liệu vào database, trích xuất các thông tin này cho các ứng dụng xử
lý chúng.
Một RDBMS quy định tách biệt hai loại thao tác:
e Thao tác logic: Trong loại thao tác này, một ứng dụng xác định nội dung ma
nó cần, ví dụ ứng dụng cần trích xuất tên một bản ghi
e Thao tác vật lý: Trong loại thao tac này, RDBMS xác định cách thức thực hiện
yêu cầu và thực hiện nó Các thao tác vật lý thực hiện bới RDBMS là hoàn toàn minhbạch đối với ứng dụng database
Cơ sở dữ liệu Oracle là một RDBMS, đã được áp dụng cùng với các tính năng
hướng đối tượng như tính trừu tượng hoá, tính kế thừa và tính đa hình, từ đó được
phát triển dé tro thành một hệ thống quản trị co sở dit liệu quan hệ - hướng đối tượng
(ORDBMS) Vì vay Oracle có khả năng lưu trữ va xử lý các mô hình kinh doanh
phúc tạp trong cơ sở dữ liệu quan hệ.
2.1.2.2 Các đối tượng Lược dé cơ sở dữ liệu
Một trong các đặc điểm chính của RDBMS là sự độc lập giữa không gian lưu trữvật lý và cấu trúc dữ liệu logic
Trong Oracle database, một Lược đồ cơ sở dữ liệu là một tổng thé bao gồm cáccấu trúc dit liệu logic, gọi là các đối tượng Lược đồ cơ sở dữ liệu Một người dùng cơ
sở dir liệu được cap quyên sở hữu một Lược đô cơ sở dữ liệu cùng tên.
GVHD: ThS Lưu Minh Tuấn 15 SVTH: Nguyễn Cao Sơn
Trang 22Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Các đối tượng Lược đồ cơ sở dữ liệu là các cấu trúc do người dùng tạo ra va đốichiếu trực tiếp vào đữ liệu trong cơ sở dữ liệu Cơ sở đữ liệu hỗ trợ nhiều loại đối
tượng Lược đồ cơ sở dữ liệu, trong đó quan trọng nhất là các bảng và con trỏ
Một đối tượng Lược đồ cơ sở đữ liệu là một đối tượng cơ sở dữ liệu
2.1.2.3 Phương thức truy cập thông tin
Trong cơ sở dit liệu Oracle database, một yêu cầu chung nhất đối với mọi hệ quan
trị cơ sở dữ liệu đó là bám theo các quy chuẩn về ngôn ngữ truy cập dữ liệu, cụ thé
là SQL Trên cơ sở này, Oracle đã phát trién Oracle SQL, hỗ trợ nhiều tính năng mạnh
mẽ hơn SQL thông thường đề sử dụng
PL/SQL là ngôn ngữ lập trình hướng thủ tục mở rộng cho Oracle SQL PL/SQL
được tích hợp với Oracle database, cho phép người dùng sử dụng tat cả các lệnh, hàm,loại dữ liệu trong Oracle database SQL Ngoài ra, PL/SQL còn có thé dùng dé lậptrình các chương trình SQL, điều khiển biến và viết các thủ tục xử lý lỗi trong quá
trình sử dụng.
Lợi ích lớn nhất khi dùng PL/SQL là kha năng lưu trữ logic ứng dụng ngay trên
chính cơ sở dữ liệu Một thủ tục PL/SQL hay một hàm là một đối tượng Lược đồ cơ
sở dữ liệu bao gồm một nhóm các câu lệnh SQL hoặc các cau trúc khác được viếtbằng PL/SQL, với mục đích xử lý yêu cầu hay thực hiện các tác vụ liên quan Đâychính là lợi ích chính khi áp dụng lập trình ở phía server, các chức năng đều đượcthực hiện, lưu trữ trên chính server dé có thé triển khai ở bat cứ đâu
2.1.2.4 Quản lý giao dịch (ransactions)
Vì được thiết kế với mục đích phục vụ đa người dùng, Oracle Database đảm bảo
nhiều người dùng có thể sử dụng hệ thống một cách song song mà không làm ảnhhưởng đến dữ liệu của người khác Dé làm được việc này, có một cách đơn giản đó
là bắt người dùng đợi, nhưng một nhu cầu khác phải được đảm bảo đó là thời gian
chờ của người dùng
Oracle database sử dụng cơ chế “lock“ (khoá) dé đảm bảo tính trung thực của dữ
liệu dưới sự truy cập song song của nhiều người dùng, cũng như giảm thiểu tối da
việc ngắt quãng quá trình sử dụng:
GVHD: ThS Lưu Minh Tuấn 16 SVTH: Nguyễn Cao Sơn
Trang 23Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Một lệnh thay đổi nội dung (xoá hay sửa), khi tác động tới một hàng sẽ khoáhàng đó, và hàng đó chỉ có thể bị khoá bởi lệnh này
e_ Một lệnh thay đổi nội dung khác sẽ không được phép tác động tới hàng đã bị
khoá trước.
e_ Một lệnh đọc không có quyền khoá các lệnh khác
e Mot lệnh thay đôi nội dung không bao giờ hoá lệnh đọc
Khi thực hiện cơ chế khoá này cùng với thực hiện các giao dịch transaction nhanh
và hiệu quả, việc chờ đợi hay ngắt quãng của người dùng sẽ được giảm đến tối thiểu
Một vấn đề khác đối với cơ sở dữ liệu được truy cập song song đó là tính nhấtquán của thông tin Ví dụ như người dùng A thay đổi một bản ghi mà trước đó ngườidùng B vừa thay đổi, dẫn đến người dùng B nhận được thông tin không đúng với sựthay đổi mà mình đã thực hiện
Với vấn đề này, Oracle Database đảm bảo đọc nhất quán đối với mỗi câu lệnh, có
nghĩa các dữ liệu mà câu lệnh truy vấn trả về sẽ được đảm bảo chính xác tại một thờiđiểm, được xác định tuỳ theo nhiều yếu tố, thường là lúc giao dịch được bắt đầu Câu
truy vấn đặc biệt FlashBack có thể được dùng để xác định chính xác thời điểm đó
2.1.3 Kiến trúc cơ sở dữ liệu Oracle.
2.1.3.1 Cơ sở dit liệu và instance.
Một server cơ sở dữ liệu Oracle bao gồm một cơ sở dữ liệu và ít nhất một
instance cơ sở dit liệu (thường gọi tắt là instance) Do hai khái niệm này liên kết khá
sát với nhau, nên khi nói đến một cơ sở dữ liệu Oracle thường bao hàm cả hai kháiniệm Mặc dù vậy, để phân biệt hai phần này của một server cơ sở dữ liệu Oracle, ta
có định nghĩa:
e Cơ sở dữ liệu: là một bộ các file được ghi trên dia cứng, dùng dé lưu trữ thôngtin Các file này có thể tồn tại độc lập đối với một instance
e Instance: là một bộ các cấu trúc bộ nhớ có mục đích quản lý các file cơ sở dữ
liệu Instance bao gồm một vùng nhớ, gọi là system global area (SGA), và một bộ các
tiễn trình chạy ngầm Cũng như các file cơ sở dữ liệu, một instance có thể tồn tại mà
không có database file.
GVHD: ThS Lưu Minh Tuấn 17 SVTH: Nguyễn Cao Sơn
Trang 24Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Khi một tiến trình người dùng kết nối tới một instance của cơ sở dit liệu, nó đượcliên kết với một tiến trình server riêng Một tiễn trình server lại có một vùng nhớ riêng
— program global area (PGA) Đề tránh người dùng tương tác trực tiếp đến cơ sở dữ
liệu, instance sẽ đóng vai trò trung gian, cung cấp các dịch vụ, tiện ích truy xuất, xử
lý, tác động cho tiến trình người dùng theo yêu cầu, đồng thời sử dụng các phươngthức dé đảm bao tính chính xác và trung thực của dữ liệu trong cơ sở dtr liệu
2.1.3.2 Cấu trúc lưu trữ cơ sở dữ liệu
Cầu trúc vật lý:
Cơ sở dữ liệu vật lý là bộ các file chứa dữ liệu Khi người dùng thiết lập một cơ
sở dir liệu mới, các file sau sẽ được khởi tạo:
e File dữ liệu: Một hoặc nhiều các file này sẽ lưu trữ dữ liệu cho một cơ sở dữliệu oracle Dữ liệu của các cấu trúc cơ sở dữ liệu logic như bảng và con trỏ sẽ được
lưu trong các file này.
e File điều khiển: Mỗi cơ sở dit liệu Oracle có một file điều khiển File này lưutrữ các metadata mô tả cấu trúc vật lý của cơ sở dữ liệu, bao gồm tên cơ sở đữ liệu,
tên và vi trí của các file dữ liệu trên đĩa cứng.
e File nhật ký thay đổi online: Mỗi cơ sở dit liệu Oracle có một nhật ký thay đổi
online Trong nhật ký này có từ hai file nhật ký trở lên, các file này lưu trữ tất cả cácthay đôi đã thực hiện đối với cơ sở dit liệu
Ngoài các nhóm file chính trên, cơ sở dữ liệu oracle còn sử dụng nhiều nhóm file
quan trọng khác, cần thiết đối với hoạt động ôn định của cơ sở dit liệu như các file
thông số, hoạt động mạng, backup
Cau trúc logic:
Cấu trúc này cho phép cơ sở dữ liệu Oracle kiểm soát chỉ tiết việc lưu trữ trên đĩa:
e Khối dữ liệu: La đơn vị lưu trữ nhỏ nhất cơ sở dữ liệu Oracle sử dụng tronglưu trữ dữ liệu Mỗi khối dữ liệu xác định một số byte nhất định trên đĩa cứng
e Extents: Một Extent là một khối bao gồm một số xác đính các khối dữ liệu liêntiếp nhau Mỗi extent được truy xuất trong một thao tác phân vùng nhớ duy nhất, lưu
trữ chỉ một loại thông tin nhất định
GVHD: ThS Lưu Minh Tuấn 18 SVTH: Nguyễn Cao Sơn
Trang 25Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Segment: một segment là một bộ các extent được phân cho một đối tượng
người dùng (các bảng hoặc con trỏ), lưu các dt liệu phục vụ làm lại (undo) hoặc các dir liệu tam thời.
e Khong gian bảng: Một co sở dữ liệu được chia làm các đơn vi lưu trữ logic
gọi là không gian bảng Một không gian bảng là bao hàm logic của một segment.Trong mỗi không gian bảng có ít nhất một file dữ liệu
2.1.3.3 Cau trúc Instance cơ sở dữ liệu
Cơ sở dữ liệu Oracle sử dùng các cấu trúc bộ nhớ và các tiến trình dé quản lý và
truy cập vào cơ sở dữ liệu Tat cả các cau trúc năm bên trong bộ nhớ của máy tính làphần tạo thành một hệ quan tri cơ sở dữ liệu quan hệ
Khi một ứng dụng kết nối vào cơ sở dữ liệu Oracle, thực chất chúng được kết nối
vào một instance cơ sở đữ liệu Instance phục vụ các ứng dụng bằng cách phân vùngvào các vùng bộ nhớ trong và ngoài System Global Area (SGA), bắt đầu các tiến trình
theo yêu cầu, bên cạnh các tiễn trình ngầm có sẵn.
Một tiến trình cơ sở dit liệu Oracle cũng tương đương với các tiến trình bình
thường của các hệ diều hành Một instance cơ sở đữ liệu Oracle gồm có các tiến trình
như sau:
e_ Tiến trình khách: Các tiến trình này được tạo ra và duy trì dé chạy các lệnhphần mềm của các chương ứng dụng hay các công cụ Oracle Khi được triển khai,hầu hết các môi trường cài đặt đều chuyền các tiến trình này tới các máy tính riêng
biệt.
e_ Tiến trình nền: Nhưng tiến trình này tổng hợp các chức năng của các chương
trình co sở dữ liệu Oracle trong mỗi tiến trình khách Thay vì mỗi tiến trình kháchtrên máy tính phải xử lý các tiến trình giống nhau này, tiến trình nên sẽ tong hợp
chúng, thực hiện các thao tác vào ra theo yêu cầu, đồng thời giám sát các tiến trình cơ
sở đữ liệu Oracle khác đề tăng khả năng xử lý song song, tăng hiệu năng và tính ôn
định.
e_ Tiến trình server: Là các tiến trình giao tiếp trực tiếp với tiến trình khách và
thực hiện các yêu câu lên cơ sở dữ liệu Database.
GVHD: ThS Lưu Minh Tuấn 19 SVTH: Nguyễn Cao Sơn
Trang 26Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Cơ sở dữ liệu Oracle khởi tạo và sử dụng các cau trúc bộ nhớ dé lưu và chạy lệnh
của các chương trình, lưu dữ liệu dùng chung giữa các người dùng và dữ liệu riêng
của mỗi người dùng Một Instance cơ sở dữ liệu sử dụng các cấu trúc bộ nhớ sau:
e System global Area (SGA): Là một bộ các cấu trúc nhớ dùng chung chứa, dữ
liệu va thông tin điều khiển của một Instance.
e Program global Area (PGA): Gần giống với SGA, PGA là vùng nhớ chứa dữliệu và thông tin điều khiển của một tiến trình server hoặc của một tiến trình ngầm
Chỉ có các tiếng trình mới được truy cập PGA, mỗi tiến trình server hoặc tiến trình
nền được cấp một PGA riêng
2.1.3.4 Kiến trúc ứng dụng Web Oracle
Đáp ứng theo mô hình của một ứng dụng Web, để sử dụng tài nguyên máy tính
và mạng hiệu quả nhất, cơ sở đữ liệu Oracle cho phép chia việc xử lý thành hai phần
cho máy chu cơ sở dữ liệu và chương trình khách Máy server chạy hệ quản tri cơ sở
dữ liệu sẽ xử lý các tác vụ liên quan đến cơ sở dữ liệu, máy khách chạy ứng dụng
Web sẽ xử lý phiên dịch và hiển thị dữ liệu
Kiến trúc ứng dụng là môi trường mà trong đó ứng dụng cơ sở dữ liệu được kếtnối tới một cơ sở đữ liệu Oracle Hai kiểu kiến trúc thường thấy nhất là client/server(máy khách/máy chủ) và kiến trúc multitier (đa tầng):
e_ Trong kiến trúc client/server, ứng dụng ở phía client tạo một yêu cau xử lý tớimáy server Tại đây, máy chủ chạy các phần mềm cơ sở dữ liệu Oracle và xử lý các
chức năng cần thiết cho việc chia sẻ dit liệu cho các truy cập song song Máy chủ sẽ
bao quát toàn bộ quá trình nhận, xử lý yêu cau từ phía client
e Trong kiến trúc da tang truyền thống, một hoặc nhiều ứng dụng phía server sẽđảm nhiệm các phần nhỏ của yêu cầu xử lý Một máy chủ ứng dụng chứa phan lớn
các logic của ứng dụng, cấp quyên truy cập dữ liệu cho phía khách, xử lý một phần
các câu truy vấn Vì thế, mức độ yêu cầu xử lý trên server cơ sở dữ liệu giảm xuống
đáng kể Máy chủ ứng dụng đã đóng vai trò như một lớp trung gian giữa người dùng
và các cơ sở dữ liệu, đồng thời them một lớp bảo mật cho hệ thống cơ sở dữ liệu
GVHD: ThS Lưu Minh Tuấn 20 SVTH: Nguyễn Cao Sơn
Trang 27Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Về cơ sở dit liệu Oracle, ngoài kiến trúc đa tang truyền thống, cơ sở dữ liệu nàycòn có thể triển khai kiến trúc hướng dich vụ - Service Oriented Architecture (SOA)
So với kiến trúc đa tang truyền thống, các chức năng của ứng dụng được bao góitrong các dịch vụ, được triển khai dưới dạng các dịch vụ Web Các dịch vụ này cóthê được truy cập thông qua giao thức HTTP và được xây dựng dựa trên các tiêuchuân XML
2.1.3.5 Kiến trúc Mang Oracle:
Các dịch vụ Oracle Net (Oracle Net Services) là giao diện giữa co sở dir liệu va
các giao thức giao tiếp mạng đóng vai trò thiết lập xử lý phân tán và cơ sở dữ
dữ liệu Sau khi phiên kết nối được thiết lập, Oracle Net vận chuyên thông tin giữa
ứng dụng đó và máy chủ cơ sở dỡ liệu, trao đổi các gói tin giữa hai phía Cả máykhách và máy chủ đều có Oracle Net
Oracle Net Listener (Listener) là một tiến trình trung gian năm trên cơ sở dữliệu hoặc một vị trí bất kì khác trên mạng Khi ứng dụng phía khách gửi yêu cầu đếnmáy chủ, thực chat là đang gửi đến listener Ở đây tiến trình này gửi kết nối tới máy
chủ, sau khi kết nối thành công máy chủ và máy khách sẽ trực tiếp giao tiếp, không
thông qua listener.
Có hai kiểu kiến trúc mà thông qua đó cơ sở dit liệu Oracle có thé phục vu người
dùng như sau:
e Kién trúc máy chủ chuyên dụng: Mỗi tiến trình khách kết nối với một tiến trìnhmáy chủ chuyên dụng Tiến trình này sẽ chỉ kết nối với một tiến trình khách cho đến
khi hết phiên kết nối Mỗi phiên sẽ kết nối tới một tiến trình máy chủ khác nhau
GVHD: ThS Lưu Minh Tuấn 21 SVTH: Nguyễn Cao Sơn
Trang 28Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Kiến trúc chia sẻ máy chủ: Cơ sở dit liệu sẽ được cấp một lượng các tiễn máychủ chia sẻ cho nhiều phiên kết nối Một tiến trình khách khi kết nối sẽ gọi cho mộttổng đài Tổng đài này là một tiến trình cho phép nhiều tiến trình khách kết nối tới
cùng một Instance cơ sở dit liệu mà không cần một tiến trình máy chủ chuyên dụng
cho mỗi tiến trình khách.
2.1.3.6 Kiến trúc Multitenant (da khách thé)
Multitenant hoặc Multi-tenancy là nhiều khách hàng sử dụng chung một phiênbản duy nhất và một cơ sở hạ tầng duy nhất của một ứng dụng Cơ sở dữ liệu và dữliệu về ứng dụng được chia sẻ chung cho mỗi khách hàng sao cho dữ liệu của mỗingười khách hàng là riêng biệt và các khách hàng khác không thé thay được dữ liệunày.
Từ phiên bản Cơ sở đữ liệu Oracle 12c, Kiến trúc đa khách thê cho phép cơ sở dữliệu Oracle trở thành cơ sở dữ liệu bao đóng đa khách thể (Multitenant ContainerDatabase) — CDB.
Một CDB là một co sở đữ liệu vật lý, trong đó có thé không có, hoặc có một hay
nhiều các cơ sở đữ liệu cắm do người dùng tạo ra Một cơ sở đữ liệu cắm — Pluggable
Database (PDB) là một tập hợp di động các lược đồ cơ sở dữ liệu, đối tượng lược
đồ cơ sở dữ liệu và các đối tượng không phải lược đồ cơ sở dữ liệu khác Đối với
máy khách của Oracle Net, một PDB là một cơ sở dữ liệu không phải CDB
(non-CDB) Các cơ sở dữ liệu này là cơ sở dit liệu truyền thống, không thể chứa các PDB
Bắt đầu từ Cơ sở dữ liệu Oracle 12c trở đi, một cơ sở dữ liệu khi tạo ra phải là
một CDB hoặc một non-CDB, được cắm vào một CDB dưới dạng PDB Ngược lại,
nếu muốn rút một PDB ra khỏi CDB, cần sử dụng ứng dụng hỗ trợ Oracle Data Pump.
Bằng cách kết hợp nhiều cơ sở dữ liệu vật lý trên nhiều máy tính khác nhau thànhduy nhất một cơ sở dữ liệu trên một máy tính, kiến trúc đa khách thể có các điểmmạnh sau:
e_ Giảm chi phí phan cứng
e Dễ dàng di chuyền nhanh chóng dữ liệu và lệnh
e Dễ dàng quản lý và theo dõi co sở dữ liệu vật lý
GVHD: ThS Lưu Minh Tuấn 22 SVTH: Nguyễn Cao Sơn
Trang 29Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Tach riêng dữ liệu va code
e Táchriêng trách nhiệm giữa người quản lý của PDB, người chi được cấp quyềnvới một hay nhiều PDB nhỏ, với người quản lý toàn bộ CDB
2.1.4 Các công cụ thao tác với cơ sở dữ liệu Oracle
2.1.4.1 SQL*Plus
SQL*Plus là công cụ tương tác và truy van theo gói được cài sẵn với mỗi bộ cài
đặt co sở dữ liệu Oracle Database Giao diện của SQL*Plus là giao diện dòng lệnh,
thường được chạy trong Command Prompt hay PowerShell của hệ điều hànhWindows.
SQL*Plus bao gồm các câu lệnh và môi trường riêng, cung cấp truy cập vào cơ
sở dữ liệu Oracle một cách đơn giản nhất và trực tiếp nhất Nó cho phép người dùng
nhập và thao tác các câu lệnh SQL, PL/SQL, SQL*Plus và các câu lệnh hệ thống dé
thực hiện các thao tác sau:
e Dinh dạng, tính toán, lưu trữ và in ra các kết quả truy vấn.
e Xem xét nội dung và định nghĩa của các bảng và đối tượng
e Phát triển và chạy các gói câu lệnh.
e Quản trị cơ sở dir liệu
SQL*Plus có đặc điểm nỗi bật là rất đa dụng, đủ khả năng cung cấp day đủ cáctính năng cho mọi người dùng, kể cả những người đã có kinh nghiệm sử dụng cơ sở
dữ liệu, mặc dù vẫn đủ dễ dàng và đơn giản cho nhưng người dụng mới tiếp cận và
học cách làm việc với hệ quả tri cơ sơ dữ liệu Oracle.
Kiến trúc hoạt động dòng lệnh của SQL*Plus sử dụng mô hình gồm 2 cấp:
e Máy khách (Client) (giao diện dòng lệnh với người dùng)
© Co sở dữ liệu (Cơ sở dữ liệu Oracle): Thanh phần Oracle Database Net cungcap khả năng giao tiếp giữa SQL*Plus và cơ sở dữ liệu Oracle
Mặc dù SQL*Plus đi kèm cơ sở dữ liệu Oracle và được cài đặt sẵn, nhưng có một
vài yếu tố của SQL*Plus có thé sai khác giữa các máy tính, các hệ thống khác nhau.Người dùng cần kiểm tra và thực một số điều kiện tiên quyết trước khi sử dụng
SQL*Plus:
GVHD: ThS Luu Minh Tuấn 23 SVTH: Nguyễn Cao Son
Trang 30Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Cài đặt cơ sở dữ liệu Oracle Database phù hợp.
e Sở hữu và ghi nhớ tên đăng nhập va mật khâu dé đăng nhập vào cơ sở dit liệu
Hai thông tin này có thể có được trong quá trình cai đặt hoặc liên hệ với quản tri viêncủa hệ thống
e Đảm bảo trong cơ sở dữ liệu đã có cơ sở dữ liệu mẫu và có tên đăng nhập và
mật khẩu riêng cho cơ sở đữ liệu đó
© Có đường dẫn kết nối tới cơ sở dữ liệu tương ứng
e Đảm bao cơ sở dit liệu cần kết nối đã được khởi chạy và đã mở kết nồi
Dé khởi chạy SQL*Plus, cần tìm được file ứng dụng của SQL*Plus, thường đượcđặt trong thư mục Oracle gốc ORACLE_HOME/bin Đường dẫn này đã được cauhình trong quá trình cài đặt, có trong biến hệ thống PATH của hệ điều hành đangchạy Ngoài ra, SQL*Plus có thé được khởi chạy sử dụng câu lệnh run: sqlplus nếu
Hình 2.1: Giao điện dòng lệnh cua SQL*Plus 2.1.4.2 SQL Developer
Oracle SQL Developer là công cụ IDE tương tác va quản lý cơ sở dữ liệu với giao
diện hình ảnh của Oracle, có thể được dùng song song hoặc thay thế SQL*Plus, giúp
trực quan hoá các chức năng của SQL*Plus SQL Developer tăng cường hiệu suất và
GVHD: ThS Lưu Minh Tuấn 24 SVTH: Nguyễn Cao Sơn
Trang 31Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
đơn giản hoá các tác vụ phát triển và quản trị cơ sở dữ liệu Oracle Trong công cụnày, người dùng có thể thực hiện các tác vụ cơ bản:
e DuyỆt, tạo, sửa đổi các đối tượng cơ sở dữ liệu
e Tạo và chạy các câu lệnh SQL.
e Sửa đổi và bắt lỗi các thủ tục PL/SQL
e Xem các báo cáo dựa trên các mẫu có sẵn hoặc tự tạo các mẫu báo cáo riêng
Cũng như SQL*Plus, SQL Developer cũng được cài đặt sẵn và đi kèm với cơ sở
đữ liệu Oracle Database.
Khác với SQL*Plus đơn giản và tác động trực tiếp với cơ sở dữ liệu, SQLDeveloper được trang bị với nhiều công cụ và tiện ich dé đáp ứng các nhu cầu phứctạp hơn Một trong các chức năng này là khả năng kết nối với một số các cơ sở ditliệu phô biến hiện nay như MySQL, Microsoft SQL Server, Sybase Adaptive Server,
Microsoft Access, va IBM DB2 Khả năng này cho phép SQL Developer được sử
dụng làm công cụ chính trong các tác vụ di chuyên cơ sở dữ liệu giữa các nền tảng
khác nhau Với SQL Developer, người dùng có thé tao và lưu kết nối tới các cơ sở
dữ liệu của Oracle và của các nền tảng kể trên, duyệt các thông tin của cơ sở ditliệu và truy vấn các đối tượng Khi có nhu cầu, người dùng có thể sử dụng các tiệních có sẵn của Oracle Developer dé tự động di dời cơ sở dữ liệu của nền tảng khácsang đúng chuẩn Oracle Các bảng, mối quan hệ, trigger, stored procedures, view vàcác đối tượng quan trọng khác sẽ được chuyển đổi thành các đối tượng tương ứng
trên cơ sở đữ liệu Oracle Sau khi các đối tượng này được khởi tạo, SQL Developer
sẽ sao chép dữ liệu vào các bảng mới.
GVHD: ThS Lưu Minh Tuấn 25 SVTH: Nguyễn Cao Sơn
Trang 32Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
@® oracle SOL Developer: hr _ x
File Edit View Navigate Run Versioning Tools Help
G288 9° XGH'10-0-\&- fis
[Axconnections x (iReports x © norte x ||) untited.sel x [Blin x) (G] untited.sql x 8
+-®YTt > 8?a1%8 BB Bea i8mr|
(Comnectons Worksheet Query Builder
~ [if Recyde Bin
#i- Other Users
\© loud Connections
SQL Developer cung cap giao diện hình anh trực quan, dễ tiếp cận, khá quenthuộc đối với người dùng đã sử dụng và có kinh nghiệm với các công cụ quản lý cơ
sở dit liệu khác như SQL Server, My SQL, Người dùng không cần phải nhớ từng
câu lệnh đề có thé làm việc với cơ sở dữ liệu như với SQL*Plus
File Edit View Navigate Run Versinnng Tools Help
„mi Sf
*8ea'0-e@-'5-Hinh 2.3: Thanh menu cua SQL Developer
Thanh menu chính chứa các biéu tượng, thực hiện các chức nang cơ ban nhất, thứ
tự các nút từ trái qua phải như sau:
e New: Tạo một đối tượng cơ sở dữ liệu mới
e_ Open: Mở một file được hỗ trợ
e Save: Lưu các thay đổi trên đối tượng dữ liệu hiện tại
e Save All: Lưu tat cả các thay đổi đối với tất cả các đối tượng đã được mở
e Back, Foward: di chuyển màn hình làm việc giữa các màn hình đã mở
e Open SQL Worksheet: Mở trang viết va thực thi câu lệnh SQL, PL/SQL
GVHD: ThS Luu Minh Tuấn 26 SVTH: Nguyễn Cao Son
Trang 33Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Hình 2.4: Giao diện kết noi của SOL DeveloperPhía bên trái là thông tin về cơ sở đữ liệu đang được kết nối, icon thực hiện các
tác vụ Tạo kết nối mới và làm mới kết nối đã có Các icon được sắp xếp theo thứ tựcây, thé hiện các đối tượng cơ sở dir liệu có trong cơ sở dữ liệu được kết nối
Columns | Data | Constraints | Grants | Statistics | Triggers | Flashback |Dependenries | Details | Partitions | Indexes | SQL
# (Z WY ~ Actions
COLUMN_NAME |) DATA_TYPE |] NULLABLE |DATA_DEFAULT | COLUMN_ID |f] COMMENTS |
1 MAPB VARCHAR2 (20 BYTE) No (null) 1 (null)
2 PHONGBAN VARCHAR2 (50 BYTE) Yes (null) 2 (null)
Hình 2.5: Giao diện chỉ tiết bang dữ liệu của SOL DeveloperTrong màn hình làm việc với các bảng trong cơ sở dit liệu, SQL Developer sắpxếp các thông tin thuộc tính của bảng vào các tab, bao gồm các thuộc tính thường
dùng nhất là: Cột (Columns), Dữ liệu (Data), Rang buộc (Constraint), Triggers, Con
trỏ (Indexes) va tab SQL thé hiện các câu lệnh SQL được viết dé có thé tao nên bang
đang được chon.
GVHD: ThS Lưu Minh Tuấn 27 SVTH: Nguyễn Cao Sơn
Trang 34Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Bênh cạnh các chức năng và giao điện cơ bản kế trên, SQL Developer còn cungcấp rất nhiều các công cụ và tiện ích phức tạp khác dành cho các nhà quản trị cơ sở
dữ liệu chuyên nghiệp.
Ngoài hai phần mềm chính thức được phát hành bởi chính Oracle, trên thị trườngcòn có nhiều công cụ quản lý cơ sở di liệu có khả năng hỗ trợ các cơ sở dit
liệu Oracle, phục vụ cho người dùng với các nhu cầu cá nhân hơn, phần lớn là mã
nguồn mở và miễn phí, có thé ké đến: SolarWinds, RedGate, Quest Toad, Aqua Data
Studio, dbForge Studio, Navicat, RazorSQL, MyOra, TOra, Altova DatabaseSpy.
2.2 JAVA DEVELOPMENT KIT
Bộ phát triển Java (IDK) là nền tảng chung phát triển các ứng dụng xây dựng trên
ngôn ngữ lập trình Java, có thể chạy được trên nhiều nên tảng thiết bị khác nhau JDKcung cấp môi trường làm việc cho các nhà phát triển ứng dụng, đồng thời cung cấpcác công cụ và thư viện cần thiết dé biên dich và chạy các ứng dụng này sử dung JavaRuntime Environment (JRE) và máy ảo Java (JVM) Hiểu một cách ngắn gọn, JDK
sử dụng trong phát triển ứng dụng Java, JRE cung cấp các thư viện và công cụ dé
chạy ứng dụng Java, va JVM cung cấp nền tảng dé chạy ứng dụng Java trên mọi thiết
bị của người dùng.
( http://sonnc-pc:9001/forms/frmservlet Ở Search e« ®
@ Oracle Fusion Middleware F
Đề tài sử dung phiên bản JDK SE 8
GVHD: ThS Lưu Minh Tuấn 28 SVTH: Nguyễn Cao Sơn
Trang 35Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Mặc dù ứng dụng Web trong đề tài không được viết trực tiếp trên ngôn ngữ lậptrình Java, nhưng vẫn yêu cau các công cụ trong gói JDK, cụ thé là môi trường JRE
và máy ảo JVM dé có thé cài đặt Hệ thống máy ảo cục bộ WebLogic được nghiên
cứu trong đề tài này chính là các máy ảo JDK, được cấu hình dé phục vụ việc quản
công cụ chân đoán, theo dõi, giúp người quản trị có thé điều chỉnh hiệu năng của các
ứng dụng đã triển khai cũng như chính bản thân các máy chủ WebLogic
Từ phiên bản 12c, giống như Oracle Database 12c, các domain của WebLogic
Server cũng hỗ trợ kiến trúc đa khách thể Multitenant
Các bộ phận cấu thành WebLogic Server đều là các tiến trình dựa trên Java, vì thénên trước khi triển khai, WebLogic Sever yêu cầu JDK cùng với JVM và JRE Trong
một máy chủ vật lý hay máy chủ ảo chạy WebLogic thường có cấu trúc cơ bản về các
server như sau:
e Domain: Là cấp cao nhất của một môi trường triển khai ứng dụng, chứ toàn
bộ các cau hình và tài nguyên chung của các máy chủ trong domain Mỗi Domain cầnmột máy chủ AdminSever, nhưng có thê không có hoặc có một hay nhiều các máychủ dưới quyền Các máy chủ đưới quyền này nó thể được phân cụm trên nhiều thiết
bị khác nhau Các ứng dụng có thể được phân chia đưới một Domain hoặc phân tán
trên nhiêu Domain tuỳ theo nhu câu sử dụng và yêu câu của người dùng.
GVHD: ThS Lưu Minh Tuấn 29 SVTH: Nguyễn Cao Sơn
Trang 36Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
e Cluster: Don vi cap dưới của Domain chính, có thé tồn tại một hay nhiềuCluster trong một Domain Cái Cluster này bao gồm các máy chủ dưới quyền
Managed Servers, có thể chứ một hay nhiều các máy chủ này
e Máy chủ AdminServer: Cung cấp giao diện quan lý cho Domain dựa trên nền
web; cho phép quản lý sử dụng các script thông qua công cu WebLogic Scripting
Tool (WLST) Khi các máy chủ dưới quyền được khởi chạy, chúng sẽ lấy các cauhình mới nhất từ phía AdminServer Mặc dù vậy, các máy chủ đưới quyên quản lýcủa Domain có thể chạy mà không cần đến AdminServer, bằng cách sử dụng các cấuhình cục bộ.
e_ Máy chủ dưới quyền (Managed Server): Là các máy ảo Java JVM chạy cácứng dụng được triển khai Các máy chủ này có thể được nhóm thành một cụm(cluster), để tăng khả năng xử lý cũng như đảm bảo tính sẵn sàng trong trường hợp
có sự có Một ứng dụng có thê được triển khai trên một hay nhiều máy chủ cùng cụm
cluster Các máy chủ dưới quyền có thể nằm ngoài Cluster
e Quản lý Node (Node Manager): Node là một máy chủ vật lý hoặc ao Node
manager là một tiến trình Java hỗ trợ điều khiển các máy chủ dưới quyền Người dùng
có thê chọn sử dụng Node Manager hoặc không, nhưng trong trường hợp Domain cócluster chứa các server dưới quyền chạy trên nhiều thiết bị khác nhau thì bắt buộc
phải sử dụng Node Manager.
GVHD: ThS Lưu Minh Tuấn 30 SVTH: Nguyễn Cao Sơn
Trang 37Xây dựng hệ thống quản lý nhân sự sử dụng Hệ quản trị cơ sở đữ liệu Oracle
Physical/Virtual Server 1 Physical/Virtual Server2
Node Node
Manager Manager
N Do
Cluster
Managed Managed Managed Managed
Server Server Server Server
Hình 2.7: Mô hình quan lý giữa các máy chu WebLogic
2.4 ORACLE FORMS AND REPORTS 12C
2.4.1 Oracle Forms
Oracle Forms là một bộ phận cấu thành gói phan mềm Oracle Fusion Middleware.Oracle Forms được sử dụng trong phát triển và triển khai các ứng dụng Forms Cácứng dụng Forms cung cấp giao diện người dùng đơn giản dé phục vụ tương tác với
Cơ sở Dữ liệu Oracle một cách hiệu quả và chặt chẽ Các ứng dụng này có thé được
gan liền với Java và dịch vụ web dé áp dụng hiệu quả cau trúc hướng dịch vụ SOA
Oracle Forms gồm các thành phan sau:
e_ Oracle Forms Developer: phần mềm sử dụng trong thiết kế, phát triển và đóng
gói các ứng dung Forms.
e Oracle Forms Services: là bộ phận bên phía máy chủ, sử dụng trong triển khai
các ứng dụng Forms.
2.4.1.1 Oracle Forms Builder
GVHD: ThS Luu Minh Tuấn 31 SVTH: Nguyễn Cao Son