Đồ án Hệ quản trị cơ sở dữ liệu Oracle trong quản lý bán hàng

Đồ Án Tốt Nghiệp:  
" Hệ quản trị CSDL Oracle trong quản lý  
bán hàng "  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
LỜI MỞ ĐẦU.  
Cơ sở dữ 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 đầu  
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 cơ sở dữ  
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ở dữ liệu, và đã có nhiều ứng dụng trong khoa học và trong các  
nghành kinh tế quốc dân.  
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 toàn và chắc chắn đồng thời lại truy cập chính xác và dễ dàng.  
Theo thời gian, yêu cầu của bài toá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ở dữ 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 quản lý cơ sở dữ 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ệ thống xử lý dữ liệu, dù cơ chế hoạt động của nó là thủ công và chưa tự  
động hoá. Một bài toán nhỏ cũng cần đến dữ liệu, nhưng không nhất thiết phải  
quản lý 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 dữ 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 dữ liệu cần  
phải xử lý tăng lên nhanh thì e rằng tầm 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ý dữ liệu một cách khoa học đòi hỏi con người sử  
dụng cơ sở dữ liệu.  
Chính vì thế em đã chọn hệ quản trị cơ sở dữ 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 dẫn, độ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 hoà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 hoà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  
PHẦN MỘT  
Chương I. CƠ SỞ LÝ THUYẾT ............................................................2  
I. Lịch sử ORACLE .....................................................................................2  
II. Cơ sở dữ liệu ORACLE trong kiến trúc CLIENT/SERVER ....................4  
III. Hệ quản trị Cơ sở dữ liệu Quan hệ ORACLE8 SERVER .......................4  
IV. Các sản phẩm kết nối mạng....................................................................5  
V. Các công cụ phát triển CLIENT/SERVER...............................................5  
Chương II: CẤU TRÚC ORACLE ........................................................7  
II.1 Lớp vật lý của ORACLE .......................................................................7  
II.2 Cấu trúc bộ nhớ và các quá trình...........................................................11  
II.3 Transaction, Commit, Rollback ............................................................13  
II.4 Các tác vụ khởi tạo và chấm dứt ...........................................................13  
II.5 Bảo mật cơ sở dữ liệu ...........................................................................14  
Chương III. ORACLE VÀ MÔ HÌNH MẠNG.  
I. Tổng quan về Net8...................................................................................20  
II. Các khái niệm và kiến trúc mạng của Oracle ..........................................21  
III. Kiến trúc của Net8.................................................................................21  
IV. Môi trường mạng ..................................................................................21  
Chương IV. ORACLE VÀ CẤU HÌNH MẠNG  
I. Service và những chức năng phục vụ của Oracle......................................24  
II. Tổng quan về các cấu hình kết nối của Oracle ........................................24  
III. Net8 và nền giao tiếp mạng trong suốt...................................................25  
IV. Các tầng giao tiếp..................................................................................25  
Chương V. NGÔN NGỮ PL/SQL  
I. Tổng quan về PL/QL ...............................................................................31  
II. Cấu trúc chương trình PL/SQL ...............................................................31  
Chương VI. PHƯƠNG PHÁP LUẬN PHÂN TÍCH THIẾT KẾ HỆ  
THỐNG  
I. Phương pháp phân tích hệ thống về chức năng.........................................34  
II. Phương pháp phân tích hệ thống về dữ liệu.............................................36  
III. Phương pháp thiết kế hệ thống ..............................................................37  
CHƯƠNG VII. GIỚI THIỆU ORACLE DEVELOPER 6.0  
I. FORM BUIDER .....................................................................................37  
II. REPORT BUIDER.................................................................................39  
III. GRAPHICS BUIDER ...........................................................................39  
IV. QUERY BUIDER.................................................................................40  
V. SCHEMA BUIDER ...............................................................................41  
PHẦN HAI  
I. Khảo sát hiện trạng ..................................................................................42  
II. Phân tích hệ thống ..................................................................................44  
II.1 Phân tích hệ thống về chức năng...........................................................44  
II.2 Phân tích hệ thống về dữ liệu................................................................61  
II.3 Thiết kế hệ thống..................................................................................67  
III. Kết luận hướng phát triển đồ án.............................................................83  
Tài liệu tham khảo  
SVTH: Đỗ Hữu Bá  
Trang 2  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
PHẦN MỘT  
Chương I:CƠ SỞ LÝ THUYẾT  
I. LỊCH SỬ ORACLE.  
Vào năm 1977, Larry Ellison, Bob Miner, và Ed Oates thành lập một công ty  
và đặt tên là Relation Software Incorporated(RSI). Công ty này xây dựng một  
hệ quản trị cơ sở dữ liệu gọi là Oracle. Ellison, Miner và Oates quyết định phát  
triển hệ này bằng C và giao tiếp SQL. Ngay sau một thời gian ngắn, họ đưa ra  
phiên bản một như một nguyên mẫu. Năm 1979, RSI phân phối sản 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 chạy hệ điều hành RSX-11 và ngay sau đó chuyển sang hệ  
thống DEC VAX.  
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 thành 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 sử dụng SQL*Net.  
Năm 1988, Oracle đưa ra phiên bản 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ở dữ liệu Internet.  
I.1. ORACLE VÀ CÔNG NGHỆ CLIENT/ SERVER.  
Oracle Corporation trở thành một công ty cơ sở dữ 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 TRÚC 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:  
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  
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  
GVHD:TS Nguyễn Ngọc Bình  
III. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ ORACLE 8  
SERVER.  
Ngôn ngữ PL/SQL: Mt 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.  
Các Stored procedure: Việc xử dụng các stored procedure tăng đáng kể  
hiệu quả của hệ thống Client/Server vì các lý 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.  
Các stored procedure cung cấp một cơ chế bảo mật hiệu quả và tiện lợi.  
Cả hai dạng text và đã biên dịch của các stored procedure đều nằm  
trong cơ sở dữ 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ở dữ liệu.  
Tính toà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  
ghi được chèn, sữa đổi hay xoá.  
Tính toà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ở dữ liệu.  
Các User-defined function: Các user- defined function cũng tương tự các  
stored procedure.  
IV. CÁC SẢN PHẨM KẾT NỐI MẠNG.  
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 mạng thông dụng.  
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.  
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.  
Oracle Network Manager: Quản lý cấu hình và quản lý 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 phần Client/Server của SQL*Net và  
định nghĩa cho các đường kết nối cho các nút Multi-Protocol Interchange.  
SVTH: Đỗ Hữu Bá  
Trang 4  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
V. CÁC CÔNG CỤ PHÁT TRIỂN CLIENT/SERVER.  
1. Các hệ Server:  
Oracle Unisersal Server có các thành phần tùy chọn:  
Distributed Option:(Tùy chọn phân tán) cho pháp một số cơ sở dữ 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.  
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ở dữ liệu khác.  
Context Option(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ở dữ liệu Oracle theo các từ khóa và  
các chủ đề nhất định.  
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 đặc biệt hỗ trợ các query tạm thời,  
không gian tinh vi và các query khác.  
Oracle Workgroup Server: được thiết kế cho các nhóm làm việc, có các  
bản cho Netware, Window NT, SCO UNIX và 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  
này gồm Oracle form, Report, Graphics, và Oracle Procedure Builder được  
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  
2.1 Các ứng dụng Oracle truyền thống  
Tài chính.  
Nhân sự.  
Quản lý dự án.  
Bán hàng.  
SVTH: Đỗ Hữu Bá  
Trang 5  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Sản xuất.  
Các ứng 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. CÁC HƯỚNG PHÁT TRIỂN CỦA ORACLE.  
Khách/chủ không dâ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ủ là Oracle Mobile Agents, sử dụng 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. Thành phần agent của  
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 của 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 dữ 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.  
CHƯƠNG II.  
CẤU TRÚC CỦA 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 dữ liệu(data file), các tập tin  
điều khiển( control file) và các tập tin phục hồi( redo log file).  
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  
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ở dữ liệu cần có ít nhất một tập tin điều khiển các tập tin này ghi  
tên của cơ sở dữ liệu,vị trí của tập tin dữ liệu, tập 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 gồm:  
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, cluster, index, view, stored procedure, database trigger,  
sequence,…  
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ở dữ 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 để  
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 hoàn toà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ẽ có hai cơ sở dữ  
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 cơ sở dữ liệu.  
Tổng 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  
,store procedure, function, triger, package.  
link,snapshot  
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ở dữ 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 dữ liệu của không gian bảng.  
3.1 Table  
Table là đơn 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 cột. Ta gán  
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. Một hàng là một tập các thông tin cột tương ứng với một 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à không phải tốn công truy xuất I/O đĩa hay khoá chuyển tác.Vì vậy, sẽ giảm  
sự “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 tự đồ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ố được định nghĩa trong cơ  
sở dữ liệu. Một định nghĩa sequence sẽ định hướng thông tin tổng quát: tên  
sequence, tăng lên hay giảm xuống, bước nhảy giữa các số, và các thông tin  
khác. Một phần quan trọng trong của một định nghĩa sequence là Oracle có 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 luôn có sẵn vì không gian bảng System  
luôn 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 số  
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 khoá chính duy nhất cho dữ 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 packagesequence. 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ở dữ 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 toàn cục  
thuộc quyền một nhóm user đặc biệt tên PUBLIC và mọi USER trong một cơ  
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 soá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 định 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ể tạo  
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 diệ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 vào vị trí 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 bảng kết hợp. Ta có  
thể tạo ra hay xoá 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 dữ 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 dữ 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  
của user.  
Hiệu năng truy xuất dữ liệu đã index luôn 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, xoá, và chèn vì Oracle cũng cần cập nhật các index kết hợp  
với bảng.  
Các index Unique và 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 cột 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á unique.  
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  
nằm 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 tham trỏ đến tất cả hay những cột đầu trong index  
SVTH: Đỗ Hữu Bá  
Trang 9  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
composite, Vì vy, 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ể tạo ra một  
index để 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ữ dữ liệu bảng. Một cluster là  
một nhóm các bảng có cùng các khối dữ 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ử dụng cluster mộ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  
luôn 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 dữ 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 dữ 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 dữ 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 nằm 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 dữ liệu lưu  
trữ trong một bảng có cluster bằng lệnh SQL như bảng không cluster.  
II.2. 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ớ để hoà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 toàn cục chương trình(  
program global areas).  
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 của Oracle.  
Một thể hiện của Oracle gồm hai loại: các quá trình User 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 quá trình Oracle gồm: các quá trình Server thực hiện các quá trình  
của user và các quá 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 dữ 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ẻ dữ 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ữ dữ 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 dữ 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 đi 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ở dữ liệu.  
Kích thước của nó không đổi.  
Vùng chia 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ữ lịê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 vào sự quản lý tự động các currsor của các tiện ích  
SVTH: Đỗ Hữu Bá  
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 diệ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 soát thông tin của một quá  
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 một cơ chế trong hệ điều hành  
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: quá trình user và quá trình  
Oracle.  
Quá 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(như Oracle Enterprise Manager). Quá trình user cũng quản lý sự 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 diện chương  
trình.  
Cấu trúc quá trình ca 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.  
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 quá trình Server có nhiệm vụ giao tiếp với quá trình  
user và tương tác với Oracle để thực hiện các yêu cầu của quá trình user kết  
hợp.  
Oracle có thể cấu hình để thích nghi với một số các quá 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 quá 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.  
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  
Một SGA và 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.  
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) và phần mềm Oracle. Nó có chức năng:  
hoạt động như một cơ chế giao tiếp bằng cách định dạng yêu cầu dữ liệu,  
truyền dữ liệu, bẩy và trả về lỗi.  
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.  
II.3 TRANSACTION, COMMIT, ROLLBACK.  
Một Transaction là một đơn vị làm việc nguyên tbao gồm một hay nhiều  
lệnh SQL; nó bắt đầu khi user kết nối vào cơ sở dữ liệu và kết thúc khi một  
lệnh COMMIT hay ROLLBACK được phát ra.  
Sau lệnh COMMIT hay ROLLBACK, một chuyển tác mới tự động bắt đầu.  
Tất 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ở dữ 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, quá 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  
II.4. CÁC TÁC VỤ KHỞI TẠO VÀ CHẤM DỨT.  
Một cơ sở dữ liệu Oracle có chỉ có sẵn cho user khi Oracle server được  
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 cơ sở dữ 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:  
Đóng cơ sở dữ liệu.  
Dismount cơ sở dữ liệu.  
Shutdown thể hiện của Oracle server.  
II.5 BẢO MẬT CƠ SỞ DỮ LIỆU.  
Các hệ thống cơ sở dữ liệu nhiều user như Oracle luôn bao gồm 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 dữ liệu trái phép.  
Ngăn cản sự truy xuất trái phép các đối tượng schema.  
Đ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 user.  
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ở dữ liệu có thể phân làm hai loại riêng biệt: bảo mật hệ  
thống bảo mật dữ 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.  
Lượng không gian đĩa sẵn có cho mỗi đối tượng schema của user.  
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:  
User có quyền truy xuất vào cơ sở dữ liệu hay không?  
Sự giám sát dữ liệu có hoạt động hay không?  
Các tác vụ hệ thống nào user có thể thực hiện?  
Bảo mật dữ liệu bao gồm các cơ chế điều khiển sự truy xuất và sử dụng cơ sở  
dữ liệu ở mức đối tượng schema. Ví dụ bảo mật dữ liệu bao gồm:  
Xác định quyền của user với một đối tượng schema xác định và những tác  
vụ nhất định mà user có thể thực hiện trên đối tượng của schema đó( ví dụ,  
user SCOTT có thể phát sinh lệnh SELECT và INSERT nhưng không thể  
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.  
CÁC CƠ CHẾ BẢO MẬT.  
Oracle Sever cung cấp sự điều khiển truy xuất theo nhiệm ý, tức là một cách  
giới hạn sự truy xuất thông tin dựa trên đặc quyền(privilege). Một đặc quyền  
thích hợp cần gán cho một user để user đó có quyền tác động/ xử lý một đối  
tượng schema. Các user có đặc quyền thích hợp có thể gán cho các user khác  
đặc quyền tuỳ ý; do đó, loại bảo mật này được gọi là “nhiệm ý”(discretionary).  
Oracle quản lý sự bảo mật bằng các phương tiện sau:  
User  
Role  
User  
MANAGER  
PAY_CLERK Role  
REC_CLERK Role  
ACCTS_PAY Role  
ACCTS_REC  
Role  
Role ứng  
dụng  
Đặc quyền  
ứng dụng  
Đặc quyền thực hiện ứng dụng  
ACCTS_PAY  
Đặc quyền thực hiện  
ứng dụng ACCTS_REC  
Hình 1: 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  
Các User và các schema cơ sở dữ liệu  
Các đặc quyền(privilege)  
Các vai trò(role)  
Chỉ định bộ nhớ và quota.  
Giới hạn tài nguyên.  
Kiểm tra.  
II.6. USER CƠ SỞ DỮ LIỆU VÀ SCHEMA.  
Mỗi cơ sở dữ 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ở dữ 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 SECURIY(bảo mật vùng).  
Mỗi user có một domain security- là một tập các tính chất xác định những  
điều như:  
Các hoạt động(privilege và role) sẵn có cho user.  
Các quote tables( không gian đĩa có sẵn) cho user.  
Giới hạn tài nguyên 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ở dữ liệu( tạo ra một session)  
Quyền tạo bảng trong schema của mình.  
Quyền chọn các hàng từ bảng của User khác.  
Quyền thực hiện các store procedure của user khác.  
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.  
CẤP PRIVILEGE.  
Privilege được cấp cho các user để họ có thể truy xuất và biến đổi dữ 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 privilege có thể cấp cho user một cách tường minh. Ví dụ, privilege để  
chèn các record vào bảng EMP có thể gán tường minh cho user scott.  
Các privilege có thể gán cho các role( là một nhóm các privilege được đặt  
tên), và sau đó role có thể gán cho một hay nhiều user. Ví dụ, privilege chèn  
SVTH: Đỗ Hữu Bá  
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 để cấp cho các user hay các  
role khác. Các tính chất sau cho phép quản lý các role dễ dàng hơn:  
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ể gán các 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.  
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.  
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.  
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ở dữ liệu trên từng User, bao gồm các tablespace, tablespace mặc  
định, tablespace tạm thời và các 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 và 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 index), tablespace tạm  
SVTH: Đỗ Hữu Bá  
Trang 16  
Đồ Án Tốt Nghiệp  
GVHD: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.  
Các 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.  
CÁC PROFILE VÀ GIỚI HẠN TÀI NGUYÊN.  
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.  
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 của một lệnh SQL.  
Lượng xuất nhập 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 của user.  
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  
GVHD: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 dữ liệu tế nhị hay bảo mật.  
Trusted Oracle tương thích với các sản phẩm cơ bản của Oracle, và nó hỗ trợ  
tất cả các chức năng của Oracle.  
II.7 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ở dữ liệu từ phía  
Client của 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.  
Bảo 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.  
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 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 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ể dấu 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 user.  
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ở dữ 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.  
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à các 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.  
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ở dữ 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.  
SỬ DỤNG ĐỐI TƯỢNG CƠ SỞ DỮ LIỆU CỦA ỨNG DỤNG.  
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ở dữ 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  
GVHD:TS Nguyễn Ngọc Bình  
Theo định nghĩa chung về bảo mật ứng dụng hệ thống, các đối tượng “cơ  
bản”( cluster, tables, indexes, sequence) và các quyền cấp cho các đối tượng  
này thuộc loại bảo mật cơ sở dữ liệu. Các đối tượng khác như view, procedures  
và function được coi là các đối tượng cơ sở dữ liệu ứng dụng và các quyền cấp  
về chúng thuộc loại bảo mật ứng dụng.  
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ỏ dữ 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 mình.  
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  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Đối tượng CSDL  
SEQUENCES  
TABLES  
VIEWS  
PUBLIC SYNONYMS  
Đối tượng ứng dụng  
PROCEDURE&  
FUNCTION  
PUBLIC  
SYNONYMS  
Tables  
VIEWS  
Sequences  
PROCEDURE VÀ FUNCTION BÊN TRONG LỚP ĐỐI TƯỢNG ỨNG  
DỤNG CLIENT  
SVTH: Đỗ Hữu Bá  
Trang 20  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
CHƯƠNG III: ORACLE VÀ MÔ HÌNH MẠNG.  
I. Tổng quan về NET8.  
Net8 là nền tảng cho các họ sản phẩm mà Oracle xây dựng nên. Nhờ vào Net8  
tất cả mọi dịch vụ và ứng dụng của Oracle nằm trên các máy tính khác nhau  
đều có thể dễ dàng truy cập và trao đổi dữ liệu với nhau như đang làm việc trên  
cùng một máy. Chức năng chủ yếu là thiết lập các phiên chuyển tác mạng và  
trao đổi giữa các máy client/server hay giữa các server-server với nhau. Mỗi  
máy tính có ứng dụng Oracle muốn tham gia vào hệ thống mạng đều phải được  
cài Net8 trên đó.  
Các phiên kết nối mạng được thiết lập thông qua cơ chế lắng nghe và phản hồi.  
Một chương trình trên máy chủ được gọi là listener sẽ chạy thường xuyên như  
là một dịch vụ, tiếp nhận tất cả các kết nối từ các máy khác( máy client) đến cơ  
sở  
dữ liệu( máy server, nơi chứa cơ sở dữ liệu và cũng là nơi Listener  
đang hoạt động ).  
Bộ tiếp nhận đóng vai trò như một môi giới hướng dẫn các yêu cầu kết nối  
xuất phát từ máy client đến máy server. Mỗi khi có một máy client yêu cầu một  
phiên kết nối mạng đến máy mà Listener đang hoạt động, Listener sẽ tiếp nhận  
những thông tin kết nối do máy client đưa đến.  
Nếu những thông tin này phù hợp với những thông tin mà mà Listener nắm  
giữ thì máy client sẽ được listener cấp cho quyền kết nối vào máy server. Như  
vậy muốn kết nối với cơ sở dữ liệu của Oracle một ứng dụng trên máy client  
cần phải thiết lập đúng những thông số kết nối mà chương trình listener trên  
máy server quy định.  
Trên một môi trường mạng rộng lớn đòi hỏi nhiều kết nối đến cơ sở dữ liệu để  
truy xuất cùng một dịch vụ, thay vì sử dụng cơ chế listener Net8 cho phép cài  
đặt bộ tiếp nhận listener và quản lý các kết nối trên một máy tính riêng biệt  
bằng chương trình Oracle Connection Manager. Khi đó thao tác kết nối với  
listener nằm trên một máy tính trung gian không còn hoạt động chung với các  
dịch vụ trên máy server nữa.  
II. CÁC KHÁI NIỆM VÀ KIẾN TRÚC MẠNG CỦA ORACLE.  
Net8 sử dụng khái niệm” Nền giao tiếp mạng trong suốt”(Trasparent Net Work  
Subtrate) gọi tắt là TNS, cùng với các chuẩn công nghiệp về giao tiếp mạng để  
thực hiện những kết nối giữa máy client-server cũng như thiết lập các phiên  
làm việc trên mạng cho ứng dụng Oracle. Net8 đảm nhiệm khả năng giao tiếp  
giữa nhiều máy trong hệ một hệ thống mạng thực hiện những chuyển tác phân  
tán của Oracle bất chấp các kết nối được thực hiện dưới hình thức client-server  
hay giữa các server-server với nhau. Hoạt động của các dịch vụ mà Net8 cung  
cấp chủ yếu là ba thao tác:  
Thao tác thực hiện kết nối giữa các máy.  
Thao tác trên dữ liệu  
Các tháo tác xử lý ngọai lệ  
III. KIẾN TRÚC CỦA NET8  
Kiến trúc của Net8 gồm:  
SVTH: Đỗ Hữu Bá  
Trang 21  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Môi trường mạng  
Net8 và nền giao tiếp mạng trong suốt  
Các tầng giao tiếp mạng.  
Các tầng giao tiếp mạng bên trong môi trường mạng điển hình của Oracle.  
Các tầng giao tiếp mạng trong môi trường IIOP.  
Tương tác giữa Server và Server.  
Các tầng giao tiếp mạng trong môi trường JDBC.  
IV. MÔI TRƯỜNG MẠNG.  
Môi trường mạng của Oracle được xây dựng trên hai khái niệm:  
Tiến trình xlý phân tán  
Cơ sở dữ liệu phân tán.  
Client  
Server  
*Tiến trình xử lý phân tán  
Cơ sở dữ liệu của Oracle và các ứng dụng phía client hoạt động theo cách  
của một môi trường xử lý phân tán. Tiến trình xử lý phân tán là sự tương tác  
giữa hai hay nhiều máy cùng truy xuất vào cơ sở dữ liệu khác nhau để hoàn tất  
một thao tác chuyển tác về xử lý và truy xuất dữ liệu. Các ứng dụng bao gồm  
những công cụ của Oracle như SQL*Plus, Schema Manager chẳng hạn đều có  
khả năng yêu cầu nhiều Server chứa cơ sở dữ liệu đồng thời thực hiện các thao  
tác khác nhau để trả về một kết quả truy vấn duy nhất.  
Trong một cấu hình mạng điển hình, máy client và server được cài đặt như là  
những thực thể tách biệt nhau về mặt vật lý cũng như logic. Cấu hình mạng  
tách biệt này cho phép thể hiện sự phân công lao động giữa các và phân bổ tài  
nguyên một cách hiệu quả. Những ,máy này không đòi hỏi cấu hình mạnh nên  
chỉ là những máy cần tốc độ xử lý và bộ nhớ ở mức bình thường là đủ. Ngược  
lại server được xem như là những máy chuyên biệt, lưu trữ tài nguyên và dữ  
SVTH: Đỗ Hữu Bá  
Trang 22  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
liệu để phân bố cho các client. Máy server thường trang bị cấu hình tối đa về  
dung lượng đĩa, tốc độ xử lý, bộ nhớ, cơ chế bảo mật và sao lưu dữ liệu… Và  
như vậy giữa client và Server đã có sự phân công và cùng hợp tác để phục vụ  
cho mục đích xử lý dữ liệu của các chương trình.  
Cơ sở dữ liệu phân tán:  
Là một cơ sở dữ liệu gồm nhiều cơ sở dữ liệu địa phương có quan hệ logic  
với nhau mà được phân tán trên nhiều trạm làm việc của một mạng máy tính.  
Đối với người dùng tập hợp cơ sở dữ liệu nằm rãi rác trên mạng có liên quan  
đến nhau khi truy xuất sẽ được xem như là một cơ sở dữ liệu duy nhất. Các  
server chứa cơ sở dữ liệu phân tán thường được liên kết với nhau bằng data  
link hoặc bằng đường dẫn từ một cơ sở dữ liệu này đến một cơ sở dữ liệu  
khác.  
Xu thế phát triển của cơ sở dữ liệu phân tán:  
Cơ cấu tổ chức kinh tế phi tập trung  
Sự tăng trưởng  
Giảm chi phí truyền thông  
Kiến trúc của cơ sở dữ liệu phân tán.  
SƠ ĐỒ TỔNG THỂ  
SƠ ĐỒ PHÂN ĐOẠN  
SƠ ĐỒ SẮP CHỖ  
SƠ ĐỒ ÁNH XẠ ĐỊA PHƯƠNG  
SƠ ĐỒ ÁNH XẠ ĐỊA  
n
PHƯƠNG 1  
DBMSn  
DBMS1  
CSDLn  
CSDL1  
Sơ đồ tồng thể  
Bao gồm tập toàn bộ dữ liệu của xí nghiệp được biểu diển bỡi mô hình  
quan hệ  
Tập các quan hệ tổng thể  
Mỗi quan hệ là một đối tượng của cơ sở dữ liệu phân tán và qua hệ đó được  
tách thành các bộ phận không bao trùm lên nhau. Mỗi bộ phận đó là một đoạn.  
SVTH: Đỗ Hữu Bá  
Trang 23  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Sơ đồ sắp chỗ  
Mỗi đoạn là một đơn vị logic của cơ sở dữ liệu phân tán mà nó được định  
vị tại một hoặc nhiều trạm làm việc.  
CÁC MỨC TRONG SUỐT KHÁC NHAU  
* Mức trong suốt phân đoạn:  
Người sử dụng biểu diễn ứng dụng trên các quan hệ tổng thể mà không hề  
biết về sự phân đoạn cũng như sự sắp chỗ của quan hệ tổng thể.  
Sự phân đoạn là hoàn toàn trong suốt đối với người sử dụng.  
Mức trong suốt ánh xạ định vị  
Người sử dụng biểu diển trên các đoạn do vậy người sử dụng biết sự phân  
đoạn của quan hệ tổng thể. Tuy nhiên sự định vị của các đọan là trong suốt đối  
với người sử dụng.  
Mức trong suốt ánh xạ địa phương  
Người sử dụng biểu diễn ứng dụng trên các đọan mà còn phải chỉ rõ làm  
việc trên bản sao nào của đoạn.  
CHƯƠNG IV: ORACLE VÀ CẤU HÌNH MẠNG  
I. SERVICE VÀ NHỮNG CHỨC NĂNG PHỤC VỤ CỦA ORACLE.  
Oracle xây dựng rất nhiều loại service để hỗ trợ và phục vụ cho các thao tác  
kết nối cũng như truy xuất cơ sở dữ liệu. Một Service thường có hai thao tác  
chính mà bạn cần quan tâm là START và STOP. Khi một Service được  
START nó sẽ ở trạng thái sẵn sàng phục vụ cho mọi yêu cầu gửi đến theo cách  
thức mà ứng dụng quy định. Khi STOP một Service cũng đồng nghĩa với các  
dịch vụ hay ứng dụng mà bạn yêu cầu phục vụ không còn có sẵn nữa.  
Chương trình listener của Oracle là một Service dễ hình dung nhất.  
II. TỔNG QUAN VỀ CÁC CẤU HÌNH VÀ KẾT NỐI CỦA ORACLE.  
Do cơ sở dữ liệu và các ứng dụng của Oracle hoạt động theo mô hình mạng  
client/server nên hầu hết các cấu hình cần thiết lập cần phải ăn khớp nhau giữa  
client với server.  
Muốn cơ sở dữ liệu trên máy Server chấp nhận kết nối máy client cần phải  
được cấu hình thiết lập các thông số cho Net Service Name các thông số mà  
Net Service Name nắm giữ phải phù hợp với những thông số thiết lặp trong tập  
tin LISTENER.ORA do chương trình kiểm soát. Các thông số này chủ yếu bao  
gồm địa chỉ mạng của máy Server và các giao thức dùng để kết nối. Trong quá  
trình kết nối máy client sẽ gửi thêm thông tin về định danh của cơ sở dữ liệu  
trên máy chủ để LISTENER biết cách gửi những yêu cầu của bạn đến đúng  
Service của cơ sở dữ liệu mà bạn cần truy xuất.  
Tập tin LISTENER.ORA dùng lưu những thông tin quy định cách ứng xử và  
kiểm soát kết nối của Services listener, các thông tin này bao gồm địa chỉ mạng  
nơi listener muốn tiếp nhận kết nối( thường là địa chỉ máy Server), giao thức  
mà Listener dùng để liên lạc và hiểu được máy Client, cổng giao tiếp( dành cho  
giao thức TCP/IP), định danh SID của cơ sở dữ liệu cần LISTENER phục vụ (  
hay chuyển giao các yêu cầu truy xuất từ phía client đưa đến). Tập tin này  
thường được ORACLE đặt tại thư mục ORACL_HOME\Net80\Admin \ trên  
máy server.  
Để kết nối với Server máy Client dùng Net Service Name là một chuỗi thông  
tin được lấy từ tập tin TNSNAMES.ORA( trên máy client cục bộ tập tin này  
SVTH: Đỗ Hữu Bá  
Trang 24  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
thường được ORACLE lưu trong thư mục ORACLE_HOME\Net80\Admin)  
hoặc trên một máy Server khác(Oracle Names Server) trong trường hợp bạn có  
nhiều cơ sở dữ liệu và cần truy xuất trên mạng diện rộng với quy mô cơ sở dữ  
liệu phân tán lớn. Khi cấu hình máy client ( hay Server đóng vai trò client)  
chúng ta cn phải quan tâm đến những thông số máy kết nối này.  
Tổng quát ta có hai cách thiết lập cấu hình cho Net Services Name ở máy  
Client là:  
Cấu hình quản lý cục bộ.  
Địa chỉ mạng và giao thức quy định kết nối được đặt trong tập tin  
TNSNAMES.  
ORA  
hoặc  
chỉ  
dùng  
tập  
tin  
WINNT\SYSTEM32\DRIVER\ETC\HOST duy nhất của Window NT. Công  
cụ của Oracle giúp bạn thực hiện công việc này là Oracle Net8 Easy Config  
hay Net 8 Assistance.  
Cấu hình quản lý tập trung.  
Tất cả tên Net Service Name và địa chỉ kết nối với Server được đặt trên một  
máy chủ khác(ONS- Oracle Name Server). Máy client chỉ cần quan tâm đến  
địa chỉ máy ONS các thông tin khác về Server chứa cơ sở dữ liệu sẽ được ONS  
cho biết. Công cụ hỗ trợ cấu hình này của Oracle là Oracle Net8 Assistance.  
III. NET8 VÀ “NỀN GIAO TIẾP MẠNG TRONG SUỐT”.  
Khái niệm “trong suốt” thường để chỉ những phần mềm trung gian giúp ta  
thực hiện một thao tác nào đó mà không cần biết đến cơ chế hoạt động hay sự  
hiện diện của thành phần trung gian. Oracle cung cấp mô hình hoạt động và  
giao tiếp mạng tương tự như vậy. Tất cả các lời gọi kết nối đều với mạng đều  
do TNS( Transaparent Network Subtrate) hay “Nền giao tiếp mạng trong suốt”  
quản lý và chuyển tải. Kỹ thuật và nền tảng của TNS được xây dựng bên trong  
Net8 cung cấp một cách giao tiếp duy nhất cho tất cả các giao thức mạng hiện  
nay đang được sử dụng rộng rãi như: TCP/IP, IPX, Pies…  
Với TNS mọi ứng dụng ngang hàng đều có thể kết nối được với nhau một  
cách tự nhiên. Trong kiến trúc mạng ngang hàng gồm hai hay nhiều máy tính (  
mỗi máy tính được xem như là một node hay là một nút mạng) có thể giao tiếp  
trực tiếp với nhau không cần thông qua một thiết bị trung gian nào khác. Với  
hệ thống ngang hàng mỗi node đều có thể đóng vai trò là một client hoặc một  
server.  
IV. CÁC TẦNG GIAO TIẾP.  
Khái niệm xử lý các tiến trình phân tán mà ta đã nêu trước đây dựa vào khả  
năng của nhiều máy tính tách biệt nhau có thể giao tiếp và tương tác với nhau  
thông qua những tầng giao tiếp được thiết kế khác nhau về mặt vật lý.  
Các tầng giao tiếp này được thiết kế theo mô hình hệ thống mở (Open System  
Interconnection gọi tắt là OSI). Trong mô hình OSI, giao tiếp giữa các máy tính  
khác biệt nhau được thực hiện thông qua việc phân chia trách nhiệm trong việc  
chuyển và xử lý một gói thông tin xuyên qua nhiều tầng tách rời.  
Phía máy client thông tin từ tầng cao nhất sẽ được phân tích và chuyển dần  
xuống các tầng dưới. Tầng vật lý cuối cùng sẽ chuyển thông tin qua mạng đến  
máy server. Tại máy server gói thông tin sẽ được phân tích và chuyển xuống  
thông qua các tầng giao tiếp theo hướng ngược lại.  
SVTH: Đỗ Hữu Bá  
Trang 25  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Điều hấp dẫn của tiếp cận OSI chính là ở chỗ nó hứa hẹn giải pháp cho vấn đề  
truyền thông giữa các máy tính không giống nhau. Hai hệ thống dù khác nhau  
như thế nào đi nữa, điều có thể truyền thông với nhau một cách hiệu quả nếu  
chúng đảm bảo những điều kiện sau đây:  
Chúng cài đặt một tập các chức năng truyền thông  
Các chức năng đó được tổ chức thành một tập các tầng. Các tầng đồng mức  
phải cung cấp các chức năng như nhau  
Các tầng đồng mức phải sử dụng một giao thức chung.  
Để đảm bảo những điều trên cần phải có các chuẩn. Các chuẩn phải xác định  
các chức năng và dịch vụ được cung cấp bởi một tầng. Theo cách tiếp cận OSI,  
trong mỗi tầng của một hệ thống có một hoặc nhiều thực thể(entity) hoạt động.  
Một(N) entity (thực thể của tầng N) cài đặt các chức năng của tầng N và giao  
thức truyền thông với các(N) entity trong các hệ thống khác. Một tiến trình  
trong một hệ đa xử lý là một ví dụ của thực thể. Hay đơn giản hơn, một thực  
thể có thể là một trình con(subroutine). Mỗi thực thể truyền thông với các thực  
thể ở các tầng trên và dưới nó thông qua một giao diện. Giao diện này gồm một  
hoặc nhiều điểm truy cập dịch vụ(Service Access Point-viết tắt là SAP). (N-1)  
entity cung cấp dịch vụ cho một (N) entity thông qua việc gọi các hàm nguyên  
thuỷ( primitive). Hàm nguyên thuỷ chỉ rỏ các chức năng thực hiện và được  
dùng để chuyển dữ liệu và thông tin điều khiển. Lời gọi trình con chính là một  
dạng cài đặt cụ thể của một hàm nguyên thuỷ.  
Bốn hàm nguyên thuỷ được dùng để định nghĩa tương tác giữa các tầng kề  
nhau, đó là:  
Request(yêu cầu): Là hàm nguyên thuỷ mà Service User( người sử dụng  
dịch vụ) dùng để gọi một chức năng.  
Indication(chỉ báo): là hàm nguyên thuỷ mà Service Provider( người cung  
cấp dịch vụ) dùng để:  
Gọi một chức năng hoặc chỉ bảo một chức năng đã được gọi ở một điểm truy  
cập dịch vụ(SAP)  
Respone( trả lời): Là hàm nguyên thủy mà Service User dùng để hoàn tất  
một chức năng đã được gọi từ trước bởi một hàm nguyên thủy Indication ở  
SAP đó.  
Confirm(xác nhận): Là hàm nguyên thủy mà Service Provider dùng để  
hoàn tất một chức năng đã được gọi từ trước bởi một hàm nguyên thủy  
Request tại SAP đó.  
Mô hình tham chiếu OSI 7 tầng:  
Tầng vật lý.  
Theo định nghĩa của ISO, tầng vật lý cung cấp các phương tiện điện,  
cơ,chức năng thủ tục để kích hoạt, duy trì và đình chỉ liên kết vật lý giữa các hệ  
thống.  
Ở đây thuộc tính điện liên quan đến sự biểu diễn các bit và tốc độ truyền các  
bit, thuộc tính cơ liên quan đến các tính chất vật lý của giao diện với một  
đường truyền( kích thước, cấu hình). Thuộc tính chức năng chỉ ra các chức  
năng được thực hiện bởi các phần tử của giao diện vật lý, giữa một hệ thống và  
đường truyền và thuộc tính thủ tục liên quan đến giao thức điều khiển việc  
truyền các xâu bit qua đường truyền vật lý.  
SVTH: Đỗ Hữu Bá  
Trang 26  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Khác với các tầng khác, tầng vật lý là tầng thấp nhất giao diện với đường  
truyền không có PDU cho tầng vật lý, không có phần header chứa thông tin  
điều khiển(PCI), dữ liệu được truyền đi theo dòng bit. bởi giao thức cho tầng  
vật lý không xuất hiện với ý nghĩa giống như đối với các tầng khác.  
Tầng liên kết dữ liệu.  
Tầng liên kết dữ liệu cung cấp các phương tiện để truyền thông qua liên kết  
vật lý đảm bảo tin cậy thông qua liên kết vật lý đảm bảo tin cậy thông qua các  
cơ chế đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu.  
Tầng mạng.  
Cấu trúc tầng mạng được nhiều chuyên gia đánh giá là phức tạp nhất trong  
các tầng của mô hình OSI. Tầng mạng cung cấp các phương tiện để truyền các  
đơn vị dữ liệu qua mạng, thậm chí qua một mạng của các mạng. Bởi vậy nó  
cần phải đáp ứng nhiều kiểu mạng và nhiều kiểu dịch vụ cung cấp bởi các  
mạng khác nhau. Các dịch vụ và giao thức cho tầng mạng là phải phản ánh  
được tính phức tạp đó. Hai chức năng chính của tầng mạng là chọn đường và  
chuyển tiếp.  
Tầng giao vận.  
Trong mô hình OSI người ta phân biệt 4 tầng thấp và ba tầng cao. Các tầng  
thấp quan tâm đến việc truyền dữ liệu giữa các hệ thống cuối qua phương tiện  
truyền thông, còn các tầng cao tập trung đáp ứng các yêu cầu và các ứng dụng  
của người sử dụng. Tầng giao vận là tầng cao nhất của nhóm các tầng thấp ,  
mục đích của nó là cung cấp các dịch vụ truyền dữ liệu sao cho các chi tiết cụ  
thể của phương tiện truyền thông được sử dụng ở bên dưới trở nên trong suốt  
đối với các tầng cao. Nói cách khác, có thể hình dung tầng giao vận như là một  
“bức màn” che phủ toàn bộ các hoạt động ở các tầng thấp bên dưới nó. Từ đó,  
nhiệm vụ của tầng giao vận rất phức tạp. Nó phải được tính đến khả năng một  
phạm vi rất rộng các đặc trưng của mạng . Chẳng hạn, một mạng có thể là có  
liên kết hoặc không liên kết, có thể là tin cậy hoặc chưa đẳm bảo tin cậy,… Nó  
phải biết được yêu cầu về chất lượng dịch vụ của người sử dụng đồng thời cũng  
phải biết được khả năng cung cấp các dịch vụ của mạng bên dưới. Chất lượng  
của các dịch vụ mạng tuỳ thuộc vào loại mạng khả dụng cho tầng giao vận và  
cho người sử dụng cuối.  
Tầng phiên.  
Tầng phiên là tầng thấp nhất trong nhóm các tầng cao và nằm ở ranh giới  
giữa hai nhóm tầng nói trên. Mục tiêu của nó là cung cấp cho người sử dụng  
cuối các chức năng cn thiết để quản trị các phiên ứng dụng của họ, cụ thể là:  
Điều phối việc trao đổi dữ liệu giữa các ứng dụng bằng cách thiết lập và  
giải phóng một cách logic các phiên hay còn gọi là các hội thoại.  
Cung cấp các điểm đồng bộ hoá để kiểm soát việc trao đổi dữ liệu.  
Áp đặt các quy tắc cho các tương tác giữa các ứng dụng của người sử dụng.  
Cung cấp cơ chế “lấy lượt” trong quá trình trao đổi dữ liệu.  
Việc trao đổi dữ liệu có thể thực hiện theo một trong 3 phương thức:  
Hai chiều đồng thời.  
Hai chiều luân phiên.  
Mt chiều.  
SVTH: Đỗ Hữu Bá  
Trang 27  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Với phương thức hai chiều đồng thời, cả hai bên đều có thể đồng thời gửi dữ  
liệu đi. Một khi phương thức này đã được thỏa thuận thì không đòi hỏi phải có  
nhiệm vụ quản trị tương tác đặc biệt nào đó. Có lẽ đây là phương thức hội thoại  
phổ biến nhất. Trong trường hợp hai chiều luân phiên thì nảy sinh vấn đề: hai  
người sử dụng phiên” lấy lượt” để truyền dữ liệu. Một ví dụ điển hình của  
phương thức này là dùng cho các ứng dụng hỏi /đáp. Thực thể tầng phiên duy  
trì tương tác luân phiên bằng cách báo cho người sử dụng khi đến lượt họ được  
truyền dữ liệu.  
Trường hợp một chiều nói chung ít xảy ra, ví dụ điển hình là dữ liệu được gửi  
tới một người sử dụng tạm thời không làm việc, chỉ có một chương trình nhận  
với nhiệm vụ duy nhất là tiếp nhận dữ liệu đến và lưu giữ lại. Chuẩn của ISO  
không xét đến phương thức này.  
Vấn đề đồng bộ hoá trong tầng phiên được thực hiện tương tự như cơ chế  
điểm kiểm tra/ phục hồi trong một hệ quản trị tệp. Dịch vụ này cho phép người  
sử dụng xác định các điểm đồng bộ hoá trong dòng dữ liệu và có thể khôi phục  
việc hội thoại bắt đầu từ một trong các điểm đó.  
Một trong những chức năng quan trọng nhất của tầng Phiên là đặt tương ứng  
các liên kết phiên với các liên kết giao vận. Ở một thời điểm cho trước , tồn tại  
một ánh xạ giữa các liên kết phiên và các liên kết giao vận. Tuy nhiên vòng đời  
của các liên kết phiên và giao vận có thể khác nhau.  
Tầng trình diễn.  
Mục đích của tầng trình diễn là đảm bảo cho các hệ thống cuối có thể  
truyền thông có kết quả ngay cả khi chúng sử dụng các biểu diễn dữ liệu khác  
nhau. Để đạt được điều đó nó cung cấp một biểu diễn chung để dùng trong  
truyền thông và cho phép chuyển đổi từ biểu diễn cục bộ sang biểu diễn chung  
đó.  
Tồn tại 3 dạng cú pháp thông tin được trao đổi giữa các thực thể ứng dụng ,đó  
là : cú pháp dùng ứng dụng thực thể nguồn, cú pháp dùng bởi thực thể ứng  
dụng đích và cú pháp được dùng giữa các thực thể tầng trình diễn . Loại cú  
pháp sau gọi là cú pháp truyền. Có thể cả 3 hoặc một cặp nào đó trong các cú  
pháp trên là giống nhau. Tầng trình diễn đảm nhiệm việc chuyển đổi biểu diển  
của thông tin giữa cú pháp truyền và mỗi một cú pháp kia khi có yêu cầu.  
Lưu ý rằng không tồn tại một cú pháp truyền xác định trước duy nhất cho mọi  
hoạt động trao đổi dữ liệu. Cú pháp truyền được sử dụng trên một liên kết cụ  
thể của tầng trình diễn phải được thương lượng giữa các thực thể trình diễn  
tương ứng. Mỗi bên lựa chọn một cú pháp truyền sao cho có thể sẵn sàng được  
chuyển đổi sang cú pháp người sử dụng và ngược lại. Ngoài ra, cú pháp truyền  
được chọn phản ánh các yêu cầu dịch vụ khác, chẳng hạn như nhu cầu nén dữ  
liệu. Việc thương lượng cú pháp truyền được tiến hành trong giai đoạn thiết lập  
một liên kết và cú pháp truyền sử dụng có thể được thay đổi trong vòng đời của  
liên kết đó. Tầng trình diễn chỉ liên quan đến cú pháp truyền vì thế trong giao  
thức sẽ không quan tâm đến các cú pháp sử dụng bởi các thực thể ứng dụng.  
Tuy nhiên, mỗi thực thể trình diễn phải chịu trách nhiệm chuyển đổi giữa cú  
pháp của người sử dụng và cú pháp truyền.  
SVTH: Đỗ Hữu Bá  
Trang 28  
Đồ Án Tốt Nghiệp  
GVHD:TS Nguyễn Ngọc Bình  
Trước khi đi vào các chuẩn ISO về dịch vụ và giao thức của tầng trình diễn,  
chúng ta xét kỹ khái niệm liên quan đến bối cảnh của tầng trình diễn được chỉ  
ra trong hình  
Hình A. Bối cảnh tầng trình diễn  
Application  
Entity  
Application  
Entity  
Application protocol  
(Abstract Syntax)  
Presentation Data  
indication  
Presentation Data  
request  
(Abs Syntax)  
(Abs Syntax)  
Presentation  
Entity  
Presentation  
Entity  
Presentation protocol  
(Negotiation of Tranfer  
Syntax Data tranfer)  
Session  
Data  
Session  
Data  
request  
indication  
(Bytes)  
(Bytes)  
SVTH: Đỗ Hữu Bá  
Trang 29  

Tải về để xem bản đầy đủ

pdf 84 trang yennguyen 16/01/2025 70
Bạn đang xem 30 trang mẫu của tài liệu "Đồ án Hệ quản trị cơ sở dữ liệu Oracle trong quản lý bán hàng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfdo_an_he_quan_tri_co_so_du_lieu_oracle_trong_quan_ly_ban_han.pdf