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

84 836 5
Tài liệu đã được kiểm tra trùng lặp
" Hệ quản trị CSDL Oracle trong quản lý bán hàng "

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệ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 đư

Trang 2

Đồ Ấ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 toà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 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ở đữ 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 hoá Một bài toán nhỏ cũng cân đến đữ liệu, nhưng không nhất thiết phả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

Trang 3

Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

PHAN MOT

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

T.1 Lop vat ly cua ORACLE oo 7

II.3 Transaction, Commit, Rollback << ¿+ =5 =2 << s<eseess 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

(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 24 IL Tổng quan vỆ các cầu hình kết nối của facÌC .c.eece 24

IV Cac tang giao tiếp "¬ 25 Chương V NGÔN NGU PL/SQL

Il Cau tric churong trinh PL/SQL wo cscscsssescessescssescsssccssscsessseseseseees 31

Chương VI PHƯƠNG PHÁP LUẬN PHÂN TÍCH THIẾT KẾ HỆ THONG

CHUONG VII GIOI THIEU ORACLE DEVELOPER 6.0

TL FORM BUIDER woiceccccccscscsccccssscscsccsescscsescscssecsscsescstesessssscsvscssssssessscsesvass 37 II REPORT BUIDER .ccccccccsssescsccssscsescscscssesssesescssesescsescssssssesssscsssesvass 39 II GRAPHICS BUIDER ccccccccscscsssscsescscscscscsscsescscssessssssssscesesssssescsesvaes 39

PHAN HAI

T Khao sat hién trang 1005 42

TM Két luan hung phat trién d6 at sssccscsessescssccssscssssseseseseees 83

Tài liệu tham khảo

Trang 4

Đồ Ấ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 dung mot hệ quản trị cơ sở dữ liệu gọi 1a Oracle Ellison, Miner va 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 chay 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 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

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

Trang 5

Đồ Ấn Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình Ill HE QUAN 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

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 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 ghỉ đượ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ở đữ liệu

@ Cdc User-defined function: Cac user- defined function cting tuong ty cac stored procedure

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

Trang 6

Đô Á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 đặc biệt hỗ trợ các query tạm thời,

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

> 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

Trang 7

Đồ Ấ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

Trang 8

s% 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:

s* 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ở đữ 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 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é 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

,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

Trang 9

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

“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ố được định nghĩa trong cơ sở đữ 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 đữ 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

Trang 10

Đồ Á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 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 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 đị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 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 đữ 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 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

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 tham trỏ đến tất cả hay những cột đầu trong index

Trang 11

Đồ Á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 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 đữ 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ớ để 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ở

Trang 12

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

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 vào sự quản lý tự động các currsor của các tiện ích

Trang 13

Đồ Á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 soát thông tín 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 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: quá trình user và quá trình Oracle

s* 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(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 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 nghỉ 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

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

Trang 14

Đồ Á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, 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

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

Trang 15

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ơ sở 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 tác vụ nhất định mà user có thể thực hiện trên đối tượng của schema đó( ví du, user SCOTT có thể phát sinh lệnh SELECT va 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

CAC CO CHE BAO MAT

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 Cac 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:

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

Trang 16

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

> 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

Trang 17

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

Trang 18

Đồ Ấ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

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

Trang 19

Đồ Ấ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 cơ bản của Oracle, và nó hỗ trợ

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

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ó

Trang 20

Đồ Ấ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 tượng “cơ ả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ở đữ liệu Các đối tượng khác như view, procedures va function duge coi là các đối tượng cơ sở đữ 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ỏ đữ 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

Trang 21

Dé An Tét Nehié GVHD:TS Neuyén Neoc Binh

Trang 22

Đồ Ấn Tốt Nghiệp GVAD:TS Nguyên Ngọc Bình

CHƯƠNG III: ORACLE VA MO HINH MANG

I Tong quan về NETS

Net8 la 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à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 may khac( may client) dén co

đ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 clien† 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 nhimng thong tin ma ma Listener nam 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 cai

đặ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 CAC KHÁI NIỆM VÀ KIÊN TRÚC MẠNG CỦA ORACLE

Net§ sử dụng khái niệm” Nền giao tiếp mạng trong suốt”(T Tasparent Net Work Subtrate) goi tat 1a 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 cap chủ yếu là ba thao tác:

“+ Thao tac thực hiện kết nối giữa các máy s* Thao tác trên dữ liệu

s* Các tháo tác xử lý ngọai lệ

II KIÊN TRÚC CỦA NET8

Kiến trúc của Net8 gồm:

Trang 23

Đồ Ấn Tốt Nghiệp GVAD:TS Nguyên Ngọc Bình

Môi trường mang

Net8 va 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 MOI 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:

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 mang 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ữ

Trang 24

Đồ Ấn Tốt Nghiệp GVAD: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 đữ 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

e Co sé dir ligu phan tan:

Là một cơ sở dữ liệu gồm nhiều cơ sở đữ 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ở đữ liệu nam rai 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ở đữ 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ở đữ liệu phân tán: e Co cau t6 chức kinh tế phi tập trung e Sự tăng trưởng

e_ Giảm chỉ phí truyền thông

Kiến trúc của cơ sở dữ liệu phân tán

SO DO TONG THE

SO DO PHAN DOAN SO DO SAP CHO

Trang 25

Đồ Ấn Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình e 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

CAC MUC TRONG SUOT KHAC 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

e Muc 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

e_ 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

CHUONG IV: ORACLE VÀ CÂU HÌNH MẠNG

I SERVICE VA NHUNG CHUC NANG PHUC VU CUA ORACLE

Oracle xay dung rat nhiéu loai service dé hé tro va phuc vu cho cac thao tac

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 gui dén theo cach 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 TONG QUAN VE CAC CAU HINH VA KET NOI CUA 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ở đữ 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 nam gitt phai phu 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 LISIENER.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 tín 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 thirc TCP/IP), định danh SID của cơ sở đữ liệu can LISTENER phuc vu (

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 dat tai thu muc ORACL HOME\Net80\Admin \ trén

Trang 26

Đồ Ấn Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

thuong dugc ORACLE luu trong thu myc 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 cần 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

WINNT\SYSTEM22\DRIVER\IETC\HOST đuy 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

“ Cau hinh quan ly tap trung

Tat ca tén Net Service Name va đị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 Net§ Assistance

Ill NET8 VA “NEN 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

Voi TNS moi ứ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 CAC TANG GIAO TIEP

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 mo (Open System Interconnection goi tat 14 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 đướ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

Trang 27

Đồ Ấ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ử đụng một giao thức chung

Dé dam 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 nang của tầng N va giao thức truyền thông với các(N) entfity 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 tat là SAP) (N-1)

entity cung cap dich vu cho mt (N) entity thong qua viéc goi cac ham 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 đữ 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ề

%* 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 tai SAP do

M6 hinh tham chiéu OSI 7 tang:

v 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 bít 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ý

Trang 28

Đồ Ấ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 co PDU cho tang vật lý, không có phần header chứa thông tin điều khiên(PCD), dữ liệu được truyền đi theo dòng bịt 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

đơ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

v 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 chỉ 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 đướ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 tang giao van va

cho người sử dụng cuối

v Tầng phiên

Tầng phiên là tang 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 cần 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 cap cac diém đồng bộ hoá để kiểm soát việc trao đổi dữ liệu

> Ap dat cac 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 đữ 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

s* Một chiều

Trang 29

Đồ Ấ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à đù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 đữ liệu

Trường hợp một chiều nói chung ít xảy ra, ví dụ điển hình là đữ 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

Van đề đồ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, ton 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 v 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 đù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 đuy 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 vong doi cua liên kết đó Tầng trình diễn chi 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 điễn phải chịu trách nhiệm chuyển đổi giữa cú

pháp của người sử đụng và cú pháp truyền

Trang 30

Đồ Ấ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

Trang 31

Đồ Ấn Tốt Nghiệp GVHD:TS Nguyễn Ngọc Binh

Khi qua ranh giới giữa hai tầng trình diễn, tầng Phiên có một sự thay đổi quan trọng trong cách nhìn đữ liệu Đối với tầng phiên trở xuống, tham số User data trong các service primitive được đặc tả dưới dạng nhị phân Giá trị này có thé được đưa trực tiếp trong cac SDU( Service Data Unit) để chuyển đổi giữa các tầng trong một hệ thống và trong các PDU (Protocol data Unit) để chuyển giữa các tầng đồng mức ở hai hệ thông kết nối với nhau Tuy nhiên tầng ứng

dụng lại hiên quan chặt chế với cách nhìn dữ liệu của người sử dụng Nói

chung, cách nhìn đó là một tập thông tin có cấu trúc nào đó, như là văn bản trong một tài liệu, một tệp về nhân sự, một cơ sở đữ liệu tích hợp hoặc một hiển thị của thông tin videotext Người sử dụng chỉ liên quan đến ngữ nghĩa của dữ liệu Do đó tâng trình diễn ở giữa có nhiệm vụ phải cung cấp các phương thức biểu diễn dữ liệu và chuyến đổi thành các giá trị nhị phân dùng cho các tầng đdưới- nghĩa là tất cả những gì liên quan đến cú pháp của dữ liệu

Tuy nhiên trong thực tế không thê tách bạch hoàn toàn giữa cú pháp và ngữ nghĩa của dữ liệu Nếu tầng ứng dụng không biết gì về cú | phap con tang trinh diễn không biết gì về ngữ nghĩa thì không thể nào hoàn tất được việc kết hợp ngữ nghĩa với cú pháp dùng để tạo ra một biểu diễn cụ thê các giá trị dữ liệu cho một dịch vụ phiên

Cách tiếp cận của ISO về việc kết hợp giữa ngữ nghĩa và cú pháp dữ liệu là như sau Ở tầng ứng dụng thông tin được biểu diễn dưới dạng một cú pháp trừu tượng liên quan đến các kiểu đữ liệu và giá trị dữ liệu Cú pháp trừu tượng này đặc tả một cách hình thức dữ liệu, độc lập với mọi biểu diễn cụ thé

Do vậy, một cú pháp trừu tượng có nhiều điểm giống với các khía cạnh định nghĩa kiêu dữ liệu trong các ngôn ngữ lập trình qui ước như: Pascal, C.Ada,

và các ngữ pháp như:BNF(Backus-Naur-Form) Các giao thức tầng ứng dụng

mô tả các PDU của chúng bằng một cú pháp trừu tượng Tầng trình diễn tương tác với tầng ứng dụng cũng dựa trên cú pháp trừu tượng này Tầng trình điễn có nhiệm vụ dịch thuật giữa cú pháp trừu tượng của tầng ứng dụng và một cú pháp truyền mô tả các giá trị dữ liệu dưới dạng nhị phân- thích hợp cho việc

tương tác dịch vụ phiên Việc dịch thuật này được thực hiện nhờ các quy tắc

mã hóa chỉ rõ biểu diễn của mỗi giá trị đữ liệu thuộc một kiểu dữ liệu nào đó

Trước khi sử dụng một liên kết tâng trình diễn để trao đổi dữ liệu thì hai thực

thê trình diễn ở hai đầu phải thoả thuận về cú pháp truyền Sau khi cú pháp truyền đã được chọn thì tô hợp cú pháp trừu tượng và cú pháp truyền được xem

là bối cảnh trình điễn được dùng để trao đổi dữ liệu

Hai yêu cầu cơ bản để lựa chọn một cú pháp truyền là nó phải yêm trợ cú pháp trừu tượng tương ứng Ngoài ra ,cú pháp truyền có thể có các thuộc tính khác không liên quan gì đến cú pháp trừu tượng mà nó yếm trợ

v Tang ứng dụng

Tang ứng dụng là ranh giới giữa môi trường kết nối các hệ thống mở và các tiến trình ứng dụng Các tiến trình ứng dụng sử dụng môi trường OSI để trao đôi dữ liệu trong quá trình thực hiện của chúng Là tầng Cao nhất trong mô hình OSI 7 tầng, tầng ứng dụng có một số đặc điểm khác với tầng dưới nó Trước hết, nó không cung câp các dịch vụ cho một tầng trên như trong trường hợp của các tầng khác Theo đó , tầng ứng dụng không có khái niệm điểm truy cập dịch vụ tầng ứng dụng

Trang 32

Đồ Ấn Tốt Nghiệp GVHD:TS Nguyễn Ngọc Binh

ISO định nghĩa một tiến trình ứng dụng là” một phần tử ở trong một hệ thống mở thực hiện việc xử lý thông tin cho một ứng dụng cụ thê 6” Cac tién trình ứng dung thudc cac hé | thong mở khác nhau muôn trao đổi thong tin phai thong qua tầng ứng dụng Tầng ứng dụng bao gồm các thực thể ứng dụng, các thực thê này dùng các giao thức ứng dụng và các dịch vụ trình diễn để trao đổi thông tin Như vậy các thực thể ứng dụng cung cấp các tiến trình ứng dụng các phương tiện cần thiết đề ộ truy cập môi trường OSI Tuy nhiên, tầng ứng dụng chủ yêu chỉ giải quyết vẫn đê ngữ nghĩa chứ không giải quyết vẫn đề cú pháp như tầng trình diễn

CHƯƠNG V NGÔN NGỮ PL/SQL

I Tổng quan vé Procedure Language/Structured Query Language(PL/SQL) PL/SQL có nhiều ưu điểm so với ngôn ngữ lập trình khác về mặt quản lý logic và hỗ trợ các quy luật hoạt động của các ứng dụng cơ sở đữ liệu Đó là một ngôn ngữ dễ hiểu với các cầu trúc logic chung kết hợp với một ngôn ngữ lập trình và nhiều mặt khác mà các ngôn ngữ khác không có như trình quản lý

lỗi rất mạnh và sự module hoá các khối mã lệnh Mã PL/SQL được sử dụng để

giao tiếp với cơ sở đữ liệu cũng được lưu trữ trực tiếp trong cơ sở dữ liệu

Oracle, và là ngôn ngữ lập trình duy nhất giao tiếp với Oracle một cách tự

nhiên bên trong môi trường cơ sở đữ liệu

PROCESSING

Distributed Debugging

Trang 33

11.2 CAC THANH PHAN CUA MOT KHOI PL/SQL

Bat ky mot khoi PL/SOL nao cũng có ba thành phan: s* Phần Khai báo biến

s* Phần thực thi s* Phần xử lÿ exception

VD: Declare

So NUMBER;⁄ Khai bdo bién*/

If (so> 3) Then

DBMS_OUTPUT.PUT_LINE(‘Hello, World’); Else

RAISE bad_data; End If;

Exceptions /*Xu ly exception*/

When bad_data Then

DBMS_PUTLINE( Error condition’); End;

11.3 CAC KIEU DU LIEU

> NUMBER: chita bat kỳ số nào

>» CHAR( size), VARCHAR2(size): ding đề lưu trữ các chuỗi ký tự số kiểu CHAR thêm các khoảng trắng vào lưu trữ đủ chiều dài

DATE: dùng để lưu trữ ngày

LONG: Lưu trữ các Text lớn, đến 2 gigabyte chiều dài

LONG RAW: dùng lưu trữ những khối đữ liệu lớn ở khuôn dạng nhị phân RAW: Lưu trữ những khối đữ liệu nhỏ hơn khuôn dạng nhị phân

MLSLABEL: St dung trong Oracle Trusted

ROWID: sử dụng để lưu trữ khuôn dạng đặc biệt của ROWID trong cơ sở

dữ liệu

BOOLEAN: Luu tri gia tri True/false

TABLE/RECORD: Các bảng có thể sử dụng để lưu các gid tri trong đương

với một dãy, các record lưu các biến có kiểu đữ liệu composite

1.4 DIEU KHIEN LUONG XU LY PL/SQL

1 Cac vong lap:

Trang 34

Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

“* Loop-exit: La vong lap don gian nhat trong PL/SQL Tir khoa loop định nghĩa bắt đầu của khối mã lệnh sẽ được lặp lại, end loop chỉ định kết thúc vòng lặp Từ khoá exit chỉ định thoát khỏi vòng lặp

VD: Declare

My_leg NUMBER:=0;

My_hypotenuse NUMBER:=0;

BEGIN LOOP

My_leg:=my_leg+1;

Execute find_hypotenuse(my_leg,my_leg,my_hypotenuse); If my_leg=25 Then

EXIT; END IF; END LOOP; END;

** Vòng lặp While-Loop:tương đương loop-exit Vd:

Decclare

Sol NUMBER:=0; So 2 NUMBER:=0; Kq NUMBER:=0; BEGIN

While ( So1<10) and (So 2<20) Loop Kq:=So01+So2;

End Loop; END;

s* Vòng lap For-loop VD:

Declare

Sol NUMBER:=0; BEGIN

For Sol IN 1 25 Loop

Execute Tinh(Sol,So1);

End Loop; END;

2 LAP TRINH VOI CON TRO( CURSOR)

Có hai loại : Cursor ngầm và Cursor tường minh

$* Cursor tường mỉnh được đặt tên bỡi nhà phát triển ứng dụng Nó chính là một lệnh select được đặt tên Bất kỳ lệnh nào cũng có thể sử đụng trong một cursor tường minh bằng cách sử dụng cú pháp

Cursor cursor_ name 1s

1) XỬ LÝ EXCEPTION

Ba loại Exception trong PL/SQL là:

%* Predefined Exceptions: Để tiện ích việc xử lý lỗi trong PL/SQL, Oracle đã thiết kế một số Exception xây dựng san tic 1a cdc predefined exception

Trang 35

Các phần mã lệnh yêu cầu được mô tả như sau:

s%* Khai báo exception: Trong phần khai báo của khối PL/SQL, tên exception cần phải khai báo Tên này sẽ sử dụng để yêu cầu exception trong phần thực thi nếu các điều kiện của exception xảy ra

“+ Kiém tra exception: Trong phần thực thi của một khối PL/SQL, cần có mã

lệnh kiểm tra tường minh các điều kiện lỗi user-deñned để gọi exception

nếu điều kiện được thỏa

s%* Xứ lý Exception: Trong phần exception handler của khối PL/SQL, cần có

một mệnh đề đặc biệt when gọi tên exception và mã lệnh cần thực hiện nếu

exception xay ra

2) EXCEPTION_INIT PRAGMA

Lénh pragma cho phép nhà phát triển ứng dụng khai báo một lỗi được đánh số kết hợp với một exception được đặt tên trong khối Việc dùng này cho phép dùng mã lệnh xử lý các lỗi chưa được xử lý rõ ràng

4 CHỈ ĐỊNH CÁC EXCEPTION CHUNG(COMMON EXCEPTION)

Một số predefined exception:

invalid_cursor: Xay ra khi đóng một cursor không mở cursor_already_open: Xay ra khi mở một cursor chưa đóng dup_vai_on_index:Xâm phạm ràng buộc unique hay primary key

no_data_found: Khong cé hang nào được chọn hay thay đổi bởi tác vụ SQL

foo_many_rows: Nhận được hơn một hàng bỡi một subquery một hàng hay trong một lệnh SQL mà Oracle mong đợi một hàng

zero_ divide: Chia cho không

rowtype_mismatch: Cac kiéu dit ligu cua record mà đữ liệu từ cursor được

gán không tương thích

> imvalid_number: Một chuỗi các ký số được tham trỏ như một số

5.MA HOA TRINH XU LY LOI

Mỗi user-defned exception trong phần khai báo và thực thi của một khối PL/SQL nên có một exception handler kết hợp viết cho nó Cách tốt nhất để xử lý một exception là gọi tên nó rõ ràng khi sử dụng mệnh đề when trong khối exception của chương trình PL/SQL Exception handler có lẽ là một thành tựu lớn nhất đạt được bằng cách sử dụng PL/SQL để viết các store procedure trong Oracle Tính linh hoạt và dễ dàng giúp đơn giãn hoá việc phát triển những chương trình lớn

CHƯƠNG IV: PHƯƠNG PHÁP LUẬN PHÂN TÍCH THIẾT KÉ HỆ

Trang 36

Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

Phương pháp phân tích có cầu trúc,trãi qua thời gian đã chứng tỏ được tính kinh điển của nó Nó là phương pháp dung dị, không câu kỳ như một số phương pháp khác, dé 4p dung, nhung lai rất hữu hiệu Ngày nay nó chưa lạc hậu, mà vân còn phát huy tác dụng tốt Bằng chứng là một hệ thống lớn và hiện đại như ORACLE vẫn tiếp sử dụng nó

l1 Phương pháp phân tích hệ thông về chức nang

Do 1a phuong phap SA(Structured Analysis) do De Macro va nhimg nhing người khác như (Yourdon, Constatine ) dua ra nim 70 nhưng vẫn còn phát huy tác dụng cho đến ngày nay Nó vẫn là nền tảng của những phần mềm trợ

giúp phân tích , thiết kế nổi tiếng như Designer 2000 của ORACLE Công cụ chính là biểu đồ luồng đữ liệu

1.1.1 Biéu dé phan cap chức năng

Là một loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thể đến chi tiết Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữa các chức năng, diễn tả bỡi các cung nối liền các nút, là quan hệ bao hàm Như vậy biểu đồ phân cấp chức năng là một cầu trúc cây

Đặc điểm của biểu đồ phân cấp chức năng là:

s* Cho một cách nhìn khái quát ,dễ hiểu, từ đại thể đến chi tiết về các chức

năng, nhiệm vụ cân thực hiện

¢ Dễ thành lập, bằng cách phân rã dần các chức năng từ trên xuống

s* Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà không cho thấy trình tự xử lý

* Thiếu vắng sự trao đối thong tin giữa các chức năng

Vì những đặc điểm kể trên mà biểu đồ phân cấp chức năng thường được sử

dụng làm mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thống

đơn giãn Nếu hệ thống là phức tạp thì mô hình chức năng dưới dạng biểu dé phân câp chức năng là quá sơ lược và các thiếu sót nêu trên trong hai đặc điểm cuôi ở trên là không thê châm chước được Lúc đó người dùng biểu đồ luồng dữ liệu thay cho biểu đồ phân cấp chức năng

1.1.2 Biểu đô luông dữ liệu

Biểu đồ luồng đữ Hệu(BLD) là một loại biểu đồ nhằm mục đích điển tả một quá trình xử lý thông tin với các yêu cầu sau:

> Su diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì”, mà bỏ qua câu hỏi “Làm thế nào?”

> Chỉ rõ các chức năng con phải thực hiện để hoàn tất quá trình xử lý cần mô

tả

> Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó, và qua đó

phân nào thấy được trình tự thực hiện của chúng

(1) Chức năng: Là một quá trình biến đổi đữ liệu( thay đổi giá trị, cầu trúc, vị

trí của một đữ liệu, hoặc từ một số đữ liệu đã cho, tạo ra một dữ liệu Tới)

Biểu diễn: Bởi hình tròn hoặc ovan bên trong có tên chức năng

Trang 37

Biểu điễn: Một luồng dữ liệu được vẽ trong một BLD dưới dạng một mũi tên,

trên đó có viết tên của luồng đữ liệu

Tên luồng đữ liệu

——

Tên luồng đữ liệu là danh từ, kèm theo tính ngữ nếu cần, cho phép hiểu văn tắt

nội dung đữ liệu được chuyền giao (3) Kho dữ liệu

Một kho dữ liệu là một dữ liệu đơn hay có cấu trúc được lưu lại, để có thể truy

cập nhiều lần về sau

Biểu diễn: Một kho đữ liệu được vẽ trong BLD dưới dạng hai đoạn thăng năm

ngang, kẹp giữa tên của kho dữ liệu Kho dữ liệu

(4) Các đối tác

Một đối tác ( hay tác nhân ngoài, hay điểm nứt) là một thực thể ngoài hệ

thống, có trao đổi thông tin với hệ thống

Biểu diễn: Đối tác trong biểu đồ luồng dữ liệu vẽ bằng hình chữ nhật, bên

trong có tên đối tác

Tên đôi tác

(5) Tác nhân trong

Một tác nhân trong là một chức năng hay 1 hệ con của hệ thống, được mô tả ở một trang khác của mô hình, nhưng có trao đổi thông tin với các phần tử thuộc trang hiện tại của mô hình Như vậy tác nhân trong xuất hiện trong biểu đồ chỉ

để làm nhiệm vụ tham chiếu

Biểu diễn: Tác nhân trong biểu đồ luồng dữ liệu được vẽ dưới dạng một hình chữ nhật thiếu cạnh trên, trong đó viết tên tác nhân trong ( chức năng hay hệ

Trang 38

Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

Mô hình thực “thê liên kết E/A(Entity/Association Model) là mô hình dữ liệu

do P.P Chen đưa ra năm 1976 và sau đó được dùng khá phố biến trên thế giới Nó có ưu điểm là khá đơn giản và gần với tư duy trực quan

s%* Mô hình thực thể liên kết kinh điển

Xuất phát từ ba khái niệm cơ bản.: Thực thẻ, liên kết, và thuộc tính

a) Các hạn chế

+ Đối với kiểu liên kết hai ngôi dạng:

A m n P q B

Thì chỉ còn liên kết một -nhiều, tức là trường hợp n=1 và q>1 hoặc q=* và

được biêu diên dưới dạng mới sau:

A _ B oN

ITI Phwong phap thiét ké hé théng

Đồ án thực hiện theo phương pháp SD(Structured design) do E Yourdon và L.Constanie đề xuất

CHƯƠNG VI: GIỚI THIỆU ORACLE DEVELOPER 6.O

Bộ Oracle Developer 6.0 bao gồm:Form buider, Report buider , Schema buider va Project buider

Trang 39

=

- -

‘0 AChE: Workivente Sales Tracking

lon Eh Query Book Brood fied di yếm -

| cn jSourh America jCornes:

Trang 40

Do An Tot Nehi À Ấm TẾ rô GVHD:TS Nguyễn Ngọc Bình

Name [Moth Amencz

Mansgz [Denctsct

Report buider là chương trình ứng dụng Oracle Developer, có công dụng tạo báo biểu dựa trên dữ liệu trong cơ sở dữ liệu, vốn CÓ, thể xem trên màn hình, in ra tập tin hoặc in lên giấy Báo biểu có thể truy xuất dữ liệu bằng SQL, thực hiện các phép toán trên dữ liệu truy xuất, và định dạng kết quả cho giống với hoá đơn, thư mẫu hoặc tài liệu thương mại khác Report buider là khung nhìn

dữ liệu tỉnh vào thời điểm cụ thể xem hoặc in được

Mons Malrrei

bay

Marts Srau

Phan su

Tokye

Ngày đăng: 29/10/2012, 17:08

Hình ảnh liên quan

Chương III. ORACLE VÀ MƠ HÌNH MẠNG. - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

h.

ương III. ORACLE VÀ MƠ HÌNH MẠNG Xem tại trang 3 của tài liệu.
dùng lệnh DELETE đối với bảng EMP). - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

d.

ùng lệnh DELETE đối với bảng EMP) Xem tại trang 15 của tài liệu.
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 - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

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 Xem tại trang 23 của tài liệu.
liệu để phân bố cho các client. Máy server thường trang bị cấu hình tối đa về - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

li.

ệu để phân bố cho các client. Máy server thường trang bị cấu hình tối đa về Xem tại trang 24 của tài liệu.
Hình A. Bồi cảnh tầng trình diễn - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

nh.

A. Bồi cảnh tầng trình diễn Xem tại trang 30 của tài liệu.
TABLE/RECORD: Các bảng cĩ thể sử dụng để lưu các giá trị tương đương - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

c.

bảng cĩ thể sử dụng để lưu các giá trị tương đương Xem tại trang 33 của tài liệu.
Mơ hình thực “thê liên kết E/A(Entity/Association Model) là mơ hình dữ liệu - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

h.

ình thực “thê liên kết E/A(Entity/Association Model) là mơ hình dữ liệu Xem tại trang 38 của tài liệu.
Là các mẫu nối với bảng cơ sở đữ liệu đã định. Những người dùng sử dụng Form  Buider  để  tạo  các  ứng  dụng  cung  cấp  cho  người  sử  dụng  đầu  cuối  truy  xuất  thơng  tin  được  lưu  trong  cơ  sở  đữ  liệu - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

c.

ác mẫu nối với bảng cơ sở đữ liệu đã định. Những người dùng sử dụng Form Buider để tạo các ứng dụng cung cấp cho người sử dụng đầu cuối truy xuất thơng tin được lưu trong cơ sở đữ liệu Xem tại trang 39 của tài liệu.
lL2.1. Mơ hình quan niệm đữ liệu . - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

l.

L2.1. Mơ hình quan niệm đữ liệu Xem tại trang 65 của tài liệu.
H.2.2 MƠ HÌNH TƠ CHỨC DỮ LIỆU. - " Hệ quản trị CSDL Oracle trong quản lý bán hàng "

2.2.

MƠ HÌNH TƠ CHỨC DỮ LIỆU Xem tại trang 66 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan