Ứng dụng hệ quản trị Oracle xây dựng hệ thống bán hàng tại VINDA - 1 doc - Pdf 21

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

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
III. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ ORACLE 8 SERVER.
 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

 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. 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

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
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ở

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

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
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ể 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

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ở 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

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 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.
 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.

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.
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 và 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.

 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ình 1: Các
đ
ặc tr
ưng b
ảo mật của Oracle

Đặc quyền thực hiện ứng dụng
ACCTS_PAY
Đặc quyền thực hiện
ứng dụng ACCTS_REC
Đặc quyền
ứng dụng

User

PAY_CLERK Role
MANAGER
Role

REC_CLERK Role
Role
User


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status