Đề tài Tìm hiểu và cài đặt CSDL Oracle, xây dựng một ứng dụng quản lý nhân sự đơn giản trên CSDL Oracle
MỤC LỤC
Phần 1: TRÌNH BÀY CẢM NHẬN VỀ VIỆC THAM QUAN & TIẾP
CẬN MÔI TRƯỜNG DOANH NGHIỆP . 4
Phần 2: TÌM HIỂU VÀ CÀI ĐẶT CSDL ORACLE, XÂY DỰNG MỘT
ỨNG DỤNG QUẢN LÝ NHÂN SỰ ĐƠN GIẢN TRÊN CSDL
ORACLE. 6
I. GIỚI THIỆU VỀ ORACLE. 6
II. QUÁ TRÌNH CÀI ĐẶT ORACLE. 7
III. SỬ DỤNG SQLPLUS TRONG ORACLE . 16
1. Giới thiệu về SQLPLUS . 16
2. Lệnh SQLPlus và lệnh SQL . 17
3. Bảo mật trong SQLPLus . 17
4. Các lệnh cơ bản . 18
5. Các Phát Biểu Tương Tác Dữ Liệu . 18
IV. THAO TÁC VỚI SQLPLUS . 19
1. TẠO MỚI SCHEMA TRONG ORACLE . 19
2. TẠO MỚI TABLESAPCE TRONG ORACLE . 20
3. TẠO BẢNG TRONG ORACLE VỚI ID TỰ ĐỘNG
TĂNG . 22
4. Thêm cột vào bảng . 24
5. Loại bỏ cột khỏi bảng . 24
6. Đổi tên cột của bảng . 24
7. Đổi tên bảng . 25
8. Xóa tất cả dữ liệu khỏi bảng . 25
V. TỔNG KẾT QUÁ TRÌNH TÌM HIỂU ORACLE . 25
VI. Chương Trình và Demo . 26
1. Giới thiệu: . 26
2. Phương pháp thực hiện . 26
3. Demo. 27
a với password là oracle_pass thì bạn có thể làm theo cách sau: Trong phần user name bạn gõ: sys as sysdba, việc gõ user name như thế này giúp bạn truy cập vào Oracle mà không cần biết password admin. Sau khi đăng nhập vào SQL Plus với quyền sysdba, bạn gõ vào các dòng lệnh sau để tạo schema với tên và password như trên create user sample_schema IDENTIFIED BY oracle_pass; grant dba to sample_schema ; grant connect to sample_schema; Khái niệm SCHEMA và USER trongORACLE User là một tài khoản trong cơ sở dữ liệu Oracle, sau khi được khởi tạo và gán quyền bằng lệnh CREATE USER thì tài khoản này được phép đăng nhập và sở hữu một schema trong cơ sở dữ liệu Schema là 1 tập hợp các đối tượng trong cơ sở dữ liệu Oracle được quản lý bởi 1 user nào đó, các đối tượng của schema có thể là table, view, stored procedures, index, sequence... Schema được tự động tạo cùng với user khi thực thi lệnh CREATE USER trong SQLPLUS. Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 20 Mối quan hệ giữa User và Schema là quan hệ 1 – 1, một User chỉ quản lý 1 Schema, và cũng chỉ có 1 Schema được khởi tạo khi thực thi lệnh CREATE USER. Việc lưu trữ vật lý các đối tượng dữ liệu của Schema(như table, indexes, clusters) được thực hiện bởi các Tablespace, 1 Tablespace có thể lưu dữ liệu của nhiều Schema và các đối tượng dữ liệu trong 1 Schema có thể được lưu trữ trong nhiều Tablespace khác nhau tùy theo mô hình dữ liệu. Ngoài các user được tạo bằng lệnh CREATE USER, khicài đặt và tạo global database thì Oracle cũng khởi tạo sẵn 1 danh mục các user mặc định như ở danh sách bên dưới: ID Username Password 1 ANONYMOUS invalid password 2 AURORA$ORB$UNAUTHENTICATED INVALID 3 AWR_STAGE AWR_STAGE 4 CSMIG 5 CTXSYS CTXSYS 6 DBSNMP DBSNMP 7 DEMO DEMO 8 DIP DIP 9 DMSYS DMSYS 10 EXFSYS 11 HR (Human Resources) HR 12 OE (Order Entry) OE 13 SH (Sales History) SH 14 LBACSYS LBACSYS 15 MDSYS MDSYS 16 ORACLE_OCM ORACLE_OCM 17 ORDPLUGINS ORDPLUGINS 18 ORDSYS ORDSYS 19 OUTLN OUTLN 20 PERFSTAT PERFSTAT SCOTT ADAMS JONES CLARK BLAKE TIGER WOOD STEEL CLOTH PAPER 22 SYS CHANGE_ON_INSTALL or INTERNAL 24 TRACESVR TRACE 25 TSMSYS TSMSYS 26 XDB 2. TẠO MỚI TABLESAPCE TRONG ORACLE Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 21 Tablespace là cấu trúc lưu trữ logic trong cơ sở dữ liệu Oracle, vì là logic nên bạn không tìm được Tablespace dưới dạng file trên hệ điều hành mà Oracle đang được cài đặt. Dữ liệu của Tablespace được lưu trong 1 hoặc nhiều datafiles (có mở rộng là .dbf) và là các file vật lý trên hệ thông file của hệ điều hành. Mối quan hệ giữa Tablespace và datafiles là mối quan hệ 1:n. Tức là 1 Tablespace có thể lưu dữ liệu trên nhiều datafiles, nhưng 1 datafile chỉ được liên kết với duy nhất 1 Tablespace, datafile được khởi tạo khi bạn tạo mới 1 Tablespace. Trước tiên bạn login vào SQLPlus, sau đó bạn sử dụng nhóm lệnh sau để tạo mới 1 Tablespace tên là : ex_tablespace. create tablespace ex_tablespace datafile 'ex_tablespace.dbf' size 50m autoextend on next 10m maxsize 100m; Dòng kết quả “Tablespace created” sau đó hiện ra thông báo bạn đã tạo mới thành công 1 Tablespace có tên là sample_tablespace. Kiểm tra kết quả tạo mới Template bằng cách liệt kê toàn bộ các Tablespace đang có trên Oracle và xem có tên của Tablespace bạn vừa tạo không bằng câu lệnh sau: Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 22 select * from v$tablespace; Danh sách toàn bộ các Tablespace hiện ra, EX_TABLESPACE vừa tạo đã có trong danh sách: 3. TẠO BẢNG TRONG ORACLE VỚI ID TỰ ĐỘNG TĂNG Trong bài này chúng ta sẽ cùng tạo bảng có tên là SinhVien để lưu tên các sinh viên . Cấu trúc bảng này như sau: ID ID-Khóa chính kiểu Number, tự động tăng Name Tên sinh viên Giả sử bạn muốn tạo một bảng trong Oracle có trường ID (kiểu số) và ID này tự động tăng mỗi khi bạn insert dữ liệu vào bảng thì bạn có thể thực hiện theo các bước sau. Tạo mới bảng: Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 23 Ta dùng nhóm lệnh sau trong SQL Plus để tạo bảng theo cấu trúc trên. CREATE TABLE SinhVien( ID NUMBER PRIMARY KEY,NAME CHAR(50)); Kết quả: Tạo mới một Sequence: Sau khi tạo bảng SinhVien chúng ta cần tạo 1 Sequence giúp tự động tăng trường ID cho bảng này, ID này sẽ có giá trị bắt đầu từ 1 và được tăng +1 cho mỗi lần một hàng dữ liệu mới được chèn vào bảng. Nhóm lệnh SQL để tạo Sequence này như sau: CREATE SEQUENCE auto_inc_Sq START WITH 1 INCREMENT BY 1; Kết quả: Tạo mới 1 Trigger Chúng ta sẽ dùng 1 Trigger để kích hoạt Sequence vừa tạo, Trigger này sẽ giúp gọi tới auto_inc_Sq để tăng trường ID lên 1 trước khi lệnh Insert dữ liệu vào bảng được gọi. Nhóm lệnh SQL để tạo Trigger này như sau CREATE OR REPLACE TRIGGER auto_inc_Tg BEFORE INSERT ON SinhVien REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT auto_inc_Sq.NEXTVAL INTO :NEW.ID FROM DUAL; Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 24 END; / Kết quả 4. Thêm cột vào bảng Chúng ta dùng lệnh alter table để thêm cột vào bảng. Dưới đây là hình minh họa thêm cột vào bảng bằng lệnh altet table 5. Loại bỏ cột khỏi bảng 6. Đổi tên cột của bảng Chúng ta có thể dễ dàng đổi tên cột trong Oracle bằng Rename column. Ví dụ sau đổi tên cột chucvu trong bảng nhanvien1 thành congviec. Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 25 7. Đổi tên bảng Đôi khi chúng ta cần phải đổi tên bảng. Chúng ta có thể đổi tên bảng bằng lệnh sau: RENAME TO 8. Xóa tất cả dữ liệu khỏi bảng Để xóa tất cả các dòng khỏi bảng, chúng ta dùng lệnh truncate. Nó loại bỏ tất cả dòng rất nhanh. Truncate là lệnh DDL và như vậy nó không thể được hoàn tác bằng lệnh rollback. Chúng ta cũng có thể xóa tất cả các dòng bằng lệnh delete table và vì đây là lệnh DML nên chúng ta có thể trở lui hoạt động xóa nếu chúng ta muốn. Tuy nhiên vì lệnh delete ghi tất cả những thay đổi vào rollback segment, nên nó tốn thời gian thực thi nhiều hơn. Lệnh truncate không liên quan gì đến rollback segment nên chỉ vần vài giây, thậm chí với các bảng lớn nhất. Cú pháp: TRUNCATE TABLE table_name [REUSE STORAGE] Trong đó: REUSE STORAGE: giữ lại khung để chứa, chỉ xóa dữ liệu V. TỔNG KẾT QUÁ TRÌNH TÌM HIỂU ORACLE Oracle là một hệ quản trị cơ sở dữ liệu khá hoàn hảo. Nó có thể chạy trên được nhiều hệ điều hành như: Linux, Window, Solaris. Trong quá trình thực hiện đồ án học phần với đề tài Tìm Hiểu Về Oracle. Chúng em đã phần nào nắm được những phần cơ bản của Oracle về cách cài đặt và gỡ bỏ một chương trình Oracle. Biết sử dụng công cụ SqlPlus để tương tác với cơ sở dữ liệu của Oracle và thấy nó là một công cụ hữu ích cho những người quản trị cơ sở dữ liệu, sử dụng Sqlplus để chạy các truy vấn SQL và các khối mã PL/SQL, ngoài ra sử dụng Sqlplus thực hiện các lệnh tạo các bảng, thực hiện phát biểu các ràng buộc not null, khóa chính… và quản trị cơ sở dữ liệu, cho phép khởi động và tắt cơ sở dữ liệu. Học được cách tạo và quản lý các bảng đơn giản. Vì thời gian không cho phép, nên chúng em chỉ nghiên cứu ở mức căn bản. Oracle còn có những ưu điểm hay như: Triển khai Oracle trên nhiều OS khác nhau Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 26 (Windows, Solaris, Linux,...). Có các bảng đặc biệt trong Oracle như bảng tạm, bảng mở rộng và bảng có tổ chức chỉ mục. Các cấu trúc bảng chẳng hạn như bảng phân khu, bảng có tổ chức chỉ mục. Thực hiện các quá trình sao lưu và phục hồi cơ sở dữ liệu bằng cách sử dụng Enterprise Manage. Có thể import một dumpFile (backupFile) từ một máy chạy OS này sang OS khác hoặc từ một version thấp lên một version cao hơn mà không gặp bất cứ trở ngại nào! ( Việc ngược lại cũng có thể thực hiện được nếu như bạn không xài các tính năng mới so với version trước đó). Hơn nữa Oracle còn tích hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu trúc - Structure Language. Tạo thuận lợi cho các lập trình viện viết các Trigger, StoreProcedure, Package. Đây là điểm rất mạnh so với các CSDL hiện có trên thị trường. VI. Chương Trình và Demo 1. Giới thiệu: Chương trình gồm các chức năng: Thêm, Sửa, Xóa, Tìm kiếm thông tin các nhân viên. Thống kê, báo cáo: Hợp đồng, Nhân Viên In ấn, xuất file doc, exel, pdf.. Phương pháp thực hiện: Sử dụng ngôn ngữ C Sharp để tạo giao diện GUI Tạo CSDL: Gồm 5 bảng Bảng NhanVien Trường Kiểu Mô tả MaNV Number Khóa chính,Tự động tăng HoNV Varchar2(20) Họ nhân viên TenNV Varchar2(20) Tên nhân viên GioiTinh Logic Giới tính 1 nam, 0 nữ NgaySinh Date Ngày Sinh MaPhong Number Khóa ngoại MaChucVu Number Khóa ngoại NoiSinh Varchar2(50) Nơi sinh QueQuan Varchar2(50) Quê quán DanToc Varchar2(10) Dân tộc TonGiao Varchar2(10) Tôn giáo SoDienThoai Number Số điện thoại Email Varchar2(20) Email DiaChi Varchar2(50) Địa chỉ TrinhDo Varchar2(10) Trình độ Bảng ChucVu Trường Kiểu Mô tả Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 27 MaChucVu Number Khóa chính ChucVu Varchar2(50) Tên chức vụ Bảng Phong Trường Kiểu Mô tả MaPhong Number Khóa chính Phong Varchar2(50) Tên phòng Bảng HopDong Bảng TenHopDong Mô hình thực thể kết hợp 2. Demo Trường Kiểu Mô tả MaHopDong Number Khóa chính MaNV Number Khóa ngoại NoiDung Varchar2(50) Nội dung hợp đồng NgayKy Varchar2(50) Ngày ký hợp đồng Trường Kiểu Mô tả MaHopDong Number Khóa chính TenHopDong Varchar2(50) Tên hợp đồng Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 28 Báo cáo môn học: Thực Tập Nhận Thức 2011 Hoàng An – Lớp 08T2 – Nhóm: 05A Trang: 29
File đính kèm:
- Đề tài Tìm hiểu và cài đặt CSDL Oracle, xây dựng một ứng dụng quản lý nhân sự đơn giản trên CSDL Oracle.pdf