Giáo trình hệ cơ sở dữ liệu oracle | Trường Đại học Công Nghiệp Hà Nội

Giáo trình hệ cơ sở dữ liệu oracle | Trường Đại học Công Nghiệp Hà Nội. Tài liệu gồm 28 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
ORACLE
GV: PHẠM VĂN ĐĂNG
1
Tháng: 02/2009
NỘI DUNG MÔN HỌC(45 TIẾT LT + 30 TIẾT TH)
CHƯƠNG I : GIỚI THIỆU ORACLE
CHƯƠNG II : TABLE
CHƯƠNG III : RÀNG BUC DỮ LIỆU
CHƯƠNG IV : CÁC LỆNH VÀ HÀM TRONG HQTCSDL ORACLE
CHƯƠNG V : ỚNG DẪN SỬ DỤNG SQLPlus Worksheet và SQL *Lus
CHƯƠNG VI : HƯỚNG DẪN CÀI ĐẶT ORACLE9I
CHƯƠNG VII : HƯỚNG DẪN SỬ DỤNG TIỆN ÍCH EXPORT và IMPORT
CHƯƠNG VIII : PL/SQL
CHƯƠNG IX : EXCEPTION VARRAY RECORD
TRONG HQTCSDL ORACLE
CHƯƠNG X : CHƯƠNG TRÌNH CON TRONG PL/SQL
CHƯƠNG XI : SEQUENCE
CHƯƠNG XII : VIEW
CHƯƠNG XIII : TRIGGER
CHƯƠNG XIV : CURSOR
CHƯƠNG XV : PACKGE
CHƯƠNG XVI : QUẢN LÝ NGƯỜI DÙNG
2
02/2009
GV: Phạm Văn Đăng
CHƯƠNG I:
GIỚI THIỆU ORACLE
GV: PHẠM VĂN ĐĂNG
3
Tháng: 02/2009
NỘI DUNG
1. Oracle là gì?
1.1 Thế nào một h quản trị CSDL tốt
1.2 Đặc điểm
2. Các đặc trưng của hệ quản trị CSDL Oracle
2.1 Truy xuất dữ liệu
2.2 Tính đồng hành
2.3 Tính an toàn
2.4 Backup và Restore
2.5 Cơ sở dữ liệu phân tán
3. Các kiểu dữ liệu của HQTCSDL Oracle9i
4. Các mô hình hoạt động của Oracle9i
4
02/2009
GV: Phạm Văn Đăng
1. ORACLE ?
1.1 Thế nào một hệ quản trị sở dữ liệu tốt
Một h quản tr s d liệu phải kh năng
quản tr một khối lượng lớn s d liệu một cách đáng
tin cy, trong môi trường nhiều người dùng để th
truy xuất đồng thời đến cùng một đơn v d liệu tại cùng
một thời điểm. Tất c những yếu t trên phải tiến hành
trong tốc độ cao an toàn, đồng thời kh năng:
Chống truy xuất bất hợp pháp
Khôi phục d liệu khi s c
5
02/2009
GV: Phạm Văn Đăng
1.2 Đặc điểm
Oracle h tr việc quản tr d liệu khối hợp hàng
trăm Gigabyte.
H tr mạnh cho các tính năng nhiều user truy xuất
cùng đơn v d liệu trong cùng thời gian.
th làm việc 24/24.
Tuân th các chuẩn công nghiệp trên các yếu t
H điều hành.
Mạng.
Ngôn ng truy xuất.
6
02/2009
GV: Phạm Văn Đăng
Cung cấp chế an toàn bảo mật tốt.
Đảm bảo tạo các ràng buộc toàn vẹn đơn giản phức
tạp trên s d liệu.
H tr nhiều thuận lợi cho hình Client/Server.
Cho phép nhiều chủng loại máy, h điều hành khác
nhau chia s trên d liệu mạng.
Dùng để phát triển ứng dụng th s dụng trên bất
c h thống nào.
7
02/2009
GV: Phạm Văn Đăng
2. Các đặc trưng của hệ quản trị CSDL Oracle
2.1 Truy xuất dữ liệu
SQL(SEQUEL - Structured English Query Language)
ngôn ng truy xuất d liệu cho h quản tr s d liệu
quan hệ, SQL trong Oracle tương thích với SQL, theo chuẩn ANSI
(American National Standards Institute - Viện tiêu chuẩn quốc gia
Mỹ)
8
02/2009
GV: Phạm Văn Đăng
SQL chia thành 4 lớp:
Ngôn ng định nghĩa d liệu:
(DDL - Data Definition Language)
o Mức quan niệm: CREATE DATABASE, TABLE,
o Mức ngoài: CREATE VIEW, GRANT,…
o Mức trong: CREATE INDEX,...
Ngôn ng thao tác d liệu
(DML - Data Manipulation Language)
Truy xuất: SELECT
Cập nhật: INSERT, UPDATE, DELETE
Ngôn ng điều khiển d liệu
(DCL - Data Control Language)
Ngôn ng điều khiển h thống
(SYCL - System Control Language)
9
02/2009
GV: Phạm Văn Đăng
PL/SQL
(Procedure Language/
SEQUEL - Structured English Query Language)
ngôn ng m rộng của SQL, kết hợp SQLvới ngôn
ng lập trình cấu trúc.
Chú ý:
Code của PL/SQL lưu tr tập trung tại h quản tr s d liệu,
làm việc lưu thông giữa ứng dụng s d liệu.
Thậm chí nếu PL/SQL không nằm tại s d liệu việc gởi
PL/SQL Block thuận lợi hơn gởi các câu SQL rời rạc.
10
02/2009
GV: Phạm Văn Đăng
2.2. TÍNH ĐỒNG HÀNH
Các yêu cầu sau đây cần thỏa mãn:
D liệu đọc b sung nhất quán, thực hiện tốt các yêu
cầu của người dùng.
2.2.1 Đồng nh (Concurrency)
Vấn đề cần điều khiển tính ra vào, với các người dùng
khi truy xuất cùng một đơn v d liệu, sao cho tại cùng
một thời điểm cho giản ước thời gian ch tối thiểu
đến mức gần bằng 0.
11
02/2009
GV: Phạm Văn Đăng
2.2.2 Tính nhất quán
Đảm bảo d liệu nhất quán trong thời gian đọc.
Đảm bảo người đọc không ch người viết ngược lại.
Đảm bảo người viết phải ch người viết khác nếu cùng
cập nhật đến một đơn v d liệu.
12
02/2009
GV: Phạm Văn Đăng
2.3 TÍNH AN TOÀN
Đảm bảo tính an toàn nh các kiểm soát:
Quyền truy cập vào s d liệu.
Quyền trên s d liệu nào.
Quyền trên đối ợng nào trong s d liệu, bao gồm:
Quyền h thống: Cho phép tác động đến h thống
quyền rất mạnh.
Quyền đối ợng: Cho phép tác động lên một đối
ợng c th.
13
02/2009
GV: Phạm Văn Đăng
2.4 BACKUP RESTORE D LIỆU
2.4.1 Backup
Trong khi Backup, s d liệu vẫn th hoạt động,
chế backup cần uyển chuyển.
Người ta cần backup với những do sau:
Xóa (Delete) nhầm d liệu
Phát biểu nhầm các lệnh: Insert, Update
Lỗi đĩa cứng.
Mất mát do trộm cắp.
14
02/2009
GV: Phạm Văn Đăng
Một cách khắc phục tạo file backup gồm 2 dạng:
Full backup: Toàn b file tạo s d liệu.
Partial backup:Ch backup một phần file d liệu.
2.4.2 Restore
quá trình khôi phục lại s d liệu ban đầu t
s d liệu được backup.
Th t Restore ph thuộc vào:
Kiểu backup.
Thời gian biểu (schedule).
15
02/2009
GV: Phạm Văn Đăng
2.5 S D LIỆU PHÂN TÁN
2.5.1 X phân tán
ng nhiều b x chia tiến trình thành các tập công
việc liên quan, phân chia công việc cho các b x
khác cùng hợp tác làm việc. Oracle h tr cho công
việc x phân tán bằng kiến trúc Client/Server.
Client tập trung cho công việc ra yêu cầu trình bày d
liệu.
Server tiếp nhận các yêu cầu (Request) t Client, x
tr v kết qu cho Client.
16
02/2009
GV: Phạm Văn Đăng
2.5.2 s d liệu phân tán
s d liệu phân tán một mạng s d liệu quản
bởi nhiều server s d liệu, xuất hiện tới người
dùng như một s d liệu duy nhất. D liệu trong
s d liệu phân tán th truy xuất b sung đồng
thời tại một thời điểm.
Một s khái niệm:
s d liệu(CSDL) người dùng kết nối
(Connect) trực tiếp gọi Local Database.
CSDL còn lại gọi Remove Database.
Khi một CSDL cục b truy xuất CSDL t xa gọi
Client Database.
17
02/2009
GV: Phạm Văn Đăng
3. CÁC KIỂU D LIỆU CỦA HQTCSDL ORACLE9I
3.1 Char (n) n <= 2000 bytes
Biểu diễn chuỗi độ dài c định. Nếu d liệu chiều
dài lớn hơn n h thống s báo lỗi. D liệu chiều dài
nh hơn n h thống s thêm khoảng trắng.
3.2 Varchar2 (n) n < = 4000 bytes
Biểu diễn chuỗi độ dài thay đổi
Nếu insert d liệu lớn hơn n h thống báo lỗi
Nếu insert d liệu nh hơn n h thống không thêm
khoảng trắng.
18
02/2009
GV: Phạm Văn Đăng
3.3 NChar (n) n <= 2000 bytes
S dụng cho Unicode. Biểu diễn chuỗi độ
dài c định. Nếu d liệu chiều dài lớn hơn n h thống
s báo lỗi.
D liệu chiều dài nh hơn n h thống t động thêm
khoảng trắng.
3.4 NVarchar2 (n) n < = 4000 bytes
S dụng cho Unicode. Biểu diễn chuỗi độ
dài thay đổi.
Nếu insert d liệu lớn hơn n h thống báo lỗi.
Nếu insert d liệu nh hơn n h thống không thêm
khoảng trắng.
19
02/2009
GV: Phạm Văn Đăng
3.5 Number (p,s)
p: phần nguyên
s: phần thập phân
Ví dụ:
20
Giá trị thật Khai báo Kết quả
7456123.89 number 7456123.89
7456123.89 number(9) 7456124
7456123.89 number(9,1) 7456123.9
7456123.89 number(9,2) 7456123.89
7456123.89 number(8,1) 7456123.9
02/2009
GV: Phạm Văn Đăng
| 1/28

Preview text:

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE 1 GV: PH ẠM VĂN ĐĂNG Tháng: 02/2009
NỘI DUNG MÔN HỌC(45 TIẾT LT + 30 TIẾT TH) CHƯƠNG I : GIỚI THIỆU ORACLE CHƯƠNG II : TABLE
CHƯƠNG III : RÀNG BUỘC DỮ LIỆU
CHƯƠNG IV : CÁC LỆNH VÀ HÀM TRONG HQTCSDL ORACLE CHƯƠNG V
: HƯỚNG DẪN SỬ DỤNG SQLPlus Worksheet và SQL *Lus
CHƯƠNG VI : HƯỚNG DẪN CÀI ĐẶT ORACLE9I
CHƯƠNG VII : HƯỚNG DẪN SỬ DỤNG TIỆN ÍCH EXPORT và IMPORT CHƯƠNG VIII : PL/SQL
CHƯƠNG IX : EXCEPTION – VARRAY – RECORD TRONG HQTCSDL ORACLE CHƯƠNG X
: CHƯƠNG TRÌNH CON TRONG PL/SQL CHƯƠNG XI : SEQUENCE CHƯƠNG XII : VIEW CHƯƠNG XIII : TRIGGER CHƯƠNG XIV : CURSOR CHƯƠNG XV : PACKGE 2
CHƯƠNG XVI : QUẢN LÝ NGƯỜI DÙNG GV: Phạm Văn Đăng 02/2009 CHƯƠNG I: GIỚI THIỆU ORACLE 3 GV: PH ẠM VĂN ĐĂNG Tháng: 02/2009 NỘI DUNG 1. Oracle là gì?
1.1 Thế nào là một hệ quản trị CSDL tốt 1.2 Đặc điểm
2. Các đặc trưng của hệ quản trị CSDL Oracle 2.1 Truy xuất dữ liệu 2.2 Tính đồng hành 2.3 Tính an toàn 2.4 Backup và Restore
2.5 Cơ sở dữ liệu phân tán
3. Các kiểu dữ liệu của HQTCSDL Oracle9i
4. Các mô hình hoạt động của Oracle9i 4 GV: Phạm Văn Đăng 02/2009 1. ORACLE LÀ GÌ?
1.1 Thế nào là một hệ quản trị cơ sở dữ liệu tốt
Một hệ quản trị cơ sở dữ liệu phải có khả năng
quản trị một khối lượng lớn cơ sở dữ liệu một cách đáng
tin cậy, trong môi trường nhiều người dùng để có thể
truy xuất đồng thời đến cùng một đơn vị dữ liệu tại cùng
một thời điểm. Tất cả những yếu tố trên phải tiến hành
trong tốc độ cao và an toàn, đồng thời có khả năng:
 Chống truy xuất bất hợp pháp
 Khôi phục dữ liệu khi có sự cố 5 GV: Phạm Văn Đăng 02/2009 1.2 Đặc điểm
 Oracle hỗ trợ việc quản trị dữ liệu có khối hợp hàng trăm Gigabyte.
 Hỗ trợ mạnh cho các tính năng nhiều user truy xuất
cùng đơn vị dữ liệu trong cùng thời gian.
 Có thể làm việc 24/24.
 Tuân thủ các chuẩn công nghiệp trên các yếu tố • Hệ điều hành. • Mạng. • Ngôn ngữ truy xuất. 6 GV: Phạm Văn Đăng 02/2009
 Cung cấp cơ chế an toàn và bảo mật tốt.
 Đảm bảo tạo các ràng buộc toàn vẹn đơn giản và phức
tạp trên cơ sở dữ liệu.
 Hỗ trợ nhiều thuận lợi cho mô hình Client/Server.
 Cho phép nhiều chủng loại máy, hệ điều hành khác
nhau chia sẻ trên dữ liệu mạng.
 Dùng để phát triển ứng dụng và có thể sử dụng trên bất cứ hệ thống nào. 7 GV: Phạm Văn Đăng 02/2009
2. Các đặc trưng của hệ quản trị CSDL Oracle 2.1 Truy xuất dữ liệu
SQL(SEQUEL - Structured English Query Language)
Là ngôn ngữ truy xuất dữ liệu cho hệ quản trị cơ sở dữ liệu
quan hệ, SQL trong Oracle tương thích với SQL, theo chuẩn ANSI
(American National Standards Institute - Viện tiêu chuẩn quốc gia Mỹ) 8 GV: Phạm Văn Đăng 02/2009 SQL chia thành 4 lớp:
 Ngôn ngữ định nghĩa dữ liệu:
(DDL - Data Definition Language)
o Mức quan niệm: CREATE DATABASE, TABLE,…
o Mức ngoài: CREATE VIEW, GRANT,…
o Mức trong: CREATE INDEX,...
 Ngôn ngữ thao tác dữ liệu
(DML - Data Manipulation Language) Truy xuất: SELECT
Cập nhật: INSERT, UPDATE, DELETE
 Ngôn ngữ điều khiển dữ liệu (DCL - Data Control Language)
 Ngôn ngữ điều khiển hệ thống
(SYCL - System Control Language) 9 GV: Phạm Văn Đăng 02/2009  PL/SQL (Procedure Language/
SEQUEL - Structured English Query Language)
Là ngôn ngữ mở rộng của SQL, kết hợp SQLvới ngôn
ngữ lập trình có cấu trúc. Chú ý:
 Code của PL/SQL lưu trữ tập trung tại hệ quản trị cơ sở dữ liệu,
làm việc lưu thông giữa ứng dụng và cơ sở dữ liệu.
 Thậm chí nếu PL/SQL không nằm tại cơ sở dữ liệu việc gởi
PL/SQL Block thuận lợi hơn gởi các câu SQL rời rạc. 10 GV: Phạm Văn Đăng 02/2009 2.2. TÍNH ĐỒNG HÀNH
Các yêu cầu sau đây cần thỏa mãn:
Dữ liệu đọc và bổ sung nhất quán, thực hiện tốt các yêu cầu của người dùng.
2.2.1 Đồng hành (Concurrency)
Vấn đề cần điều khiển tính ra vào, với các người dùng
khi truy xuất cùng một đơn vị dữ liệu, sao cho tại cùng
một thời điểm cho giản ước thời gian chờ là tối thiểu đến mức gần bằng 0. 11 GV: Phạm Văn Đăng 02/2009 2.2.2 Tính nhất quán
 Đảm bảo dữ liệu nhất quán trong thời gian đọc.
 Đảm bảo người đọc không chờ người viết và ngược lại.
 Đảm bảo người viết phải chờ người viết khác nếu cùng
cập nhật đến một đơn vị dữ liệu. 12 GV: Phạm Văn Đăng 02/2009 2.3 TÍNH AN TOÀN
Đảm bảo tính an toàn nhờ các kiểm soát:
 Quyền truy cập vào cơ sở dữ liệu.
 Quyền trên cơ sở dữ liệu nào.
 Quyền trên đối tượng nào trong cơ sở dữ liệu, bao gồm:
 Quyền hệ thống: Cho phép tác động đến hệ thống là quyền rất mạnh.
 Quyền đối tượng: Cho phép tác động lên một đối tượng cụ thể. 13 GV: Phạm Văn Đăng 02/2009
2.4 BACKUP VÀ RESTORE DỮ LIỆU 2.4.1 Backup
 Trong khi Backup, cơ sở dữ liệu vẫn có thể hoạt động,
cơ chế backup cần uyển chuyển.
 Người ta cần backup với những lý do sau:
 Xóa (Delete) nhầm dữ liệu
 Phát biểu nhầm các lệnh: Insert, Update  Lỗi đĩa cứng.
 Mất mát do trộm cắp. 14 GV: Phạm Văn Đăng 02/2009
 Một cách khắc phục là tạo file backup gồm 2 dạng:
 Full backup: Toàn bộ file tạo cơ sở dữ liệu.
 Partial backup:Chỉ backup một phần file dữ liệu. 2.4.2 Restore
 Là quá trình khôi phục lại cơ sở dữ liệu ban đầu từ cơ
sở dữ liệu được backup.
 Thứ tự Restore phụ thuộc vào:  Kiểu backup.
 Thời gian biểu (schedule). 15 GV: Phạm Văn Đăng 02/2009
2.5 CƠ SỞ DỮ LIỆU PHÂN TÁN 2.5.1 Xử lý phân tán
 Dùng nhiều bộ xử lý chia tiến trình thành các tập công
việc có liên quan, phân chia công việc cho các bộ xử lý
khác cùng hợp tác làm việc. Oracle hỗ trợ cho công
việc xử lý phân tán bằng kiến trúc Client/Server.
 Client tập trung cho công việc ra yêu cầu trình bày dữ liệu.
 Server tiếp nhận các yêu cầu (Request) từ Client, xử lý
và trả về kết quả cho Client. 16 GV: Phạm Văn Đăng 02/2009
2.5.2 Cơ sở dữ liệu phân tán
 Cơ sở dữ liệu phân tán là một mạng cơ sở dữ liệu quản
lý bởi nhiều server cơ sở dữ liệu, xuất hiện tới người
dùng như là một cơ sở dữ liệu duy nhất. Dữ liệu trong
cơ sở dữ liệu phân tán có thể truy xuất bổ sung đồng
thời tại một thời điểm.  Một số khái niệm:
 Cơ sở dữ liệu(CSDL) mà người dùng kết nối
(Connect) trực tiếp gọi là Local Database.
 CSDL còn lại gọi là Remove Database.
 Khi một CSDL cục bộ truy xuất CSDL từ xa gọi là Client Database. 17 GV: Phạm Văn Đăng 02/2009
3. CÁC KIỂU DỮ LIỆU CỦA HQTCSDL ORACLE9I
3.1 Char (n) n <= 2000 bytes
Biểu diễn chuỗi có độ dài cố định. Nếu dữ liệu có chiều
dài lớn hơn n hệ thống sẽ báo lỗi. Dữ liệu có chiều dài
nhỏ hơn n hệ thống sẽ thêm khoảng trắng.
3.2 Varchar2 (n) n < = 4000 bytes
Biểu diễn chuỗi có độ dài thay đổi
Nếu insert dữ liệu lớn hơn n hệ thống báo lỗi
Nếu insert dữ liệu nhỏ hơn n hệ thống không thêm khoảng trắng. 18 GV: Phạm Văn Đăng 02/2009
3.3 NChar (n) n <= 2000 bytes
Sử dụng cho mã Unicode. Biểu diễn chuỗi có độ
dài cố định. Nếu dữ liệu có chiều dài lớn hơn n hệ thống sẽ báo lỗi.
Dữ liệu có chiều dài nhỏ hơn n hệ thống tự động thêm khoảng trắng.
3.4 NVarchar2 (n) n < = 4000 bytes
Sử dụng cho mã Unicode. Biểu diễn chuỗi có độ dài thay đổi.
Nếu insert dữ liệu lớn hơn n hệ thống báo lỗi.
Nếu insert dữ liệu nhỏ hơn n hệ thống không thêm khoảng trắng. 19 GV: Phạm Văn Đăng 02/2009 3.5 Number (p,s) p: phần nguyên s: phần thập phân Ví dụ: Giá trị thật Khai báo Kết quả 7456123.89 number 7456123.89 7456123.89 number(9) 7456124
7456123.89 number(9,1) 7456123.9
7456123.89 number(9,2) 7456123.89
7456123.89 number(8,1) 7456123.9 20 GV: Phạm Văn Đăng 02/2009