You are on page 1of 30

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
TÀI LIỆU THAM KHẢO
1. TRUY CẬP CÁC TRANG WEB SAU ĐỂ THAM KHẢO:
http://www.oracle.com
http://education.us.oracle.com
http://www.oramag.com
http://www.oracle.com/oramag/index.html

2. HỌC CÁC SLIDES THẦY GỞI!

GV: Phạm Văn Đăng 02/2009


CHƯƠNG I:
GIỚI THIỆU ORACLE

4
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
5

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ố

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.

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.

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ỹ)

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) 10

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.

11

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.

12

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.

13

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ể.

14

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.

15

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).

16

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.

17

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.
18

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.
19

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.
20

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
21

GV: Phạm Văn Đăng 02/2009


3.6. float
storage: Lưu trữ 16 số, giới hạn 40 chữ số thập phân
và float(a,b)
a: phần nguyên
b: phần thập phân

22

GV: Phạm Văn Đăng 02/2009


3.7 Long n < =2 Gigabyte
Lưu trữ chuẩn
Chú ý:
 Một table không thể có nhiều hơn 2 cột kiểu long
 Cột kiểu long không thể tạo ràng buộc (trừ NULL, NOT NULL)
 Không thể index.
 Một chương trình con không thể có tham số long hay trả về kiểu
long.

23

GV: Phạm Văn Đăng 02/2009


3.8 Date
Lưu trữ kiểu dữ liệu ngày tháng, bao gồm các thành phần:
 Thế kỷ

 Năm, tháng, ngày

 Giờ, phút, giây.

 Miền giá trị từ January 1, 4712 B.C đến December 31,


9999 A.D.

24

GV: Phạm Văn Đăng 02/2009


3.9 Raw (n) n <= 255 bytes
Lưu dữ liệu thuộc nhóm nhị phân
Ví dụ: Hình ảnh, âm thanh.
3.10 Long Raw
Giống Raw nhưng miền giá trị <=2 Gigabyte(GB).
3.11 ROWID
Chuỗi cơ số 16 cho biết địa chỉ một dòng trong table
Ví dụ:
000 0000F 0008 0002
Khối DL chứa file Địa chỉ dùng trong Tập tin CSDL
Khối DL

25

GV: Phạm Văn Đăng 02/2009


3.12 CLOB
Lưu trữ kiểu dữ liệu chuỗi, và có chiều dài dưới 4
Gigabyte
3.13 NCLOB
Cũng giống như CLOB, nhưng có kiểu lưu trữ mã
Unicode.
3.14 BLOB
Lưu dữ liệu thuộc nhóm nhị phân, và có chiều dài dưới 4
Gigabyte
Ví dụ: Hình ảnh, âm thanh.

26

GV: Phạm Văn Đăng 02/2009


4. Các mô hình hoạt động của Oracle9i
 Oracle Server có thể chạy trên nhiều máy khác nhau
theo các dạng thức sau:
 Host Based

 Client Server

 Client - Application Server - Server

27

GV: Phạm Văn Đăng 02/2009


 Host – Based(Máy đơn)
User kết nối trực tiếp đến Database đặt trên cùng
máy.
 Client Server(2 Lớp)
User truy xuất Database từ máy tính của
mình thông qua mạng (Network) và Database được
đặt trên một máy khác (Server).

28

GV: Phạm Văn Đăng 02/2009


 Client - Application Server – Server(Ba lớp)
User truy xuất Database từ máy tính của mình thông qua
Application Server. Đây là nơi xử lý các yêu cầu của ứng dụng.

29

GV: Phạm Văn Đăng 02/2009


Chúc Bạn Thành Công

Email: phamvandang2007@yahoo.com.vn
30

You might also like