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!
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