Giáo trình Hệ quản trị cơ sở dữ liệu Oracle - Chương 4: Các đối tượng trong cơ sở dữ liệu - Ngô Thị Thùy Linh
Bí danh cho mọi đối tượng trong Oracle Ưu điểm: • Đơn giản cho câu lệnh SQL • Không tốn không gian lưu trữ • Tăng tính bảo mật
Bạn đang xem trước 20 trang tài liệu Giáo trình Hệ quản trị cơ sở dữ liệu Oracle - Chương 4: Các đối tượng trong cơ sở dữ liệu - Ngô Thị Thùy Linh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
CÁC ĐỐI TƯỢNG TRONG CƠ SỞ DỮ LIỆU
Giảng viên: NGÔ THÙY LINH
https://sites.google.com/site/linhntmisba/
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-2
Nội dung chính
Tablespace
Schema
Table
Constraint
Index
View
Synonym
Data dictionary
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-3
Tablespace - 1
Là đơn vị logic bên trong một cơ sở dữ liệu
Nhóm các đối tượng để dễ quản lý
Một tablespace có thể không chứa hoặc chứa
nhiều segment
Segment: các đối tượng lưu trữ bên ngoài data
dictionary, ví dụ: table, index
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-4
Tablespace - 2
Có 2 loại tablespace
• Bigfile tablespace:
– Mới có từ Oracle 10g
– Chỉ chứa 1 datafile (dung lượng lên tới 32TB)
– Phù hợp cho CSDL lớn
– Ví dụ:
• Smallfile tablespace:
– Một tablespace chứa nhiều datafile
– Dung lượng tối đa 32GB
– Ví dụ:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-5
Sử dụng OMF (Oracle Managed File)
Giúp DBA quản lý các tablespace mà không cần
phải quan tâm tới datafile
Ví dụ:
Oracle tự động tạo datafile có tên không trùng
nhau
Sau khi sử dụng OMF, DBA chỉ cần khai báo
tablespace một cách ngắn gọn:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-6
Tablespace mặc định
Khi tạo mới một CSDL, mặc định Oracle server tạo
2 tablespace SYSTEM, SYSAUX
• SYSTEM: lưu trữ data dictionary
• SYSAUX: lưu trữ các đối tượng xử lý các chức
năng Oracle cung cấp sẵn, ví dụ: XMLDB,
Một DB bắt buộc phải có:
• SYSTEM, SYSAUX, TEMP
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-7
Tablespace tạm
Dùng cho các segment tạm
Segment tạm thường phát sinh khi gặp các phép
toán: ORDER BY, GROUP BY, CREATE INDEX,
Ví dụ:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-8
Undo tablespace
Chứa các undo segment, dùng cho các trường hợp:
• Rollback transaction tường minh với câu lệnh
ROLLBACK
• Rollback transaction không tường minh (phục hồi dữ
liệu sau khi database bị lỗi)
• Tái cấu trúc dữ liệu
• Phục hồi dữ liệu sau khi bị lỗi logic
Ví dụ:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-9
Xóa tablespace
Câu lệnh xóa:
INCLUDING CONTENTS: xóa các table, index
trong tablespace
Mặc định, Oracle chỉ xóa tablespace mà không
xóa datafile, muốn xóa datafile thì sử dụng câu lệnh:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-10
Sửa tablespace - 1
Đổi tên tablespace
Thêm datafile vào tablespace (trong trường hợp là
smallfile tablespace)
Chuyển tablespace sang trạng thái read-only
Chuyển tablespace sang trạng thái read-write
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-11
Sửa tablespace - 2
Chuyển tablespace sang trạng thái offline
Chuyển tablespace sang trạng thái online
Thay đổi đường dẫn của datafile
Chuyển tablespace sang chế độ backup
• Sau khi backup xong thì bỏ chế độ backup
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-12
Sử dụng EM để quản lý tablespace - 1
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-13
Sử dụng EM để quản lý tablespace - 2
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-14
Schema
Schema là tập hợp các đối tượng trong database
được sở hữu bởi user nào đó
Mỗi user chỉ có 1 schema và ngược lại
HR schema
HR user
owns
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-15
Các đối tượng của schema
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-16
Bảng tạm:
• Lưu trữ dữ liệu dùng riêng cho 1 session
• Dữ liệu bị xóa khi kết thúc session hoặc transaction
• Có thể thao tác dữ liệu, nối với với các bảng khác
như bình thường
Tạo bảng tạm
Bảng
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-17
Sử dụng EM để tạo bảng
Xác định tên schema
Xác định tên cột, kiểu dữ liệu,
độ dài.
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-18
Constraint
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-19
Index
Là cấu trúc dữ liệu tùy chọn, xây dựng cho một
bảng xác định Tăng tốc độ truy vấn dữ liệu
Có thể tạo index cho một hay nhiều cột trong bảng
(giá trị khóa)
22
22
Index Table
Key
Row
pointer
WHERE key = 22
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-20
Cấu trúc khối trong tập tin dữ liệu
Khối #1 của tập tin dữ liệu HEADER
11 Nguyễn Lan Hà Nội 100000
12 Lê Minh Lào Cai 200000
13 Hải Châu Hà Giang 700000
FREE SPACE
FOOTER 250/100 150/100 50/100 3
1 2 3
11 ROWID=(1,1)
12 ROWID=(1,2)
13 ROWID=(1,3)
Chiều dài header 50 bytes
Chiều dài mỗi bản ghi không đổi là 100 bytes
Khóa tìm kiếm = 12
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-21
Các loại index
Có 2 loại index:
• B-tree index (mặc định)
– Sắp xếp giá trị khóa & ROWID dưới dạng B-tree
– Phù hợp với những cột có ít giá trị giống nhau
– Hỗ trợ “row locking”
– Có 2 loại: unique và non-unique
• Bitmap
– Khóa và ROWID lưu dưới dạng bitmap
– Phù hợp với những cột có nhiều giá trị giống nhau
– Không hỗ trợ “row-locking”
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-22
B-Tree Index
Index entry header
Key column length
Key column value
ROWID
Root
Branch
Leaf
Index entry
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-23
B-Tree Index
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-24
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-25
Bitmap Index
Key
Start
ROWID
End
ROWID Bitmap
Table
Index
Block 10
Block 11
Block 12
File 3
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-26
Index
Tạo index
Xóa index
Quản lý index
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-27
Sử dụng EM để tạo index
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-28
View
CREATE VIEW v AS SELECT location_id, country_name FROM
locations l, countries c
WHERE l.country_id = c.country_id AND c.country_id in
('AU','BR');
COUNTRY table
LOCATION table
View
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-29
VIEW
Lệnh tạo VIEW
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-30
VIEW
Ví dụ
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-31
VIEW
Tạo view ở chế độ Read - Only
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-32
VIEW
Tạo view với WITH CHECK OPTION
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-33
Quản lý view
Xóa view
Có thể insert, update, delete dữ liệu trên view,
ngoại trừ một số trường hợp:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-34
Sequence
Là một đối tượng trong schema dùng để tự động
sinh ra các số nguyên theo thứ tự nào đó (thường dùng
cho khóa chính)
Đặc điểm
• Mỗi sequence có 1 tên xác định
• Không gắn với 1 cột hay 1 bảng nào
• Có thể tạo ra số nguyên theo thứ tự tăng hoặc giảm
dần đều
• Khoảng cách giữa 2 số nguyên do người dùng tùy đặt
• Có thể quay vòng nếu giá trị sinh ra đã đạt ngưỡng
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-35
Sequence
Các thuộc tính:
• START WITH
• INCREMENT BY
• MAXVALUE
• MINVALUE
• CACHE
1 3 5 7 9 11 13 15
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-36
Tạo sequence
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-37
Quản lý sequence
Sửa sequence
• Có thể sửa các thuộc tính: INCREMENT BY,
MAXVALUE, MINVALUE, CYCLE, CACHE
• Không thể sửa: START WITH
• Ví dụ:
Xóa sequence
Sử dụng sequence
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-38
Synonym
Bí danh cho mọi đối tượng trong Oracle
Ưu điểm:
• Đơn giản cho câu lệnh SQL
• Không tốn không gian lưu trữ
• Tăng tính bảo mật
Ví dụ:
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-39
Data dictionary
SELECT * FROM dictionary;
Tables
Indexes
Views
Users
Schemas
Procedures
and so on
Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng 4-40
Các file đính kèm theo tài liệu này:
- oraclechuong04_0401_2013675.pdf