ra
Giao trinh IV thuyét & thue hanh
ORACLE
[ LAP TRINH ]
Uúi các vi du & 101 glal
Trang 2TRAN TIEN DUNG (Chu bién)
Trang 3_6T7
Trang 4LOI NOI DAU i
LOLNOI DAU
Trong thời đại thông tìn 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, chắc chắn, đồng thời lại truy cập
chính xác và đễ dàng chú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 dang
Các nhà tin học đã đưa ra vô số lời giải đáp cho bài toán trên
Các giải pháp ngày cảng hoàn chỉnh cùng với sự hoàn thiện của lý thuyết và công nghệ Hệ quản trị cơ sở dữ liệu (CSDL) 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 Theo số liệu thống kê của Dataquest (tháng Năm, 1999), thị phần của hệ quản trị CSDL Oracle trên nên UNTX là 61.1% so
với phần mềm thứ hai là IBM DB2 chỉ có 7.4%, còn trên nên Windows
la 47.3% so với MS SQL Server là 30.5%
Trong tình hình phát triển của nước ta, đữ liệu thông tin đã đến
lúc, nếu không nói là khá muộn, phải được hệ thống lại, lưu trữ và xử lý
trong một tổng thể toàn vẹn Và bài toán trên đối với ngành tin học non
trẻ của Việt Nam là chọn lấy một trong những hệ thống quan tri CSDL sẵn có trên thị trường hay xây dựng lấy một hệ thống dùng riêng
Cả hai phương án déu kha thi
Trong trường hợp này, bộ giáo trình về hệ quản trị CSDL Oracle
mà chúng tôi giới thiệu ở đây có thể được xem như một tài liệu học tập
để tham khảo cái hay của người, đổng thời để áp dụng ngay được vào
việc giải bà: toán đã đặt ra
Bộ giáo trình về hệ quản trị CSDL Oracle gồm hai tập:
«Ẳ Tap 1; được biên soạn dành cho các nhà lập trình ứng
dụng Bạn cần có một kiến thức cơ bản về việc lập trình
ứng dụng trên một ngôn ngữ lập trình nào đó
« Tập 3: dành cho các nhà quản trị hệ CSDL Bạn cần có ,kiến thức và kinh nghiệm ở mức độ cơ bản trong việc quản
trị hệ thống tin học
Tập 1 của bộ giáo trình được biên soạn trước dựa trên ý nghĩ rằng
Trang 5LOL NOI DAU ii
đạt và quan trị vừa du để Bạn có thể tự cài dat cho minh một hệ CSDI,
Oracle lắm nên cho việc xây dựng và phát triển ứng dụng của mình
Noi dung tap 1 cua bộ giáo trình về hệ quản tri CSDL Oracle cé
thể chia ra thành các phần chính như sau:
Thần I Tổng quan:
Chúng tôi giới thiệu téng quát về cấu trúc hệ thống của hệ quần
trị CSDIL, Oracle (hệ Oracle), vẻ các đối tượng dữ liệu cơ bản của hệ Oracle Có thể xem phần này như là một từ vựng định nghĩa
các thuật ngữ cơ bàn mà ta sẽ gặp khi làm việc với hệ Oracle Ở
day do chủ trương rằng dù bộ giáo trình có hoàn chỉnh ải nữa, Ban
vẫn rất cần làm quen các thuật ngữ bằng nguyên ngữ (Anh văn) để có thế xem thêm các tài liệu khác như tạp chí, sách ngoại văn,
nên chúng tôi cế gắng giữ lại các từ gốc trong chừng mực có thể,
chí tạm dịch ra Việt ngữ các thuật ngữ đơn giản Mặt khác hiện nay trên thị trường sách bdo tin hoe, các địch giả chưa thống nhất
được thuật ngữ tiếng Việt (ví dụ: thread đã được địch thành
tuyển đoạn, đơn tuyến, phân tuyến, tiểu trình và mọi người đều
có lý(H)), Nên theo chúng tôi, dùng từ gốc ở đây nhằm làm giảm
bớt sự phân tâm của Bạn là hợp lý hơn
Phần II Các công cụ của Oracle
Chúng tôi chỉ trình bày các công cụ có sẵn trong hệ Oracle mà không nói đến các công cụ chuyên dụng bán riêng của công ty Oracle Cac công cụ cơ bản này giúp Bạn tương tác trực tiếp với hệ
Oracle, cung cấp điều kiện để Bạn xây dựng và kiểm tra nhanh
chóng các kết quả mà ứng dụng cua Bạn đã tạo ra
Thân (ML Quan tri CSDL
Như đã nói ở trên, một phần công việc cơ bán của một nhà quản
trị GS1L (BA Đatabase Administrator} được nêu lên trong
phần này như một gợi ý cho Bạn, nhà lập trinh ứng dụng hiểu hơn vẻ hệ Oracle để có phương hướng trong việc nâng cao hiệu quả ứng
dụng của mình Bạn có thé sư dụng phan nay dé ty cai dat cho
minh mot hé Oraele hoan chỉnh làm môi trường thử nghiệm cho ứng dụng của mình
Phần IV, Phát triển một ứng dụng
Phần nảy cung cấp một quy trình cơ bản cho việc xây dụng một
ứng đụng dua trén nén CSDL Oracle Day chính là trọng tâm của
Trang 6LOLNOI DAU iii
Phan V Oracle nang cao
Đây cùng là trọng tâm của tấp 1 Nó cung cấp các kiến thức giúp ứng dụng Bạn tương tác với hệ Oracle một cách linh hoạt hơn
Nếu Đạn đã có kinh nghiệm lập trình với C, VB hay Delphi thi
Bạn có thể tìm thấy ở đây các gợi ý sâu về các phương hướng làm
việc với hệ Oracle
Phần VI Phụ lục
Chúng tôi đành phần tham khảo này chó Bạn, nhà lập trình ứng dụng không chuyên, Bạn có thể chỉ đọc phần tham khảo tưởng ứng
với ngôn ngữ láp trình nào mà Bạn đang dùng
Cũng như các giáo trình khác, chúng tôi đã biên soạn raột hỏi và bài tập ở cuối mỗi chương (khi có thé) Dap dn va cdc script vi dụ sẽ được lưu lại trong đĩa mềm kẽm theo bộ sách này
Chúng tôi cùng tập hợp được một số tà: liệu, thông tin, các phản mềm freeware hay shareware có liên quan trên một CD-ROM Bạn có thể tìm mua ở các nhà sách
Bạn thân,
Chúng tôi đã cố gắng biên soạn nội đung và cách trình bày tập
sách này một cách cẩn trọng Tuy nhiên, sức người có bạn, không thể nào tránh được sai sót Chúng tôi luôn mong mỏi nhận được các thông tin phản hồi từ Bạn để giáo trình ngày càng hoàn thiện hơn Mọi thư từ xin gửi về các địa chỉ sau:
Trang 7LOLNOI DAU iv
és cằm ba
Chúng tôi xin gửi đến Thầy Nguyễn Dinh Tê lòng kính trọng và biết ơn sâu sắc về những động viên quý báu
Gửi đến gia đình, đặc biệt là đến bé Phượng (Hữu Đạt), Mẹ, Huyền, Phúc và Dũng (Huyền Phúc), Mẹ và Bác sĩ (Phương Lan) những
gì yêu thương nhất
Gửi đến bè bạn: Việt Dũng, Chị Hoàng, Chị Tuyét, Khanh, Nam
lời cảm ơn chân thành về những giúp đỡ đã qua và sắp tới
Trang 8Chuong 1 HE QUAN TRI CO SG DU LIEU QUAN HE 1 CHƯƠNG 01 HE QUAN TRI CO 86 DU LIEU QUAN HE Tém tắt chương 1
Cơ sở dữ liệu quan hệ là hệ quản trị cơ sở đữ liệu
thông dụng nhất hiện nay Các cẩn dé chink trong chuong
này là:
Định nghĩa hệ quản trị cơ sở dữ liệu quan hệ Các mô hình cơ sở đữ liệu
Cúc thành phần của cơ sở dữ liệu quan hệ
KANN Truy xuất dữ liệu không dùng thú tực
1.1 HỆ QUẦN TRI CƠ SỞ DỮ LIỆU QUAN HỆ: *
1.1.1 Hệ quản trị cơ sở đữ liệu:
Một cơ sở đữ liệu (database) là một tập hợp các thông tín được tổ
chức hợp lý để có thể truy xuất nhanh khi cần sử dụng Một hệ quản trị
co sé d& liéu (DataBase Management System — DBMS) la mét céng cu
cho phép quản lý và tương tác với cơ sở dữ liệu
Sau:
Hầu hết các hệ quản trị cơ sở đữ liệu đều thực hiện các chức năng
« Lưu trữ dữ liệu
* Tao ra va duy tri cấu trúc dữ liệu
« Cho phép nhiều người dùng truy xuất đồng thời
« Hỗ trợ tính bảo mật và riêng tư
© Cho phép xem và xử lý các dữ liệu lưu trữ
«Ẳ Cho phép nhập liệu và lưu trữ dữ liệu
« Cung cấp một cơ chế chỉ mục (index) hiệu quả để truy cập
nhanh các dữ liệu lựa chọn
« Cung cấp tính nhất quán giữa các bản ghi (record) khác nhau
« Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu
(backup) va phuc héi (recovery)
Một số hệ quản trị cơ sở dữ liệu đã được phát triển để hỗ trợ những yêu cầu này Những hệ thống này có thể phân loại thành các lớp
Trang 9Chuong 1 HE QUAN TRI CO SG DU LIEU QUAN HE 2
Hé quan tri co sé di liéu phan cấp chúa đữ liệu trong một cấu trúc như cây Hệ này thiết lập một quan hệ cha-con trong dữ liệu, Ở
đỉnh của cây, còn gọi là root, có thể có một số nút bất kỳ Các nút này
lại có thể có một số nút con bất kỳ, v.v Các hệ cơ sơ dử liệu phan cấp
ngày nay đã lạc hậu Hệ lưu trử Registry của hệ Windows là một hệ
quản tri CSDL phan cấp,
Hệ quản trị cơ sở dữ liệu mạng chứa dữ liệu ở dạng các bản ghi và các liên kết Hệ thống này cho phép có nhiễu quan hệ nhiều nhiều
hơn hệ cơ sở dữ liệu phán cấp Mfột hệ quản trị cơ sở dữ liệu mạng lưu trữ có hiệu qua và rất nhanh, chơ phép quản lý các cấu trúc dữ liệu phức
tạp Tuy nhiên, chúng lại rất cứng nhắc và yêu cầu nặng nẻ vẻ thiếu kế, Một hệ thống đăng ký vé máy bay là một ví dụ của loại nay
Hệ quản trị cơ sở dữ liệu quan hệ có lẽ là một cơ sở dữ liệu có cấu trúc đơn gián nhất Trong một hệ quản trị cơ sở đữ liệu quan hé, dit liệu được tổ chức thành các bảng Các bảng lại bao gồm các ban ghi và các bản ghi chứa các trường Mỗi trường tương ứng với một mục dữ liệu
Hai hay nhiều bảng có thể liên kết nếu chúng có một hay nhiều trường
chung Hiện nay đa số hệ CSDL thuộc dạng này 1.1.2 Hệ quản trị cơ sở dữ liệu quan hệ:
Trong những năm gần đây, các hệ quản trị cơ sơ dữ liệu ~
HQTCSDL (Relational DataBase Management System — RDBMS) da tré
thành phương thức lưu trữ dữ liệu chính của các hệ thông tin, từ các ứng dụng xử lý những giao dịch thương mại lớn cho đên những ứng dụng chạy trên máy tính cá nhân Trong hầu hết các hệ thống thông tín này, HQTCSDL quan hệ là trái tím của chúng
HQGTCSDL dã trở thành công cụ để quản lý dự liệu suốt cả thập
ký, hgày cảng được phát triển mạnh và hiệu qua hon dé ¢6 thé cung ‘cap’ những chức năng lưu trử, yêu cầu và phân phối cho việc xứ lý những dữ liệu lớn và các hệ thống thông tín phức tạp
Cùng với hệ thống tập tin (file), các HQTCSDL quan hệ đã
cấp các cơ cấu có khả năng tích hợp và luân chuyển các tuông đừ liệu khổng lỗ vào các hệ thống thông tin Cuộc cách mạng cúa các HQTCSDI
lớn như Oracle8 đã thúc đẩy sự phát triển của các công nghệ nâng cao
như hệ khách/chủ (client/server), hệ xử lý phân tích trực tuyến (OLAP),
đưa HQTCSDL lên vai trò hạt nhân của các hệ thống thông tín
thung
Trang 10Chương 1 HỆ QUẦN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ
quan với nhau, Đối với một thực thể dữ liệu xác định, cấu trúc của một cơ sở dữ liệu giúp cho việc truy xuất đữ liệu liên quan đến nó trở nên dễ
dang, vi du sinh viên và các khóa học đã đăng ký, hay nhân viên và các
phòng bạn, Kế dó, một cơ sở dữ liệu quan hệ là một cơ sơ dữ liệu dựa
trên niỏ hình quan hệ (trong khí các cơ sở dữ liệu không quan hệ thường
đựa trên ede mé hình phâu cấp, mạng hay đổi tượng làm cơ sở) Cuối
cùng, TIQTCSDI, quan hệ là phản mêm quản lý cỡ sơ dữ liệu Các hệ
thống này có nhiều loại, từ các hệ thống máy để bàn fdesktop! một người sử dụng cho đến các hệ thống lớn, toàn cục, đầy đủ chức năng như Oracles, Graciedi
Chương này sé mo ta các thành phân co bau cda mot HQTCSDL
quan hệ, cơ sơ đứ liệu quan hệ và các hệ thống phản mềm quản lý nó
Trong chương cũng thảo luận về sự truy xuất đữ liệu không dùng thủ tục
¡.2 MƠ HÌNH CƠ SỞ DỮ LIÊU QUAN HẼ:
Miếu hết các TIIQTCSDIL sử dụng bởi các ứng dụng thương mại
ngày nay đều dựa trên một trong ba mô hình cơ bạn: mô hình phân cấp, mô hình mạng hay mô hình quan hệ Các mục sau sẽ mô tả tính tương
đồng và đị biệt của các mê hình
1.2,1 Các cơ sở dữ liệu phẳng (flat-file):
Dụng cơ sở đữ liệu đơn giản nhất gồm một báng với các bản ghi có
du cột để chứa trú cá các dự liệu cần thiết Thuật ngữ flat-file bat nguén
từ sự kiện là eơ sử đứ liệu có hai chiều — sô trường Uield) cua baug xd định chiều rộng của cơ sở dữ liệu, và số lượng các bản ghi của bảng xác ho, Do không có
định chiều ie bảng liên quan trong cơ sơ dữ liệu nén
khái niệm chiều được sở dữ liệu phẳng sở dữ liệu - rức kích thước thứ ba - không áp dụng Bất kỳ cơ sở dữ liệu nào chứa chỉ một bang được gọi là cơ e địa chỉ, Wiadows duy Cardfile gian Các đả
bang tính cũng là các cơ sở dữ liệu pháng Ví dụ, một cơ sở dữ liệu địa © eo so di lieu phẳng thích bợp với các danh bạ điện thoại và
¡ì một ví dụ của cơ sở dữ liệu phăng don “ ô, thường được gọi là “cơ sở dữ liệu” cua các ứng dụn
chi có các trường là tên, dia chi
được ác Lác vụ nhúng (merge) cua Microsoft Word cang
tạo nên các cơ sơ đữ liệu phẳng
à số diện thoại Các tập tin dữ liệu 7 dụng trong
Ta sẽ gập trở ngại với các cơ sở dử liệu phẳng khi cố gắng mở rộng cơ sơ đứ liệu địa chỉ, ví dụ như để thêm cúc dịch vụ buôn bán Nếu
mệt công ty có nhiều dịch vụ buôn bán, chỉ có hai cá
ch để thêm dữ liệu
Trang 11Chuong 1 HE QUAN TRI CG SG DU LIEU QUAN HE 4 * Thém một bản ghi với dữ liệu trùng với dữ liệu trong tất cả các
trường ngoại trừ trường tên dịch vụ và trường số điện thoại
giao dịch
trường mới để có thể có hơn một dịch vụ và số điện thoại giao dịch trên miệt bản ghi Trong trường hợp này, ta
phải thêm đủ các cặp trường dịch vụ để chứa đủ số dịch vụ tối
đa ước lượng cho một công ty Các trường thêm vào này gọi là các nhóm lặp lại (=epedting groups)
® Thêm các
Cá hai giải pháp trên đều không hấp dân vì chúng không hiệu quả và tiêu tốn một lượng không gian đĩa đáng kể Phương pháp thêm các ban ghi gay ra sự trùng lắp dừ liệu; phương pháp thêm các trường mới khiến trong nhiều bản ghi, các dịch vụ và số điện thoại giao dịch không
có giá trị (thuật ngữ cơ sở đữ liệu gọi là null) Thêm các trường mới cũng
gây khó khăn khi cần in báo cáo vì việc định dang (format) cdc bdo cdo có các nhóm lặp lại rất phức tạp
Nhiều máy tính lớn trước đây chỉ dùng những cấu trúc cơ sở dữ
liệu phẳng, chấp nhận sự khiếm khuyết của chúng Tất cả các ứng dụng bảng tính đều sử dụng các vùng ô "cơ sở dữ liệu” mà ta có thể sắp thứ tự theo nhiều phương pháp khác nhau Một trong những vấn để đặc biệt
đối với các CSDL bảng tính là mô hình dữ liệu bảng tính thường dẫn
đến sự không nhất quán giữa các giá trị thuộc tính và các nhóm lặp lại,
điển hình là các dữ liệu chuỗï thời gian
1.2.2 Mô hình phân cấp và mô hình mạng:
Sự bất lực của mô hình CSDL phẳng trong việc xử lý hiệu quả dữ
liệu có các nhóm lặp lại đã dẫn đến sự phát triển của nhiễu cấu trúc
CSDL khác nhau (hay còn gọi là các mô hình) cho các máy tính lớn
Mô hình đầu tiên được chuẩn hóa và chấp nhận rộng rãi cho các CSDL may lớn là mô hình mạng (network model) được phát triển bởi
hiệp hội các ngôn ngữ hệ thống dữ liệu (Committee for Data System Languages - CODASYL) Hiệp hội này cũng đồng thời phát triển ngôn
ngữ hướng kinh doanh chung (Common Business-Oriented Language -
COBOL) để viết các ứng dụng xử lý dữ liệu trong CSDL mạng Mặc dầu
mô hình CSDL CODASYL có một số mặt hạn chế, hiện nay một số lớn các máy chi (mainframe) van st’ dung CSDL nay
CSDL CODASYVL, thay thế thuật ngữ kiểu bán ghỉ (record fype) cho bang (table), nhưng đặc trưng của một kiểu bản ghỉ CODASYL về cơ bản
Trang 12Chương 1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ 5
CODASVL chứa các con trỏ (pointer) đến các bản ghi của các kiểu bản ghỉ khác Một con trỏ là một giá trị chỉ định vị trí của một ban ghi
trong miột tập fin hay trong bộ nhớ Ví dụ, một bản ghí khách hang chứa một con trỏ đến một hóa đơn của khách hàng, vv Thuật ngữ
chung được sử dụng để mô tả các kiểu bản ghi dựa trên con trỏ là danh
sách liên kết tlinked list) Các con trỏ liên kết các bản ghi thành một
cấu trúc có tổ chức gọi là mạng CSDL mạng cho một hiệu năng rất cao
khi tìm một tập các bản ghí liên quan đến một đối tượng đặc biệt, bởi vì
các quan hệ giữa các bản ghí (tức các con trỏ) là phần cố định của CSDL Tuy nhiên, tốc độ CSDI, mạng giảm khi ta muốn xem các bản ghi thỏa
một điều kiện đặc biệt, chẳng hạn như các khách hàng ở California mua
hon $5000 san pham "A" trong thang 8 năm 1993
Van dé dat ra voi ede CSDL CODASYL la cde ứng dụng (chủ yếu là các
chương trình COBOL) cần cập nhật các gid tri dữ liệu uà các con trỏ của các bán ghi khi thêm, xóa hay sửa chữa cúc bản gùỉ Nhụ cầu cập nhật Hiên tiếp cả đữ liệu lẫn con trỏ khiến uiệc xử lý các chuyển tác CSDL CODASYL thật nang né va phic tap
IBM da phát triển mô hình phân cấp cho tuyến san pham CSDL máy chủ (mainframe) IMS, sử dụng ngôn ngữ D1⁄1 Mô hình phân cấp xử lý vấn để các nhóm lặp lại bằng cách sử dụng một cấu trúc dữ liệu giống một cây lật ngược: đữ liệu trong các bản ghỉ chính cấu thành các
nhánh và dữ liệu trong các nhóm lặp lại là các lá Ưu điểm của mô hình phân cấp là các phương pháp yêu câu để tìm các bản ghi liên quan don
giản hơn mô hình mạng Cùng như mô hình CODASYL, hiện nay cũng còn một số lớn các CSIL phân cấp chạy trén cdc may chu (mainframe)
1.2.3 Định nghĩa mô hình quan hệ:
Mô hình quan hệ là một mô hình mà trong đó:
« Các mẫu dữ liệu cơ sở là các quan hệ
© Các tác vụ trên các bảng chỉ tạo ra các quan hệ
Quan hệ là một khái niệm tốn học mơ tả các nguyên tố của hai tập hợp liên quan hay tương ứng với nhau như thế nào Như vậy, mô hình quan hệ được xây dựng trên cơ sở toán học Trong mô hình quan hệ, một quan hệ là một bảng với một số tính chất đặc b Một mô hình quan hệ tổ chức dữ liệu thành các bảng (table) Các khách hàng, người quản trị hệ thống hay người sử dụng đều thấy dữ liệu ở một dạng như nhau, đó là các bảng Như vây, các bảng là ngôn ngữ chung của mo
Trang 13Chương 1 HỆ QUAN TRICO SG DU LIEU QUAN HE 6
1 „4 Các thành phần của mô hình quan hệ:
Cac CSUL quan hệ dựa trên các giá trị thuộc tỉnh thực sự ngược với các con trọ nội liên kết cáe bản ghi như các mô hình khác Thay vi
sư dụng một con trỏ nội từ bản ghỉ người bán đến các bạn ghi don dat hàng, ta sẽ liên kết bản ghỉ đơn đặt hàng với bản ghỉ người bán bằng cách sử dụng một thuộc tính chung có trong mỗi ban ghi như mã người
bán
ác dầu các khái niệm lý thuyết trừu tượng cua mô hình quan hệ hơi phức tạp ra cần lam quen với một số khái niem và thuật ngữ cơ
bản
Mô hình quan hệ có ba thành phần cơ bản: cấu trúc dữ liệu quan
hệ, cá ng buộc khống chế cơ cấu của cấu trúc đữ liệu và các tác vụ được thực hiện trên cấu trúc đứ liệu
1.2.4.1, Các cấu trúc quan hệ dữ liệu
Như đã nói ở phần định nghĩa, mô hình quan hệ cung cấp một cấu trúc đơn, “logic” gọi là một quan hệ Đó là một cấu trúc dữ liệu bai chiều
thường được gọi là một bảng trong CSDL “vật lý”
Một bảng quan hệ là một tập hợp các thuộc tính được đặt tên, hay
: cột ícolumn), và một tập các hàng tow/tuple) Một cột còn được gọi là một trường (feldl, và một hàng còn gọi là một ban ghi (record) Giao
của một hàng và một cột thương gọi là một 6 (cell)
Các thuộc tĩnh đặc trưng cho các nguyên tố dữ liệu đơn tạo thành
một quan hệ, Ví dụ quan hệ khách bàng có thể chứa các thuộc tính về
một khách hàng như mã khách hàng, tên khách hàng, số điện thoại,
vùng, v.v
Chú ý: Trong các (ái liệu cê QấDL quan hộ, ta có thể thấy một quan hệ
dược hiểu thị nhà Relationdthude_ tùnh 1, thuộc dính 2, 2 tới tên của thuốc tinh được theo sau bằng danh sách các thuộc tính trong ngoặc
don Vi du: Customer (Customer_ID, Customer_Name, Region, oo)
Các giá trị đử liệu thực sự cúa các thuộc tính của một quan hệ
được chứa trong các hàng hay bảng Không nhất thiết một quan hệ phải có các hàng mới là một quan hệ, thậm chí nếu một quan hệ không có đữ
liệu tồn tại nó vẫn giữ một Lập các thuộc tính Hình 1.1 minh họa các
Trang 14Chương | HE QUAN TRI CO SG DU LIEU QUAN HE 7
Hình 1.1 Cac thành phần cơ bản của một quan hệ
Quan hệ (Bằng)
— Cae bang chute sac
Giao eda mp! hang va mot cot la mot 6 chita ingt gia tei trí cự liệu thực sự Một bảng quan hệ trong mô hình quan hệ cần có thỏa các tính chất sau
«Dữ liệu chứa trong các ö cần phải là nguyên tố, Mỗi 6 chi có thể chứa mệt máu đử liệu Đó chính là
un
iếu tổ cơ bản của thông
e Dw héu trong mét cột nào đó phải có cùng kiểu đữ liệu
© Méi hang 1A duy nhất (không có các hàng trùng nhau!
«Các cột khơng có thứ tự
«— Các hàng không có thử tự
© Các cột có một tên duy nhất
1.2.42, Các khóa chính và tính toàn vẹn tham chiếu:
Mô hình quan hệ yeu cầu hai nguyên tắc toàn vẹn cơ bản Đó là
nguyên tắc toàn vẹn thực thể (entity integrity rule) va nguyên tắc toàn ven tham chiếu (referential integrity rule), Dé hiéu hai nguyén tac nay,
Trang 15Chương 1 HE QUAN TRI CO SỞ ĐỮ LIỆU QUAN HỆ 8
« Một khóa chính (primary key) là một cột hay một tập hợp cột có giá trị duy nhất cho mỗi hàng dùng để chỉ định các hàng
* Một khóa chính tạo thành từ nhiều cột được gọi là khóa kết
hop (concatenated key}, khéa kép (compound key) hay khéa
phức (composite key)
Các thuộc tính được nhóm với các thuộc tính khác dựa vào sự phụ thuộc của chúng trên một giá trị khóa chính Một bảng chỉ có một khóa chính, và theo nguyên tắc toàn vẹn thực thể, mọi bảng đều cé một khóa chính và không thể réng (null) Theo ky hiéu qui ước đôi với các
quan hệ (xem phần chú ý!, một thuộc tính được gạch dưới chỉ định rằng nó là khóa chính cúa quan hệ Nếu một khóa chính gồm nhiêu thuộc tính, mỗi thuộc tính đều được gạch dưới
Hình 1.3 Các khóa ngoại lai tham chiếu đến khóa chính trọng cùng bảng và khác bảng
Quan hệ DEPT
_DEPTNO | DNAME_ Loc Mỗi giá trị của DEPTNO
Trang 16Chuong } HE QUAN TRI CG Sd DU LIEU QUAN HE 9
Trong một quan hệ cùng có thể có thêm các thuộc tính có các giá
trị mà ta định nghĩa duy nhất (unique) đổi với quan hệ Chúng thường
được gọi là khóa dự tuyển (candidate key) hay khóa thay thế (alternate
key) Không như các khóa chính, các khóa duy nhất có thể chứa giá trị rổng Trong thực tế, các khóa duy nhất dùng để ngăn ngừa sự trùng lắp
trong bảng hơn là để chỉ định hàng, Chúng ta hãy xét một quan hệ chứa
thuộc tỉnh số CMND Trong một bảng thuộc tính này có thể rồng vì
không phải ai cũng có CMND; tuy nhiên nếu một hàng chứa một giá trị số CMND khác rồng, giá trị nà
hơn, trong bảng chỉ có duy nhất một hàng chứa nó)
y là duy nhất đối với quan hệ (nói rõ
Một khóa ngoại lai (foreign key) trong một bảng là một cột hay
tập hợp cột mà tổn tại trong một bảng khác nó lại là khóa chính Một khóa ngoại lai trong bảng này được gọi là tham chiếu đến một khóa
chính trong một bảng kia Nguyên tắc toàn vẹn tham chiếu nói rằng
một khóa ngoại lai hoặc là rồng hoặc là phải bằng (match? một giá trị đang tên tại của khóa chính trong một quan hệ khác
Liên kết giữa một quan hệ với một quan hệ khác có được thông
qua một thuộc tính chung của hai quan hệ Các thuộc tính chung thường
là khóa chính của một bằng này và khóa ngoại lai (foreign key) của một bảng kia Các khóa ngoại lai cũng có thể tham chiếu đến khóa chính
trong cùng một quan hệ Hình 1.2 minh họa hai mối quan hệ khóa ngoại
lại
Cha ý- Nhiễu công cụ thiết tế CSDL sử dụng gạch dưới để ký hiệu các
khóa chính trong các giản đỏ va bdo cáo Tùy theo công cụ, ta cũng có
thể thấy các từ (PK) tờ (FK) bế các thuộc tính để chỉ khóa chính va
khóa ngoạt lại
Thiết kế CSDL dựa vào các nguyên tắc chuẩn hóa đữ liệu để xác
định các thuộc tính nào thuộc các quan hệ nào Có năm mức (dạng) chuẩn hóa mà có thể áp đặt cho một mô hình dữ liệu Trong năm dạng
này, đa số các CSDL được thiết kế thỏa mãn ít nhất đến đạng chuẩn thứ
ba Dạng chuẩn này dùng để loại trừ sự dư thừa trong mô hình dữ liệu,
yêu cầu mỗi nguyên tố đử liệu xuất hiện chỉ một lần trong mô hình đữ
liệu và phụ thuộc một và chỉ một khóa chính Việc sử dựng một mô hình
đỡ liệu đã chuẩn hóa loại trừ những đữ liệu mỏ côi xuất hiện trong quá
trình thêm, sửa, xóa xuất phát từ những quan hệ định nghĩa không
chính xác
Chúng ta sẽ quay trở lại các dạng chuẩn hóa đữ liệu ở chương
Trang 17Chương 1 HE QUAN TRI CO SỞ DỮ LIỆU QUAN HE 10
1.2.4.3 Dai sé quan hé:
Mô hình quan hệ định nghĩa các toán tử được phép thực biên trên
một quan hệ hay một phóám các quan hệ Có hai loại toàn rử kếp và đơn,
kết quả của chúng là một quan hệ khác Những toán tư này khá trực
quan và rất giống các phép toán tập hợp Báng 1.1 mơ tá bảy tốn tử dùng để xử lý các cấu trúc quan hệ Các kiểu toán rử kếp chì định rằng toám tự sự đựng hai quan hệ làm toán hạng: các toán tử đơn yêu cầu mội quan hệ làm tedn hang
Bang ii Cae toan tu của mộ hình quan hệ Quan hệ tạo ra Union | Kép Số hàng từ hai quan hệ được kết hợp, các ' “hàng trừng bị loại bo | Diferenee Kép có trong bảng thứ nhất mà không có g thứ ha
¡ ProjeeHon — + Đơn ng chứa một số
Selection „Đơn —— Eo hàng từ quan hệ nguồn thỏa mãn một điêu ị
Kết hợp mọi hàng trong một bảng với mọi
hàng trong một bảng k
áp Ket hyp cde bàng trong mộc quan hệ và các
bằng liên quan troug một quan hệ khác CRSECTION củ DIFFERENC E cần có số thuốc tính bằng nhau cà cùng kiêu dự liệu từng đôi một 1.3 MƯỜI HAI NGUYÊN TẮC CỦA CƠ SỞ DỮ LIÊU QUAN HE 2 Cac quan hệ nguồn trong cic todn tii UNION, INT
Mét HQTCSDL quan bộ là một hệ CSDL được xảy dựng theo mô bình quan hệ ở trêu, Thee Codd mot CSOL duce goi Ia quan hé khi nó
tuân theo các nguyên tắc sau, được gọi là 12 nguyên tác của Codd
Trang 18Chương 1 HE QUAN TRI CO S6 DU LIEU QUAN HE 11
1 Nguyên tắc thông tin Mỗi thông tin chứa trong một ô phải là một thông tin nguyên tố
2 Nguyên tác đảm bảo truy xuất Mỗi mục đữ liệu cần phải truy xuất theo sự kết hợp tên bảng + khóa chính của hàng + tên cột, 3 Các giá trị rồng (NULL) can phải sử dụng một cách chính xác Khong thể dùng rỗng như 0 trong trường hợp các giá trị số hay khoảng trông (blank) trong trường hợp giá trị ký tự Rồng chỉ
đơn giản là không có giá trị Nếu cẩn có những giá trị trong trường hợp không có dữ liệu, người ta thường dùng những giá trị mặc định
4 Một tự điển dữ liệu (Data Dictionary) cần phải lưu trữ như là các bảng quan hệ và được truy xuất thông qua ngôn ngữ truy xuất đữ liệu chính qui Nếu bất kỳ phần nào của tự điến đữ liệu được lưu trừ trong các tập tin khác của hệ điểu hành, nguyên
tác này bị xâm phạm
5, Ngôn ngữ truy xuất đữ liệu cần phải cung cấp tất cả các phương thức để truy xuất và là cách duy nhất để truy xuất dữ liệu Nếu
một tập tin dữ liệu hỗ trợ cho một bảng có thể truy xuất bởi các tiện ích khác giao tiếp SQI,, nguyên tắc này bị xâm phạm
6 Tất cả các view có thể cập nhật cần phải có khả năng cập
nhật
7 Cần phái có cách chèu, sửa và xóa ở mức tập hợp
8 Bự độc lập vật lý của dữ liệu Một ứng dụng không thể phụ thuộc sự tái cấu trúc vật lý, Nếu một tập tia dữ liệu hỗ
rợ cho
một bảng bị di chuyển từ đĩa này sang đĩa khác hay đổi tên thì
chúng không hề có tác động trên ứng dụng
9 Sự độc lập logic của dữ liệu Một ứng dụng không thể phụ thuộc sự tái cấu trúc logic Nếu một bảng đơn được tách làm đôi thì
nên cung cấp một view nối hai bảng với nhau để chúng không
ánh hưởng đến ứng dụng
10 Tính độc lập toàn vẹn Các nguyên tắc toàn vẹn nên lưu trữ trong tự điển dữ liệu Các ràng buộc khóa chính, ràng buộc
khóa ngoại lai, các rằng buộc kiểm tra, các trigger, cần lưu trữ trong tự điển dữ liệu
11 Tính độc lập phân tán Một CSDL phải có thể tiếp tục làm
Trang 19Chương 1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ 12
8 Ngoài việc có thể phân tán trên một hệ thống đơn (cục bộ), nó cũng có thể được phân bố trên mạng các hệ thống quản lý
từ xa
12 Tình không có ban phụ Nếu cho phép truy xuất mức thấp, nó
không được bỏ qua tính báo mật và tính toàn vẹn mà cần phải tuân theo ngôn ngữ truy xuất đữ liệu chính qui Một tiện ích
nạp hay sao lưu không được bỏ tính xác nhận fauthentieation),
các ràng buộc và khóa (ock) Tuy nhiên, các nhà cung cấp lại
thường bó qua những khả năng này do yêu cầu về tốc độ Như
vậy, nhiệm vụ của người giám sát CSDL (DBA) là đảm bảo tính
toàn vẹn và tính bảo mật
14 CÁC THÀNH PHẦN CỦA CƠ S86 DU LIEU QUAN HE:
Hai phần quan trọng của một hệ CSDL quan hệ là phần hạt nhân,
chính là phần mềm và tự điển đữ liệu - bao gồm các cấu trúc dữ liệu
mức hệ thống được phản mềm sử dụng dé quan ly CSDL 1.4.1 Phần hạt nhân của hệ cơ sở dữ liệu quan hệ:
Trang 20Chương 1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ 13
toàn dữ liệu Như một hệ điều hành, Oracle8 quản lý và điều khiến sự truy xuất các tài nguyên của người dùng đữ liệu Các hệ thống phụ của
môt hệ CSDL quan hệ rất giống những hệ thống phụ của một hệ điều hành chủ và tích hợp chặt chẽ với các dịch vụ của hệ chủ để truy xuất
mức độ thấp các tài nguyên như bộ nhớ, CPU, các thiết bị và cấu trúc
tập tin Một hệ CSDL quan hệ như Oracle8 duy trì một tập người dùng
cố ủy quyền và các đặc quyển kết hợp; quản lý các bộ nhớ đệm (cache) và các trang bộ nhớ; điều khiển việc khóa các tài nguyên đang sử dụng, phân phát và định thời các yêu cầu người dùng và quản lý sự sử dụng không gian bên trong các cấu trúc tablespace Hình 1.3 minh họa các hệ thống con chính của phần hạt nhân Oraele8 dùng quan lý dữ liệu
L.4.2 Tự điển dữ liệu:
Sự khác nhau cơ bản giữa một hệ C8DI, quan hệ và các hệ thống tập tin và CSDL khác là cách truy xuất đữ liệu Một HQTCSDI, quan hệ cho phép ta tham chiếu dữ liệu vát lý một cách logic và trừu tượng hơn,
Hình 1.4 Sự truy xuất dữ liêu của ứng dụng qua lõi và tự điển dữ
Trang 21Chương 1 HỆ QUẦN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ 14
cung cấp sự đễ dàng và linh động khi phát triển mã ứng dụng Các
chương trình sử dụng hệ CSDL quan hệ truy xuất dữ liệu qua một thư viện (engine) CS8DL, tạo sự độc lập với nguồn dữ liệu thực sự và cách ly ứng dụng với chỉ tiết của các cấu trúc đữ liệu vật lý mức thấp
Ví dụ như là khác với việc truy xuất một mữ khách hàng qua bản
ghỉ khách hàng chứa ở byte từ 1 đến 10, một ứng dụng chỉ đơn giản
tham chiếu đến thuộc tính mở khách hang, ma không cần quan tâm đến
nơi lưu trữ trường trong CSDL Ta háy xem xét khối lượng chương tình
cần phải biến đổi nếu thay đổi một cấu trúc bản ghi trong một ứng dung
dựa trên hệ thống tập tin, Ví dụ, nếu ta di chuyển mã khách hàng từ các byte 1 đến 10 sang các byte 11 đến 20 để chữa chỗ cho một trường thêm vào, tất cả phần chương trình có sử dụng mã khách hàng đều cần phải biến đổi Tuy nhiên, khi sử dụng một HQTCSDL, mã ứng dụng vẫn tiếp tục tham chiếu đến thuộc tính theo tên hơn là theo vị trí bản ghi, vì vậy
khỏi phải biến đổi bất kỳ dòng lệnh nào
Sự độc lập dữ liệu này có được nhờ tự điển đữ liệu của HQ@TCSDL Tự điển dữ liệu lưu trữ các meta-data (dữ liệu mô tả dữ liệu) đối với tất
cả các đối tượng nằm trong CSDL Tự điển dữ liệu của Oracle8 là một
tập các bảng và các đối tượng dữ liệu được lưu trữ trong một vùng đặc
biệt của CSDI và được duy trì độc quyền bởi phần hạt nhân của
Oracle8 Như mô tả ở hình 1.4, các yêu cầu đọc hay sửa đổi CSDL được
xử lý bởi phần hạt nhân của Oracle8 nhờ các thông tin trong tự điển div
liệu Thông tin trong tự điển dữ liệu xác nhận sự tôn tại của đối tượng, cung cấp sự truy xuất đến chúng và chỉ vị trí lưu trữ vật lý thực sự
HQTCSDL quan hệ không chi thực hiện việc định vị dữ liệu, nó
còn xác định một đường dẫn truy xuất tối ưu để lưu trữ hay lấy dữ
Oraele8 sử dụng các thuật toán tỉnh vi để cho phép ta lấy thông tin
nhanh nhất từ một tập các hàng đầu tiên, sau đó mới lấy tiếp các hàng còn lại
15 SỰ TRUY XUẤT DỮ LIÊU KHÔNG ĐÙNG THỦ TỤC (SQL):
Một HQTCSDI quan hệ khác biệt với các hệ thống tập tin và các mô hình CSDI, khác ở khả năng xử lý tập dữ liệu Ta giao tiếp với một HQTCSDL quan hệ qua ngôn ngữ truy vấn có cấu trúc (Structured Query
Language - SQL) SQL là một ngôn ngữ không thủ tục được thiết kế đặc
Trang 22Chương 1 HE QUAN TRI CO SG DU LIEU QUAN HE 15
cân được thực hiện chữ không phải thực hiện chúng Vĩ dụ, xét một thủ
tục để tăng lương cho một bộ phận nào đó mà nhân viên chưa được tăng
lương trong 6 tháng qua Phần mã trong hình 1.5 mô tả giải pháp cho
vấn để này sử dụng hai phương pháp dùng thủ tục và SQL
Từ ví dụ trong hình 1.5 mình họa một trường hợp đơn giản, chúng ta hãy suy ra đối với một ứng dụng phức tạp, dùng SQL để truy xuất dữ liệu sẽ làm giảm nhẹ rất nhiều công sức lập trình Nhờ đó, giá thành phát triển và bảo trì phần truy xuất dữ liệu của một ứng dụng cũng
giảm
Hình 1.5 Phượng pháp lập trình SQL so với phượng pháp lập trình thủ
tục truyền thống
Phương pháp thủ tục (code giả lập): Phương pháp SQL: raise_date_cutoff:=get_delta_date update employee
(get_sysdate(),-6,"month”) open/read_write sel salary=salary*1.06
employee_file where depno=
Trang 23Chương 1 HE QUAN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ 16 1.6 KẾT CHƯƠNG;
Chương này mô tả hai khía cạnh của một hệ CSDL quan hệ: mô
hình CSDL quan hệ và hệ thống quản lý CSDL Mô hình quan hệ định nghĩa các quan hệ, u tric CSDL; các rằng buộc là các
nguyên tắc chỉ phổi các quan hệ và các toán tử đại số quan hệ để tác
động lên các quan hệ, Các hệ thống quản lý CSDL quan hệ làm việc trên một tập đữ liệu và sử dụng nhiều khái niệm của lý thuyết tập hợp
cơ bản
nên trng của ¢
Một hệ thống quản lý đây đú chức năng của CSDL quan hệ là một
phần mềm phức tạp, tỉnh vỉ có các chức năng tương tự hệ điều bành
Một trong những ly đo khiến Oracle thành công và được sử dung rộng rải là nó có thé cai đặt một hệ điều hành logic như nhau trên nhiều chung loại hệ điều hành chủ Người sử dụng truy xuất các đối tượng
trong CSDL thông qua phần hạt nhân và từ điển dữ liệu Ứng dụng
không bao giờ truy xuất trực tiếp dữ liệu trong các tập tin dữ liệu của hệ điều hành thực; thay vào đó, tất cả các thao tác được cung cấp bởi TIQTCSDL quan hệ
Sự truy xuất đến dữ liệu trong CSDL quan hệ được thực hiện thông qua các yêu cầu không thú tục là SQL So với phương pháp truy
xudt tap tin truyền thống xử lý “từng hàng một”, SQL cung cấp sự xử lý
“một lần một tập hợp” Các thành phần của ngôn ngữ và cách sứ dụng SQL được trình bày ở chương 3
17 CẬU HỎI VÀ BÀI TẬP:
1 Hệ quản trị cơ sơ dữ liệu là gì?
nN Các chức năng cơ bản cua hệ quan trị cơ sơ dữ liệ
Ké ra ba loại hệ quan trị cơ sở dữ liệu chính?
Thế nào là cơ sở đữ liệu phẳng?
Trang 24Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 17
CHUONG 2 ,
ORACLE VA CONG NGHE KHACH/CHU Tóm tắt chương 2
Oracle la mét hé CSDL quan he manh nhất uà được sử dụng nhiều nhất trong các hệ thống lớn hiện nay Trong
chương này, ta sé lam quen uới Oracle va céng nghé
khách /chủ Các oấn đề chính trong chương này là
vˆ Giới thiệu lich swt Oracle ⁄ Công nghệ khách Ichủ v Các sản phẩm phục 0uụ công nghệ kháchlchú của Oracle v_ Các hướng phút triển của Oracle 2.1 VÀI NÉT VỀ LỊCH SỬ ORACLE:
Vào năm 1977, Larry Ellison, Bob Miner, va Ed Oates thanh lap
một công ty và đặt tén 1A Relational Software Incorporated (RSL) Cong
ty này xây dung mét hé quan tri CSDL goi JA Oracle Ellison, Miner va
Oates quyết định phat trién hé nay bang C va giao tiép SQL Ngay sau
một thời gian ngắn, họ đưa ra phiên bản 1 như một nguyên mẫu (prototype) Năm 1979, RSI phan phối sán phẩm đầu tiên cho khách hàng: hệ quản trị CSDL Oracle phiên bản 2, làm việc trên Digital PDP- 11 chạy hệ điều hành RSX-I1 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, mở rộng hiệu suất và các cái tiến khác Không như các
bản trước đây, phiên bản 3 hâu như được viết toàn bộ bằng Ở Vào thời diém nay RSI duoc déi tén thanh Oracle Corporation
Oracle phiên bản 4 được phát hành vào năm 1984 Phiên bán này hỗ tro ca he thong VAX kin hệ điển hành IBM VM Oracle4 là phiên bản đầu tiên hợp nhất tính nhất quán đọc đữ liệu Phiên bán 5, được giới thiệu năm 1985, là một mốc lịch sứ vì nó đưa kỹ nghệ khách/chủ (clientserver computing) vào thị trường với việc sử dụng SQL*Net Phiên bạn 5 cũng là sán phẩm MS-DOS đầu tiên vượt rào cần 640KB
Năm 1988, Oracle đưa ra phiên bán 6, giới (liệu việc khóa ở mức
thấp, cũng như nhiều cải thiện về hiệu suất mà mớ rộng các chức năng,
Trang 25Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 18
Năm 1991, tùy chọn Oracle Parallel Server được đưa vào phiên bản 6.1 chạy trên môi trường DEC VAX Ít lâu sau, tùy chọn này cũng được dua
vào các môi trường khác
Oracle7 được phát hành năm 1992, bao gỗ nhiều thay đổi kiến
trúc về bộ nhớ, CPU và tiện ích xudt/nhap Oraele7 là hệ quản trị CSDL
quan hệ đẩy đủ chức năng nhất, được sử dụng trong nhiều năm Nó có nhiều ưu điểm nhờ tính năng dễ sứ dụng, công cụ SQL*DBA và các tiên ích khác
Nam 1997 Oracle giới thiệu Oracle8, thêm phản mở rộng đổi tuong (object extension) cung như nhiều tính năng và công cụ quản trị mới Gần đây nhất, Oracle 8.1.5 với tên gọi Oraele8i, phiên ban hỗ trợ nhiều tính năng mới và đặc biệt là các ứng dụng CSDL Internet
2.2 CONG NGHE KHACH/CHU:
Kién tric céng nghé khdch/chu bao gồm một hay nhiều máy tính
được gọi là các máy khách (client), chạy một chương trình ứng dung giao
tiếp với một máy cách biệt gọi là máy chủ (server) Các địch vụ được yêu
cầu từ các máy client
Trong mô hình cơ bản của cấu trúc khách/chủ, mật hệ quản trị
CSDL nằm trên máy server Chương trình ứng dụng nằm trên máy client giao tiếp với một lớp phần mềm khác gọi là phần trung gian
(middleware), có trách nhiệm nhận và chuyển các yêu cầu và kết quả giữa chương trình ứng dụng và hệ quan trị CSDU
Câu trúc khách/chủ đưa ra một số ta điểm so với các kiến trúc cũ:
« Nó hỗ trợ việc sử dụng nhiều chủng loại máy client khác nhau Trong môi trường ngày nay, người sử dụng có thể dùng Windows 3.11, Windows 9õ, Windows NT, một máy Mac, hay một trạm UNTIX, tất cả đều có thể ni vi cựng mt server
ôâ Trách nhiệm tính toán được phân bổ một cách hợp lý giữa
chent và server Máy client có trách nhiệm điểu khiển giao điện người dùng — hiển thị các thông tin, kiểm tra sự hợp lệ của đầu vào và cung cấp sự phán hồi (feedback) từ máy server— trong kbi máy server được dùng như một hệ quản trị CSDL «Nó độc lập với thủ tục mạng, hệ điều hành ở máy server và hệ
điều hành ở máy client Sự độc lập này cho ta linh động hơn
trong việc lựa chọn các thành phản phân cứng và phần mềm
Trang 26Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 19 Ban chất của công nghệ khach/chd là phân phối sự thực hiện một tác vụ cho nhiều bộ xư lý trên một mạng Mỗi bộ xử lý được chuyên
dùng cho một tập đặc thù các tác vụ con để có thế thực hiện tôt nhất
nhiệm vụ, tăng tổng hiệu suất và tính hiệu quả của toàn hệ thống
Su phan chia thực hiện các tác vụ giữa các bộ xư lý được thực hiện
qua một thủ tục yêu cầu địch vụ : một bộ xử lý từ client yêu cầu một địch
vụ từ một bộ xư lý khác là server
Sự cài đặt phổ biến của việc xử lý khách/chủ là tách riêng phần
giao điện người dang của một ứng dụng và phần truy xuất đỡữ liệu
“Thời gian đầu, hầu hết các ứng dụng khách/chủ được xây dựng
bằng các ngôn ngữ thế hệ thứ ba (38GLs) như FORTRAN, C hay COBOL, thường được gọi là các thú tục thư viện của hệ quan trị CSDL quan hệ Tuy nhiên, một số nhà cung cấp hệ CSDI, như Oracle đả thấy được nhu cầu có một công cụ để phát triến nhanh các ứng dụng CSDL
Từ nhu cầu này, một nhánh phần mềm phát triển mới đã được tạo
ra: các ngôn ngữ thế hệ thứ tư (4GLs) Ngay tên của nó cing đã ngụ ý những công cụ này có mức trừu tượng hóa cao hơn 3GLs Ngày nay,
4GLs thường được gọi là các môi trường phát triển ứng dụng
Lúc đầu, trên phản client, hay còn gọi là phần trước (front-end) của một cấu hình khách/chủ, 4GLs tạo ra một giao diện người dùng dựa trên ký tự Tuy nhiên, với sự ra đời của Windows và khả năng phát triển của các card đồ họa VGA và SVGA, các nhà sản xuất 4GLs bắt đầu hỗ trợ giao diện đồ họa người ding (Graphical User Interface - GUI) nhu Microsoft Windows, Macintosh hay Motif Phần sau (back-end) của cấu bình sẽ là một server CSDL, thường được quản lý bằng một hệ thống
UNIX, Netware, Windows NT, hay hé diéu hanh VMS
Kién trúc khách/chủ cũng có dang cấu hình server-server Trong sự phân bổ này, một server đóng vai trò client, yêu cầu các dịch vụ từ một server khác Nhiều server CSDL có thế xem như một CSDL logic đơn, cung cấp sự truy xuất trong suốt dữ liệu phần bố trên mạng
Thiết kế một ứng dụng khách/chủ hiệu quả là một việc cần thận trọng, cân nhắc dé phan bổ công bằng nhiệm vụ thực hiện các tác vụ
cho các bộ xử lý và sử dụng tối ưu các tài nguyên sẵn có
Với một ứng dụng phức tạp, yêu cầu khả năng xử lý cao giao diện
đề họa người dùng, khả năng phân tán dữ liệu trên server và mạng, việc
Trang 27Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 20
khách/chủ thường khó phát triển và quản lý hơn các hệ thống ứng dụng máy chú truyền thống do các khó khấn sau:
«Các thành phản của hệ thống khách/chủ được phân phối trên
nhiều chủng loại bệ xử lý khác nhau Các phần mềm quán lý client, quán lý mạng và hề trợ các chức năng server cẩn phải
cấu hình để boạt động ẩn định và tương thích với nhau
« Các ứng dụng GUI phức tạp hơn nhiều các hệ dựa trên ký tự
trước đây Các bề GUT có khả nắng đưa ra nhiều thông tìn hơn
cho người đùng và cùng cấp thêm nhiều hướng đi chuyển đến
các thành phần cúa giao in,
ôâ _ Vic chẩn đoán các vấn để hiệu quá và lỗi khó hơn vì số cấu tử
và số lớp tăng đần trong hệ thống
2.3 ORACLE VA_ CONG NGHE KHACH/CHU:
Oracle Corporation tro thanh mét cong ty CSDL néi tiếng nhờ tạo
ra mật bệ thống quan tri CSDL quan hệ kiểu server với hiệu suất cao và
đây du chức năng Với CSDL làm nền tảng cho phạm ví sản phẩm,
Oraele đã vượt qua tầm vóc một công iy CSDL khi bổ sung cho hệ quản
trị CSDL quan hệ kiểu server cúu 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ệ
khách/chủ
Khi mà CSDL, kiểu server cua Oracle tiến triên đến mức cung cấp
cho những hệ thống công ty qui mô lớn những sản phẩm dé xu ly giao dich và hỗ trợ quyết định, có thể nói rằng Oracle da cung cấp một giải pháp trọn vẹn cho sự phát triển và triển khai các ứng dụng khách/chủ
2.3.1 CSDL Oracle trong kiến trúc khách/chủ:
Công nghề kháeh/chu đã thay đổi hình dáng và hiến trúc của các
ứng dụng hệ thống theo cả hai mặt: không chỉ cấu trúc phần cứng hỗ trọ thay đổi về chất, mã cách tiếp cận để thiết kế logic của hệ thống cúng thay đổi đáng kể
Trước khi công nghệ khách¿chủ ra đời hấn hết các ứng dụng
Oracle chay trên một máy đơn Điển hình, một ting dung SQL*Forms đựa trên ký tự nếu truy xuất một thế hiện CSDL trên cùng một máy với ứng dụng và hệ quan trị CSDL quan hệ, sẽ sử dụng cùng một CPU và các tài nguyên bộ nhớ Hệ thống không những có trách nhiệm hỗ trợ
tất cả yêu cầu truy xuất đữ liệu mà còn thực hiện logic ứng dụng Ngoài
ra hệ thống còn chịu gánh nặng xử lý tất cả xuất nhập đối với các thiết
Trang 28Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 21
Các hệ thống khách/chủ đã thay đổi kiến trúc này một cách đáng kể bằng việc tách tất cá việc quan lý giao điện và xử lý ứng dụng ra khỏi bộ xử lý hệ thống chủ và giao cho bộ xử lý client
Kết hợp với sự tiến bộ trong cấu trúc phần cứng, khá năng tổng
dân của các server CSDL quan hệ đã góp phần vào sự thay đổi trong kiến trúc ứng dụng Trước Oracle7, hệ quản trị CSDL quan hệ Oracle
thiếu tỉnh vi trong khả năng hỗ trợ logic xứ lý cần thiết để duy trì tính
toàn vẹn đữ liệu trong CSDL Ví dụ, sự kiếm tra khóa chính và khóa (inh 2.1 Các ứng dụng máy chủ so với các ứng dụng clienf/server Bộ xử lý chủ Bộ xử lý clent Tùy chọn Logic phan phéi siao diện giao diện — Kiểm tra kiểu dữ có liệu Logic ing a dung a BỈ Xử lý logic Ràng buộc 3 3 ứng dụng toàn vẹn a Trigger co bo 2 sở dữ liệu Bộ xử lý server ;Š ì Thú tục Logie cơ sở dữ liệu Điều khiển cơ sở dữ liệu Điều khiển cơ sở dữ liệu Ứng dụng cơ sở dữ liệu Ứng dụng cơ sở dữ liệu máy chủ truyền thống khách/chủ
Trang 29Chương 2 ORACLE VÀ CƠNG NGHỆ CLIENT/SERVER 22
tính tồn vẹn trong công việc, dẫn đến kết quả là mã ứng dung nang nề và phức tạp hơn Hình 2.1 minh hea sự khác nhau giữa các ứng dụng
chạy trên máy chủ truyền thống và các ứng dụng khách/chủ Các ứng
dụng khach’chu co thé tan dung ưu điểm của Oracle7 để cài đặt một số
logic img dung
Gác CSDL trước Oracle7 cung cấp ít hơn việc kiểm tra kiểu dữ liệu
ở mức hạt nhân Từ Oraele7 trở di, phần lớn việc xử lý logic ứng đụng có
thể thực biện bởi phan hat nhân của CSDL Oraele7 có các đặc trưng nhu ede thi tac (stored procedure), hỗ trợ rằng buộc toàn ven {integrity constraint), cde ham người dùng dinh nghia (user-defined function) va cdc trigger CSDL, tat cả cho phép ứng dụng chứa nhiều nguyên tắc hoạt
động (hay ngữ nghĩa của mô hình đữ liệu) ở mức CSDL Nhờ vậy, ứng
dung được tự do để xứ lý những tác vụ phúc tạp như quản lý giao điện
GDI va tich hợp vào các nông cụ client khác Như trinh bày trên hình
2.1, CSDL có bộ xử lý server riêng nên mạnh hơn nhiều, không cần đựa vào mã ứng dụng để duy trì tính toàn vẹn của nó
2.3.2 Các sản phẩm hỗ trợ công nghệ khách/chủ của
Oracle:
Oracle Corporation da tré thanh ngudi dan đầu khi đưa ra công nghệ CSDL khách/chủ 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 CSDL khách/chú Oracle đã thiết kế các sản phẩm hướng theo một trong ba
thành phần chú yếu của kiến trúc khách/chủ:
«e Một hệ C5DL quan hệ server hiệu suất cao, du tinh năng, thích ứng cho các chủng loại, từ các máy xách tay (laptop, notebook ) cho đến các máy lớn (mainframe)
« Su phat 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 (middleware) két néi CSDL cung cấp sự
giao tiếp bảo mật và hiệu quá trên nhiều loại hình thủ tục
mang (Network protocol)
Các sản phẩm Oracle có tính thích ứng cao, cung cấp các giải pháp khách/chủ trọn ven 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 lớn
Các phần sau sẽ mỏ tả một số các thành phần chú yếu của kiến
Trang 30Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 23
Oracle8, SQL*Net va cdc céng cu phat trién GUI, tat ca déu duge thiét
kế đặc thù cho các hệ ứng dụng khách/chủ
2.3.3.1 Hệ quản trị CSDL quan hệ Oracle8 Server:
Oracle8 Server là một hẹ quảu trị CSDL quan hệ thích hợp lý
tưởng để hỗ trợ các môi trường khách/chủ phức tạp Nhiều nét đạc trưng
của kiến trúc bên trong Oracle8 được thiết kế để cung cấp tính hiệu quá
cao, năng suất cực đại, tính bảo mật và sử dụng hợp lý tài nguyên máy
chủ Ngoài các đặc tính quan trọng về mặt kien trúc đối với một server
CSDI, đã mô tả, Oracle8 còn có các đặc trưng ngôn ngữ sau làm tăng tốc sự phát triển và cải tiến hiệu quả các thành phản ứng dụng mức server
«Ổ Ngôn ngữ PL/SQL - Một thành phần chính của Oracle8 server la engine xu ly PL/SQL (PL la viét tat cua ngôn ngữ thủ tuc - Procedural Language) PLVSQL li ngon 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 ngôn ngữ SQI PL⁄§QL được thiết kế đặc thù để xử lý
khách¿chu, 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 PI⁄SQL, ta có thể giảm một cách đáng kể khối
lượng xử lý yêu cầu bởi phần client của ứng dụng và sự lưu chuyến trên mạng để thực hiện phần logic Ví dụ đôi lúc ta mnuốn thực hiện một tập các lệnh SQL khác nhau dựa trên kết quá của một query (cầu truy vấn) Query này cùng các lệnh SQI, theo sau và điều kiện logic để thực hiện có thẻ tích hợp
chung vào một khéi PL/SQL và gởi đến server một lần
PL/SQL không phải chí thực hiện duoc tiv Oracle8 Server ma cũng có thể duge xt l¥ béi SQL*Forms va Oracle Forms
PL/SQL duge sit dung rong rai béi cde cong cu nay trong cdc
thủ tục mức client và các thú tục trigger sự kiện (event) Trong
tuột môi trường khách/chủ, PL/SQL cực kỳ linh động vì ngôn
Trang 31Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 24
Hình 2.2 Giám thiểu lưu thông mang và mã ứng dụng nhờ sử dụng PL/SQL Đệ trình một khối PL/SQI Ứng dụng clieut Khối PL/SQL Regin SQL I if SQL 2 elseif SQI,ä clse SQ1,4 end if SQL A send; Oracle 8 Server PLASQL Bugine Việc đệ trình một khối PL/SQL yêu cầu một lượt đi trên mang để thực hiện 8 tệnh SQL
Gọi một stored procedure PL/SQL
Ung dung client
Việc gọi các stored procedure giấm đáng
Trang 32Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 25
Stored procedures - Mac dau phién ban 6 ctia Oracle đã hỗ tro PL/SQL miic server, Oracle8 cung cấp thêm khả năng lưu trừ các khối PL/SQL nhw là các đối tượng CSDL ở dạng các stored procedure, cdc finetion va các package CSDL Như váy, các phần logie ứng đụng nhất là yêu cả truy xuất đử liệu, có thể nằm ngay chỗ chúng được xứ ä server Việc sứ dụng các stored procedure ting đáng kể hiệu quá của hệ thống khách/chủ vì các lý do sau:
+ Goi mot stored procedure từ một ứng dung client giam đáng ké mat do hm théng mang Thay vì ứng dụng gởi một khối chương trinh PL/SQL tir client, chi cin mot lénh goi don đến thủ tục hay hàm với một danh sách tham số tùy ý
~ Cá
và tiện lợi Một trong những đặc trưng của stored PL/SQL la nó luôn thực hiện với đặc quyền (privilege) của chủ nhân thú
stored procedure cung cấp một cơ chế báo mát hiệu quả
tục (procedure) Điều tr
; ngăn các user không đặc quyên
đùng mã thú tục truy xuất các đối tượng đặc quyển Đạc tính này thường dùng để giảm lượng giám sát cấp phát quyền mà DBA phải làm
> Ca hai dang text va da bién dich ctia cic stored procedure
đều nằm trong CSDL 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 dich PL/SQL lúc thị hành (run tỉme) được giám nhẹ
Database triggers - Cúc trigger CSDL giống các stored procedures ở chỗ chúng là các khối PIL⁄SQL thường trú trong CSDL; sự khác nhau giữa chúng là các trigger được gọi tự động bởi phần hạt nhân CSDL quan hệ để đáp ứng một sự kiện thời gian xảy ra (như một thao tác chèn, sửa đổi hay xóa) Ta có thể sư dụng trigger đề hỗ trợ việc kiểm tza tính toàn vẹn phức tạp,
thực hiện việc kiểm tra phức tạp và các chức nùng bao mat, edi đặt các cánh báo và giấm sát ứng dụng Như các stored
procedures, các trigger GSDL giảm nhiều lượng mã và sự xứ lý
cần thiết trong phần client của một ứng dụng
Hoạt động của các trigger CSDL của Oraele8 hơi khác với các
Trang 33Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 26
trigger mức lệnh một lần - đối với lệnh UPDATE (trước và/hoặc sau khi lệnh thực hiện) Các trigger mức hàng, mặt khác, được gọi bởi phần hạt nhân đối với mỗi hàng mà lệnh làm ảnh hưởng - trong trường hợp này là 100 lần Oracle8 cho phép các trigger mức lệnh và mức hàng được sử dụng kết hợp
với nhau
+ Tính toàn vẹn có thể khai báo - Khi ta định nghĩa một
bang trong Oracle8 ta cé thé bao gồm các ràng buộc toàn ven
{integrity constraint) nhu la mét phan cua định nghia bung
Các rang bude được hỗ trợ bởi server khi môt bản ghỉ được
chèn, sứa đối hay xóa Ngoài việc sử dụng các ràng buộc toàn
vẹn tham chiếu để hỗ trợ các quan hệ khóa chính và khóa
ngoại lai, ta cùng có thể định nghĩa các ràng buộc riêng để kiểm soát các miễn giá trị của các cột riêng biệt trong một
bang
Tính toàn vẹn được hỗ trợ bởi server làm giả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
dich được định nghĩa bên tre:g CSDL Với các ràng buộc, ta có thể cải thiện năng suất và cung cấp tính linh động để hỗ trợ nhiều giao diện phần trước (front-end)
+ Cac User-defined funetions - Ta cũng thấy các khối PL/SQL trong các hàm người ding dinh nghia (user-defined functions) Cac user-defined function tuong ty nhu cdc stored procedure va cũng làm giảm lượng mã ứng dung 6 phan client cua tng dung Ta không chì có thể gọi các hàm nay ti PL/SQL, mà còn có thể sứ dụng chúng để mớ rộng tập các hàm chuẩn Oracle SQL Ta cé thé dat cdc user-defined function trong cdc lenh SQL như ta có thể làm với bất kỳ các ham Oracle SQL nào khác
Việc thiết kế ứng dung Oracle dé sit dung những đặc tính mức server không chỉ cái thiện hiệu quả của hệ thống khách/chủ mà còn giúp nhiệm vụ phát triển và triến khai một ứng dụng dễ dang hon
2.3.2.2 Các sản phẩm kết nối mạng:
Khi phát triển hệ thống khách/chủ bằng Oracle, ta có thế sử dụng
phần mềm kết nối mạng Oraele để cài đặt sự kết nối giữa các nút trên
mạng Oracle có sẩn nhiều sản phẩm và công cụ làm đơn giản hóa quá
Trang 34Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 27
« Net8— Net8 là một phần mềm kết nối CSDL dùng để cung cấp
các thông tin CSDI, xác thực, tối ta trên mọi thủ tục mang
thăng dụng Net8 được thiết kế để cung cấp tính trong suốt của server cho bất kỳ nút nào bên trong một ứng dụng mạng và sứ
dụng các thành phần nằm trên cả hai phia client va server ciia
một ứng dụng
Ngoài việc cùng cấp sự kết nối giữa máy trạm và server trong
môi trường khách/chủ, server cùng sử dụng Net8 để giao dịch
các chuyển tác phan bé (distributed transaction), các phép gọi
thú tục từ xa và sao lưu bảng (replication) với các server khác
Các server tham chiếu đến các server khác bằng cách sử dụng
các liên kết CSDL (dafabase link) để định nghĩa tên của các CSDL tit xa Các liên kết CSDL đơn giản hóa quá trình phản
bố bằng cách cung cấp sự truy xuất trong suốt các đối tượng từ xa như các bảng và thủ tục che phép một ứng dụng tham chiếu
chúng như thể chúng nằm ở CSDL cục bộ của ứng dụng
* Oraele Names - Từ phiên bản 7.1 cua Oracle, ta cé thé tao các liên kết CSDL chứa các thông tín nút mạng trên một mạng
bằng cách sử dụng sử dụng tự điến toàn cục chung Oracle
Numaes Đặc trưng này đặc biệt được sử dụng cho các mạng ứng
dụng lớn phân bố ớ nhiều vị trí để đơn gián hóa sự giám sát
liên kết CSDL và thông tin mạng k `
* Multi-Protocol Interchange - Trong khi phién ban 1 cia SQL*Net (Oracle7) cung cấp sự kết nối giữa các nút trong một mạng đơn protocol, Net8 cho phép giao tiếp CSDL giữa các nút trong các mạng khác nhau chạy các thủ tục mạng khác nhau Multi-Protocol Interchange (MPI) cung cấp một cầu giao tiếp
trên các thú tục khác biệt bằng cách gỏi các thông điệp
SQL*Net từ thủ tục này sang thú tục khác Ví dụ, một trạm client trong một mạng cục bộ vòng (Token-Ring) có thế truy xuất trong suốt một server trong một DECnet hay mạng
TCPAP, tach ứng dụng khỏi sự phức tạp của cấu trúc hạ tầng mạng Ngoài việc cung cấp sự giao tiếp nhiều thủ tục, MPI còn
Trang 35Chương 2_ ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 28
Hình 2.8 Sự truy xuất trong suốt trên nhiều thủ tuc mang với MPI Client 1 eó thể truy xuất Server B như thể nó ở mạng B Client 1 Server C Server B Es SN (TCP/IP) ý Pag ir Client 2 Mang B (SPX/IPX) Server A Multi-protocol Interchange
e Oracle Network Manager — Nhiém vu phic tap cau hinh va quan ly mang CSDL- phan tan được thực hiện dễ dàng với Network Manager, một giao điện giám sát kiểu GUI của Net8 Network Manager được sử dụng không chỉ để quản lý tự điển
Trang 36e€ hương 2
phan client va server cua SQL ORACLE VA CONG NGHỆ CLIENT/SERVER
29
*Net va dinh nghia các đường kết néi cho ede mit Multi-Protocol Interchange:
Lar
Oracle Coy quan wri ©
mot nha cing cấp hàng đầu các phần mềm CSDL quan hệ, 3oration các hé quan iri CSDL trén hon 90 nén (platform) Hé
u hành sau:
SDU quan hệ Oraele có sản ba,
+ Oraele Universal Server có thể hỗ trợ nhiều người dùng trên
cde platform pham vi Ién nhu Sun, HP Py: amid va Sequent
Nhiều tùy chọn khác nhau chỉ cố với cấu hình này Oracle Universal Server sin sang cho nhiéu loại cấu hình hệ thống và phản cứng khác nhau Oraele WebServer - một hệ thống tích h ay dé tao cdc output HTML dong tir ndi dung cua CSDL Oracle
cũng được đưa vào trong Oracle Universal Server,
Oraele Universal Server có các thành phần tùy chọn sau: +
y Spatial Data Option (Tiy chen khéng gian di
Distributed Option (Tay chọn phần tán) cho phép một Số DL Oracle trên các máy tinh kt
mot CSDL logic den, Vi dụ, một chuyển tác đừ liệu e nhau hoạt động như thể biến đối một số CSDL khác nhau qua muột cơ chế gọi là
commit hai pha, đâm bảo rằng hoặc sự thay đổi được yêu cầu thành công trên tất cá CSDIL, hoặc không tác động lên tất
cả
Replication Option (Tuy chon sao 1ưu) cho phép một CSDL Oracle sao chép sự thay đổi lên mot CSDL khác
Context Option (Thy chon ngữ cảnh) mở rộng khả năng cho
phép ngudi ding tim ni dung cia mot CSDL Oracle theo các từ khóa và chủ đề nhất định
ï 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 tam thời, không gian tỉnh vì 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, Windows NT, SCO UNIX va
Trang 37Chương 2 ORACLE VA CONG NGHE CLIENT/SERVER 30
Oracle Workgroup Server được thiết kế để phục vụ môt nhóm nhỏ người dùng hơn so với Oracle Universal Server, Ví dụ, một hệ Oracle Workgroup Server điển hình có thể bao gồm một
Pentium chạy Microsoft NT và hỗ trợ đến 25 user
Oracle Workgroup Server tự động cấu hình dé giám tối thiển
việc giám sát CSDI,
Server
* Personal Oracle là môt phiên bán chay trên Windows của
eugine GSDI, Oracle, có du cúc chức năng như Oracle Einiversal Server va Oracle Workgroup Server Tuy Personal Oracle không
thể hoạt động như một server CSDL hỗ trợ nhiều user, nd cung
cấp một môi trường ràt tốt để thực nghiệm và làm nguyên mẫu {prototype}
Personal Oracle cung cấp hầu hết các đặc trưng như của Oraele Server trên các platform lớn, Như v tủ có thể đùng Personal
Oracle dé xay dung mot CSDL lim viée và sau đó chuyến sang bản nhiều user của Oracle Server Tả có thé đùng Personal Oracle để › y dựng tất cả các bảng, chỉ mục, view, sequence và các đối tượng C8DLU khác mà sẽ tổn tại trong một ứng dụng
CSDL lớn Personal Oraele hiện có sẵn trou be platform — Windows 3.11, Wihdows 95 va Windows NT
Personal Or:
cong cụ đồ họa trực quan để quản lý các đối tượng trong một
GSDI, Personal Oracle cùng như các CSDL, Oracle cách biệt Tả
có thể sử dụng Navigator để định nghĩa các kết nối xa nhằm xứ
lý một CSDI, Oracle cách biệt chay trên một hệ thông bất ky UNTX, NT hay hệ thống khúc 2.3.2.3.4 Các sản phẩm khác: le cung cấp một công cụ gọi la Navigator, một
Ngoài các sai: phẩm kết nối mạng và server, Oracle còn nhiều ứng
dung loại GUL phia client dé hoan thanh kiến trúc tích hợp khách/chú
Những bọ sản phẩm này bao gồm các công cụ CASE (Computer Assisted
Sohware Engineering) tron tinh ndng, ede méi trường pht triên hướng
sắn tượng, và các thành phần rún-time có khả tang lam việc với Oraecle8 Server cũng như các CSDL server khúc
+ Designer/2000 — Dé phat trién cde ung dung Oracle tinh vi, Designer/2000 cung cap mot tap hoàn thiệu và một bộ công cụ
hùng mạnh cho phép ta phần tích có hệ thông, mô hình hóa,
Unet ke va sinh ma cho ed thanh phần clieut lấn server của
Trang 38Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER g1
người tiền nhiệm của nó, Oracle*CASE; tuy nhiên, giao diện người dùng và các chức năng đã mở rộng đáng kể, hỗ trợ kỹ
năng xứ lý các công việc đồ họa cũng như các đặc trưng c
Oracle8 server và Developer/2000 Hình 3 4, cho thấy Designer/2000 gồm các phần phân tích, thiết kế và sinh dữ liệu
` Designer/2000 là một công cụ phức tạp với nhiều đặc trưng Khi đã nắm vững nó, ta sẽ thấy rằng nó giúp cho nhiệm vụ phát triển các ứng dụng qui mô từ lúc khởi đầu cho đến lúc chấm dứt nhanh và hiệu quá hơn nhiều so với các phương pháp phát triển truyền thống Các thông tin được thu thập từ các lưu đồ bdimiklli3u0in441011010011011 1Ì 0T 7 File Edit View Navigater i Application Tools Window Help EE = JEMP22
© Program Data - Shared
‘Module Business Unit Usages
ee : ke
| = JEMP22 - Assign employees to projel.4
Summary Module Table Usages — bee
Detailed Module Table sages abe Alias [assicn Tableview L6 ENT failed Module Column sages [MB i ENDING 0 - a en ly; - #HOURS_BỊLLED -PRO4 ID Named Preference Sets Languages = Tables » ASSIGNMENT Columns
indexes: C03 a8 Vee NÙiDU Ni l#:
TH xe =tASSIGN PỊ eluents fae i l4
“Key Components hi Ề 4
HT is +] - J»
UPDATE? :
đồ họa của đữ liệu và mô hình ứng dụng được sử dụng để sinh
Trang 39Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 32
tính năng và đặc trưng để sử dụng với các công cụ của
Developer/2000 tools như menu, control chuyển tác (transaction
control) và tính mở rộng của các OLE container Bộ sinh ứng
dụng tạo được các chương trình Visual Basie và Power Objects « Developer/2000, Developer 6.0, JDeveloper for Oracle 8i
- Các bộ Developer này gồm Oracie Forms, Oracle Reports,
Oracle Graphics, va Oracle Procedure Đuilder được tích hợp vào
một môi trường phát triển
+ Oraele Forms là một công cụ tạo các ứng dụng dựa trên form được tích hợp tốt CSDL Oracle
Hinh 2.6 Giao dién Form Designer cia Developer/2000 ữ Eee muss is View Format Arrange Window Help H " lim HEMS em su + Migual Attributes ‹ t AITEMS «Windows ACU NULL Window Cee 2 WINDOW Type s« Canvas-Views: Ah Item Type Button = CANVAST (Display | « llems oe 1N ’ ola —E Zi
0.0K ee ieee cal sit
4) Canvae ÌCANVAST | Biaok.]BL0CK2 Libri a ~ Bult in Packages » Database Objects IDJ@P afl fan eae geen eats 4 Lito? _1| OK Ke : EEM ị Cancel | L| : $ — oo ee hee #
‘Mod MOOULE2 Fle more? dns
> Oracle Report là một chương trình tạo báo cáo (report) có
Trang 40Chương 2 ORACLE VÀ CÔNG NGHỆ CLIENT/SERVER 33 cáo này có thể xem trước (preview) trên màn hình trước khi
in ra
> Oracle Graphics là một công cụ tao dé họa biểu diễn từ
cde query CSDL
» Oracle Procedure Builder duge sử dụng để phát triển
duy trì và kiểm tra các phần mém duge viét bang PL/SQL cé thế lưu trữ và thực hiện trong CSDL Oracle
Hình 2.7 Giao diện thiết kế hướng đối tượng Power Objects
“Oracle Power Objents sit
File Edit Object View Run Window Help Gen as cl eee oes 5 0p t $: RỊT ẽ ‘2 oe BClick Ecce : + Clk EÐothisBtlek ñ Enabled Tre | 11 2 5 B Gating a Sài ao Š “i les ImUdelem HmÖdgD} 777” ý io 13 Praduat ib oo D Ole SB 0 icles fmMarMenu MLBACK! 4 Product Bese od we 7 sài TEL at : i Điện |1 [pE5cRIPTION Ee : Product Category: (CJ Discontinued Price per Unit: {UNIT PRICE | by ir oe th | a re Cae i 3
'Ta có thế xây dựng ứng dụng chỉ với các công cụ này hay sứ dụng chúng với Designer/2000 để tạo các form va report tu sinh
Cũng như các phần mềm dựa trên ký tự the hệ trước của nó,