Tải bản đầy đủ (.pdf) (84 trang)

" Hệ quản trị CSDL Oracle trong quản lý bán hàng "

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (23.3 MB, 84 trang )

ha

{21⁄2

——

41⁄2
-

2:
7h

5

`

mm

ˆ^ˆ^

Ne

TTT
fa
Le
tat

-

Pes


.
*

———..n—=
Sot
A
P=
Lew be le
a
eh:

ite

ea
Rey

er a Se 8S

Ves be Dice lly Sol cg ba
(0ù
~

betel,
.
:

=
<
=S0
s

``
S

â

ale


an

CSDL Oracle trong qu

l
tr

qun
vr

vy

Z#

a

o

"`,

ơnGC


1 `

LAS O03

`

1

sy]

NN

re

obs [pla [ed

5 GI 09

he

ee

9 ei

M


Đồ Ấn Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

LOI MO

DAU.

Cơ sở đữ liệu là một trong những ngành được quan tâm nhiễu trong khoa
học máy tính, trong cơng nghệ thơng tin. Từ khi có mơ hình cơ sở dữ liệu dau
tiên vào những năm 60 đến nay tuy không là chặng đường dài đối với các
ngành khoa học khác, nhưng với khoa học máy tính và đặc biệt với co so dir

liệu thì đó là thời gian đáng kế. Cơ sở dữ liệu đã trải qua nhiễu thể hệ của hệ

quản trị cơ sở đựữ liệu, và đã có nhiễu ng dụng trong khoa học và trong các

nghành kinh tế quốc dan.
Thời đại thông tin ngày nay, bài toản cơ bản và cốt yếu là :Làm thể nào lưu
trữ thông tin an tồn và chắc chăn đồng thời lại truy cập chính xác và dễ đàng.
Theo thời gian, yêu cầu của bài tốn ngày càng cao với lượng thơng tin cần
lưu trữ, xử lý ngày càng nhiễu và đa dạng.
Hệ quản trị cơ sở đữ liệu Oracle là một trong những giải pháp tốt nhất, được

công nhận trên thị trường tin học thé giới hiện nay. Oracle đã được nghiên cứu

và phát triển, cho phép người sử dụng khai thác triệt để tiêm năng của hệ

thông quan ly cơ sở đữ liệu quan hệ một cách ưu việt và mạnh nhất hiện nay.

Nhu câu tích lãy và xử lý các dữ liệu đã nảy sinh trong mọi công việc, trong

mọi hoạt động của con người. Một cả nhân hay một tổ chức có thể đã nhầm có
một hệ thong xử lý dữ liệu, đù cơ chế hoạt động của nó là thủ cơng và chưa tự


động hố. Một bài tốn nhỏ cũng cân đến đữ liệu, nhưng không nhất thiếtphải
quản Ùÿ các dữ liệu theo các phương pháp khoa học. Do khả năng tổng hợp của
người xử lý, các đữ liệu ấy được lấy ra, được xử lý mà không vấp phải khó
khăn nào. Tuy nhiên khi bài toản có kích thước lớn hẳn và số lượng đữ liệu cần
phải xử lý tăng lên nhanh thì e rang tam bao quát của con người bình thường

khó có thể quản lý hết được! Áy là không kế đến một số loại dữ liệu đặc biệt;

chúng địi hỏi được quản lý tốt khơng phải vì kích thước mà vì sự phức tạp của
bản thân chúng tổ chức xử lÿ đữ liệu một cách khoa học đồi hỏi con người sử
dụng cơ sở đữ liệu.
Chính vì thế em đã chọn hệ quản trị cơ sở đữ liệu Oracle để xây dựng hệ

thống bán hàng tại công ty VINDA làm đô án tốt nghiệp.
Em xin chân thành cảm ơn đến Tiến sĩ Nguyễn Ngọc Bình người đã trực tiếp

hướng dan, động viên để em hoàn thành đô án, tạo điễu kiện để em thực hiện

đồ án đúng thời gian.

Cảm ơn các anh chị trong công ty VINDA đã tận tình giúp đỡ tạo điễu kiện để
đồ ản được hồn thành.

Vì thời gian có hạn đơ ản chắc cịn nhiều thiếu xót, kính mong quỷ thầy cơ,
các bạn đóng góp ÿ kiến để đồ ăn hồn thiện hơn.

Thành phố Hỗ Chí Minh, 21-5-2003
SVTH: Đỗ Hữu Bá


SVTH: Đơ Hữu Bá

Trang 1


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

PHAN MOT
Chương I. CO SO LY THUYẾTT.............................- 2 6E £E£S£ e.£Ee£s£zcs xe 2

I0 8`i29).2.4005010555................................. 2
Il. Cơ sở dữ liệu ORACLE trong kiến trúc CLIENT/SERVER .................... 4
II. Hệ quản trị Cơ sở đữ liệu Quan hệ ORACLES8 SERVER ........................ 4

IV. Các sản phâm kết nối mạng...........................
- - << 4 SE E4 E3 ve crkc 5
V. Các công cụ phát triển CLIENT/SER VER..........................2 5-2 5 << cxcscscxe 5
Chương II: CẤU TRÚC ORACLE........................
2 - 2S S2 £££££z£z£ec<£ 7
T.1 Lop vat ly cua ORACLE oo... ........................ 7

IL.2 Câu trỳc b nh v cỏc quỏ trỡnh.......................---+ 2đ 2â s+sEEÊEÊkÊzÊEÊsÊsezzcee 11

II.3 Transaction, Commit, Rollback ..................................
---- << ¿+ =5 =2 << s
H.4 Các tác vụ khởi tạo và chấm đứt ....................
. ¿c2 +c+2xs+tesxesrsrsrrerrered 13


TI.5 Bao mật cơ sở đữ liệu ..........................
.....- - -- -- - - Ă ĂĂ SH 11H91
vn ven 14

Chương III. ORACLE VÀ MƠ HÌNH MẠNG.
IL Tổng quan về NetÑ......................-----¿SE St SE 11141 1111101300 103011 111101 te. 20
II Các khái niệm và kiến trúc mạng của Oracle ......................--2-5 +se
II. Kiến trúc của Nef8.....................
2s S+ 2t 1223231111121111211111121111111 2.1. 21
(085 ,ïïsối 1-1007 ........................... 21

Chương IV. ORACLE VÀ CẤU HÌNH MẠNG

L. Service và những chức năng phục vụ của OracÌe........................-.....««--cee««e
IL Tổng quan vỆ các cầu hình kết nối của facÌC.......................... .......c.eece
II. Net8 và nên giao tiếp mạng trong suốt..........................52 << s xxx xẻ
IV. Cac tang giao tiếp "¬...........
Chương V. NGƠN NGU PL/SQL
I. Tổng quan về PIL/QL ........................-+
+ E£*EE£k£ ££ E£EZ #4 SE £E£EzErecerzez
Il. Cau tric churong trinh PL/SQL wo... cscscsssescessescssescsssccssscsessseseseseees

Chương VI. PHƯƠNG
THONG

PHÁP

LUẬN


PHÂN

TÍCH

THIẾT

24
24
25
25
31
31

KẾ HỆ

I. Phuong phap phan tích hệ thống về chức năng........................2 - 2 2 5552 34
II. Phương pháp phân tích hệ thống về đữ liệu.........................---5-5 7< cz 5£ 36

II. Phương pháp thiết kế hệ thống ...........................--- + © 2 2 2E E5ESEE£E££E# .£Ee£zce2 37

CHUONG VII. GIOI THIEU ORACLE DEVELOPER 6.0
TL. FORM BUIDER woiceccccccscscsccccssscscsccsescscsescscssecsscsescstesessssscsvscssssssessscsesvass 37
II REPORT BUIDER .....ccccccccsssescsccssscsescscscssesssesescssesescsescssssssesssscsssesvass 39
II. GRAPHICS BUIDER ....ccccccccscscsssscsescscscscscsscsescscssessssssssscesesssssescsesvaes 39
IV. QUERY BUIDER...........................(Sẻ SH E1. 111 10130011 011111113 tee 40
V. SCHEMA BUIDER ....................... C10 .
TH HH HH
ngà
người 41

PHAN HAI

T. Khao sat hién trang 1005 ........................... 42

II. Phân tích hệ thống ..........................
-- G- <4 SE SE Sư
0 11g
vớ, 44

II.1
II2
II.3
TM.

Phân tích hệ thống về chức năng..........................
- -G© s + SE 1x xxx e2
Phân tích hệ thống về đữ liệu..........................
G5 se SE 1x xe c2
Thiết kế hệ thốn gg........................© 6 SE k SEE SE ưu 0 11g
gu vớ,
Két luan hung phat trién d6 at... sssccscsessescssccssscssssseseseseees

Tài liệu tham khảo

SVTH: Đô Hữu Bá

44
61
67
83


Trang 2


Đồ Ấn Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

PHAN MOT

Chuong I:CO SO LY THUYET
I. LICH SU ORACLE.

Vao nam 1977, Larry Ellison, Bob Miner, va Ed Oates thanh lap mot cong ty

và đặt tên la Relation Software Incorporated(RSI). Cong ty nay xay
hệ quản trị cơ sở dữ liệu gọi 1a Oracle. Ellison, Miner va Oates quyết
triển hệ này bằng C và giao tiếp SQL. Ngay sau một thời gian ngăn,
phiên bản một như một nguyên mẫu. Năm 1979, RSI phân phối sản

dung mot
định phát
họ đưa ra
phẩm đầu

tiên cho khách hàng: hệ quản trị cơ sở dữ liệu Oracle phiên bản 2, làm việc trên

Digital PDP-11

théng DEC VAX.


chay hé điều hành RSX-11

và ngay sau đó chuyển

sang hệ

Năm 1983 phiên bản 3 được giới thiệu với những thay đổi trong ngôn ngữ
SQL. Không như các phiên bản trước đây , phiên bản 3 được viết toàn bộ bằng
C. Vào thời điểm này , RSI được đổi tên thanh Oracle Corporation.
Phiên bản 4 được phát hành vào năm 1984. Phiên bản 5 được giới thiệu vào
năm 1985, là mốc lịch sử vì nó đưa cơng nghệ Client/ Server vào thị trường
với viéc su dung SQL* Net.
Nam 1988, Oracle đưa ra phiên ban 6, giới thiệu việc khoá ở mức thấp. Oracle

7 được phát hành năm 1992 bao gồm nhiều thay đổi kiến trúc về bộ nhớ, CPU

và tiện ích xuất /nhập. Năm

1997 Oracle giới thiệu

Oracle8, thêm phần mở

rộng đối tượng cũng như nhiều tính năng và công cụ quản trị mới đặc biệt

Oracle 8i phiên bản hỗ trợ nhiều tính năng mới và đặc biệt là các ứng dụng cơ
sở đữ liệu Internet.

I.1.ORACLE VÀ CÔNG NGHỆ CLIENT/ SERVER.


Oracle Corporation trở thành một công ty cơ sở đữ liệu nổi tiếng nhờ tạo ra

một hệ thống quản trị cơ sở dữ liệu quan hệ kiểu Server với hiệu suất cao và

đầy đủ chức năng .Oracle đã vượt qua tầm vóc của một cơng ty cơ sở dữ liệu
khi bố sung hệ quản trị cơ sở dữ liệu quan hệ kiểu Server của nó những sản

phẩm tích hợp cao được thiết kế đặc biệt cho các ứng dụng xử lý dữ liệu phân
tán và công nghệ Client/ Server.
II.CƠ SỞ DỮ LIỆU ORACLE TRONG KIÊN TRUC CLIENT/SERVER.

Oracle Corporation đã trở thành người dẫn đầu khi đưa ra công nghệ

Client/Server tiên tiễn, định hướng phát triển sản phẩm đặc trưng theo hướng

hỗ trợ thiết kế, cài đặt và quản lý các hệ thống cơ sở dữ liệu Client/Server.

Orcale đã thiết kế các sản phẩm theo một trong ba thành phần chủ yếu của
kiến trúc Client/Server:
s* Một hệ cơ sở dữ liệu quan hệ server hiệu suất cao, đủ tính năng, thích

ứng cho các chủng loại, từ các máy tính xách tay( laptop, notebook) cho
đến các máy mainframe.
“+
Sự phát triển client và các sản phẩm run-time hỗ trợ nhiều môi trường
GUI

s$* Các phần trung gian kết nối cơ sở dữ liệu cung cấp sự giao tiếp bảo mật

và hiệu quả trên nhiều lọai hình giao thức mạng. Các sản phẩm Oracle có

tính thích ứng cao, cung cấp các giải pháp Client/Server trọn vẹn cho cho
các môi trường ứng dụng từ các nhóm làm việc nhỏ đến các mơi trường
cơng ty

SVTH: Đơ Hữu Bá

Trang 3


Đồ Ấn Tốt Nghiệp
Ill.

HE QUAN

GVHD:TS Nguyễn Ngọc Bình
TRI CO

SO DU LIEU

QUAN

HE

ORACLE

8

SERVER.
s%* Ngơn ngữ PL/SQL: Một thành phần chính của Oracle8 Server là engine


xử lý PL/SQL. PL/SQL là ngôn ngữ thế hệ thứ tư của Oracle, kết hợp các

nguyên tố ngôn ngữ thủ tục có cầu trúc với SQL. PL/SQL được thiết kế đặc

thù để xử lý client/server, trong đó nó cho phép một khối chương trình

PL/SQL, chứa logic ứng dụng như các lệnh SQL để đệ trình đến Server với

một yêu cầu đơn. Khi sử dụng PL/SQL có thể giảm một cách đáng kể khối
lượng xử lý yêu cầu bởi phần Client của ứng dụng và sự lưu chuyến trên
mạng để thực hiện phần logic.

“* Cac Stored procedure: Viéc xit dung cdc stored procedure tang dang ké
hiệu quả của hệ thống Client/Server vì các ly do sau:
* Gọi một stored procedure từ một ứng dụng Client giảm đáng kể mật độ
lưu thông trên mạng.
s* Các stored procedure cung cấp một cơ chế bảo mật hiệu quả và tiện lợi.
s*

Cá hai dạng text và đã biên dịch của các stored procedure đều nằm

trong cơ sở đữ liệu. Do dạng biên dịch của thủ tục có sẵn và sẵn sàng thực
®
$

hiện, nhu cầu phân tích cú pháp và biên dịch PL/SQL lúc thi hành được
giảm nhẹ.
Database trigger: Các trigger cơ sở dữ liệu giống như các stored procedure

ở chỗ chúng là các khối PL/SQL thường trú trong cơ sở đữ liệu.

Tính tồn vẹn có thể khai bảo

Khi ta định nghĩa một bảng trong Oracle, các ràng buộc toàn vẹn như là một
phân của định nghĩa bảng. Các ràng buộc được hỗ trợ bởi Server khi một bản
ghỉ được chèn, sữa đổi hay xố.
Tính tồn vẹn được hỗ trợ bởi Server làm số mã yêu cầu để kiểm tra bên
client và cũng tăng sức mạnh của mơ hình giao dịch được định nghĩa bên trong
cơ sở đữ liệu.

@

Cdc User-defined function:
stored procedure.

Cac user- defined function cting tuong ty cac

Iv. CAC SAN PHAM KET NOI MANG.
% Net8: Là một phần mềm kết nối cơ sở dữ liệu dùng để cung cấp các thông
“*

tin cơ sở dữ liệu xác thực, tối ưu trên mọi thủ tục mang thong dung.

Oracle Names: Tạo các liên kết cơ sở dữ liệu chứa các thông tin nút mạng
trên một mạng bằng cách sử dụng từ điển toàn cục chung Oracle Names.
s* Multi- protocol Interchange: cung cấp một nhu cầu giao tiếp trên các thủ
tục khác biệt bằng cách gửi thông điệp SQL* Net từ thủ tục này sang thủ
tục khác.

s* Oracle Network Manager: Quản lý cấu hình và quản ly mạng cơ sở dữ
liệu phân tán được thực hiện dé dàng với Network Manager. Network

Manager được sử dụng không chỉ để quản lý từ điển Oracle Names mà còn
tạo ra các file cầu hình cho các thành phan Client/Server cua SQL*Net va
định nghĩa cho các đường kết nỗi cho cdc nit Multi-Protocol Interchange.

SVTH: Đô Hữu Bá

Trang 4


Đơ Án Tốt Nghiệ

GVHD:TS

Nguyễn Ngọc Bình

V. CÁC CƠNG CU PHAT TRIEN CLIENT/SERVER.
>

I.

Cac hé Server:

Oracle Unisersal Server c6 cdc thanh phần tùy chọn:
% Distributed Option:(Tùy chọn phân tán) cho pháp một số cơ sở đữ liệu
Oracle trên các máy tính khác nhau hoạt động như một cơ sở dữ liệu logic
đơn.
s* Replication Option(Tùy chọn sao lưu): cho phép một cơ sở dữ liệu
Oracle sao chép sự thay đổi lên một cơ sở đữ liệu khác.

s* Context Opfion(Tùy chọn ngữ cảnh): mở rộng khả năng cho phép


người dùng tìm nội dung của một cơ sở đữ liệu Oracle theo các từ khóa và
các chủ đề nhất định.
s% Spatial Data Option(Tùy chọn không gian dữ liệu) cho phép một nhà
thiết kế lựa chọn tạo ra các chỉ mục

>

>
>
>
>

không gian tỉnh vi và các query khác.

đặc biệt hỗ trợ các query tạm thời,

Oracle Workgroup Server: duoc thiết kế cho các nhóm làm việc, có các
ban cho Netware, Window NT, SCO UNIX va Unix Ware. Oracle

Workgroup Server là một giải pháp có tính bảo trì nhỏ có kinh tế để hỗ trợ
các nhóm nhỏ người dùng.
Persernal Oracle: Là phiên bản chạy trên Windows engine của cơ sở dữ
liệu Oracle có đủ các chức năng như Oracle Universal Oracle và Oracle
Workgroup Server.
Designer 2000: phát triển các ứng dụng Oracle.
Developer/2000, Develper 6.0, Jdeveloper for Oracle 8i: Các bộ Developer
nay gdm Oracle form, Report, Graphics, va Oracle Procedure Builder durgc

tích hợp vào mơi trường phát triển


Power Object: cung cấp môi trường phát triển ứng dụng nhanh với các đặc
trưng kéo thá và quản lý các toàn tác cơ sở dữ liệu tự động.

2.CÁC ỨNG DỤNG
=

"

œ

P.



So

2.1 Các ứng dụng Oracle truyén thong
s* Nhân sự.

s* Quản lý dự án.
s

Bán hàng.

SVTH: Đô Hữu Bá

Trang 5



Đồ Ấn Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

s* Sản xuất.
Các ung dụng OnLine Analytical Processing( OLAP).
Các ứng dụng OLAP cung cấp một giao diện đồ hoạ cho các ứng dụng kho dữ
liệu nhỏ. Những cơng cụ này đưa ra mơ hình đa chiều cho cơ sở dữ liệu, cung

cấp các tác vụ thiết kế, dự báo và thống kê.

3. CAC HUONG PHAT TRIEN CUA ORACLE.

> Khách/chủ không đây:Công nghệ này làm việc trên các mạng nhỏ, đặc
biệt thích hợp với người sử dụng laptop và palmtop. Một dạng hơi tiên tiến
khác của công nghệ khách /chủ 1a Oracle Mobile Agents, si dung kiến trúc
clien-agent-server cho phép một client làm việc offline và kết nói định kỳ
với mạng để gửi yêu cầu và nhận kết quả từ server. Thanh phan agent cua
kiến trúc này hoạt động thay cho client khi nó vắng mặt trên mạng.

>

Giao

dién Internet/ World

Wide

Web:


Web

interface

Kit cua Oracle

được dùng để tích hợp các server World Wide Web với cơ sở dữ liệu
Oracle8.
> Multimedia Server: Khi các ứng dụng sử dụng nhiều kiểu đữ liệu khác
nhau, đặc biệt là dữ liệu multimedia, công nghệ server cơ sở dữ liệu cũng

cải thiện để quản lý chúng.

CHUONGII.

_

ˆ CÂU TRÚC CUA ORACLE.

II.1 LỚP VẬT LÝ CỦA ORACLE.

1. Lớp vật lý của Oracle bao gồm: các tập tin đữ liệu(data file), các tap tin

diéu khién( control file) và các tập tin phục hồi( redo log file).

s* Táp tin dữ liệu: lưu trữ thông tin chứa trong cơ sở dữ liệu. Phụ thuộc vào
kích thước, các bảng và các đối tượng khác có thể nằm trên một hay nhiều

SVTH: Đô Hữu Bá


Trang 6


Đồ Án Tốt Nghiệp

s*

s%

s*
*

GVHD:TS Nguyễn Ngọc Bình

tập tin. Các tập tin dữ liệu có kích thước cỗ định và khơng bao giờ tự phát
triển lớn hơn kích thước ban đầu tạo ra.
Mỗi cơ sở đữ liệu cần có ít nhất một tập tin điều khiển các tap tin này ghi
tên của cơ sở dữ liệu,vị trí của tập tin dữ liệu, tap tin điều khiển và thông tin
đồng bộ để đảm bảo rằng chúng luôn hoạt động ăn khớp với nhau. Các tập
tin điều khiển cần được bảo vệ.
Các tập tin phục hồi lưu giữ thông tin đề phục hồi trong trường hợp hệ
thống có sự có. Các tập tin này ghi lại toàn bộ thay đối của cơ sở dữ liệu,
các tập tin phục hồi có kích thước cố định.
2. Lớp Logic của Oracle gom:
Một hay nhiều không gian bảng(tablespace).
Các khung cơ sở dữ liệu (database schema) bao gồm nhiều đối tượng
Oracle như:table,

sequence,...


cluster, index, view,

stored procedure, database trigger,

Mỗi khung thuộc về tài khoản người dùng gọi tắt là user, được xác định bởi

một tên người dùng và một mật khẩu(password) duy nhất đối với cơ sở dữ liệu.
Sau khi đăng nhập vào cơ sở đữ liệu bằng username và password hợp lệ, ta có
thể truy xuất các bảng cũng như các đối tượng của Oracle trong một khung
thuộc tài khoản người dùng vừa đăng nhập.
Các bảng có cùng tổn tại trên hai tài khoản người dùng khác nhau của Oracle
trong cùng một cơ sở dữ liệu vật lý. Đôi lúc, trên một cơ sở dữ liệu

có thê tồn

tại nhiều phiên bản khác nhau của các bảng trong các tài khoản khác nhau dé
người phát triển có thê thử nghiệm hệ thống.
Thông thường, người ta hay xem tài khoản người dùng Oracle như một cơ sở
dữ liệu, nhưng điều này khơng đúng hồn tồn. Ta có thể sử dụng hai tài khoản
người dùng đề giữ dữ liệu cho hai hệ ứng dụng khác nhau; ta sé cd hai co so dit
liệu logic được cài đặt trên cùng cơ sở dữ liệu vật lý sử dụng hai tài khoản

người dùng Oracle.
3. SCHEMA co sé dit liéu.
Tong quan về các đối tượng của Schema:
Một schema kết hợp với một user cơ sở dữ liệu. Một schema là một tập
các
đối
tượng
schema

sau:table,view,sequence,synonym,index,cluster,database
link,snapshot
,store procedure, function, triger, package.
Các đôi tượng schema là câu trúc lưu trữ dữ liệu logic. Các đối tượng schema
khơng có mơi tương ứng một-một với các tập tin trên đĩa lưu trữ thông tin của
nó.Tuy nhiên, Oracle lưu một đối tượng schema trong một không gian bảng

của cơ sở đữ liệu về mặt logic. Dữ liệu của mỗi đối tượng được lưu trữ vật lý

bên trong một hay nhiều tập tin của không gian bảng. Đôi với một đối tượng
như: table, index, và cluster ta có thể chỉ định lượng khơng gian đĩa Oracle
định vị cho đối tượng bên trong tập tin đữ liệu của không gian bảng.
3.1 Table
Table la don vị lưu trữ dữ liệu trong Oracle. Dữ liệu được lưu trong các hàng

và các cột. Ta định nghĩa một table với một tên bảng và một tập các cot. Ta gan
cho mỗi cột một tên cột, một kiểu dữ liệu một chiêu dài hay độ chính xác và
scale. Mot hang là một tập các thông tin cột trong img voi mot bản ghi đơn.

SVTH: Đỗ Hữu Bá

Trang 7


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

Ta có thể định nghĩa tuỳ ý các quy tắc đặc thù cho mỗi cột trong bảng.
Những quy tắc này gọi là các ràng buộc toàn vẹn.

3.2 View
Một view là sự hiển thị dữ liệu chứa trong một hay nhiều bảng. Một view lẫy
kết xuất của một query và xử lý nó như một bảng. Vì vậy một view có thể xem
như là bảng ảo. Ta có thể sử dụng view hầu như ở mọi chỗ có thể sử dụng
bảng.
3.3. Bộ sinh mã tuần tự.

Bộ sinh mã tuần tự cung cấp một chuỗi số tuần tự. Bộ sinh mã tuần tự đặc biệt

hữu ích trong môi trường nhiều người dùng để tạo ra những số tuần tự duy nhất
màBàn phải tốn công truy xuất I/O đĩa hay khố chun tác. Vì vậy, sẽ giảm
“chuỗi hoá” mà các lệnh của hai chuyền tác cần phải thực hiện đề tạo ra các
sốỗ tuần ty đồng thời. Nhờ đó, bộ sinh mã tuần tự cải thiện năng suất chuyển tác

và giảm đáng kể thời gian chờ đợi của một user.

Các sequence là các số nguyên Oracle có 38 chữ số
sở đữ liệu. Một định nghĩa sequence sẽ định hướng
sequence, tăng lên hay giảm xuống, bước nhảy giữa
khác. Một phần quan trọng trong của một định nghĩa

được định nghĩa trong
thông tin tổng quát:
các số, và các thông
sequence là Oracle có


tên
tin
trữ


trong bộ nhớ một tập các sequence đã tạo ra hay không.
Oracle lưu trữ định nghĩa tât cả các sequence của một cơ sở dữ liệu riêng biệt

như là các hàng của một bảng từ điển dữ liệu trong khơng gian bảng System.
Vì vậy tất cả các định nghĩa sequence ln có sẵn vì khơng gian bảng System
ln mở sẵn.
Các số sequence được sử dụng bởi các lệnh SQL tham chiếu sequence. Ta có
thể phát ra một lệnh tạo một số sequence mới hay sử dụng một số sequence
hiện hành.

Khi một lệnh trong một phiên

làm việc của user tạo ra một



sequence đặc thù chỉ có sẵn cho session đó; mỗi user tham chiếu đếm một

sequence hiện hành của mình.
Các sô sequence được tạo ra độc lập với các bảng. Vì vậy cùng một bộ sinh mã
tuần tự có thể sử dụng cho một hay, nhiều bảng. Sự tạo ra các số sequence hữu

dụng để tạo các khố chính duy nhất cho đữ liệu một cách tự động và để định

vị các khoá qua nhiều hàng của bảng. Các sequence riêng biệt có thể bỏ qua
nếu chúng được tạo ra và sử dụng trong một chuyển tác đã roll back xong. Các
ứng dụng có thể cung cấp và sử dụng lại những sequence này, nếu cần.
3.4 Synonym
Một synonym là một bí danh của bất kỳ một table,view,snapshot

,sequence,function hay packagcscquence. Do một synonym chỉ đơn giản là một
bí danh, nó khơng chiếm nhiêu bộ nhớ mà chỉ là một định nghĩa trong từ điển
dữ liệu.
Các synonym thường được sử dụng do tính bảo mật và tiện lợi. Ví dụ, chúng

ta có thể làm những việc sau:
>

che tên và chủ của một đối tượng

> cung cấp vị trí trong suốt các đối tượng từ xa của cơ sở đữ liệu phân

tán
> đơn giản hoá các lệnh SQL cho người dùng cơ sở dữ liệu

SVTH: Đỗ Hữu Bá

Trang 8


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

Ta có thê tạo ra cả synonym toàn cục lẫn riêng biệt. Một synonym tồn cục

thuộc quyền một nhóm user đặc biệt tên PUBLIC và mọi USER trong mot co

sở dữ liệu có thê truy xuất nó. Một synonym riêng nằm trong schema của một
user đặc thù mà kiểm sốt tính sẵn dùng của nó cho user khác.

Các synonym rất hữu ích cho cả môi trường cơ sở dữ liệu phân tán và không
phân tán do chúng dấu chỉ danh của đối tượng đang được chỉ định, bao gồm
cả vị trí trong một hệ phân tán. Đây là một ưu điểm vì nếu đối tượng đang chỉ
định cần phải đổi tên hay di chuyên, chỉ cần địh nghĩa lại các synonym và
các ứng dụng dựa trên các synonym vẫn tiếp tục hoạt động mà không cần biến
đối.
3.5 Index.
Index là câu trúc tuỳ chọn kết hợp với các table và các cluster. Ta có thể tao
ra các index tường minh để tăng tốc độ thực hiện SQL trên một bảng. Cũng
như các Index trong một cuốn sách giúp ta định vị thông tin nhanh hơn so với
khi khơng có index, một index Oracle cung cấp một đường truy xuất dữ liệu
của bảng nhanh hơn. Các index là các phương thức chủ yếu giảm xuất/nhập
đĩa khi sử dụng thích hợp.
Sự vắng mặt hay hiện điện của một Index không yêu cầu thay đổi bất kỳ một
lệnh SQL nào. Một Index đơn thuần chỉ là một đường truy xuất nhanh đến dữ

liệu, nó chỉ ảnh hưởng đến tốc độ thực hiện. Cho một giá trị dữ liệu đã được

Index, Index trỏ trực tiếp vao vi tri của hàng chứa giá trị đó.
Các Index độc lập vê mặt vật lý và logic với dữ liệu trong bang kết hợp. Ta có
thé tạo ra hay xố một index bât cứ lúc nào mà không ảnh hưởng đến bảng gốc
hay các index khác. Nếu ta bỏ một index, tất cả các ứng dụng vẫn tiếp tục làm
việc; tuy nhiên, sự truy xuất đến đữ liệu đã được truy xuất trước đây có thê

chậm hơn. Các index là một cấu trúc độc lập yêu cầu không gian lưu trữ.

Oracle tự động duy trì và sử dụng các Index một khi chúng đã được tạo ra.

Oracle tự động phản ánh sự thay đối đến đữ liệu trong các index, tương ứng khi


thêm các hàng mới, cập nhật hay xoá các hàng mà không cần thêm yêu cầu nào
cua user.

Hiệu năng truy xuất đữ liệu đã index ln là hằng số, thậm chí khi thêm các

hàng mới vào. Tuy nhiên, sự hiện diện của nhiều index trên một bảng giảm

hiệu năng sửa đổi, xố, và chèn vì Oracle cũng cần cập nhật các index kết hợp

với bảng.
Cac index Unique va Non-Unique
Các Index có thể duy nhất hay không duy nhất Các index duy nhất trên các
bảng tính duy nhất là một khái niệm logic nghiêm ngặt và chỉ nên kết hợp với
định nghĩa một bảng. Ta nên thay vào đó bằng cách định nghĩa các ràng buộc
toàn vẹn UNIQUE trén cot mong muốn. Oracle hỗ trợ ràng buộc toàn vẹn
UNIQUE bằng cách tự động định nghĩa một index unique trên khoá un1que.

Một Index composite là một Index tạo ra trên nhiều cột của một bảng. Các cột
trong một index composite có thể xuất hiện theo một thứ tự bất kỳ không cần
nam kế nhau trong một bảng.

Các index composite cé thé tăng tốc độ lấy dữ liệu cho các lệnh SELECT mà

mệnh

đề

WHERE

SVTH: Đỗ Hữu Bá


tham

trỏ đến

tất cả hay

những

cột đầu

trong

index

Trang 9


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

composite, Vì vậy, thứ tự các cột xuất hiện trong định nghĩa rất quan trọng;
thông thường, các cột được truy xuất nhiều nhất nên để đầu tiên trong index.
Index và key
Mặc dù hai thuật ngữ index và key thường dùng như nhau, ta nên hiểu sự
khác nhau giữa chúng. Index là các câu trúc thật sự được lưu trong cơ sở dữ
liệu, mà user tạo ra, thay thế hay xoá bằng các lệnh SQL. Ta có thé tao ra một

index dé tăng nhanh sự truy xuất đến bảng dữ liệu. Key là một khái niệm hoàn


toàn logic. Các key tương ứng với một đặc trưng khác của Oracle gọi là ràng
buộc toàn vẹn.

Các ràng buộc toàn vẹn hỗ trợ các quy luật hoạt động. Do Oracle sử dụng

Index để hễ trợ một số ràng buộc toàn vẹn, thuật ngữ Index và key thường dùng

thay thế cho nhau.
3.6 Cluster.
Cluster là một phương pháp tùy chọn để lưu trữ đữ liệu bảng. Một cluster là
một nhóm các bảng có cùng các khối đữ liệu do chúng có các cột chung và
thường sử dụng chung với nhau.
Do các cluster lưu trữ các hàng liên quan của hai bảng khác nhau trong cùng
một khối dữ liệu, sử dung cluster mdét cách thích hợp sẽ có hai lợi điểm sau:

>

Việc xuất nhập đĩa giảm và cải thiện thời gian truy cập nhờ nối các bảng
cluster

> Trong mét cluster, mét giá trị key cluster đối với mỗi hàng. Mỗi giá trị key

cluster được lưu trữ chỉ một lần trong cluster và trong index cluster, khơng
cần biết có bao nhiêu hàng của các bảng khác nhau chứa giá trị đó.
Vì vậy, không gian lưu trữ các bảng liên hệ và dữ liệu Index trong một cluster
ln hơn khi khơng cluster.
Cluster có thể làm giảm hiệu năng của lệnh INSERT so với việc lưu trữ các
bảng tách riêng với index của nó. Khuyết điểm này liên quan đến việc sử dụng
không gian và sơ đồ khối đữ liệu cần phải xem để quét một bảng. Do nhiều

bảng có dữ liệu trong mỗi khối, lưu trữ một bảng có cluster cần sử dụng nhiều
khối hơn là bảng không cluster.
Đề các định đữ liệu thích hợp lưu trữ ở dạng cluster hay là khơng cluster, hãy
tìm các bảng liên quan đến các ràng buộc toàn vẹn tham chiếu và các bảng
thường được truy xuất với nhau thông qua việc sử dụng một kết nối.
Nếu ta thực hiện cluster các bảng trên các cột sử dụng để nối dữ liệu bảng, ta
giảm số khối đữ liệu cần truy xuất để xử lý query; tất cả các hàng cần thiết để
nối trén mét cluster key nam trong cùng một khối. Vì vậy, hiệu năng đối với
kết nối được cải thiện.

Cũng như index, các cluster không ảnh hưởng đến thiết kế ứng dụng. Sự tồn
tại của một cluster trong suốt đối với user và ứng dụng. Ta truy xuất đữ liệu lưu
trữ trong một bảng có cluster bằng lệnh SQL như bảng không cluster.

II2. CẤU TRÚC BỘ NHỚ VÀ CÁC QUÁ TRÌNH.

1. Cấu trúc bộ nhớ: Oracle tạo ra và sử dụng cầu trúc bộ nhớ để hồn thành
một số cơng việc. Ví dụ, bộ nhớ lưu trữ mà chương trình đang được thực hiện

và dữ liệu dùng chung của các user. Các câu trúc bộ nhớ cơ bản kết hợp với

Oracle: Vùng toàn cục hệ thống( system global area- bao gồm các buffer cơ sở

SVTH: Đỗ Hữu Bá

Trang 10


Đồ Án Tốt Nghiệp


GVHD:TS Nguyễn Ngọc Bình

dữ liệu, các buffer redolog, và shared pool) và vùng tồn cục chương trình(
program global areas).
s* Một thể hiện của Oracle(Oracle Instance): Mỗi lúc một cơ sở dữ liệu được
tạo ra, một SGA được định vị và các quá trình chạy ngầm (background)

của Oracle được khởi tạo. Sự kết hợp giữa các quá trình background và các

bộ nhớ đệm gọi là một thé hién cua Oracle.
Một thể hiện của Oracle gom hai loại: các quá trình ser

và các quá trình

Oracle.
> Một quá trình user thực hiện mã của một chương trình ứng dụng hay
một cơng cụ Oracle.
> Các q trình Oracle gồm: các q trình Server thực hiện các quá trình
cla user va cdc q trình chạy ngầm để duy trì cơng việc của Oracle Server.
1.

System Global Area(SGA).

Là một vùng nhớ dùng chung chứa đỡ liệu và các thông tin điều khiển của một
thê hiện Oracle. Một SGA và các quá trình chạy ngầm của Oracle tạo nên một
thể hiện của Oracle.

Oracle định vị SGA khi một thể hiện khởi động và giải phóng nó khi thể hiện
chấm dứt. Mỗi thê hiện có vùng SGA riêng của nó.


Các user đang nối vào một Oracle server chia sẻ đữ liệu trong SGA. Để đạt
hiệu năng tối ưu , toàn bộ SGA càng lớn càng tốt để trữ đữ liệu trong bộ nhớ

càng nhiều càng tốt giảm truy xuất đĩa. Thông tin lưu trữ trong SGA được chia
thành vài loại cấu trúc bộ nhớ: các bộ đệm buffer cơ sở dữ liệu, các bộ đệm

redo log, các vùng chia sẽ. Những vùng này có kích thước cô định và được tạo

ra khi thê hiện setup.

Bộ đệm cơ sở dữ liệu

Bộ đệm

cơ sở dữ liệu của SGA

lưu trữ những khối đữ liệu thường được sử

dụng nhất; tập hợp các bộ đệm cơ sở dữ liệu trong một thể hiện gọi là database

buffer cache. Buffer cache chứa các khối đã biến đổi. Do những dữ liệu thường
được dùng nhất lưu trong bộ nhớ, việc xuất nhập đĩa giảm di và hiệu năng được

cải thiện.
Bộ đệm redo log
Redo log buffer của SGA lưu trữ các mục redo-quá trình các thay đổi của cơ
sở dữ liệu. Các mục redo log lưu trong các redo log buffer được ghi vào trong
một tập tin redo log online, sẽ được sử dụng khi cân khơi phục cơ sở đữ liệu.

Kích thước của nó không đổi.

Vùng chỉa sẻ
Share pool là một phần của SGA chứa các cấu trúc bộ nhớ dùng chung như
các vùng SQL dùng chung. Một vùng SQL dùng chung được dùng để xử lý
mọi lệnh SQL xác định đưa tới cơ sở dữ liêu. Một vùng SQL dùng chung chứa
thông tin như cây cú pháp và kế hoạch thực hiện tương ứng. Một vùng SQL
dùng chung được sử dụng bởi nhiều ứng dụng phát cùng lệnh, để nhiều vùng
nhớ chia sẻ hơn cho các user khác.
Các cán lệnh

Một currsor là một cán bộ nhớ kết hợp với một lệnh xác định. Mặc dù hầu hết

các user Oracle dựa

SVTH: Đỗ Hữu Bá

vào

sự quản lý tự động

các currsor của các tiện ích

Trang 11


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

Oracle, các yêu cầu về lập trình giao điện(GUI) đề nghị các nhà thiết kế ứng
dụng điều khiển các currsor nhiều hơn.

Program Global Area(PGA)
PGA là một bộ nhớ đệm chứa dữ liệu và kiểm sốt thơng tín của một q
trình server. Một PGA được tạo ra bởi Oracle khi một quá trình Server khởi

tạo. Thơng tin trong một PGA phụ thuộc vào cầu hình của Oracle.
2. Câu trúc các quá trình.
Một quá trình là một tuyến đoạn điều khiển hay mot co ché trong hé diéu hanh

mà có thể thực hiện một chuỗi các bước. Một số hệ điều hành sử dụng thuật

ngữ công việc hay tác vụ. Một tiến trình thường có một vùng nhớ riêng để
chạy.
Một Oracle server có hai loại quá trình chính: q trình user và q trình
Oracle.
s* Q trình user:
Một quá trình user được tạo ra và duy trì để thực hiện mã phần

mềm của một

chương trình ứng dụng (như chương trình Pro*C/C++) hay một cơng cụ của
Oracle(nhu Oracle Enterprise Manager). Quá trình user cting quan ly sy giao
tiếp với các quá trình Server.
Các quá trình user giao tiếp với các quá trình server qua giao điện chương
trình.
Cấu trúc quá trình của Oracle.
Các quá trình của Oracle được gọi bởi các quá trình khác để để thực hiện các
chức năng của quá trình gọi.Chúng bao gồm các quá trình server và các quá
trình chạy ngầm.
s* Các quá trình Server:
Oracle tạo ra các quá trình server để quản lý các yêu cầu từ các quá trình

kết nối của user. Một q trình Server có nhiệm vụ giao tiếp với q trình
user và tương tác với Oracle để thực hiện các u cầu của q trình user kết
hợp.
Oracle có thể cầu hình đề thích nghỉ với một số các q trình user trên một quá
trình server. Trong một cẫu hình server chuyên dùng, một quá trình server quản
lý các yêu cầu cho một quá trình user đơn lẻ. Cấu hình server đa luồng cho
phép nhiều quá trình user chia sẻ một số nhỏ các quá trình server, giảm thiêu số
quá trình server và tối ưu hoá giảm thiểu tài nguyên hệ thống có sẵn.
Trong một số hệ thống, các q trình user và server được tách biệt riêng, trong
khi các hệ thống khác chúng được kết hợp thành một tuyến trình đơn. Nếu một
hệ thống sử dụng Server đa luồng hay nếu các quá trình user và server chạy
trên các máy khác nhau, chúng cần phải tách riêng. Các hệ thống client/server
tách riêng các quá trình user và server và thực hiện chúng trên các máy khác
nhau.
s* Các quá trình Background.
Oracle tạo ra một tập các quá trình background cho mỗi thể hiện. Chúng hợp
nhất các chức năng mà lẻ ra sẽ được quản lý bởi nhiều chương trình Oracle
chạy cho mỗi quá trình user. Các quá trình background đồng bộ hoá việc thực
hiện xuất nhập và giám sát các quá trình Oracle khác để cung cấp cơ chế song

hành nhằm cải thiện hiệu năng và độ tin cậy.

SVTH: Đỗ Hữu Bá

Trang 12


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình


Mot SGA va một tập các quá trình background tạo nên một thé hién Oracle.

Mỗi thể hiện Oracle có thể sử dụng một vài quá trình background.
s* Giao diện chương trình.
Giao diện chương trình là cơ chế giao tiếp của một quá trình server và user. Nó
cung cấp một phương thức giao tiếp chuẩn giữa một công cụ hay một ứng dụng
client bất kỳ (như Oracle forms) va phan mém Oracle. Nó có chức năng:
e_ hoạt động như một cơ chế giao tiếp bằng cách định dạng yêu cầu đữ liệu,
truyền dữ liệu, bay và trả về lỗi.
e Thực hiện việc chuyển đổi và dịch dữ liệu, đặc biệt giữa các loại máy tính

khác nhau hay dịch sang kiểu dữ liệu chương trình user.
H.3 TRANSACTION, COMMIT, ROLLBACK.

Một Transaction là một đơn vị làm việc nguyên tố bao gồm một hay nhiều

lệnh SQL; nó bắt đầu khi user kết nối vào cơ sở đữ liệu và kết thúc khi một
lệnh COMMIT hay ROLLBACK dugc phat ra.

Sau lệnh COMMIT hay ROLLBACK, mot chuyén tac moi ty dong bat dau.

Tat cả các lệnh trong một chuyển tác hoặc là được lưu hết hay đều hồi phục lại

hệt.
Việc COMMIT một chuyên tác tạo sự thay đổi thường trực từ toàn chuyến tác
vào cơ sở đữ liệu, và khi đã COMMIT, sự thay đôi không thê thay đảo lại. Sự
rollback đảo lại sự thêm, sửa đổi, xoá trong chuyển tác; và khi đã roll back,

những thay đổi này không thể COMMIT.

Ở bên trong, q trình COMMIT có nghĩa là ghi những thay đổi đã ghi ở bộ
đệm chương redo log của SGA vào các tập tin redo log on line lên đĩa. Nếu
thao tác xuât nhập đĩa này thành công, ứng dụng nhận một thông báo chỉ định
một commit thành công

11.4. CAC TAC VỤ KHOI TAO VA CHAM DUT.

Một cơ sở dữ liệu Oracle có chỉ có sẵn cho user khi Oracle server duoc
startup và cơ sở dữ liệu được mở. Những tác vụ này cần được thực hiện bởi
người quản trị mạng. Việc khởi động một cơ sở dữ liệu và đưa ra những bước

sau:

® Khởi động một thể hiện của Oracle server.
@ Mount co so dir liéu.
® Mở cơ sở dữ liệu.
Việc chấm dứt một cơ sở dữ liệu mà nó kết nói gồm:

“+ Dong cơ sở đữ liệu.

“+ Dismount co’ sé đữ liệu.
+ Shutdown thé hién ctia Oracle server.

11.5 BAO MAT CO SO DT LIEU.

Cac hé thống cơ sở đữ liệu nhiều user như Oracle luôn bao gdm các đặc trưng
bảo mật kiểm soát được truy xuất và sử dụng cơ sở dữ liệu. Các cơ chế bảo mật

gồm:


* Ngăn cản sự truy xuất đữ liệu trái phép.

“+ Ngan can sự truy xuất trái phép các đôi tượng schema.
s* Điều khiển việc sử dụng đĩa.

* Điều khiển việc sử dụng các tài nguyên hệ thống.
» Giám sát các hành động của uset.

SVTH: Đỗ Hữu Bá

Trang 13


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

Theo mặc định,mỗi user tạo ra và có quyền đối với tất cả các đối tượng trong

schema tương ứng.

Tính bảo mật cơ sở đữ liệu có thê phân làm hai loại riêng biệt: b¿o mật hệ
thông và bảo mật đữ liệu.

Bảo mật hệ thống gồm các cơ chế điều khiển việc truy xuất và sử dụng cơ sở

dữ liệu ở mức hệ thống. Ví dụ bảo mật hệ thống bao gồm:

* Sự kết hợp hợp lệ username/password.
vx Lượng khơng gian đĩa sẵn có cho môi đối tượng schema của user.


v Giới hạn về tài nguyên cấp cho user.

Cơ chế bảo mật hệ thông kiêm tra:
v User có quyên truy xuất vào cơ sở đữ liệu hay khơng?

v Sự giám sát dữ liệu có hoạt động hay khơng?
vx

Các tác vụ hệ thống nào user có thể thực hiện?

Bảo mật đữ liệu bao gôm các cơ chế điều khiển sự truy xuất và sử dụng cơ
dữ liệu ở mức đối ' tượng schema. Ví dụ bảo mật dữ liệu bao gồm:
vx Xác định quyền của user với một đối tượng schema xác định và những
vụ nhất định mà user có thể thực hiện trên đối tượng của schema đó( ví
user SCOTT có thể phát sinh lệnh SELECT va INSERT nhưng không

dùng lệnh DELETE đối với bảng EMP).
Các tác vụ, nêu có, được giám sát với mỗi đối tượng hệ thống.

CAC CO CHE BAO MAT.

Oracle Sever cung cấp sự
giới hạn sự truy xuất thơng
thích hợp cần gán cho một
tượng schema. Cac user có
đặc quyền tuỳ ý; do đó, loại

điều
tin

user
đặc
bảo

sở
tác
du,
thể

khiển truy xuất theo nhiệm ý, tức là một cách
dựa trên đặc quyén(privilege). Một đặc quyền
để user đó có qun tác động/ xử lý một đối
qun thích hợp có thể gán cho các user khác
mật này được gọi là “nhiệm ý”(discretionary).

12 12 12 đạn
Oracle quản lý sự bảo mật bằng các phương tiện sau:

PAY_CLERK Role

MANAGER

ACCTS_PAY Role

Đặc quyên thực hiện ứng dụng
ACCTS PAY

REC_CLERK Role |

ACCTS_REC

Role

Đặc quyên thực hiện
ứng dụng ACCTS_ REC

Role

User

Role tng
dung

Dac

ng.

Hình I: Các đặc trưng bảo mật của Oracle

SVTH: Đỗ Hữu Bá

Trang 14


Đồ Án Tốt Nghiệp

GVHD:TS Nguyễn Ngọc Bình

s% Các User và các schema cơ sở dữ liệu

s* Các đặc quyền(privilege)

s* Các vai trò(role)

s» Chỉ định bộ nhớ và quota.

s*
s*

Giới hạn tài nguyên.
Kiếm tra.

H.6. USER CƠ SỞ DỮ LIỆU VA SCHEMA.

Mỗi cơ sở đữ liệu Oracle có một danh sách username. Để truy xuất một cơ sở

dữ liệu, một user cần sử dụng ứng dụng cơ sở đữ liệu và gắn với một username

hợp lệ của cơ sở dữ liệu. Mỗi username có một password kết hợp để ngăn ngừa
sự truy xuất trái phép.
DOMAIN SECURITY(bảo mật vùng).
Mỗi user có một domain

securify- là một

tập các tính chất xác định những

điều như:
s* Các hoạt động(privilege và role) sẵn có cho user.
“ Các quofe tables( khơng gian đĩa có sẵn) cho user.

s*


Giới hạn tài ngun hệ thống( ví dụ, thời gian xử lý cho CPU) cho user.

PRIVILEGE (Đặc quyền)

Một privilege là quyền thực hiện một lọai lệnh SQL đặc biệt. Một số privilege

như:
> Quyên kết nối vào cơ sở đữ liệu( tạo ra một session)
> Quyên tao bang trong schema cua minh.
> Quyén chọn các hàng từ bảng cua User khac.
>

Quyén thực hiện các store procedure cua user khac.

Các privilege của một cơ sở dữ liệu Oracle có thể chia thành hai lọai riêng
biệt: privilege hệ thống và privilege của các đôi tượng schema.

PRIVILEGE hệ thống.

Privilege hệ thống cho phép user thực hiện một hành động mức hệ thống đặc
biệt hay một hành động đặc biệt trên một loại đối tượng schema đặc biệt. Ví
dụ., đặc quyền tạo một tablespace hay xóa các hàng trong cơ sở dữ liệu là các
đặc quyên mức hệ thống. Nhiều đặc quyền hệ thông chỉ dành cho người quản
trị và các nhà phát triển ứng dụng do các đặc quyền này rất mạnh.
PRIVILEGE đối tượng schema.
Privilege đối tượng schema cho phép các user thực hiện một hành động đặc
biệt trên một đối tượng schema đặc biệt. Ví dụ, đặc quyền xoá một số hàng của
một bảng, đặc biệt là một privilege đối tượng. Privilege đối tượng được gán
cho các người dùng cuối để họ có thể thực hiện một ứng dụng cơ sở dữ liệu

nhằm thực hiện một tác vụ xác định.

CAP PRIVILEGE.

Privilege được cấp cho các user để họ có thể truy xuất và biến đổi đữ liệu

trong một cơ sở dữ liệu. Một user có thể nhận một privilege theo hai cách khác

nhau:
$* Các
chèn
$* Các
tên),

privilege có thể cấp cho user
các record vào bảng EMP có
privilege có thể gán cho các
và sau đó role có thể gán cho

SVTH: Đỗ Hữu Bá

một cách tường minh. Ví dụ, privilege để
thể gán tường minh cho user scott.
role( là một nhóm các privilege được đặt
một hay nhiều user. Ví dụ, privilege chèn

Trang 15


Đồ Án Tốt Nghiệp


GVHD:TS Nguyễn Ngọc Bình

các record vào bảng EMP có thể gán cho một role tên CLERK, và sau đó
role này sẽ được cấp cho các user SCOTT và BRIAN.
Do các role cho phép quản lý các privilege dễ dàng và tốt hơn, các privilege
thường được gán cho các role chứ không cho một user xác định.
ROLE
Cung cấp việc quản lý privilege một cách dễ dàng qua các role. Các role là
một nhóm các privilege có liên quan được đặt tên dé cap cho cac user hay cac
role khac. Cac tinh chat sau cho phép quan ly cac role dé dang hon:
s* Giảm việc cấp privilege-Thay vì cấp tường minh cùng một tập privilege cho
nhiều user, người quản trị cơ sở dữ liệu có thể gan cac privilege cho một
role, sau đó người quản trị cơ sở dữ liệu có thể gán

role cho các thành viên

của nhóm.
s* Quản lý privilege động- Khi các privilege của một nhóm cần thay, đổi, chỉ
cần biến đổi Privilege của role cần biến đổi. Domain bảo mật của tất cả các
user được cấp role của một nhóm tự động phản ánh thay đổi được thực hiện
trong role.
s* Tính sẵn có chọn lọc của privilege- Các role được cấp cho một user có thê

cho phép, sẵn dùng, hay không cho phép, không sẵn dùng, một cách chọn

lọc. Điều này cho phép điều khiển đặc quyền của một user trong tình huống
đã cho.
s* Hỗ trợ ứng dụng- một ứng dụng cơ sở dữ liệu có thé thiết kế cho phép hay
không cho phép một cách chọn lọc các role một cách tự động khi các user

sử dụng ứng dụng.
Người quản trị mạng thường tạo ra các role cho một ứng dụng cơ sở dữ
liệu. Data Base Aministrator(DBA) cấp cho role của một ứng dụng tất cả các
privilege cần thiết để chạy ứng dụng. DBA sau đó cấp role ứng dụng cho các
role khác hay user. Một ứng dụng có thể có một số role khác nhau, mỗi cái
được cấp một tập các privilege mà cho phép truy xuất sử dụng ứng dụng cơ sở
dữ liệu.
DBA có thể tạo ra một role có password để ngăn cản sự sử dụng trái phép các
privilege cấp cho role. Thông thường, một ứng dụng được thiết kế sao cho khi
khởi động nó cho phép một role thích hợp. Do đó, user sử dụng ứng dụng
khơng cân biết password của một role của ứng dụng.
CÁC XÁC LẬP LƯU TRỮ QUOTA.
Oracle cung cấp các biện pháp để định hướng và giới hạn việc sử dụng không
gian của cơ sở đữ liệu trên từng User, bao gồm các tablespace, tablespace mặc
định, tablespace tạm thời và cac quota tablespace.
Tablespace tạm thời.
Mỗi user có một tablespace mặc định. Khi user tạo ra một bảng index hay
cluster mà không chỉ định cụ thể một tablespace, tablespace mặc định sẽ được
sử dụng nếu user có privilege tạo ra các đối tượng schema va có quota trong
tablespace mặc định. Đặc trưng tablespace mặc định giúp Oracle chỉ định nơi

lưu trữ trong trường hợp vị trí của đối tượng schema khơng được chỉ định.
Tablespace tạm thời.

Mỗi user có một tablespace tạm thời. Khi một user thực hiện một lénh SQL,
mà yêu cầu tạo ra một segment tạm thời( như tạo một 1ndex), tablespace tam

SVTH: Đỗ Hữu Bá

Trang 16



Đồ Ấn Tốt Nghiệp

GVAD:TS Nguyên Ngọc Bình

thời của các user vào một tablespace riêng, đặc trưng tablespace tạm thời có
thể giảm sự tranh chấp xuất hiện giữa các segment tạm và các loại segment
khác.
Cac quota tablespace.
Oracle có thể giới hạn lượng không gian đĩa sẵn để cung cấp cho các đối
tượng trong một schema. Các quota có thể xác lập cho từng tablespace có sẵn
của user. Đặc trưng bảo mật quota tablespace điều khiển chọn lọc lượng không
gian đĩa tiêu tốn bởi các đối tượng của các schema xác định.

CAC PROFILE VA GIOI HAN TAI NGUYEN.

Mỗi user được gán một profile chỉ định các giới hạn tài nguyên trên một số

tài nguyên hệ thống có sẵn cho user, bao gồm.

v Số session có thể được thiết lập đồng thời bởi user.

* Thời gian truy xuất CPU.

Sẵn có cho session của user.

Sẵn có cho lần gọi Oracle cua mét lénh SQL.

Y Luong xuat nhap logic:


Sẵn có cho session của user.

Sẵn có cho một lần gọi Oracle của một lệnh SQL.

*

Lượng thời gian rỗi cho phép của một session của user.

* Lượng thời gian kết nỗi cho phép của mét session cua user.
v Các giới hạn password:

Khóa account sau nhiều lần có gắng login thất bại.
Sự hết hạn của password và chu kỳ gia hạn
Sự sử dụng lại password và các hạn chế phúc tạp.

SỰ KIÊM TRA

Oracle cho phép kiểm tra chọn lọc( giám sát có đăng ký) các hành động của
user nhằm điều tra các sử dụng cơ sở dữ liệu khơng rõ ràng. Sự giám sát có thé

được thực hiện ở ba mức: kiểm tra lệnh, kiểm tra đặc quyền, kiểm tra các đối

tượng schema.

Kiểm

tra lệnh: sự kiểm tra Các lệnh SQL xác định mà không quan tâm đến tên

các đơi tượng schema. Sự kiêm tra lệnh có thê mở rộng và kiêm tra tât cả các

user của hệ thống hay chỉ tập trung kiểm tra các user có lựa chọn hệ thống
Kiểm tra đặc quyên: sự kiểm tra các đặc quyền hệ thống quan trọng mà không
quan tâm đến tên các đối tượng schema.

Sự kiểm tra lệnh có thể mở rộng và

kiểm tra tất cả các user của hệ thống hay chỉ tập trung kiểm tra các user có lựa
chọn hệ thống.
Kiểm tra các đối tượng

schema:

Kiểm

tra sự truy xuất đến một đối tượng

schema nhất định mà không quan tâm đến user. Sự kiểm tra đối tượng giám sát
các lệnh được cho phép theo đặc quyền đối tượng, như các lệnh SELECT hay
DELETE trên một bảng đã cho.

Đối với tất cả các loại kiểm tra, Oracle cho phép kiểm tra chọn lọc sự thực
hiện lệnh thành công, sự thực hiện lệnh không thành công, hay cả hai. Điều này

cho phép giám sát các lệnh khả nghi, khơng kể user có phát lệnh có đặc quyền
thích hợp hay khơng.
TRUSTED ORACLE.

SVTH: Đã Hữu Bá

Trang 17



Đồ Ấn Tốt Nghiệp

GVAD:TS Nguyên Ngọc Bình

Trusted Oracle là một sản phâm quản lý bảo mật cơ sở dữ liệu nhiều mức của
cơng ty Oracle. Nó được thiết kế để cung cấp khả năng bảo mật cơ sở dữ liệu
cao nhằm phục vụ yêu cầu các tổ chức xử lý những đữ liệu tế nhị hay bảo mật.
Trusted Oracle tương thích với các sản phâm

tất cả các chức năng của Oracle.

cơ bản của Oracle, và nó hỗ trợ

IL7 BẢO MẬT ỨNG DỤNG.
1, Tổng quan.

Chế độ bảo mật ứng dụng giới hạn việc truy cập cơ sở đữ liệu từ phía

Client cua hé thống.

Bảo mật cơ sở dữ liệu giới hạn đến việc truy xuất đến các

đối tượng cơ sở dữ liệu đặc biệt trong khi bảo mật ứng của ứng dụng giới hạn

việc truy xuất các đối tượng giao diện đặc biệt. Nói rộng ra, bảo mật ứng dụng

bao gồm cả việc sử dụng bất kỳ đối tượng cơ sở dữ liệu nào của ứng dụng được


dùng để nâng cao chế độ bảo mật.
“+ Bao mật của ứng dụng được sử dụng để tăng cường và bổ sung chế độ bảo
mật của cơ sở dữ liệu. Tuy thế,

không nên chỉ tin vào chế độ bảo mật của

ứng dụng, vì khơng ai tin rằng user chỉ truy cập đến dữ liệu thông qua dữ

liệu đã viết.

s* Bảo mật của ứng dụng có thể nâng cao mức bảo mật cơ sở dữ liệu bang
cách giới hạn hơn nữa việc truy xuất đối tượng cơ sở đữ liệu bằng cách giới
hạn hơn nữa việc truy xuất đối tượng cơ sở dữ liệu và bằng cách cung cấp
một lớp trừu tượng bổ sung. Nếu giới hạn cả việc truy cập các stored
procedure, function của ứng dụng và tạo thêm các role đặc biệt cho ứng
dụng, ta có thé dau các đối tượng ứng với các user đặc biệt hay các role đặc
biệt khi truy xuất hệ thống. Tương tự như chế độ bảo mật cơ bản, ứng dụng
có thể giới hạn việc truy xuất đến các cột hay chỉ định cột nào đó là chỉ đọc

bằng cách sử dụng các view khác nhau ứng với các role khác nhau của uscr.
s* Trong các ứng dụng thông thường, giao diện cho phép user làm việc với cơ
sở đữ liệu thơng qua các trình đơn, các forms tương ứng với các tiến trình
và các đối tượng hoạt động. Đó là một lớp thuận lợi cho việc ngăn ngừa
user hiểu biết tên các bảng và các cột được truy xuất.

s* Trong nhiều trường hợp, thông tin của cơ sở dữ liệu sẽ dùng để quản lý các
hoạt động của giao diện, dựa trên các role của user. Các báng của hệ thống

chứa các thông tin bảo mật cho ứng dụng sẽ điều khiển các khả năng của
giao diện là săn dùng. Các tuỳ chọn trình đơn và cac forms sẽ được hiện ra

cho các user có đặc quyền và sẻ ân đi nếu user không được phép.
s* Một lý do nữa để cần phải sử dụng bảo mật ứng dụng là ta có thể truy xuất
cơ sở đữ liệu từ nhiều ứng dụng khác nhau. Lúc này user có thể có các role
khác nhau ứng với các ứng dụng khác nhau.

SU DUNG DOI TUQNG CO SO DU LIEU CUA UNG DUNG.

Sự phân biệt giữa bảo mật ứng dụng và bảo mật cơ sở dữ liệu đôi lúc mập mờ

như khi ta dùng các đối tượng cơ sở dữ liệu của ứng dụng. Khi các ứng dụng
khác nhau cùng truy cập đến đến một cơ sở dữ liệu chung. Khi tạo ra các đối
tượng để dùng cho một ứng dụng cụ thể thì bảo mật ứng dụng là dùng chung.
Dù cho đối tượng, tôn tại trong cơ sở dữ liệu, và bảo mật cơ sở đữ liệu đã được
áp dụng, nhưng nếu đối tượng đó chỉ dùng cho một ứng dụng cụ thể nào đó, thì
ta có thể coi đó là ứng dụng chủ “Owner” của nó.

SVTH: Đã Hữu Bá

Trang 18


Đồ Ấn Tốt Nghiệp

GVAD:TS Nguyên Ngọc Bình

bee định nghĩa chung về bảo mật ứng dụng hệ thống, các đối
ản”( cluster, tables, indexes, sequence) và các quyền cấp cho các
này thuộc loại bảo mật cơ sở đữ liệu. Các đối tượng khác như view,
va function duge coi là các đối tượng cơ sở đữ liệu ứng dụng và các
về chúng thuộc loại bảo mật ứng dụng.


tượng “cơ
đối tượng
procedures
quyền cấp

Thông thường, trong môi trường cơ sở dữ liệu lớn, nhà quản trị cơ sở dữ liệu

chính sẽ khơng chịu trách nhiệm về việc tạo và bảo trì các đối tượng cơ sở dữ
liệu ứng dụng. Một cách có thê áp dụng để tạo bảo mật cho một cơ sỏ đữ liệu

lớn được truy xuất từ nhiều ứng dụng là cung cấp quyền tạo sequence và views
của các bảng cho các nhà phát triển hay quản trị để họ đóng vai trị là những
nhà quản trị cơ sở dữ liệu cho các ứng dụng riêng biệt của minh.
Hình 2. Vai trị của các đối tượng cơ sở dữ liệu trong bảo mật ứng dụng.

SVTH: Đã Hữu Bá

Trang 19



×