Academia.eduAcademia.edu
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 CHƯƠNG II CHƯƠNG III CHƯƠNG IV CHƯƠNG V CHƯƠNG VI CHƯƠNG VII CHƯƠNG VIII CHƯƠNG IX CHƯƠNG X CHƯƠNG XI CHƯƠNG XII CHƯƠNG XIII CHƯƠNG XIV CHƯƠNG XV CHƯƠNG XVI GV: Phạm Văn Đăng : GIỚI THIỆU ORACLE : TABLE : RÀNG BUỘC DỮ LIỆU : CÁC LỆNH VÀ HÀM TRONG HQTCSDL ORACLE : HƯỚNG DẪN SỬ DỤNG SQLPlus Worksheet và SQL *Lus : HƯỚNG DẪN CÀI ĐẶT ORACLE9I : HƯỚNG DẪN SỬ DỤNG TIỆN ÍCH EXPORT và IMPORT : PL/SQL : EXCEPTION – VARRAY – RECORD TRONG HQTCSDL ORACLE : CHƯƠNG TRÌNH CON TRONG PL/SQL : SEQUENCE : VIEW : TRIGGER : CURSOR : PACKGE 2 : QUẢN LÝ NGƯỜI DÙNG 02/2009 CHƯƠNG I: 3 GIỚI THIỆU ORACLE 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 9 (SYCL - System Control Language) 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 7456123.89 7456123.89 7456123.89 7456123.89 7456123.89 Khai báo number number(9) number(9,1) number(9,2) number(8,1) Kết quả 7456123.89 7456124 7456123.9 7456123.89 7456123.9 20 GV: Phạm Văn Đăng 02/2009 3.6 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. 21 GV: Phạm Văn Đăng 02/2009 3.7 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. 22 GV: Phạm Văn Đăng 02/2009 3.8 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.9 Long Raw Giống Raw nhưng miền giá trị <=2 Gigabyte(GB). 3.10 ROWID Chuỗi cơ số 16 cho biết địa chỉ một dòng trong table Ví dụ: 000 0000F Khối DL chứa file 0008 Địa chỉ dùng trong Khối DL 0002 Tập tin CSDL 23 GV: Phạm Văn Đăng 02/2009 3.11 CLOB Lưu trữ kiểu dữ liệu chuỗi, và có chiều dài dưới 4 Gigabyte 3.12 NCLOB Cũng giống như CLOB, nhưng có kiểu lưu trữ mã Unicode. 3.13 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. 24 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 25 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). 26 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. 27 GV: Phạm Văn Đăng 02/2009 Chúc Bạn Thành Công Email: phamvandang2007@yahoo.com.vn 28