Tải bản đầy đủ (.doc) (89 trang)

tìm hiểu oracle i và bài toán quản lý sách

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

Tìm hiểu Oracle9i và bài toán quản lý sách
MỤC LỤC
LỜI GIỚI THIỆU 3
PHẦN I: TÌM HIỂU VỀ ORACLE 5
1.1. Giới thiệu về Oracle 5
1.1.1. Lịch sử phá triển của Oracle5 5
1.1.2. Cài đặt và tạo database trên windows6 6
1.1.3. Cài đặt bộ Oracle9i Developer Suite 12
1.1.4. Khái quát về Oracle Net1 13
1.1.5. Oracle Net1 14
1.1.6. Cấu hình Server Side cho phép kết nối16 16
1.1.7. Cấu hình Client Side để kết nối21 21
1.1.8. Bảo mật database trong việc phát triển ứng dông24 24
1.2. SQL*Plus, PL/SQL, Function, Procedure, Package, Trigger33 33
1.2.1. Sử dụng công cụ SQL*Plus3 33
1.2.2. SQL*Plus Worksheet35 35
1.2.3. SQL*Plus ở command mode36 36
1.2.4. Khai báo biến37 37
1.2.5. PL/SQL39 39
1.2.6. Thủ tục (Procedure)42 42
1.2.7. Hàm (Function)45 45
1.2.8. Bộ chương trình (Package)47 47
1.2.9. Bé kích cơ sở dữ liệu (Trigger)50 50
1.3. Cài đặt Oracle Designer9i Repository55 55
1.4. Kết luận59 59
PHẦN II: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 60
2.1. Một số định nghĩa và khái niệm60 60
2.1.1. Thực thể (Entity)60 60
2.1.2. Thuộc tính (Attribute)60 60
2.1.3. Phụ thuộc hàm60 60
Trang 1


Tìm hiểu Oracle9i và bài toán quản lý sách
2.1.4. Khoá dự tuyển60 60
2.1.5. Khoá chính (Primary key)6 60
2.1.6. Khoá ngoại lai (Foreign key)6 60
2.1.7. ChuÈn hoá (Nomalization)61 61
2.1.8. Quan hệ62 62
2.2. Chắt lọc và mã hoá thông tin cần dùng65 65
2.2.1. ChuÈn hoá cơ sở dữ liệu67 67
2.2.2. Thiết kế dữ liệu logic72 72
2.2.3. Xây dựng cơ sở dữ liệu 76
2.2.4. Lược đồ quan hệ80 80
2.3. Kết luận81 81
PHẦN III: THIẾT KẾ GIAO DIỆN NGƯỜI - MÁY
3.1. Mục đích của chương trình 82
3.2. Nội dung chương trình82 82
3.2.1. Thiết kế form82 82
3.2.2. Thiết kế báo cáo84 84
3.3. Kết luận86 86
PHẦN IV: KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN8 87
Tài liệu tham khảo8 88
LỜI GIỚI THIỆU
Tại sao chóng ta chọn Oracle ?
Trang 2
Tìm hiểu Oracle9i và bài toán quản lý sách
Nhiều người cho rằng Oracle chỉ sử dông cho những Doanh Nghiệp lớn nên
không thích hợp ở Việt Nam.
Điều này, theo tôi là hoàn toàn sai lầm. Oracle không chỉ nhắm tới những
Doanh Nghiệp lớn mà còn nhắm tới những Doanh Nghiệp trung bình và cho cả
những Doanh Nghiệp nhỏ. Cụ thể là Oracle Server có đủ các phiên bản thương
mại từ Personal, Standard đến Enterprise (Ngoài ra còn có Oracle lite nữa).

Về phía các Doanh Nghiệp: Oracle tá ra rất có ưu điểm nh tính bảo mật cao,
tính an toàn Dữ Liệu cao, dễ dàng bảo trì-nâng cấp, cơ chế quyền hạn rõ ràng,
ổn định,……
Oracle cũng không quá đắt nh các bạn nghĩ, nếu Doanh Nghiệp đã từng mua
lisence của MSSQLServer thì sẽ thấy giá của Oracle cũng không chênh lệch là
bao nhiêu, thậm trí còn rẻ hơn, nhưng lợi Ých có được lại rất lớn.
Về phía nhà phát triển: Oracle cũng tỏ ra rất có ưu điểm nh dễ cài đặt, dễ
triển khai và dễ nâng cấp lên phiên bản mới.
Hơn nữa Oracle còn tích hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu
trúc – Structure Language. Tạo thuận lợi cho các lập trình viên viết các Trigger,
StoreProcedure, Package. Đây là điểm rất mạnh so với các CSDL hiện có trên thị
trường.
Oracle, ngoài các kiểu dữ liệu thông thường, còn có các kiểu dữ liệu đặc biệt
khác, góp phần mang lại sức mạnh cho Oracle nh blob, clob, bfile,…
Nếu bạn chỉ chạy thử, bạn cũng không cần lo đến vấn đề lisence vì có thể
download từ trang của Oracle (technet.oracle.com).
Ngoài ra, bạn có thể triển khai Oracle trên nhiều hệ điều hành khác nhau
(Windows, Solaris, Linux,…) mà không cần phải viết lại PL/SQL code.
Có thể import mét dumpFile (backupFile) từ một máy chạy hệ điều hành này
sang một máy chạy hệ điều hành khác, hoặc từ một version thấp lên một version
cao hơn mà không gặp bất cứ trở ngại nào. (việc ngược lại cũng có thể thực hiện
được nếu như bạn không xài các tính năng mới so với version trước đó).
Trang 3
Tìm hiểu Oracle9i và bài toán quản lý sách
Mỗi người sẽ có sự lùa chọn riêng phù hợp với yêu cầu của mình, nhưng theo
tôi, bạn sẽ không bao giê phải hối hận khi đã chọn Oracle.
Vậy mục tiêu và nhiệm vụ nghiên cứu trong đồ án này là: phần chính là tìm
hiểu công nghệ Oracle9i, sau đó bằng những kiến thức đã đạt được, tôi áp dông
kiến thức Oracle vào trong bài toán quản lý sách ở một số cửa hàng sách tại Việt
Nam.

Phần I
TÌM HIỂU VỀ ORACLE
1.1. GIỚI THIỆU VỀ ORACLE
1.1.1. Lịch sử phát triển của Oracle
Trang 4
Tìm hiểu Oracle9i và bài toán quản lý sách
Vào năm 1977, Larry Ellison,Bob Miner, và Ed Oates thành lập một công
ty và đặt tên là Relational Software Incorporated (RSI). Công ty này xây dựng
một hệ quản trị CSDL gọi là Oracle
1978 phiên bản Oracle v1 đầu tiên, chạy trên hệ điều hành PDP-11 của máy
RSX (dòng của hãng DEC). Khả năng sử dụng bộ nhớ tối đa là 128kb. Viết
bằng ngôn ngữ Assemply. Oracle v1 chỉ được sử dụng trong nội bộ công ty,
không được phát hành ra bên ngoài.
1980 Phát hành phiên bản Oracle v2 - đây cũng là hệ cơ sở dữ liệu thương
mại đầu tiên sử dụng ngôn ngữ SQL. Phiên bản này vẫn được viết bằng
Assemply cho PDP-11, tuy nhiên, nó còn chạy được trên Vax/VMS.
1982 Phát hành phiên bản Oracle v3 released, Oracle trở thành DBMS đầu
tiên chạy trên máy tính mainframes, minicomputers, và PC’s (portable
codebase). Phiên bản Oracle đầu tiên thể làm việc theo “transactional”. Oracle
được viết bằng C.
1983 Relational Software INC. đổi tên thành Oracle Corporation.
1984 Phát hành Oracle v4, giới thiệu tính năng “read consistency”, có thể
chạy trên nhiều hệ điều hành, và cũng là phiên bản đầu tiên chạy theo mô hình
PC – Server.
1986 Phát hành Oracle v5. thực sự là CSDL client/server, hỗ trợ cluster trên
VAX. CSDL đầu tiên sử dụng truy vấn dữ liệu phân tán (distributed queries).
1988 Phát hành Oracle v6. Giới thiệu ngôn ngữ PL/SQL. Oracle cũng giới
thiệu sản phẩm ứng dụng sử dụng CSDL Oracle – Oracle Financial
Applications.
1989 Phát hành Oracle v6.2 với tính năng chạy song song – Oracle Parallel

Server.
1992 Phát hành Oracle v7 chạy trên UNIX.
1993 Phát hành bộ công cụ phát triển ứng dụng – Oracle’s Cooperative
Development Environment (CDE). Giới thiệu “Oracle Industries” và “Oracle
Media Server”
Trang 5
Tìm hiểu Oracle9i và bài toán quản lý sách
1994 Phát hành Oracle v7.1 và Oracle v7 trên máy PC.
1997 Phát hành Oracle8, giới thiệu Cơ Sở Dữ Liệu Hướng Đối Tượng –
object relational.
1998 Phát hành phiên bản trên Intel Linux.
1999 Phát hành Oracle8i (i= internet), tích hợp với máy ảo Java – JVM.
2000 phát hành Oracle8i Release 2.
2001 Phát hành Oracle9i Release 1 với tính năng Cluster (RAC) và
Advanced Analytic Service.
2002 Phát hành Oracle9i Release 2.
2004 Phát hành Oracle10g Release 1 (g= grid: mạng lưới).
1.1.2. Cài đặt và tạo Database trên windows
ChuÈn bị:
a. Phần cứng
-CPU: PIII 8000Mhz trở lên
-HDD: còn dư khoảng 5 Gb.
-RAM: 256 Mb.
b. Phần mềm:
- Hệ điều hành: WinNT Server sp6a/Win2k sp1 Server hoặc Pro/ Win2k3
Server/ WinXP Pro/ Win 2003.
- Oracle9i: phần Database chứa trong 3 CD
- Phần Deverloper suite9i chứa trong 2 CD
c. Cài đặt Oracle9i database
- Login vào Windows bằng Administrator hoặc một user thuộc group

Adminstrator.
Trước khi cài đặt bạn phải đặt địa chỉ ip cho máy của ban muốn cài sau
đã.
- Đưa đĩa 1 vào và chạy file Setup.exe để mở trình Oracle Universal
Installer và bắt đầu việc cài đặt cơ sở dữ liệu.
Trang 6
Tìm hiểu Oracle9i và bài toán quản lý sách
- Khi trình Oracle Universal Installer khởi động, bạn sẽ thấy một trang hỏi
bạn muốn cài đặt, gỡ bỏ hoặc xem. Chọn tuỳ chọn Install/Deinstall. Oracle
Universal Installer sẽ trình bay trang Welcome. Click nót Next.
- Trang file location được trình bày như hình sau:
- Click nót Next. Trang Availble Products xuất hiện. Bạn chọn Oracle9i
database 9.2.0.1
- Click nót next trang Installation Types xuất hiện và chọn Enterprise
edition và click nót next.
- Trang database configuration được trình bày, chọn General purpose và
click nót next.
- Trang Oracle services for Microsoft Transaction Server được trình bày,
chấp nhận cổng mặc định và click nót next.
- Trang database identification được trình bày như hình sau:
Trang 7
Tìm hiểu Oracle9i và bài toán quản lý sách
đối với mục Global database Name. Nhập tên cơ sở dữ liệu vào mục này
nhng không quá 8 ký tù. ở đây tôi đặt tên là “ittc”. Mục SID được tự động điền
nội dung giống nh phần Global database Name. click nót next
- Trang database character set được trình bày chấp nhận mặc định
- Click nót next trang summary được trình bày như hình sau:
Trang 8
Tìm hiểu Oracle9i và bài toán quản lý sách
- Click nót install việc cài đặt bắt đầu

- Trong quá trình cài đặt bạn được nhắc nhở nhập vào mật khẩu cho sys
và system như hình sau:
Trang 9
Tìm hiểu Oracle9i và bài toán quản lý sách
Đây là các id chính của Oracle. ở đây tôi chọn
sys password: sys
system password: system
- Khi việc cài đặt hoàn tất, trang End of installation được trình bày. click
nót exit để đóng trình Oracle Universal Installer. Ngay lập tức cửa sổ Oracle
Enterpise Manager trình bày. đóng cửa sổ lại hoàn tất quá trình cài đặt.
Để chắc chắn rằng Database của chúng ta đã được tạo, hãy vào Control
panelAdminstrative ToolsServices
Xem các Oracle service nh trong hình dưới, và xem trạng thái của chúng
đều started.
Trang 10
Tìm hiểu Oracle9i và bài toán quản lý sách
Connect vào Oracle Database từ SQL*Plus bằng user system, password:
system với host String: ittc
Nếu thành công sẽ nh sau:
Trang 11
Tìm hiểu Oracle9i và bài toán quản lý sách
Nh vậy chúng ta đã cài đặt và tạo được Database trên Oracle9i
1.1.3. Cài đặt bộ Oracle9i Developer Suite
Đặt đĩa thứ nhất của bộ Oracle9i Developer Suite vào máy, màn hình đầu
tiên Welcome sẽ xuất hiện. Nhấn nót Next, trang File location xuất hiện.
Ở đây tôi chọn
Trang 12
Tìm hiểu Oracle9i và bài toán quản lý sách
Destination Name: OraHome92a : khác với của database là OraHome92 để
tránh xung đột.

Destination Path: c:\oracle_tools
- Click nót next, màn hình Install Type xuất hiện. chọn mục complete
- Click nót next, trang summary thể hiện nh hình sau:
- Click nót Install để bắt đầu cài đặt.
- Trong quá trình cài đặt hộp thoại Oracle Net configuration Assistant cho
phép bạn configuration tới database sử dụng giao thức TCP/IP
- Nếu bạn configuration thành công thì màn hình End of Installation được
trình bày. đến đây bạn đã hoàn tất việc cài đặt bộ Oracle9i Developer Suite.
Click nut Exit để đóng màn hình Oracle Universal installer.
1.1.4. Khái quát về Oracle Net
Nh các bạn đã biết, chúng ta có thể cấu hình một mạng đơn giản thường
được gọi là mạng máy khách và máy chủ (Client-Server network). Mô hình
mạng này rất phổ biến đối với các ứng dụng thông thường (tức application-base
Trang 13
Tìm hiểu Oracle9i và bài toán quản lý sách
để phân biệt với ứng dụng chạy trên trình duyệt tức web-base) trong đó ứng
dụng được cài trên từng máy khách một, còn database thì cài trên máy chủ.
Kế đến chúng ta có mô hình nhiều líp (n-tier network), một mô hình rất
thích hợp cho các ứng dụng web. Trong mô hình này có Ýt nhất 2 máy chủ, một
máy chủ chạy các application server và web server và cho phép máy khách kết
nối qua internet, còn máy chủ kia chứa database. Phức tạp hơn nữa là mạng
phức hợp (complex network) tức có sự kết nối trao đổi giữa các máy chủ và cho
phép máy khách chạy trên các hệ điều hành khác nhau, sử dụng các giao thức
khác nhau kết nối trao đổi dữ liệu.
Oracle cung cấp rất đầy đủ các công cụ và phương thức để cấu hình các mô
hình mạng kể trên, tuy nhiên, không phải tất cả các sản phẩm đều được cài mặc
định trong một tuỳ chọn.
1.1.5. Oracle Net?
Là líp ứng dụng cần được cài trên cả máy khách và máy chủ chứa một
database Oracle (Oracle database server) có nhiệm vụ thiết lập và duy trỳ kết

nối, trao đổi giữa ứng dụng (Client application) và database server. Oracle Net
gồm 2 thành phần là Oracle Net foundation và Oracle protocol support.
a. Oracle Net foundation layer:
Oracle Net on the client -ứng dụng sẽ giao tiếp với Oracle Net foundation
Trang 14
Tìm hiểu Oracle9i và bài toán quản lý sách
để thiết lập và duy trỳ kết nối
-Tiếp theo các líp Oracle Net foundation sử dụng
Oracle protocol support để giao tiếp với Oracle
database server.
-Mòi tên chỉ cả hai chiều gửi yêu cầu (requests)
và nhận phản hồi (responses).
Oracle Net on the server -Líp Oracle protocol support nhận Requests từ líp
network protocol rồi gửi tiếp thông tin đó đến líp
Oracle Net foundation.
-Tiếp theo, líp Oracle Net foundation giao tiếp
với Oracle database server để xử lý yêu cầu của
client.
-Mòi tên chỉ cả hai chiều gửi responses và nhận
requests.
b. Oracle protocol support:
Oracle protocol support cã nhiệm vụ là map chức năng của líp Oracle Net
foundation với líp network protocol trong kết nối client-server.
c. Cấu hình để kết nối:
ĐÓ mét Oracle database server sẵn sàng phục vụ cần phải cấu hình và
start một tiến trình (service trên windows hay process trên các hệ điều hành
khác) phục vụ các yêu cầu kết nối từ client gọi là Oracle Net Listener (thường
được gọi vắn tắt là listener). Về phía client chóng ta cũng phải khai báo kết nối
đến máy chủ nào, tên database là gì và cổng bao nhiêu,….
d. Công cụ hỗ trợ cấu hình:

Trang 15
Tìm hiểu Oracle9i và bài toán quản lý sách
Các công cụ hỗ trợ này được cài mặc định khi các bạn cài đặt Oracle
server hoặc Oracle client. Sau khi cài được Oracle Application, các bạn sẽ tìm
thấy công cụ này trong menu: Start-> programs ->Oracle-Oracle Home92->
Configuration and Migration Tools.
-Net Configuration Assistant: Cho phép cấu hình với các thông số tối
thiểu phải có.
-Net Manager: Cho phép cấu hình đầy đủ hơn các thông số, tuy nhiên
không phải là tất cả. Một số thường được cấu hình bằng tay, bằng cách chỉnh
sửa trực tiếp vào file cấu hình, và đây là cách nhanh hơn.
1.1.6. Cấu hình Server side cho phép kết nối
a. Listener?
Listener là một tiến trình chạy trên một máy ( có thể độc lập với Oracle
server) làm nhiệm vụ nhận yêu cầu kết nối từ client thay cho một hoặc nhiều
database. Khi mét client yêu cầu kết nối listener sẽ nhận và giao lại yêu cầu đó
cho Oracle server, và khi kết nối được thiết lập, client và Oracle server sẽ giao
tiếp trực tiếp với nhau. Nôm na chóng ta có thể hiểu listener là lỗ tai của một
database.
b. Mét số đặc điểm của listener:
- Mét listener có thể lắng nghe thay cho một hoặc nhiều database, ngược
lại một database cũng có thể có nhiều listener (tuy nhiên không phải là luôn
luôn).
-Khi start nhiều listener trên một máy, các listener không thể trùng tên
hoặc lắng nghe trên cùng một cổng (port). Default port là: 1521.
Trang 16
Tìm hiểu Oracle9i và bài toán quản lý sách
- Listener có thể lắng nghe cho nhiều giao thức khác nhau (multiple
protocols).
-Tên mặc định là LISTENER

-Thông tin cấu hình của tất cả các listener được lưu trong mét file duy
nhất là “C:\oracle\ora92\network\admin\listener.ora”.
c. Khai báo và tạo một listener:
Khi kết configuration thành công, chúng ta có được một dịch vụ (service)
listener đã được startup. Tuy nhiên, các bạn để ý, nó không hỏi listener này lắng
Trang 17
Tìm hiểu Oracle9i và bài toán quản lý sách
nghe cho database nào, do vậy nó chưa thực sự chạy được. Cách khác bạn có thể
sử dụng công cụ Net Manager hoặc sửa file cấu hình bằng tay.
d. Các mục chính để cấu hình listener trong Net Manager:
-General Parameters: các thông số về log file, password,….
-Listening Location: chỉ ra listener chạy trên máy chủ nào (hostname hoặc
IP), port và giao thức.
-Database Services: chỉ ra những database được listener lắng nghe thấy.
Giá trị cho thông số này phải đúng với những giá trị của những thông số các bạn
tạo database
+global database name= db_name[.db_domain]
+sid= instance_name
Lưu ý: Net Manager chỉ tạo ra hoặc update lai file cấu hình chứ không tạo
mới service. Vì vậy, nếu là lần đầu tiên tạo listener thì phải start nó lên cái đã.
Ví dụ: đây là thông tin file cấu hình của một listener:
Trang 18
Tìm hiểu Oracle9i và bài toán quản lý sách
# LISTENER.ORA Network Configuration File:
C:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pd)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ittc)
(ORACLE_HOME = C:\oracle\ora92)
(SID_NAME = ittc)
)
)
Trang 19
Tìm hiểu Oracle9i và bài toán quản lý sách
Giải thích:
-Tên của listener là LISTENER (đây là tên mặc định)
- listener này chạy trên máy có host_name là “pd”, port là 1521 và giao
thức TCP/IP.
-Phục vô cho mét database là: ITTC có db_name là ITTC, db_name=
rỗng, instance_name=ITTC
e. Startup listener
- Auto: để startup listener một cách tự động, các bạn chỉnh tuỳ chọn

“startup type” của service là automatic. Khi đó mỗi lần khởi động máy nó sẽ tự
động startup luôn listener.
- Manua: cách khác chúng ta có thể sử dụng tiện Ých LSNRCTL để
startup listener bằng lệnh START trên môi trường giả lập dos của Windows.
f. Tiện Ých LSNRCTL:
Tiện Ých này giúp chúng ta theo dõi, kiểm tra và hiệu chỉnh các thông số
cấu hình cho listener.
Một số lệnh thường sử dụng:
-start [listener_name]: để start mét listener. Nếu không có thông số
listener_name thì lệnh này sẽ start listener có tên là LISTENER hoặc listener
hiện hành chỉ ra ở lệnh SET.
-stop [listener_name]: để stop mét listener. Nếu không có thông số
listener_name thì lệnh này sẽ stop listener có tên là listener hoặc listener hiện
hành chỉ ra ở lệnh SET.
-set current_listener listener_name: chỉ ra mét listener là hiện hành khi tên
của listener khác tên mặc dịnh hoặc có nhiều listener.
-status: kiểm tra trạng thái của listener.
-services: xem thông tin về các service (database) mà listener đang lắng
nghe.
-quit/exit: thoát khỏi tiện Ých LSNRCTL.
g. Stop listener:
Trang 20
Tìm hiểu Oracle9i và bài toán quản lý sách
Bằng cách stop service hoặc đánh lệnh stop trong tiện Ých LSNRCTL.
1.1.7 Cấu hình client side để kết nối
a. Mét số khái niệm cần biết:
- Database Service: đối với client thì database là một dịch vụ (service), nó
thực thi công việc thay cho client. ở đây dịch vụ mà database cung cấp cho
client chính là lưu trữ dữ liệu và gọi lại dữ liệu khi cần. Khi kết nối client nhận
biết database qua tên dịch vụ (service name) mặc định là bằng global database.

- Naming Methods: Khi yêu cầu kết nối với Oracle database user phải
cung cấp một chuỗi kết nối (Connect string) gồm username, passwork và tên kết
nối (connect identifier). connect identifier có thể là một chuỗi mô tả chi tiết
thông tin để kết nối với database (gọi là connect descriptor) hoặc database
service name hay một cái tên thay thế connect descriptor.
Naming method là phương pháp mà Oracle Net client sử dụng để chuyển
một connect identifier thành connect descriptor khi thực hiện kết nối với
database. Cùng lúc, client có thể chọn sử dụng nhiều naming method khác nhau.
Oracle Net cung cấp các naming method sau:
-Local Naming: xác định địa chỉ mạng bằng cách sử dụng thông tin cấu
hình (service names và các connect descriptors) lưu trong mét file tại mỗi client
tên là “tnsnames.ora”.
-Directory Naming: lưu trữ các connect identifier tập trung trong mét
LDAP – compliant directory server dùng để truy cập đến database service.
-Oracle Names: sử dụng chính database Oracle để lưu tên và địa chỉ của
các database. Client muốn kết nối với database phải kết nối đến Oracle Names
server, sau đó tuỳ theo tên mà client cung cấp, Oracle Names server sẽ trả lại
thông tin địa chỉ mạng của database server cho client.
-Host Naming: cho phép Client sử dụng bí danh (host name alias) để kết
nối với Oracle database server. Tên máy (host name) ánh xạ đến service_names
của database server trog Domain Name System (DNS), Network Information
Trang 21
Tìm hiểu Oracle9i và bài toán quản lý sách
Service (NIS), hoặc trong file hosts ở thư mục /etc đối với hệ điều hành Linux,
Unix hay %winsy%/drivers/ect với Windows.
-External Naming: sử dụng dịch vụ tên miền của hãng thứ ba (third –
party naming service).
- Connect string:
username/password@connect_identifier
connect_identifier ở đây thường là một tên thay thế theo các naming

method nói ở trên.
- Chỉ ra các naming methoad: Click chọn Net Configuratioin Assistant
Khi configuration thành công thì thông tin sẽ được lưu trong file
“C:\oracle\ora92\network\admin\sqlnet.ora” cho thấy có hai naming method
được chọn là local naming và host naming.
# SQLNET.ORA Network Configuration File:
C:\oracle\ora92\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES,
HOSTNAME)
b. Cấu hình HOSTNAME
Yêu cầu để cấu hình kết nối theo phương thức host naming rất đơn giản.
Trước tiên các bạn chọn naming method này, tức tạo file sqlnet.ora với nội dung
“NAMES.DIRECTORY_PATH=(HOSTNAME)”. Tiếp theo, các bạn thêm
thông tin sau vào file host: IP, hostname, service_names (giá trị của thông số
global_dbname trong cấu hình listener). Mỗi giá trị cách nhau khoảng trắng
hoặc tab. Tóm lại theo phương thức này phía client sẽ cấu hình trong hai file là
qlsnet.ora và host.
Trang 22
Tìm hiểu Oracle9i và bài toán quản lý sách
Điều kiện bắt buộc đối với host naming:
- Client phải cài phần mềm Oracle Net Services Client
- Client và Server kết nối qua giao thức TCP/IP
c. Cấu hình TNSNAME
Hay còn gọi là local name. Phương thức này đòi hỏi service name được
lưu trong file tnsnames.ora tại client. Nh vậy, client sẽ cấu hình file sqlnet.ora
chọn sử dụng phương thức local naming và tạo file tnsnames.ora. Các bạn có thể
sử dụng công cụ Oracle Net Configuration Assistant. Đây là công cụ cho phép
bạn chọn cục bộ, máy chủ tên hoặc các tuỳ chọn quản lý thư mục để cấu hình

kết nối Client. Công cụ này hầu hết được dùng để cấu hình các thành phần mạng
trong quá trình cài đặt. Nó rất dễ dàng cho phép bạn kết nối cấu hình kết nối
Client dưới bất kỳ phương pháp đặt tên nào. Bạn có thể chạy công cụ này từ:
Start >Program>ORACLE-ORACLE_HOME> Configuration and Migration
Tool> Net Configuration Assistant.
Khi configuration thành công nó sẽ tạo mới file tnsnames.ora lưu lại các
thông số khai báo hoặc sẽ lưu nối thêm vào một file có sẵn. Ví dụ bên dưới là
nội dung file tnsnames.ora với net service name là ITTC.
# TNSNAMES.ORA Network Configuration File:
c:\oracle_tools\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ITTC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.98)(PORT =
1521))
)
Trang 23
Tìm hiểu Oracle9i và bài toán quản lý sách
(CONNECT_DATA =
(SERVICE_NAME = ittc)
)
)
Để kết nối đến database service ITTC bạn sẽ khai báo connect string là
username/password@ittc.
1.1.8.Bảo mật database trong việc phát triển ứng dụng
Bảo mật là một trong những vấn đề mà bất kỳ người sử dụng database đều
quan tâm, vấn đề bảo mật trong database là một trong những ưu tiên hàng đầu
của những người phát triển ứng dông, nhng đa số các chương trình ứng dụng
hiện nay lại Ýt quan tâm đến vấn đề này.

a. Cân nhắc việc sử dụng bảo mật cho ứng dụng
khi phát triển một ứng dụng, lúc nào người phát triển ứng dụng cũng luôn
quan tâm đến vấn đề bảo mật hệ thống, để làm một hệ thống bảo mật thì yêu cầu
tối thiểu là quản lý các user và các quyền hạn trên chức năng, cũng như các đối
tượng trên ứng dụng. Hiện nay đa số mọi người phát triển ứng dụng chủ yếu
quản lý user theo 2 cách sau:
- Dùng Database User làm user cho ứng dụng
- Dùng Application User làm user cho ứng dụng
Trang 24
Tìm hiểu Oracle9i và bài toán quản lý sách
Hiệ tại thì đa số chọn phương án thứ 2, khi sử dụng phương án này người
phát triển phải làm thêm một chương trình để quản lý thông tin về User, cũng
như quyền hạn trên đó, về mặt kết nối database thì dùng một user để kết nối và
user này thường có quyền rất cao trong database (nhiều người cho luôn nó là
user quản trị hệ thống để khỏi phải mất công phân quyền), Oracle gọi đó là mô
hình “One Big Application User”.
Đối với mô hình “One Big Application User” có một số giới hạn, ví dụ
như một nguyên tắc căn bản của bảo mật là ghi nhận lại thông tin về việc thay
đổi dữ liệu trong database (auditing). Nếu sử dụng trong mô hình “One Big
Application User”, thì việc auditing không thể xác định được chính xác là user
nào đã thao tác trên dữ liệu đã thay đổi đó. ứng dụng phải thực hiện một cơ chế
auditing riêng, bắt lại các sự kiện thao tác của user. Mô hình “One Big
Application User” bạn không thể tận dụng được cơ chế bảo mật của Oracle
Security, bạn phải xây dựng mọi thứ trong khi Oracle đã làm cho bạn đầy đủ.
Vậy lùa chọn mô hình nào là thích hợp (Database User hay Application
User)?. Những ứng dụng mà user cũng là user trong cơ sở dữ liệu cũng là user
ứng dụng có thể tận dụng được nhiều cơ chế mà cơ sở dữ liệu mang lại nh quyền
hạn trên các đối tượng, hay việc chia nhỏ quyền hạn theo từng hàng (row) hay
cột (column) trong table, ngoài ra còn có thể sử dụng role và các quyền hạn trên
store procedure cũng như sử dụng auditing do database cung cấp. Oracle khuyên

bạn nên sử dụng user trong database làm user cho ứng dụng, khi đó ứng dụng có
thể lợi dụng những cơ chế bảo mật và quyền hạn của database cung cấp. Khi sử
dụng mô hình này thì user không thể dùng bất cứ hình thức nào truy cập vào
database mà không được kiểm soát quyền.
Khi ứng dụng sử dụng mô hình “One Big Application User” thì ứng dụng
đó phải có riêng chức năng quản lý quyền hạn trên từng user và nó còn phải đảm
nhận luôn việc kiểm tra việc truy cập dữ liệu từ user mà nó quản lý. Với cách
Trang 25

×