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

Key

Row 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

3

2

1

250/100 150/100

50/100

3

FREE SPACE FOOTER

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

Key column length

Leaf

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

File 3

Table

Block 10

Block 11

Block 12

Index

Start ROWID

End ROWID

Key

Bitmap

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 …

INCREMENT BY

 Các thuộc tính: • START WITH • • 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