1
Bài giảng HQT Cơ sở dữ liệu (ORACLE) Số tc: 3; LT: 25; Btập: 20 GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2
NỘI DUNG MÔN HỌC
1
Chương 1: Tổng quan về Oracle (2)
2
Chương 2: Cơ bản về Oracle (2)
3
Chương 3: Truy vấn SQL (12)
4
Chương 4: Lập trình PL/SQL (9)
5
Chương 5: Procedure, Trigger, Function (12)
6
Chương 6: Quản trị người dùng (4)
7 Chương 7: Kết nối CSDL với Oracle (4)
2
Chương 2: Cơ bản về Oracle
3
I. Các khái niệm cơ bản II. Cấu trúc CSDL III. Không gian dữ liệu và bảng dữ liệu IV. Các kiểu dữ liệu V. Quyền người dùng (Privileges & Roles) VI. Import/Export dữ liệu
I. Các khái niệm cơ bản
1. Oracle Server
Là hệ thống quản trị cơ sở dữ liệu đối tượng -
quan hệ, tập hợp các file, tiến trình (processes) và
cấu trúc bộ nhớ trong Oracle Server.
Oracle server gồm hai thành phần chính là Oracle
4
Instance và Oracle Database.
Kiến trúc Oracle Server (2)
5
Các khái niệm cơ bản (tt)
6
2. Instance / Thể hiện Bao gồm một cấu trúc bộ nhớ System Global Area (SGA) và các background processes (tiến trình nền) được sử dụng để quản trị CSDL.
Khái niệm cơ bản – Instance (tt)
3. SGA - System Global Area Là một vùng bộ nhớ để lưu trữ các thông tin điều
khiển của một instance.
SGA bao gồm một vài cấu trúc bộ nhớ chính: Shared pool: Là một phần của SGA lưu các
cấu trúc bộ nhớ chia sẻ.
Database buffer cache: Lưu trữ các dữ liệu
được sử dụng gần nhất.
7
Redo log buffer: Được sử dụng cho việc dò tìm lại các thay đồi trong cơ sở dữ liệu và được thực hiện bởi các background process.
Khái niệm cơ bản (tt)
4. Oracle DB Tập hợp file hệ thống, file dữ liệu, lưu trữ và trả
về các thông tin liên quan
8
Được lưu trữ dưới hai cấu trúc: vật lý và luận lý
Khái niệm cơ bản (tt)
5. Data Dictionary (Từ điển dữ liệu) Thông tin về cấu trúc vật lý, luận lý của CSDL, Người dùng, Tên, kiểu dữ liệu các cột trong bảng dữ liệu, Ràng buộc toàn vẹn dữ liệu, Vùng nhớ cấp phát.
select * from DICTIONARY
9
6. Schema Tập hợp schema object thuộc về một người dùng. 7. Schema Object Đại diện cho một người dùng về các quyền trên dữ liệu, bảng … trong một CSDL
II. Cấu trúc CSDL Oracle
1. Cấu trúc vật lý Các tập tin hệ thống hình thành nên CSDL là tập
hợp các control file, redo log file, và các datafile.
- Control files: chứa các mục thông tin quy định cấu trúc vật lý của DB như tên DB, nơi lưu trữ các datafiles hay redo log files, time stamp tạo lập DB.
10
- Datafiles: chứa toàn bộ dữ liệu trong DB, có thể tự động mở rộng kích thước mỗi khi DB hết chỗ lưu trữ dữ liệu. Một hay nhiều datafiles tạo nên một đơn vị logic của DB gọi là không gian bảng (tablespace). - Redo log files: ghi lại tất cả các thay đổi dữ liệu trong DB. Bảo vệ DB khỏi những hư hỏng do sự cố.
Cấu trúc CSDL Oracle (tt)
11
2. Cấu trúc luận lý Mô tả vùng nhớ dùng để lưu trữ các đối tượng như các bảng, hàm, thủ tục. Gồm các đối tượng tablespaces, schema objects, data blocks, extents, và segments.
Cấu trúc CSDL – luận lý (tt)
Tablespaces: tablespaces lưu trữ toàn bộ cơ
sở dữ liệu về mặt logic.
synonyms,
Schema:là tập hợp các đối tượng (objects) có trong DB bao gồm: tables, views, sequences, indexes, procedures, stored clusters, và DB links.
Extents: phân chia các vùng không gian trong DB, bao gồm: data blocks liên tiếp nhau, cùng được lưu trữ tại một thiết bị lưu giữ và cùng kiểu.
12
Segments: cũng là phân chia các vùng không gian trong DB, bao gồm tập hợp các extents.
Cấu trúc CSDL – luận lý (tt)
Database: Là một cơ sở dữ liệu gồm 1 hay nhiều vùng nhớ tablespace để lưu trữ dữ liệu.
Data block: Đơn vị lưu trữ nhỏ nhất với số byte nhất định được xác định khi có CSDL tạo ra.
13
Data file: Tương ứng với tablespace, được lưu trữ thực trên các thiết bị đĩa từ, đĩa quang,… và có là dbf phần mở rộng (database file).
III. Không gian dữ liệu & bảng dữ liệu
Không gian dữ liệu cố định: Chứa các đối
tượng dữ liệu tồn tại lâu dài (datafile)
Undo tablespace: Quản lý việc hoàn tác dữ liệu
có thể thay cho rollback segment
Không gian dữ liệu tạm thời: Chứa các đối
tượng CSDL trong một tập tin làm việc
Bảng dữ liệu: Có định danh duy nhất, gồm nhiều
14
hàng và cột để lưu trữ dữ liệu. + Hàng: mẫu tin / record + Cột: có tên và kiểu dữ liệu xác định
IV. Các kiểu dữ liệu
Kiểu Diễn giải
VARCHAR2 Dùng để khai báo chuỗi ký tự với
chiều dài thay đổi (2000 byte)
VARCHAR Tương tự VARCHAR2 (Oracle khuyên
NUMBER
INTEGER
15
DATE nên dùng Varchar2) Dùng để chứa các mục tin dạng số dương, số âm, số với dấu chấm động. Number(p, s); Number(p), Number Dùng để khai báo kiểu chuỗi ký tự với độ dài biến đổi, (2Gb) Dùng để chứa dữ liệu ngày, thời gian
Các kiểu dữ liệu (tt)
Kiểu
CHAR
FLOAT LONG
16
Diễn giải Dùng để khai báo chuỗi ký tự với chiều dài cố định (255 byte) Dùng để khai báo kiểu dấu chấm động Dùng để khai báo kiểu chuỗi ký tự với độ dài biến đổi (2GB). Thường để chứa văn bản.
V. Quyền người dùng
Privileges (quyền người dùng) Quyền thực thi một câu lệnh sql, truy cập đến các đối tượng người dùng khác. Bao gồm quyền trên hệ thống và quyền trên đối tượng
System Privileges (Quyền trên hệ thống) Create session: truy cập CSDL Create table, view, procedure Sysdba: thực hiện start/stop backup/restore
17
create database
Quyền người dùng (tt)
Object Privileges (Quyền trên đối tượng) Quyền thực thi các câu lệnh trên đối tượng Insert,
delete, update, select …
Roles được định nghĩa trước: Định sẵn các
quyền phổ biến cho nhóm người dùng
18
Roles do người dùng định nghĩa: Định các quyền đặt biệt khác cho một người hay một nhóm người dùng.
Nhập/xuất dữ liệu
Export: Xuất nội dung luận lý của 1 CSDL vào tập
tin dump (*.dmp)
19
Import: Tạo lại csdl từ file dump
Tổng kết chương 2
20
- Một số thành phần trong Oracle - Kiến trúc Oracle - Cấu trúc CSDL Oracle - Các kiểu dữ liệu cơ bản