You are on page 1of 40

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


Nội dung chính

 Tablespace
 Schema
 Table
 Constraint
 Index
 View
 Synonym
 Data dictionary

4-2 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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…

4-3 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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ụ:

4-4 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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:

4-5 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

4-6 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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ụ:

4-7 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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ụ:

4-8 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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:

4-9 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

4-10 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

4-11 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Sử dụng EM để quản lý tablespace - 1

4-12 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Sử dụng EM để quản lý tablespace - 2

4-13 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

owns

HR schema
HR user

4-14 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Các đối tượng của schema

4-15 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Bảng

 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

4-16 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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.

4-17 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Constraint

4-18 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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)
… WHERE key = 22

Row
Key pointer

22

22
Index Table

4-19 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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
3 2 1
FOOTER 250/100 150/100 50/100 3

Chiều dài header 50 bytes


Chiều dài mỗi bản ghi không đổi là 100 bytes

11 ROWID=(1,1)
12 ROWID=(1,2)
13 ROWID=(1,3)

Khóa tìm kiếm = 12

4-20 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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”

4-21 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
B-Tree Index

Index entry

Root

Branch

Index entry header


Leaf Key column length
Key column value
ROWID

4-22 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
B-Tree Index

4-23 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
Bitmap Index

Table File 3
Block 10

Block 11

Index Block 12

Start End
Key ROWID ROWID Bitmap
<Blue, 10.0.3, 12.8.3, 1000100100010010100>
<Green, 10.0.3, 12.8.3, 0001010000100100000>
<Red, 10.0.3, 12.8.3, 0100000011000001001>
<Yellow, 10.0.3, 12.8.3, 0010001000001000010>

4-25 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Index
 Tạo index

 Xóa index

 Quản lý index

4-26 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Sử dụng EM để tạo index

4-27 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
View
LOCATION table

COUNTRY table
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');

4-28 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
VIEW

 Lệnh tạo VIEW

4-29 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
VIEW
 Ví dụ

4-30 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
VIEW

 Tạo view ở chế độ Read - Only

4-31 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
VIEW

 Tạo view với WITH CHECK OPTION

4-32 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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:

4-33 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

4-34 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Sequence …
 Các thuộc tính:
• START WITH
• INCREMENT BY
• MAXVALUE
• MINVALUE
• CACHE

1 3 5 7 9 11 13 15 …

4-35 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Tạo sequence

4-36 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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

4-37 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
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ụ:

4-38 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
Data dictionary

Tables
Indexes
Views
Users
Schemas
Procedures
and so on

SELECT * FROM dictionary;

4-39 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng
4-40 Khoa Hệ thống thông tin quản lý – Học viện Ngân Hàng

You might also like