SlideShare a Scribd company logo
Luận văn
Tìm hiểu về Oracle Form
và xây dựng ứng dụng
LỜI MỞ ĐẦU.................................................................................................................... 4
CHƯƠNG I: TỔNG QUAN............................................................................................. 5
I.1. CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG .................................................................................... 5
I.2. GIỚI THIỆU VỀ ĐỀ TÀI .......................................................................................................... 8
I.2.1. MỤC ĐÍCH CỦA TÀI LIỆU........................................................................... 8
I.2.2. PHÁT BIỂU BÀI TOÁN.................................................................................. 8
CHƯƠNG II. NGHIÊN CỨU ORACLE........................................................................ 8
II.1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE.............................................. 8
II.1.1. KHÁI NIỆM.................................................................................................... 8
II.1.2 ƯU ĐIỂM......................................................................................................... 8
II.1.3. KIẾN TRÚC.................................................................................................... 9
II.1.3.1. Oracle Instance ....................................................................................... 9
System Global Area - SGA..................................................................................... 9
Background process.............................................................................................. 12
II.1.3.2. Oracle Database.................................................................................... 12
Cấu trúc vật lý database........................................................................................ 13
Cấu trúc logic databse........................................................................................... 15
Các cấu trúc vật lý khác........................................................................................ 17
II.2. GIỚI THIỆU ORACLE DESIGNER...................................................................................... 17
II.2.1. VAI TRÒ ....................................................................................................... 17
II.2.2. CÁC CÔNG CỤ ............................................................................................ 17
II.2.3. THÀNH PHẦN VÀ CÁCH THỰC HIỆN ORACLE DESIGNER............. 17
II.3. GIỚI THIỆU ORACLE REPORT ......................................................................................... 17
II.3.1. ORACLE REPORT LÀ GÌ?......................................................................... 18
II.3.2. ƯU ĐIỂM CỦA ORACLE REPORT........................................................... 18
II.3.3. CÁC THÀNH PHẦN CỦA ORACLE REPORT BUILDER ...................... 18
II.3.4. CÁC KIỂU CỦA ORACLE REPORT.......................................................... 18
II.3.5. KẾT QUẢ CỦA ORACLE REPORT........................................................... 19
II.3.6. CÁC BƯỚC TẠO ORACLE REPORT ........................................................ 20
II.4. NGHIÊN CỨU ORACLE FORM .......................................................................................... 21
II.4.1. TỔNG QUAN VỀ ORACLE FORM............................................................ 21
II.4.1.1. Vai trò..................................................................................................... 21
II.4.1.2. Các modul(file) có trong một ứng dụng Oracle form........................ 21
II.4.1.3. Các thành phần của Oracle Form....................................................... 22
II.4.1.4. Môi trường phát triển........................................................................... 22
II.4.2. CÁC CÔNG CỤ CỦA FORM BUILDER.................................................... 23
II.4.2.1. Object Navigator................................................................................... 23
II.4.2.2. Property Palette ................................................................................... 24
II.4.2.3. Layout Editor........................................................................................ 24
II.4.2.4. PL/SQL Editor...................................................................................... 25
II.4.3. KHỞI TẠO ORACLE FORM BUILDER.................................................... 25
II.4.3.1. Khởi tạo Oracle Form Builder ............................................................ 25
II.4.3.2. Tạo và Xóa Form .................................................................................. 25
II.4.3.3. Lưu trữ và thực hiện Form.................................................................. 26
II.4.4. CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT FORM .................................... 26
II.4.4.1. Window.................................................................................................. 26
II.4.4.2. Canvas.................................................................................................... 28
II.4.4.3. Block Data ............................................................................................. 29
II.4.4.4. Item ........................................................................................................ 35
II.4.4.4.1. Text Item: ....................................................................................... 36
II.4.4.4.2. Display item.................................................................................... 38
II.4.4.4.3. list item............................................................................................ 38
II.4.4.4.4. Button.............................................................................................. 39
II.4.4.4.5. Check box ....................................................................................... 39
II.4.4.4.6. Image............................................................................................... 39
II.4.4.5. Relations ................................................................................................ 40
II.4.4.6. Object Group ........................................................................................ 40
II.4.4.7. Triggers.................................................................................................. 41
II.4.4.8. LOVs...................................................................................................... 44
II.4.4.9. Messages và Alerts................................................................................ 50
II.4.4.10.Một số hàm, thủ tục, biến hệ thống hay dùng................................... 51
II.4.5. TẠO VÀ SỬ DỤNG MENU ......................................................................... 51
II.4.6. TẠO VÀ SỬ DỤNG LIBRARY.................................................................... 51
II.4.7. HƯỚNG DẪN CHI TIẾT TẠO MỘT FORM CƠ BẢN............................. 51
LỜI MỞ ĐẦU
Chúng ta đang sống trong thời đại công nghệ thông tin phát triển vượt
bậc. Công nghệ thông tin được ứng dụng khắp nơi, trong mọi lĩnh vực của
cuộc sống. Với việc ứng dụng công nghệ thông tin đã làm tăng năng suất,
hiệu quả công việc, cũng như giảm được công sức con người
Trong vô vàn các loại ứng dụng khác nhau của công nghệ thông tin
vào đời sống thì lĩnh vực xây dựng phần mềm giải quyết các bài toán quản
lý nói chung là một ứng dụng điển hình. Lĩnh vực này phát triển mạnh, liên
tục mang lại nguồn thu lớn cho các doanh nghiệp phát triển phần mềm.
Chính vì vậy là một sinh viên khoa công nghệ thông tin sắp ra trường
em đã chọn đề tài nghiên cứu tài liệu và ứng dụng để giải quyết một bài toán
quản lý cụ thể là: “Tìm hiểu Oracle form và ứng dụng vào xây dựng chương
trình quản lý thăng tiến của đại lý bảo hiểm”
Cuối cùng em xin được gửi lời cảm ơn tới thầy giáo TH.S Lưu Minh
Tuấn đã hướng đẫn tận tình giúp em thực hiện tài liệu này.
Trong quá trình thực hiện còn nhiều sai xót rất mong nhận được sự
đóng góp ý kiến từ các thầy cô và các bạn
CHƯƠNG I: TỔNG QUAN
I.1. CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG
Định nghĩa ứng dụng Web
Dưới góc độ kỹ thuật, Web được định nghĩa là môi trường có khả năng
thực thi chương trình cao, cho phép tạo vô số tùy biến trên triển khai trực
tiếp của một lượng lớn các ứng dụng tới hàng triệu người dùng trên thế
giới. Hai thành phần quan trọng nhất của website hiện là trình duyệt Web
linh hoạt và các ứng dụng Web. Tất cả mọi người đều có thể sử dụng hai
thành phần mà không phải trả bất cứ khoản phí nào.
Web browser (trình duyệt web) là các ứng dụng phần mềm cho phép người
dùng truy vấn dữ liệu và tương tác với nội dung nằm trên trang Web bên
trong website.
Website ngày nay khác xa so với kiểu đồ họa và văn bản tĩnh của thế kỷ
mười chín hay thời kỳ trước đó. Các trang Web hiện đại cho phép người
dùng lấy xuống nội dung động, cá nhân hóa theo thiết lập và tham chiếu
riêng. Hơn nữa chúng cũng có thể chạy các script trên máy khách, có thể
“thay đổi” trình duyệt Internet thành giao diện cho các ứng dụng như thư
điện tử, phần mềm ánh xạ tương tác (Yahoo Mail, Google Maps).
Quan trọng nhất là website hiện đại cho phép đóng gói, xử lý, lưu trữ và
truyền tải dữ liệu khách hàng nhạy cảm (như thông tin cá nhân, mã số thẻ
tín dụng, thông tin bảo mật xã hội …) có thể dùng ngay hoặc dùng định kỳ
về sau. Và, điều này được thực hiện qua các ứng dụng Web. Đó có thể là
thành phần webmail (thư điện tử), trang đăng nhập, chương trình hỗ trợ và
mẫu yêu cầu sản phẩm hay hoạt động mua bán, hệ thống quản lý nội dung,
phát triển website hiện đại, cung cấp cho các doanh nghiệp phương tiện
cần thiết để liên lạc với khách hàng tương lai và khách hàng hiện tại. Tất
cả đều là các ví dụ phổ biến, gần gũi và sinh động của ứng dụng Web.
Dưới góc độ chức năng, ứng dụng Web là các chương trình máy tính cho
phép người dùng website đăng nhập, truy vấn vào/ra dữ liệu qua mạng
Internet trên trình duyệt Web yêu thích của họ. Dữ liệu sẽ được gửi tới
người dùng trong trình duyệt theo kiểu thông tin động (trong một định
dạng cụ thể, như với HTML thì dùng CSS) từ ứng dụng Web qua một Web
Server.
Mang tính kỹ thuật nhiều hơn có thể giải thích là, các ứng dụng Web truy
vấn máy chủ chứa nội dung (chủ yếu trên cơ sở dữ liệu lưu trữ nội dung)
và tạo tài liệu Web động để phục vụ yêu cầu của máy khách (chính là
người dùng website). Tài liệu được tạo trong kiểu định dạng tiêu chuẩn hỗ
trợ trên tất cả mọi trình duyệt (như HTML, XHTML). JavaScript là một
dạng script client-side cho phép yếu tố động có ở trên từng trang (như thay
đổi ảnh mỗi lần người dùng di chuột tới). Trình duyệt Web chính là chìa
khóa. Nó dịch và chạy tất cả script, lệnh… khi hiển thị trang web và nội
dung được yêu cầu. Wikipedia, bộ bách khoa toàn thư trực tuyến lớn nhất
thế giới hiện nay định nghĩa Web browser là “máy khách chung cho mọi
ứng dụng web”.
Một cải tiến đáng kể khác trong quá trình xây dựng và duy trì các ứng
dụng Web là chúng có thể hoạt dộng mà không cần quan tâm đến hệ điều
hành hay trình duyệt chạy trên các máy client. Ứng dụng Web được triển
khai ở bất cứ nơi nào có Internet, không mất phí tổn, và hầu hết không đòi
hỏi yêu cầu cài đặt cho người dùng cuối.
Con số doanh nghiệp thu được lợi nhuận từ kinh doanh qua Web ngày
càng tăng. Do đó, việc sử dụng ứng dụng Web và các công nghệ liên quan
khác sẽ tiếp tục phát triển. Hơn nữa, khi các mạng Intranet và Extranet
được thông qua, ứng dụng Web trở thành “cứ điểm” lớn trong bất kỳ cơ sở
hạ tầng truyền thông nào của các tổ chức, doanh nghiệp. Phạm vi và khả
năng kỹ thuật, trình độ cao được mở rộng.
Hoạt động như thế nào?
Hình bên dưới minh họa chi tiết mô hình ứng dụng Web ba tầng. Tầng đầu
tiên thông thường là trình duyệt Web hoặc giao diện người dùng. Tầng thứ
hai là công nghệ kỹ thuật tạo nội dung động như Java servlets (JSP) hay
Active Server Pages (ASP). Còn tầng thứ ba là cơ sở dữ liệu chứa nội dung
(như tin tức) và dữ liệu người dùng (như username, password, mã số bảo
mật xã hội, chi tiết thẻ tín dụng).
Hình 1
Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên
trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application
Server). Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện
nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở
dữ liệu. Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình
duyệt.
Hình 2
I.2. GIỚI THIỆU VỀ ĐỀ TÀI
I.2.1. MỤC ĐÍCH CỦA TÀI LIỆU
I.2.2. PHÁT BIỂU BÀI TOÁN
I.2.3.
CHƯƠNG II. NGHIÊN CỨU ORACLE
II.1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
ORACLE
II.1.1. KHÁI NIỆM
II.1.2 ƯU ĐIỂM
Nhiều người cho rằng Oracle chỉ sử dụng cho những Doanh Nghiệp (DN)
lớn nên không thích hợp ở Việt Nam.
Điều này, là hoàn toàn sai lầm. Oracle không chỉ nhắm tới những DN lớn
mà còn nhắm tới những DN trung bình và cho cả những DN 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 DN: 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 DN đã 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
thậm chí còn rẻ hơn (xem phần so sánh giá), nhưng lợi ích có được lại rất
lớn.
Về phía những 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ớị
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 OS khác nhau
(Windows, Solaris, Linux,...) mà không cần phải viết lại PL/SQL codẹ
Có thể import một dumpFile (backupFile) từ một máy chạy OS này sang
OS 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 đó).
II.1.3. KIẾN TRÚC
Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho
phép quản lý thông tin một cách toàn diện. Oracle server bao gồm hai
thành phần chính là Oracle instance và Oracle database.
II.1.3.1. Oracle Instance
Oracle instance bao gồm một cấu trúc bộ nhớ System Global Area (SGA)
và các background processes (tiến trình nền) được sử dụng để quản trị
cơ sở dữ liệu. Oracle instance được xác định qua tham số môi trường
ORACLE_SID của hệ điều hành.
Background
process
Hình vẽ 1. Kiến trúc Oracle Server
System Global Area - SGA
SGA là vùng bộ nhớ chia sẻ được sử dụng để lưu trữ dữ liệu và các
thông tin điều khiển của Oracle server. SGA được cấp phát trong bộ
nhớ của máy tính mà Oracle server đang hoạt động trên đó. Các User
kết nối tới Oracle sẽ chia sẻ các dữ liệu có trong SGA, việc mở rộng
không gian bộ nhớ cho SGA sẽ làm nâng cao hiệu suất của hệ thống,
lưu trữ được nhiều dữ liệu trong hệ thống hơn đồng thời giảm thiểu các
thao tác truy xuất đĩa (disk I/O).
SGA bao gồm một vài cấu trúc bộ nhớ chính:
+ Share Pool
Shared pool là một phần trong SGA và được sử dụng khi thực hiện
phân tích câu lệnh (parse phase). Kích thước của Shared pool được
xác định bởi tham số SHARED_POOL_SIZE có trong parameter file
(file tham số).
Các thành phần của Shared pool gồm có: Library cache và Data
dictionary cache.
Hình vẽ 2. Cấu trúc Share Pool
Hình vẽ 3.
+ Library Cache
Library cache lưu trữ thông tin về các câu lệnh SQL được sử dụng
gần nhất bao gồm:
 Nội dung của câu lệnh dạng text (văn bản).
 Parse tree (cây phân tích) được xây dựng tuỳ thuộc vào câu lệnh.
 Execution plan (sơ đồ thực hiện lệnh) gồm các bước thực hiện và tối ưu
lệnh.
Do các thông tin trên đã được lưu trữ trong Library cache nên khi
thực hiện lại một câu lệnh truy vấn, trước khi thực hiện câu lệnh,
Server process sẽ lấy lại các thông tin đã được phân tích mà không
phải phân tích lại câu lệnh. Do vậy, Library cache có thể giúp nâng
cao hiệu suất thực hiện lệnh.
+ Data Dictionary Cache
Data dictionary cache là một thành phần của Shared pool lưu trữ
thông tin của dictionary cache được sử dụng gần nhất như các định
nghĩa các bảng, định nghĩa các cột, usernames, passwords, và các
privileges (quyền).
Trong giai đoạn phân tích lệnh (parse phase), Server process sẽ tìm
các thông tin trong dictionary cache để xác định các đối tượng trong
câu lệnh SQL và để xác định các mức quyền tương ứng. Trong
trường hợp cần thiết, Server process có thể khởi tạo và nạp các
thông tin từ các file dữ liệu.
+ Data buffer cache
Khi thực hiện một truy vấn, Server process sẽ tìm các blocks cần
thiết trong database buffer cache. Nếu không tìm thấy block trong
database buffer cache, Server process mới đọc các block từ data file
và tạo luôn một bản sao của block đó vào trong vùng nhớ đệm
(buffer cache). Như vậy, với các lần truy xuất tới block đó sau này
sẽ không cần thiết phải truy xuất vào datafile nữa.
Hình vẽ 4. Database buffer cache
Database buffer cache là vùng nhớ trong SGA sử dụng để lưu trữ
các block dữ liệu được sử dụng gần nhất. Tương tự như kích thước
của blocks dữ liệu được xác định bởi tham số DB_BLOCK_SIZE,
kích thước của vùng đệm trong buffer cache cũng được xác định bởi
tham số DB_BLOCK_BUFFERS.
Oracle server sử dụng giải thuật least recently used (LRU) algorithm
để làm tươi lại vùng nhớ. Theo đó, khi nạp mới một block vào bộ
đệm, trong trường hợp bộ đệm đã đầy, Oracle server sẽ loại bớt
block ít được sử dụng nhất ra khỏi bộ đệm để nạp block mới vào bộ
đệm.
+ Redo log buffer
Server process ghi lại các thay đổi của một instance vào redo log
buffer, đây cũng là một phần bộ nhớ SGA.
Hình vẽ 5. Redo log buffer
Có một số đặc điểm cần quan tâm của Redo log buffer:
 Kích thước được xác định bởi tham số LOG_BUFFER.
 Lưu trữ các redo records (bản ghi hồi phục) mỗi khi có thay đổi dữ liệu.
 Redo log buffer được sử dụng một cách thường xuyên và các thay đổi
bởi một transaction có thể nằm đan xen với các thay đổi của các
transactions khác.
 Bộ đệm được tổ chức theo kiểu circular buffer (bộ đệm nối vòng) tức là
dữ liệu thay đổi sẽ tiếp tục được nạp lên đầu sau khi vùng đệm đã
được sử dụng hết.
Background process
Background process (các tiến trình nền) thực hiện các chức năng thay
cho lời gọi tiến trình xử lý tương ứng. Nó điều khiển vào ra, cung cấp
các cơ chế xử lý song song nâng cao hiệu quả và độ tin cậy. Tùy theo
từng cấu hình mà Oracle instance có các Background process như:
 Database Writer (DBW0): Ghi lại các thay đổi trong data buffer cache
ra các file dữ liệu.
 Log Writer (LGWR): Ghi lại các thay đổi được đăng ký trong redo log
buffer vào các redo log files.
 System Monitor (SMON): Kiểm tra sự nhất quán trong database.
 Process Monitor (PMON): Dọn dẹp lại tài nguyên khi các tiến trình
của Oracle gặp lỗi.
 Checkpoint Process (CKPT): Cập nhật lại trạng thái của thông tin
trong file điều khiển và file dữ liệu mỗi khi có thay đổi trong buffer
cache.
II.1.3.2. Oracle Database
Oracle database là tập hợp các dữ liệu được xem như một đơn vị thành
phần (Unit). Database có nhiệm vụ lưu trữ và trả về các thông tin liên
quan. Database được xem xét dưới hai góc độ cấu trúc logic và cấu trúc
vật lý . Tuy vậy, hai cấu trúc dữ liệu này vẫn tồn tại tách biệt nhau, việc
quản lý dữ liệu theo cấu trúc lưu trữ vật lý không gây ảnh hưởng tới cấu
trúc logic
Oracle database được xác định bởi tên một tên duy nhất và được quy định
trong tham số DB_NAME của parameter file.
Hình vẽ 6. Cấu trúc database
Cấu trúc vật lý database
Cấu trúc vật lý bao gồm tập hợp các control file, online redo log file
và các datafile:
+ Datafiles
Mỗi một Oracle database đều có thể có một hay nhiều datafiles. Các
database datafiles chứa toàn bộ dữ liệu trong database. Các dữ liệu
thuộc cấu trúc logic của database như tables hay indexes đều được
lưu trữ dưới dạng vật lý trong các datafiles của database.
Một số tính chất của datafiles:
 Mỗi datafile chỉ có thể được sử dụng trong một database.
 Bên cạnh đó, datafiles cũng còn có một số tính chất cho phép tự động
mở rộng kích thước mỗi khi database hết chỗ lưu trữ dữ liệu.
 Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database
gọi là tablespace.
 Một datafile chỉ thuộc về một tablespace.
+ Redo Log Files
Mỗi Oracle database đều có một tập hợp từ 02 redo log files trở lên.
Các redo log files trong database thường được gọi là database's redo
log. Một redo log được tạo thành từ nhiều redo entries (gọi là các
redo records).
Chức năng chính của redo log là ghi lại tất cả các thay đổi đối với dữ
liệu trong database. Redo log files được sử dụng để bảo vệ database
khỏi những hỏng hóc do sự cố. Oracle cho phép sử dụng cùng một
lúc nhiều redo log gọi là multiplexed redo log để cùng lưu trữ các
bản sao của redo log trên các ổ đĩa khác nhau.
Các thông tin trong redo log file chỉ được sử dụng để khôi phục lại
database trong trường hợp hệ thống gặp sự cố và không cho phép
viết trực tiếp dữ liệu trong database lên các datafiles trong database.
Ví dụ: khi có sự cố xảy ra như mất điện bất chợt chẳng hạn, các dữ
liệu trong bộ nhớ không thể ghi trực tiếp lên các datafiles và gây ra
hiện tượng mất dữ liệu. Tuy nhiên, tất cả các dữ liệu bị mất này đều
có thể khôi phục lại ngay khi database được mở trở lại. Việc này có
thể thực hiện được thông qua việc sử dụng ngay chính các thông tin
mới nhất có trong các redo log files thuộc datafiles. Oracle sẽ khôi
phục lại các database cho đến thời điểm trước khi xảy ra sự cố.
Công việc khôi phục dữ liệu từ các redo log được gọi là rolling
forward.
+ Control Files
Mỗi Oracle database đều có ít nhất một control file. Control file
chứa các mục thông tin quy định cấu trúc vật lý của database như:
 Tên của database.
 Tên và nơi lưu trữ các datafiles hay redo log files.
 Time stamp (mốc thời gian) tạo lập database, ...
Mỗi khi nào một instance của Oracle database được mở, control file
của nó sẽ được sử dụng để xác định data files và các redo log files đi
kèm. Khi các thành phần vật lý cả database bị thay đổi (ví dụ như,
tạo mới datafile hay redo log file), Control file sẽ được tự động thay
đổi tương ứng bởi Oracle.
Control file cũng được sử dụng đến khi thực hiện khôi phục lại dữ
liệu.
Cấu trúc logic databse
Cấu trúc logic của Oracle database bao gồm các đối tượng
tablespaces, schema objects, data blocks, extents, và segments.
+ Tablespaces
Một database có thể được phân chia về mặt logic thành các đơn vị
gọi là các tablespaces, Tablespaces thường bao gồm một nhóm các
thành phần có quan hệ logic với nhau.
+ Databases, Tablespaces, và Datafiles
Mối quan hệ giữa các databases, tablespaces, và datafiles có thể
được minh hoạ bởi hình vẽ sau:
Hình vẽ 7. Quan hệ giữa database, tablespace và datafile
Có một số điểm ta cần quan tâm:
 Mỗi database có thể phân chia về mặt logic thành một hay
nhiều tablespace.
 Mỗi tablespace có thể được tạo nên, về mặt vật lý, bởi một
hoặc nhiều datafiles.
 Kích thước của một tablespace bằng tổng kích thước của các
datafiles của nó. Ví dụ: trong hình vẽ ở trên SYSTEM
tablespace có kích thước là 2 MB còn USERS tablespace có
kích thước là 4 MB.
 Kích thước của database cũng có thể xác định được bằng
tổng kích thước của các tablespaces của nó. Ví dụ: trong
hình vẽ trên thì kích thước của database là 6 MB.
+ Schema và Schema Objects
Schema là tập hợp các đối tượng (objects) có trong database.
Schema objects là các cấu trúc logic cho phép tham chiếu trực tiếp
tới dữ liệu trong database. Schema objects bao gồm các cấu trúc như
tables, views, sequences, stored procedures, synonyms, indexes,
clusters, và database links.
+ Data Blocks, Extents, and Segments
Oracle điểu khiển không gian lưu trữ trên đĩa cứng theo các cấu trúc
logic bao gồm các data blocks, extents, và segments.
+ Oracle Data Blocks
Là mức phân cấp logic thấp nhất, các dữ liệu của Oracle database
được lưu trữ trong các data blocks. Một data block tương ứng với
một số lượng nhất định các bytes vật lý của database trong không
gian đĩa cứng. Kích thước của một data block được chỉ ra cho mỗi
Oracle database ngay khi database được tạo lập. Database sử dụng,
cấp phát và giải phóng vùng không gian lưu trữ thông qua các
Oracle data blocks.
+ Extents
Là mức phân chia cao hơn về mặt logic các vùng không gian trong
database. Một extent bao gồm một số data blocks liên tiếp nhau,
cùng được lưu trữ tại một thiết bị lưu giữ. Extent được sử dụng để
lưu trữ các thông tin có cùng kiểu.
+ Segments
Là mức phân chia cao hơn nữa về mặt logic các vùng không gian
trong database. Một segment là một tập hợp các extents được cấp
phát cho một cấu trúc logic . Segment có thể được phân chia theo
nhiều loại khác nhau:
Data
segment
Mỗi một non-clustered table có một data segment. Các
dữ liệu trong một table được lưu trữ trong các extents
thuộc data segment đó. Với một partitioned table thì
mỗi each partition lại tương ứng với một data
segment.
Mỗi Cluster tương ứng với một data segment. Dữ liệu
của tất cả các table trong cluster đó đều được lưu trữ
trong data segment thuộc Cluster đó.
index
segment
Mỗi một index đều có một index segment lưu trữ các
dữ liệu của nó. Trong partitioned index thì mỗi
partition cũng lại tương ứng với một index segment.
rollback
segment
Một hoặc nhiều rollback segments của database được
tạo lập bởi người quản trị database để lưu trữ các dữ
liệu trung gian phục vụ cho việc khôi phục dữ liệu.
Các thông tin trong Rollback segment được sử dụng
để:
 Tạo sự đồng nhất các thông tin đọc
được từ database
 Sử dụng trong quá trình khôi phục dữ
liệu
 Phục hồi lại các giao dịch chưa commit
đối với mỗi user
temporary
segment
Temporary segments được tự động tạo bởi Oracle mỗi
khi một câu lệnh SQL statement cần đến một vùng
nhớ trung gian để thực hiện các công việc của mình
như sắp xếp dữ liệu. Khi kết thúc câu lệnh đó, các
extent thuộc temporary segment sẽ lại được hoàn trả
cho hệ thống.
Oracle thực hiện cấp phát vùng không gian lưu trữ một cách linh
hoạt mỗi khi các extents cấp phát đã sử dụng hết.
Các cấu trúc vật lý khác
Ngoài ra, Oracle Server còn sử dụng các file khác để lưu trữ thông tin.
Các file đó bao gồm:
 Parameter file: Parameter file chỉ ra các tham số được sử dụng
trong database. Người quản trị database có thể sửa đổi một vài
thông tin có trong file này. Các tham số trong parameter file
được viết ở dạng văn bản.
 Password file: Xác định quyền của từng user trong database.
Cho phép người sử dụng khởi động và tắt một Oracle
instance.
 Archived redo log files: Là bản off line của các redo log files
chứa các thông tin cần thiết để phục hồi dữ liệu.
II.2. GIỚI THIỆU ORACLE DESIGNER
II.2.1. VAI TRÒ
II.2.2. CÁC CÔNG CỤ
II.2.3. THÀNH PHẦN VÀ CÁCH THỰC HIỆN ORACLE DESIGNER
II.3. GIỚI THIỆU ORACLE REPORT
II.3.1. ORACLE REPORT LÀ GÌ?
Oracle Reports là một công cụ phát triển ứng dụng, hiển thị và in báo cáo
theo yêu cầu. Nó phát triển dựa trên ngôn ngữ CSDL SQL và PL/SQL.
II.3.2. ƯU ĐIỂM CỦA ORACLE REPORT
Oracle report cho phép tạo ra rất nhiều loại báo cáo khác nhau, từ cơ bản
đến phức tạp bao gồm: mester/detail reports, nested matrix reports, form
letters, và mailing labels. Các đặc trưng chính bao gồm:
 Data model dùng để tạo dữ liệu trong report và Layout editor
dùng để thiết kế giao diện report
 Object navigator giúp bạn có một cái nhìn tổng thể về dữ liệu và
các đối tượng trong report theo cấu trúc hình cây
 Packe function dùng để gán cho các đối tượng trong báo cáo để
tính toán hoặc điều khiển sự hiển thị
 Giao diện báo cáo là đồ họa, có thể đặt điều kiện in ấn
 Cho phép xem trước báo cáo giống như khi được in ra
 Có trợ giúp online theo đối tượng
II.3.3. CÁC THÀNH PHẦN CỦA ORACLE REPORT BUILDER
 Data Model : Thiết lập nên các dữ liệu cho một Report
 Layout Model : Xây dựng Layout, thiết kế hiển thị cho các đối
tượng
 Live Previewer : Hiển thị Report như dạng mà nó sẽ được in ra để
có thể chỉnh sửa đơn giản các thành phần dữ liệu hiển thị.
 Parameter Form : Thiết lập các tham số cần nhập vào cho Report
khi chạy.
 Properties : Khai báo các thuộc tính của Report, ví dụ kích cỡ cho
một trang in.
 Triggers : Các thủ tục sẽ được xử lý tại các giai đoạn khác nhau
theo sự kiện khi vận hành Report.
 PL/SQL Program Units : Các chương trình con PL/SQL mà có thể
được gọi ra để thực hiện.
II.3.4. CÁC KIỂU CỦA ORACLE REPORT
Có một số kiểu Report thông thường sau:
- Tabular
- Master-Detail
- Matrix.
Ví dụ trong bài toán quản lý học sinh, ta có thể lập báo cáo theo
các kiểu trên như sau:
+ Kiểu Tabular
+ Kiểu Master_Detail
+ Kiểu Matrix: dữ liệu hiển thị dạng bảng trong đó cột và hang
là các Master và nội dung hiển thị trong các ô là dữ liệu Detail.
II.3.5. KẾT QUẢ CỦA ORACLE REPORT
Kết quả của một Report có thể được kết xuất ra ở một số thành phần sau:
 Screen: hiển thị trên màn hình
 Preview:xem report trên màn hình giống như in
 File: hiển thị kết quả ra một file theo dạng .PDF, .HTML.
 Printer: in ra report
 Mail: đưa report vào mail sử dụng Oracle Mail.
II.3.6. CÁC BƯỚC TẠO ORACLE REPORT
Có 3 bước để tạo một Oracle Report mới
Định nghĩa một report mới
Khi chạy Report Builder thì mạc định sẽ tạo cho ta một report mới. Nếu
không chúng ta có thể tạo một report mới bằng cách chọn File -> New ->
New Report từ menu chính của Oracle Report Builder.
Khi tạo xong một đối tượng report mới chúng ta có thể dễ dàng nhìn thấy
panel đầu tiên nằm phía bên trái trong phần màn hình chính của Report
Builder. Đây là một panel vô cùng quan trọng, nó thể hiện toàn bộ các đối
tượng có trong report theo cấu trúc hình cây, và ta có thể di chuyển đến bất
cứ đối tượng nào một cách dễ dàng. Các đối tượng trong report được nhóm
theo từng nhóm riêng biệt, được tổ chức theo hình cây giúp ta dễ dàng tìm
kiếm đối tượng cần thiết.
Tạo data model gồm: chọn dữ liệu nào, mối liên hệ dữ liệu và các tính
toán liên quan đến báo cáo
Data model là nơi chứa các đối tượng dữ liệu cấu trúc dữ liệu và các mối
liên kết dữ liệu của report. Ta có thể tạo mới, sửa đổi, các đối tượng model
trong data model editor. Các loại đối tượng có trong data model bao gồm:
- Queries: là một câu lệnh select. Chúng ta có thể lấy dữ liệu từ một
hoặc nhiều bảng trên một hoặc nhiều CSDL khác nhau.
- Groups: Group xác định cấu trúc dữ liệu trong báo cáo. Oracle tự
động tạo ra một group ứng với mỗi query nhưng ta có thể tạo thêm
các group mới từ query đó.
Chúng ta sử dụng group kiểu cha – con để tạo ra các breack reports
- Columns: đây là nơi chứa dữ liệu của report. Cột mạc định tương
ứng với các cột chứa trong câu lệnh select. Ta cũng có thể tạo ra các
cột tổng, các cột công thức.
- Parameters: là các biến trong report cho phép điều khiển sự diển thị
trong runtime. Có 2 loại parameter là user parameter và system
parameter. Oracle tự động tạo các system parameter tại thời điểm
runtime còn user parameter là do người sử dụng tự định nghĩa.
- Data links: được dùng để tạo kết nối cha – con giữa các query và
group.
Tạo layout để thể hiện báo cáo: đầu tiên dùng default layout tạo layout
mạc định, rồi tu chỉnh mạc định để có layout riêng của bạn
Tạo layout cho report chính là xác định xem cái báo cáo của chúng ta trông
sẽ như thế nào. Oracle report cung cấp cho chúng ta 6 layout styles mạc
định bao gồm: tabular, master/detail, form letter, form, mailing label, và
matrix. Bạn có thể chọn một trong các kiểu trên rồi tu chỉnh lại thành
layout riêng của mình.
Các đối tượng trong Layout bao gồm:
Repeating frames
Frames
Fields
Boilerplate
anchors
II.4. NGHIÊN CỨU ORACLE FORM
II.4.1. TỔNG QUAN VỀ ORACLE FORM
II.4.1.1. Vai trò
Oracle form là một trong những sản phẩm quan trọng trong bộ công
công cụ Developer và là công cụ phát triển form chính của oracle trong
hơn 15 năm qua. Trong suốt thời gian này thì các ứng dụng của form
builder được sử dụng trong các hệ thống máy tính lớn, môi trường dựa
trên cơ sở ký tự, môi trường client sever, và bây giờ là môi trường web.
Oracle Form cung cấp các phương tiện phát triển giao diện, các xử lý, các
thao tác với dữ liệu trong database và có khả năng kết nối, trao đổi thông
tin với các ứng dụng khác của Oracle như là Oracle Report, Oracle
Graphic.
II.4.1.2. Các modul(file) có trong một ứng dụng Oracle form
Một ứng dụng Oracle form có thể gồm 1 hoặc nhiều moduls(files). Có
3 loại moduls sau:
Form: đại diện cho các đối tượng dữ liệu mà người sử dụng có thể
nhìn thấy hoặc thực hiện các thao tác. Các file này có phần mở rộng là
*.FMB, *.FMX
Menu: Đây là nơi chứa một loạt các chức năng mà ta có thể lựa chọn
để thực hiện. Các file này có phần mở rộng là *.MMB, *.MMX
Library: Đây là nơi chứa các thành phần của form. Các thành phần
của library có thể chứa bất kỳ đối tượng nào của form. Nó cho phép sử
dụng đi sử dụng lại các thành phần của form, hỗ trợ bạn chuẩn hóa các
form của mình, tiết kiệm thời gian trong khi phát triển. Các file này có
phần mở rộng là *.PLL, *.PLX
II.4.1.3. Các thành phần của Oracle Form
Trong Oracle Form 10g có 3 thành phần chính là:
Form Builder: hay còn gọi là môi trường phát triển tích hợp. công cụ
này cung cấp các thành phần thiết kế mong muốn như là thiết kế giao
diện, thiết kế menu, thiết kế library.
Form compiler: thành phần này giúp ta biên dịch các file tạo bởi
Oracle builder thành các file có thể thực thi được.
Oracle Server: Thành phần này giúp ta thực thi file được tạo ra bởi
Form compiler trong môi trường web. Nó là một sản phẩm trung gian để
nhận các các yêu cầu từ một trình duyệt web và dọn sẵn một java applet
dựa trên form cho trình duyệt. Form Server có thể được gọi từ trình duyệt
web hoặc có thể được gọi trong form builder
II.4.1.4. Môi trường phát triển
Ngày nay thì oracle form chỉ tập trung phát triển để xây dựng các ứng
dụng chạy trên web và internet. Mục đính của Oracle là sử dụng web để
loại bỏ sự phụ thuộc vào hệ điều hành. Khi đó chúng chỉ phụ thuộc vào
trình duyệt web và web server.
Khi sử dụng form trên web, file thực thi được đăng ký với web server.
Oracle web server được gọi là oracle9iAS và form server là một trong
nhứng thành phần của nó.
File thư viện
FMB
File thư viện
FMX
Người dùng
thực thi Form
Form builder
xây dựng
Form compile
biên dịch
Form server hoăc
form runtime thực
thi
Để thực thi web form, một người dung yêu cầu 1 URL trong trình duyệt
web của mình. URL chỉ đến một ứng dụng được đăng ký bên trong form
server. Một listener trên web server nắm lấy các yêu cầu URL này vào
chuyển nó đến form server. Form server tìm kiếm file thực thi .fmx và
đổi file .fmx thành một java applet và gửi tới trình duyệt web. Để thực thi
một form trong trình duyệt web client phải có một applet gọi là Jinitiator.
Khi một form Oracle được thực thi thông qua web, web server lưu trữ
form và gửi Jinitiator tới trình duyệt web của client (nếu nó chưa tồn tại
trên client). Jinitiator là một applet chung, nó được tải về client một lần.
Nó cũng có thể được sử dụng để tô điểm form bên trong trình duyệt,
kiểm tra tính hợp lệ của dữ liệu, và liên kết với form server. Form server
đọc và thực thi file .fmx. Form server kết nối với cơ sở dữ liệu và với
applet trên trình duyệt web.
II.4.2. CÁC CÔNG CỤ CỦA FORM BUILDER
Form buider có các công cụ để xây dựng form: object navigator, layout
editor, property palette và PL/SQL editor.
II.4.2.1. Object Navigator
là nơi định vị và di chuyển tới bất kỳ thành phần nào của form. Double
click vào bất kỳ đối tượng nào trong cửa sổ object navigator làm cho
form builder thể hiện đối tượng được chọn bên trong một công cụ form
builder thích hợp. object navigator được sử dụng để tạo, xóa hoặc sao
chép và đổi tên các thành phần của form.
Object navigator là đối tượng được tổ chức theo cấp bậc. Ở mức cao nhất
là file nhị phân nằm trên máy chủ. Mỗi khi một file được mở hoặc tạo thì
đối tượng con được liệt kê phía dưới đối tượng cha thích hợp
II.4.2.2. Property Palette
Là một công cụ của form builder được sử dụng để định nghĩa các đặc
tính đặc biệt của các thành phần form. Mỗi thành phần có một bộ thuộc
tính khác nhau. Ví dụ các thuộc tính thành phần bao gồm sự giới hạn,
chiều dài giá trị, kiểu dữ liệu hoặc giá trị thông báo. Các thuộc tính này
về thực chất có thể được sử dụng để điều khiển các hành vi của form.
Double click vào đối tượng trong object navigator thường mở ra một
công cụ property palette.
II.4.2.3. Layout Editor
Là công cụ được dùng để vẽ form. Công cụ này cho phép bạn di chuyển
và sắp xếp các đối tượng của form, thiết lập font chữ và tô màu, thêm các
thành phần vào form và thêm một nhãn cho thành phần đó. Việc double
click vào bất cứ thành phần đồ họa trong object navigator làm cho layout
editor trình bày một canvas để chứa đối tượng đồ họa đó.
II.4.2.4. PL/SQL Editor
Công cụ này sử dụng để viết các kịch bản PL/SQL cần thiết cho một
form. Kịch bản PL/SQL này được đặt trong các trigger gắn với các đối
tượng của form.
II.4.3. KHỞI TẠO ORACLE FORM BUILDER
II.4.3.1. Khởi tạo Oracle Form Builder
Có 2 cách để gọi Oracle Forms Designer
Tìm đến biểu tượng Forms Designer và nháy đúp con trỏ trên biểu
tượng để vào Forms Designer; hoặc
Chạy file frmbld.exe trong thư mục bin của thư mục đã cài bộ Oracle
developer (ví dụ: C: C:DevSuiteHome_1BIN).
II.4.3.2. Tạo và Xóa Form
Tạo một Form trong Oracle Forms Designer phải :
- Vào chức năng File/New/Form ;hoặc
- Đặt con trỏ vào biểu tượng forms trên Object Navigator sau đó nhấn
vào biểu tượng Create (hình dấu [+] ).
Muốn xoá form đặt hộp chọn vào tên form cần xoá sau đó nhấn phím del
hoặc nhấn vào biểu tượng delete trên Object Navigator
II.4.3.3. Lưu trữ và thực hiện Form
Muốn lưu trữ chọn chức năng file/save hoặc File/Save As sau đó đưa
đường dẫn và tên file cần lưu trữ. File ngầm định sẽ có đuôi *.FMB.
Để chạy form vào chức năng programe/Run form hoặc nhấn vào biểu
tượng Run form để chạy. Trong trường hợp login vào CSDL, Form
Designer sẽ hỏi tên user và mật khẩu (có thể vào chức năng file/connect
để login vào CSDL).
Khi chọn chức năng chạy form, form sẽ tự động được biên dịch và tự
sinh ra file chạy. Nếu có lỗi sẽ có thông báo hiện lên.
Để biên dịch form chọn chức năng program/Compile
II.4.4. CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT FORM
II.4.4.1. Window
Khái niệm :
Window là một cửa sổ màn hình giống như một khung bức tranh rỗng (
chưa có nội dung). Window có các chức năng cho phép phóng to, thu
nhỏ, cuốn lên-xuống, di chuyển vị chí.
Một form có thể có nhiều window. Tất cả các form khi tạo mới sẽ tự
động tạo một window ngầm định với tên là WINDOW0. Có thể tạo các
window bằng cách chèn thêm (insert) từ Object Navigator.
Mỗi một window được tạo hầu như đồng thời với việc tạo một canvas-
view. Canvas-view sẽ là nền cho giao diện để đặt các đối tượng (như
item,boilerplate text và graphics). Cũng có thể đặt tương ứng canvas-
view với window bằng cách đặt thuộc tính trong canvas-view.
Tại thời điểm chạy ứng dụng, window sẽ được hiển thị khi có lời gọi từ
chương trình hoặc khi có sự định hướng xuất hiện (Navigation) của một
item trên một canvas-view mà được gán tới window. Oracle Forms hiển
thị window với nền canvas-view tương ứng
Trong cửa sổ thuộc tính của window ta có thể đặt các thuộc tính của
window.
Cách tạo và xóa một window:
Để tạo mới một window ta chuyển hộp chọn trên cửa sổ Object
Navigator vào đối tượng windows sau đó nhấn vào biểu tượng Create. Ta
có thể nháy đúp chuột vào window để gọi cửa sổ thuộc tính để có thể
thay đổi tên ngầm định của window hoặc các thuộc tính khác.
Muốn xóa một window đặt con chuột vào biểu tượng window cần xoá
sau đó nhấn phím del hoặc nhấn vào biểu tượng delete trên Object
Navigator
Thuộc tính cơ bản của window.
General:
 Name: tên của Windows
 Subclass information: chèn một nhóm thuộc tính đã được
xây dựng sẵn cho window
 Comments: Chú thích của window
Functional:
 Title: Tiêu đều hiển thị của window
 Primary canvas: Canvas chính(mạc định) được đặt nên
window
 Horizontal/vertical toolbar Canvas: Xác định toolbar nào được
hiển thị trong window
 Window style: Xác định kiểu window (2 kiểu là document và
dialog)
 Close/move/resize allowed: cho phép đóng, di chuyển, thay
đổi kích cơ của sổ hay không?
 Maximize/minimized allowed: có cho phép thu nhỏ và phong
to cửa sổ cực đại hay không?
 Minimized title: tiêu đề của của sổ khi bị thu nhỏ nhất
 Icon filename: tên file biểu tượng của của sổ
 Inherit menu: window hiển thị với form menu hiện thời
Physical:
 X/Y position: Tọa độ vị trí xuất hiện của của sổ trên màn hình
máy tính
 Width: độ rộng của của sổ
 Height: độ cao của của sổ
 Bevel: kiểu khung hiển thị của window
 Show horizontal/vertical scroll bar: Hiển thị thanh trượt
ngang/ đứng hay không?
Visual Attributes:
 Visial attribute group: Chén nhóm các thuộc tính trực quan
được xây dựng sẵn vào window
Color:
 Foreground color: Màu chữ hiển thị
 Background color: Màu nền hiển thị
Font:
 Font name: chọn form chữ cho của sổ
 Font size: chọn cỡ chữ
 Font style: Chọn kiểu chữ
International:
 Direction: Hướng
II.4.4.2. Canvas
Khái niệm:
Canvas-View là vùng sẽ được hiển thị lúc chạy ứng dụng. Quan hệ giữa
canvas và view (khung nhìn) của nó là một khái niệm cơ bản trong
Oracle Forms. View giống như một hình chữ nhật trên canvas mà những
gì chứa trong view sẽ được hiển thị trên window khi chạy ứng dụng.
Có thể dùng view của canvas để thay đổi kích thước vùng hiển thị. Khi
view cùng kích thước với canvas thì tất cả nội dung trên canvas sẽ được
hiển thị. Khi view nhỏ hơn thì chỉ có một phần canvas trong view được
hiển thị. Canvas-View luôn hiển thị trên window mà ta đã gán tới. Có 3
loại Canvas-View: là content, stacked, toolbar
Với content hoặc toolbar canvas-view: khung nhìn được xác định bởi
window tại đó canvas hiển thị trong nó. Việc thay đổi kích thước window
tại thời điểm chạy sẽ ảnh hưởng đến việc hiển thị nội dung trong canvas.
Với stacked canvas-view: kích thước của view có thể được chỉ định tại
lúc thiết kế bằng cách giá trị cho các thuộc tính tương ứng. Có thể cho ẩn
hay hiện các stacked canvas-view khi thiết kế chương trình. Có thể đặt
thuộc tính để hiển thị các thanh cuốn (có chức năng hiển thị các vùng
khác trên canvas chưa được hiển thị).
Tạo và xóa canvas:
Để tạo mới một canvas-view: vào cửa sổ Object Navigator, vào đối tượng
canvas-views sau đó nhấn vào biểu tượng Create. Ta có thể gọi cửa sổ
thuộc tính để thay đổi các thuộc tính của canvas-view.
Xoá một canvas-views: đặt con chuột vào tên canvas-views cần xoá sau
đó nhấn phím del hoặc nhấn chuột vào biểu tượng Delete để xoá.
Các thuộc tính cơ bản của canvas-views:
General:
 Name: tên canvas
 Canvas type: Kiểu canvas
Functional:
 Raise on Entry: xác định thứ tự hiển thị các canvas trong window
 Popup menu: gán popup menu cho canvas
Viewport:
 Viewport x/yosition: vị trí hiển thị canvas
 Viewport width/height: độ rộng và độ cao của canvas
Physical:
 Visible: xem có hiển thị canvas này hay không?
 Window: xác định window đặt canvas
 Bevel: chọn khung hiển thị canvas
 Corner style: Chọn kiểu góc của canvas
 Width style: Xác định kiểu độ rộng canvas(fixed, variable)
Visual Attributes:
 Visual attribute group: gắn 1 nhóm các thuộc tính trực quan đã
được xác định trước vào canvas
Color:
 Foregroup/background color: Màu chữ và màu nền canvas
Font:
 Font name/size/weight/style: chọn font chữ, cỡ chữ độ rộng và
kiểu chữ
II.4.4.3. Block Data
Khái niệm:
Block là một khối có chứa các Item. Tất cả các Item dù có quan hệ tới
các bảng hoặc không đều phải nằm trong các Block.
Data blocks là một thành phần chứa dữ liệu của form có quan hệ tới các
table ( hoặc view) trên cơ sở dữ liệu. Data blocks có thể chứa item để
nhận thông tin từ cơ sở dữ liệu, và cũng có thể chứa các item không nhận
thôn tin từ cơ sở dữ liệu(control item)
Control block là khối mà không có quan hệ tới các bảng trên cơ sở dữ
liệu và nó chỉ gồm các control item.
Tất cả Data blocks có thể là single-record blocks hoặc multi-record
blocks. Một single-record block chỉ hiển thị một bản ghi tại một thời
điểm. Một multi-record block hiển thị nhiều bản ghi tại một thời điểm.
Một base table block có thể là master block hoặc detail block. Master
block hiển thị các master record. Detail block hiển thị các detail record.
Ta có thể tạo thêm một block bằng cách chèn thêm đối tượng từ Object
Navigator và có thể thay đổi các thuộc tính của block bằng cách thay đổi
các giá trị tương ứng trong cửa sổ thuộc tính của block.
Tạo một Control block
Để tạo một control block ta thực hiện như sau.
- Di chuyển chuột đến bảng Object Navigator.
- Bấm chuột chọn nhóm đối tượng Data block rồi di chuyển bấm vào nút
Create để tạo block.
- Một Bảng xuất hiện với 2 nút radio button. Tích và chọn radio Build a
new data block manually
- Đặt tên cho control block vừa tạo bằng cách kích 2 lần vào tên mạc định
được tạo ra trong Object Navigator và viết vào tên mới. Hoặc là mở
Property palette cho đối tượng block đó và thay đổi thuộc tính Name
thành tên mới muốn đặt cho block
- Thêm các item mong muốn cho block vừa tạo
Tạo một Data block
Để tạo một data block ta có hai cách:
Cách 1: Sử dụng trình Data Block Wizard:
Data block wizard là một trình tạo block đơn giản bằng giao diện của
Oracle Form. Để tạo bằng Data block wizard ta có thể thực hiện như sau:
Khởi động: Bấm chuột phải vào vùng bất kỳ trong object navigator
chọn Data block wizard hoặc chọn mục Data block trong object navigator
và ấn vào nút create, một bảng tùy chọn xuất hiện, ta chọn tùy chọn Use
the Data block wizard rồi chọn Nút OK để khởi động trình Data block
wizard
Trang 1: trang chọn type. Nó được sử dụng để nhập vào loại dữ liệu
nguồn cho block. Hộp thoại này có 2 nút là Table or view và Stored
Procedure. Việc chọn Table or view thiết lập block dữ liệu dựa trên một
bảng hoặc một view của Oracle. Một bảng là một đối tượng cơ sở dữ
liệu để lưu trữ các record. View để lưu trữ các phát biểu select để tạo và
trả về một tập các kết quả hoặc nhận được từ các bảng. Các store
procedure được đặt tên là các kịch bản PL/SQL nằm trong cơ sở dữ liệu.
chúng được sử dụng kết hợp với Ref Cursor và được sử dụng như một
nguồn dữ liệu. Tùy chọn Table or view được thông dụng hơn nên trong
phần này ta sẽ chọn Table or view để đến trang tiếp theo
Hình 1: Trang chọn loại dữ liệu cho data block
Trang 2:trang table. Trang này được sử dụng để thiết lập nguồn dữ liệu.
trang này không xuất hiện nếu bạn chưa đăng nhập vào cơ sở dữ liệu nên
là nếu trước đó bạn chưa đăng nhập vào cơ sở dữ liệu thì bạn sẽ được
nhắc nhở đăng nhập.
Hình 2: Trang 2 data block wizard: chọn nguồn data block
- table or view: Mục này cung cấp tên nguồn dữ liệu là bảng hoặc view
- browse: nút này khởi động hộp thoại table được sử dụng để tìm kiếm
xác định các bảng hoặc các view
- refresh: nút này điền vào hộp danh sách Available column. Chỉ sử
dụng nút này nếu khi chọn bảng hay là view rồi mà vẫn chưa thấy
xuất hiện các cột trong hộp danh sách Available column
- Enforce data integrity: đánh dấu vào hộp kiểm này để thêm các rằng
buộc cơ sở dữ liệu của bảng(view) được chọn vào thuộc tính của data
block
- Available column: hộp liệt kê các cột trình có thể sử dụng cho data
block
- Database items: hộp danh sách trình bày các cột có thể trình bày các
cột sẽ xuất hiện trong data block
- Move buttons: bốn nút xuất hiện giữa 2 hộp danh sách. Chúng được
sử dụng để thêm hoặc loại bỏ từ các cột danh sách
Hình 3: hộp chọn table hoặc view khi bấm vào nut browse của trang 2
trình data block wizard
Trang 3: trang data block name. Đây là trang sử dụng để đặt tên cho
block dữ liệu. Mạc định thì tên block dữ liệu sẽ là tên của table hoặc tên
view đã chọn
Hinh : trang data block name của trình dât block wizard
Trang 4: trang chào mừng. Đây là trang chúc mừng bạn đã vừa tạo xong
1 data block. Trang này còn có 2 nút radio để chọn xem có gọi trình
Layout Wizard không? Đây là trình cho phép ta đặt block dữ liệu lên
canvas. Chúng ta sẽ xét đến trình này sau.
Hinh : trang chào mừng của trình data block wizard
Cách 2: Tạo Data block bằng việc thay đổi các thuộc tính của Control
block
Để tạo một data block bằng tay đầu tiên ta thực hiện tạo một control
block như trên, rồi sau đó chuyển nó thành một data block (gắn nó với dữ
liệu trong database) bằng cách thay đổi thuộc tính của block đó. Các
thuộc tính và giá trị cần thay đổi là:
Database data block: Yes
Query data source name: có các tùy chọn là none, table, procedure,
transactional trigger, from clause query. Tùy chọn thông thường là table.
Nó sẽ lấy dữ liệu của một bảng nào đó. Tùy chọn from clause query sử
dụng để ta viết vào một câu lệnh select truy vấn dữ liệu từ các bảng khác
nhau
Query data source name: đây là nơi điền nguồn dữ liệu cho data block.
Nếu chọn là table ở thuộc tính trên thì tại đây ta điền vào tên bảng mong
muốn. Nếu chọn from clause query ở trên thì ta đánh vào câu lệnh select
mong muốn.
Xóa một block (data và control block)
Để xóa một block ta thực hiện như sau:
Chọn data block muốn xóa trong object navigator. Rồi ấy Del hoặc
chọn nút delete trong object navigator
Các thuộc tính cơ bản của block
General:
 Name: tên datablock
 Subclass information: điền vào một tập các giá trị thuộc tính đã
xây dựng sẵn
Navigation:
 Navigation style: Kiểu di chuyển trong block
 Previous/next navigation data block: chỉ block trước và block
tiếp theo block hiện thời
Record:
 Number of records displayed: số record hiển thị tại một thời điểm
 Record orientation: chỉ hướng của record là ngang hay học
Database:
 Database data block: xác định xem block là data hay control
block
 Query/delete/insert/update allow: cho phép truy vấn, xóa, chèn
hay update hay không?
 Query data source type: chọn kiểu nguồn dữ liệu
 Query data source name: điền nguồn dữ liệu cho block
 Where/ order by clause: tiêu chí hạn chế hặc xắp xếp dữ liệu
trong block
Scrollbar:
 Show scroll bar: xác định xem có hiển thị scroll bar hay không?
 Scroll bar orientation: chọn hướng của scroll bar
 Scroll bar x/y position: tọa độ scroll bar
 Scroll bar width/length: chiều dài và rộng của scroll bar
Color:
 Fore/background color: chọn màu chữ, màu nền
II.4.4.4. Item
Khái niệm
Items là các đối tượng giao diện mà hiển thị thông tin để thực hiện
các thao tác và các tương tác với người sử dụng.
Oracle Forms cung cấp các kiểu giao diện item mà ta có thể sử dụng
để xây dựng các giao diện ứng dụng. Gồm: button, chart item, check box,
display item, image item, list item, radio group, text item, text. Mỗi một
item trong form đều thuộc vào một block nào đó. Các item trong một
block có thể nằm trên các canvas-views khác nhau và có thể hiển thị trên
các window khác nhau.
Các item trên thanh toolbar của màn hình layout ( Tools/Layout
Editer)
Hình 5: thanh tool bar của layout editor
Cách tạo và xóa một item:
Trong màn hình layout để tạo một item, ta phải nhấn chuột vào biểu
tượng của item tương ứng, sau đó kéo thả chuột vào màn hình layout.
Thuộc tính canvas chỉ ra canvas nào item đang hiển thị và block chỉ ra
item thuộc block nào. Có thể thay đổi các giá trị này.
Cũng có thể vào Object Nevigator chọn đối tượng blocks/[tên
block]/items muốn đặt item, sau đó nhấn vào biểu tượng Create. Nháy
đúp con trỏ chuột lên trên item vừa tạo sẽ hiện lên màn hình thuộc tính
cho phép thay đổi các thuộc tính của item.
Muốn xoá một text item, đặt hộp chọn vào item cần xoá sau đó nhấn
phím del hoặc biểu tượng Delete trên cửa sở Object Navigator để xoá.
Lấy giá trị item: <biến>:=:<tên block >.<tên item>
Gán giá trị cho item: :<tên block >.<tên item>:=<Giá trị>
II.4.4.4.1. Text Item:
Khái niệm: Text item Là đối tượng dạng text hiển thị các giá trị
dạng string. Text item cho phép thực hiện các thao tác soạn thảo.
Là kiểu ngầm định của oracle forms.
Cách tạo, xóa: giống với cách tạo xóa item chung
Các thuộc tính chung cơ bản của item:
General
 Name: tên của item
 Intem type: kiểu của item
 Subclass information: chèn một tập các thuộc tính với giá
trị sẵn cho item
Function:
 Enabled: cho phép định hướng tới item bằng chuột
 Multi line: cho phép có nhiều dòng không?
 Case restriction: chọn chế độ hiển thị dữ liệu lên iem với
người dùng là chữ hoa hay chữ thường hay là giữ đúng
định dạng trong csdl hoặc đúng định dạng khi người sử
dụng nhập vào giá trị
 Conceal data: giấu thông tin nhạy cảm bằng cách hiển thị
các ký **. Thường được sử dụng để nhập giá trị password
Navigation:
 Keyboard navigable: có cho phép di chuyển đến item bằng
phím tab của bàn phím hay không?
 Previous/next navigation item: item trước và item tiếp theo
của item hiện thời
Data:
 Data type: chọn kiểu dữ liệu cho item
 Maximum length: độ dài tối đa khi hiển thị hay khi nhập
vào item
 Required: xác định xem item này có nhất thiết phải nhập
vào khi tìm kiếm không?
 Fomat mask: đặt định dạng cho item
 Copy value from item: giá trị của item sẽ được copy từ giá
trị của 1 item khác nào đó
 Synchronize item: xác định item này được đồng bộ với
item nào?
Calculation:
 Calculation mode: kiểu tính toán của item(none, formula-
tính theo công thức,summary- tính theo các hàm sum,
count…)
 Formula: là nơi viết vào công thức tính nếu ta chọn
Calculation mode là formula
 Summary function: chọn hàm tính nếu Calculation mode
được chọn là summary
Record:
 Current record visual attribute group: chèn một tập các
thuộc tính trực quan được xây dựng sẵn cho bản ghi ở thời
điểm hiện thời
 Distance between record: chọn khoảng cách giữa các
record
 Number of item displayed: chọn số các item được hiển thị
Database:
 Database item: xác định xem item này là data item hay là
control item
 Column name: tên 1 cột có trong data block mà item này
chứa trong đó
 Primary key: xác định xem item này có phải là item chứa
cột mạng khóa chính hay không?
 Query only: xác định xem item này có phải chỉ được sử
dụng để query không?
 Query/insert/update/delete allowed: cho phép query, insert,
update, delete hay không?
Physical:
 Canvas: xác định item nằm trên canvas nào
 Tab page: xác định item nằm trên tab nào nếu canvas thuộc
kiểu tab can vas
 x/y position: tọa độ vị trí item
 width/height: độ rộng và độ cao của item
 show vertical scroll bar: xác định xem có hiển thị scroll bar
cho item này hay không? Thuộc tính này chỉ chọn khi item
có thuộc tính multi line là yes
Visual attributes:
 Visual attribute group: chọn nhóm các thuộc tính trực quan
đã được xây dựng sẵn để gán cho item
 Prompt visual attribute group: chọn nhóm các thuộc tính
đã xây dựng trước dành cho prompt của item này
Color:
 Background/foreground color: chọn màu nền và màu chữ
cho item
Font:
 Font name/size/weight/style: chọn font chữ, cỡ chữ, độ
rộng của form và kiểu của font
Prompt:
 Prompt: viết vào prompt cho item này
 Prompt display style: kiểu hiển thị prompt( 1 record, tất cả
các record, hay là hidden)
 Prompt alignment: chọn căn prompt là ở trên, dưới hay ở
giữa item
 Prompt attachment edge: chọn chiều hiển thị prompt(start-
chiều ngang với item, top - chiều dọc,…)
Prompt color:
 Prompt foreground color: chọn màu chữ cho prompt
Prompt font: chọn font cho prompt
Help:
 Tooltip: viết câu trợ giúp chức năng của item này khi
ngưofi sử dụng dê chuột vào
 Tooltip visual attribute group: chọn mọt nhóm các thuộc
tính đã xây dựng sẵn cho tooltip
II.4.4.4.2. Display item.
Khái niệm: Display item là đối tượng dùng để hiển thị các giá trị
dưới dạng string. Display item không cho phép định hướng con trỏ
tới và soạn thảo nội dung trong nó.
Cách tạo và xóa display item: tương tự như tạo và xóa một item
Các thuộc tính cơ bản: item type: display item
II.4.4.4.3. list item
Khái niệm: List item là một đối tượng dùng để hiển thị một danh
sách các giá trị dưới dạng string cho phép chọn một giá trị.
Cách tạo và xóa list item: tương tự như tạo và xóa một item
Các thuộc tính cơ bản:
- Item type: list item
- List stype: chọn kiểu danh sách. Có các kiểu sau: poplist,
Tlist, Combo box
- Element in list: xoạn thảo các thành phần của list item
- Mapping of other value: giá trị được gán ứng với các giá trị
không có trong danh sách
II.4.4.4.4. Button
Khái niệm: Là một cái hộp có nhãn bên trong hoặc là một biểu
tượng mà có thể nhấn vào đó để thực hiện các hành động
Cách tạo và xóa list item: tương tự như tạo và xóa một item
Thuộc tính cơ bản:
- item type: push button
- lable: nhãn hiển thị của button
- iconic: xác định xem có dùng một icon khác icon mạc định
không?
- icon file name: tên file icon cho button
II.4.4.4.5. Check box
Khái niệm: Là một nhãn hiển thị với một hộp đánh dấu trạng thái.
Cách tạo và xóa check box: tương tự như các tạo và xoa item
Các thuộc tính cơ bản:
- Item type: check box
- Lable: nhãn của check box
- Value when checked: giá trị khi mà check box được tích
- Value when unchecked: giá trị khi check box không được tích
II.4.4.4.6. Image
Khái niệm: Là một hình hộp hình chữ nhật với một kích thước nào
đó mà có thể hiển thị các ảnh được lưu trong cơ sở dữ liệu hoặc
trên file. Các ảnh này chỉ xuất hiện trên màn hình trong lúc chạy
chương trình và nhờ các lệnh
Cách tạo và xóa image: tương tự như tạo và xóa item
Các thuộc tính cơ bản:
Item type: image
Image format: định dạng của ảnh được sử dụng
Display qualtity: chất lượng hiển thị của ảnh
Sizing stype: chọn kiểu hiển thị của bức ảnh khi mà kích thước
của nó không phù hợp với kích thước ảnh thật
II.4.4.5. Relations
Khái niệm
Relation là một đối tượng logic chỉ ra mối quan hệ giữa một bên là
master block và một bên là detail block. Trong Object Navigator quan hệ
này sẽ xuất hiện ở master block.
Khi tạo relation thì Oracle Forms sẽ tự sinh ra các trigger và các mã
PL/SQL để đảm bảo quan hệ giữa master và detail blocks. Phần mã này
phụ thuộc vào kiểu quan hệ mà ta chọn.
Cách tạo và xóa một relation
Để tạo một Relation có thể tạo từ khi tạo mới block (Xem phần trên)
Hoặc vào cửa sổ Object Navigator chọn vào Relations của master block
sau đó nhấn biểu tượng Create để tạo -> hiện lên màn hình New relation
Các thuộc tính cơ bản
- Name: tên của relation
- Detail data block: điền tên block dữ liệu chi tiết
- Join condition: điều kiện kết nối giữa detail và mester data block
- Delete record behavior: tùy chọn khi xóa mester data block
II.4.4.6. Object Group
Khái niệm
Object Group là môt nhóm các thành phần của form, nó là một đối tượng
của form. Nó được sử dụng để chứa bất kỳ các thành phần nào của form,
tiện cho việc di chuyển các thành phần dùng chung giữa các form
Cách tạo và xóa một Object Group
Mở form. Trong Object Navigator tìm và chọn nút Object Group.
Sau đó kích vào công cụ create. Đặt tên cho Object Group vừa được tạo
ra. Kéo bất kỳ các thành phần nào của form vào đối tượng này. Các đối
tượng được kéo chỉ có thể là các đối tượng của form hiện hành. Ta có
thể loại bỏ các đối tượng đã được kéo vào Object Group bằng cách chọn
nó và bấm vào công cụ delete
Để xóa bỏ một Object Group ta chọn Object Group đó trong Object
Navigator và chọn công cụ delete
Các Object Group được sao chép giữa các form bằng cách kéo một
Object Group từ form này bỏ vào mục Object Group của form khác. Khi
bỏ sang form khác thì các mục nằm trong nhóm sẽ được tự động sao chép
sang các nút thích hợp trong form mới. Nếu bạn xóa đi các Object Group
thì các nút đã sao chép vẫn được giữ nguyên
II.4.4.7. Triggers
Khái niệm
Triggers là một khối chứa các mã lệnh nhằm thực hiện một chức năng
nào đó trong chương trình ứng dụng. Tất các các trigger đều có tên và
chứa một hoặc nhiều dòng lệnh PL/SQL tương ứng với sự kiện mà nó
phải xử lý.
Tên Trigger thường tương ứng với sự kiện (ví dụ When-Button-Pressed
trigger sẽ tương ứng với sự kiện nhấn vào Button.
Một trigger phải được gắn với một object xác định trên form: item, block
hoặc chính trên form. Trigger gồm các mức (level) tương ứng:
Việc xác định mức đặt các trigger là rất quan trọng bởi vì nó xác định
phạm vi hoạt động của trigger ứng với các sự kiện (events). Ví dụ Item-
level trigger chỉ bật lên (fire) ứng với các sự kiện trên item. Nó không
được bật lên ứng với sự kiện như vậy trên item khác cùng hay không
cùng thuộc một block. Block-level trigger chỉ bật lên nếu có sự kiện xuất
FORM
BLOCK
ITEM
Trigger
Trigger
Trigger
hiện trong block nhưng nó không bật lên khi xuất hiện các sự kiện giống
như vậy thuộc block khác.
Mặt khác nếu định nghĩa các trigger ở các mức khác nhau cùng xử lý một
sự kiện, mà xự kiện này đều nằm trong phạm vi của các trigger thì trigger
ở mức thấp nhất sẽ được thực hiện. Ví dụ ta đặt trigger When-New-Item-
Instance tới một block và một trigger When-New-Item-Instance khác tới
text item trong block này, khi sự kiện xuất hiện trên text item thì trigger
mức item sẽ được bật lên còn trigger mức block bị bỏ qua.
ở cùng một mức các trigger cũng xuất hiện và xử lý với các cách khác
nhau. Có các loại trigger sau: Pre-, Post-,When-, On-, Key-.
Tạo và xóa một trigger
Trên cửa sổ Object Navigator ứng với mỗi object (item, block, form) sẽ
có mục Triggers. Ta chuyển hộp chọn vào Triggers sau đó nhấn vào biểu
tượng Create để tạo mới và chọn sự kiện tương ứng ( ví dụ when-button-
pressed ) sau đó hiện lên cửa sổ viết mã.
Pre –triggers:
Các loại trigger này được kích hoạt trước các giao tác của cơ sở dữ liệu,
hoặc các sự kiện của form. Chúng chứa đựng các phát biểu bổ xung, các
phát biểu này được thực thi trước khi hoạt động xảy ra. Không giống như
trigger on chúng không thay thế các hoạt động bình thường của form. Vd
như trigger pre-insert được kích hoạt khi phát biểu insert được thực hiện
Một số trigger loại này hay dùng như:
pre-insert: được thực hiện trước khi quá trình insert thực hiện
pre-delete:được thực hiện trước khi quá trình delete thực hiện
pre-update: : được thực hiện trước khi quá trình update thực hiện
pre-form: trước khi form được khởi động
When – triggers:
Các loại trigger này được kích hoạt khi một hoạt động của form xảy ra.
Ví dụ như trigger when-new-form-instance được kích hoạt khi form được
khởi động đầu tiên
Một số trigger loại này hay được sử dụng:
- When-button-pressed: Được thực hiện khi có thao tác nhấn button
bằng phím hoặc chuột
- When-clear-block:Thực hiện khi xoá dữ liệu từ block hiện thời
- When-create-record: Thực hiện khi tạo một bản ghi mới
- When-checkbox-change: Thực hiện khi check box thay đổi trạng
thái
- When-radio-change: Thực hiện khi có thay đổi chọn các radio button
- When-list-change: Thực hiện khi thay đổi chọn giá trị trong danh
sách.
- When-new-block-instance: Được thực hiện khi di chuyển input
focus từ một block từ block khác
- When-new-item-instance: Được thực hiện khi con trỏ chuyển tới
Item
- When-validate-item: Xuất hiện khi có những thay đổi giá trị của
item từ người sử dụng hoặc từ các trigger và khi con trỏ di chuyển ra
khỏi item.
Post – Triggers:
Các loại trigger này kích hoạt sau các giao tác của cơ sở dữ liệu hoặc các
sự kiện của form. Chúng chứa đựng các phát biểu bổ xung, các phát biểu
này được thực thi sau khi hoạt động xảy ra. Không giống như trigger on,
chúng không thay thế các hoạt động bình thường của form. Ví dụ trigger
post-query được kích hoạt sau khi một record được đem về block dữ liệu
Trigger post-query thường được sử dụng để đưa thông tin diễn giải vào
trong một block dữ liệu. ví dụ làm rõ tên phòng ban trong bảng nhân viên
vì trong bảng nhân viên chỉ có mã phòng ban. Trigger này có thể làm trả
về tên của phòng ban tương ứng với mã phòng ban đó
Một số Post-Trigger hay dùng
- Post-Change: Thực hiện khi dữ liệu của item được thay đổi với
giá trị chấp nhận không phải là giá trị null.
- Post-form: Xuất hiện trong khi thoát khỏi form
- Post-query: Thực hiện sau khi dữ liệu được điền vào các record
- Post-record: Xuất hiện khi rời input focus từ bản ghi này tới
bản ghi khác.
Key – Trigger:
Các loại trigger này dùng để thay thế các tính năng của phím chức nằng
thông thường, chẳng hạn như trigger Key-Entqry được kích hoạt khi các
phím chức năng dùng để chuyển một block dữ liệu vào trạng thái Enter
query được ấn. chúng được dùng để thay thế hoặc là phát triển thêm các
tính năng thông thường của phím đó
.Một số trigger hay dùng:
- Key-up: ứng với việc nhấn phím Page-up
- Key-down: ứng với việc nhấn phím Page-down
- Key-enter: ứng với nhấn phím enter
- Key-next-item: ứng với việc nhấn phím tab
On – Trigger:
Các loại trigger này được dùng để khởi động một giao tác, ví dụ như là
các phát biểu trong trigger on-insert thay thế phát biểu insert được sử
dụng bởi block dữ liệu. Các thao tác đặc biệt trong trigger on là các thao
tác quản lý dữ liệu chẳng hạn như là xóa dữ liệu và điền dữ liệu lại vào
một block dữ liệu chi tiết sau khi thay đổi các record trong block dữ liệu
cha.
Các On-Triggers hay dùng
On-error: Thực hiện khi có một lỗi nào đó xuất hiện
On-mesage: Thực hiện khi hiện các mesage
II.4.4.8. LOVs
Khái niệm
LOV là viết tắt của List of value. Nó là một đối tượng đặc biệt của form
được sử dụng để điền dữ liệu và kiểm tra tính hợp lệ của dữ liệu trong
item văn bản.
Một LOV là một hộp thoại được gắn với các item rõ rang về form. Người
dùng có thể mởi LOV và chọn một giá trị từ danh sách.
Một LOV có thể được sử dụng trong chế độ enter query để đồng nhất chế
độ chọn lựa hoặc được sử dụng trong chế độ normal để điền và kiểm tra
một giá trị. LOV sử dụng một record group là nguồn cung cấp giá tr trị
cho nó. Record group thường sử dụng phát biểu select là nguồn dữ liệu vì
thế LOV là một tập các giá trị động. giống như list item LOV có thể được
dụng để nhận diện các giá trị, tuy nhiên LOV có khả năng thể hiện hàng
trăm hàng ngàn giá trị. Nó cho phép người dùng cuộn qua các giá trị cũng
như giới hạn việc hiển thị dựa trên các giá trị nhập vào
Cách Tạo LOV
Có một cách vô cùng đơn giản để tạo các LOV là sử dụng trình LOV
Wizard
Mở Object Navigator và chọn đối tượng LOV
Kích vào nút create. Thao tac này mởi một hộp thoại có 2 nút radio cho
phép bạn chọn có sử dụng trình LOV Wizard hay không? Chọn nút radio
báo ràng bạn muốn sử dụng trình wizard
Trang đầu tiên của trình wizard này là trang Source. Trang này được sử
dụng để xác định xem LOV sử dụng một nguồn dữ liệu là một record
group mới hay là record group đã tồn tại
Hình 8: trang Source của trình LOV Wizard
Nếu chọn tùy chọn new record group trên trang source thì trang tiếp theo
là trang sql query. Trang này được sử dụng để thêm phát biết select sẽ
được sử dụng trong record group. Trong trang này có tùy chọn kết nối
với database, kiểm tra cú pháp của phát biểu select. Form buider không
cho phép bạn ra khỏi trang này trừ khi câu select là hợp lệ
Hình : Trang sql query của trình LOV Wizard
Trang tiếp theo là trang column selection. Nó được sử dụng để xác định
các cột nào xuất hiện trong LOV. Các cột được trình bày trong cột bên
phải sẽ là các cột được trình bày trong LOV
Hinh : trang column selection cua trinh LOV Wizard
Trang kế tiếp là trang Column display. Được sử dụng để người dùng
nhập tiêu đề cột. ở đây có bốn cột là column, Title (tiêu đề), width(chiều
rộng), return value(cột nhận giá trị trả về). Bạn có thể hiệu chỉnh bất kỳ
cột nào trừ cột column. Return value được sử dụng để chọn item nào của
form sẽ nhận giá trị trả về từ LOV
Hinh: trang Column display của trinh LOV wizard
Trang tiếp theo là trang display. Trang này xác định vị trí trình bày của
LOV cũng như toán bộ kích thước và tiêu đề
Hình : trang display của trình LOV wizard
Trang tiếp theo là trang advanced option. Đây là trang thiết lập số lượng
record xuất hiện trong 1 thời điểm
Hinh : trang advanced option của trinh LOV Wizard
Trang cuối cùng là trang xác định item tren form được dùng để gắn LOV
này với nó. Mạc định thì LOV sẽ được mở khi người dùng di chuyển vào
item này
Hình : trang xác định item gắn với LOV
II.4.4.9. Messages và Alerts
Messages: Là dòng thông báo xuất hiện tại dòng trạng thái của Window
chỉ ra trạng thái của quá trình xử lý nào đó hoặc khi có lỗi.
Để hiển thị message ta dùng lệnh MESSAGE(message_string,
user_response);
message_string: Chuỗi hiển thị cần thông báo
user_response: Chỉ hình thức hiển thị của message.
Thường hai trigger là: on-error và on-message hay liên quan đến quá
trình hiển thị và xử lý các message.
Alert
Hiển thị dưới dạng một modal window chứa các thông tin cần thông báo
và đợi trả lời từ phía người sử dụng. Tuỳ theo trả lời mà có thể thực hiện
các xử lý tiếp theo.
Tạo một Alerts
Trong cửa sổ Object Navigator chọn mục Alerts sau đó nhấn biểu tượng
Create, sau đó đặt thuộc tính theo yêu cầu.
Các thuộc tính cơ bản của Alert
Functional properties
Alert style: Chỉ kiểu hiển thị của alert (stop, caution, note)
Button 1, Button 2, Button 3: Nhãn cho các button. Phải có ít nhất một
button có giá trị
Default alert button: Button ngầm định
Messeage: Nội dung thông báo cần hiển thị
Hiển thị Alert
Để hiển thị alert dùng lệnh Show_alert(‘ <Tên alert>’)
Để thay đổi nội dung thông báo của Alert dùng lệnh:
set_alert_properties(‘<tên alert>’, properties, mesage)
Ví dụ: Set_Alert_Property('My_Error_Alert', alert_message_text, ‘ Có
lỗi xuất hiện khi ghi’ );
Bt:=Show_Alert( al_id );
II.4.4.10.Một số hàm, thủ tục, biến hệ thống hay dùng
II.4.5. TẠO VÀ SỬ DỤNG MENU
II.4.6. TẠO VÀ SỬ DỤNG LIBRARY
II.4.7. HƯỚNG DẪN CHI TIẾT TẠO MỘT FORM CƠ BẢN

More Related Content

Similar to tim_hieu_ve_oracle_form_va_xay_dung_ung_dung.doc

Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAYĐề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Viết thuê trọn gói ZALO 0934573149
 
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Nguyễn Tân
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
 
luan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van banluan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van ban
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOTĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAYĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Jazmyne Padberg
 
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
Viết thuê trọn gói ZALO 0934573149
 
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
Nhận Viết Đề Tài Trọn Gói ZALO 0932091562
 
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAYĐề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOTĐề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
nataliej4
 
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAYLuận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
jackjohn45
 
luan van thac si tim hieu phan mem mo oscommerce
luan van thac si tim hieu phan mem mo oscommerceluan van thac si tim hieu phan mem mo oscommerce
luan van thac si tim hieu phan mem mo oscommerce
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 

Similar to tim_hieu_ve_oracle_form_va_xay_dung_ung_dung.doc (20)

Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAYĐề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
 
Du an dien tu
Du an dien tuDu an dien tu
Du an dien tu
 
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
Xây dựng chương trình phân tích tình hình tài chính tại Công Ty Cổ Phần Xây D...
 
luan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van banluan van thac si xay dung he thong quan ly van ban
luan van thac si xay dung he thong quan ly van ban
 
Bc
BcBc
Bc
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOTĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAYĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
 
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
Xây dựng chương trình quản lý thông tin thư viện cho Trường Tiểu học Lê Văn T...
 
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
Đề tài: Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào ...
 
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
Nghiên cứu và triển khai hệ thống Private Cloud cho các ứng dụng đào tạo và t...
 
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAYĐề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
Đề tài: Xây dựng Web bán và giới thiệu văn phòng phẩm, HAY
 
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOTĐề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
 
đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAYLuận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
Luận văn: Xây dựng hệ thống giao việc theo hợp đồng, HAY
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
luan van thac si tim hieu phan mem mo oscommerce
luan van thac si tim hieu phan mem mo oscommerceluan van thac si tim hieu phan mem mo oscommerce
luan van thac si tim hieu phan mem mo oscommerce
 
bao_cao_athena_cuoi_ki_thuc_tap
bao_cao_athena_cuoi_ki_thuc_tapbao_cao_athena_cuoi_ki_thuc_tap
bao_cao_athena_cuoi_ki_thuc_tap
 

tim_hieu_ve_oracle_form_va_xay_dung_ung_dung.doc

  • 1. Luận văn Tìm hiểu về Oracle Form và xây dựng ứng dụng
  • 2. LỜI MỞ ĐẦU.................................................................................................................... 4 CHƯƠNG I: TỔNG QUAN............................................................................................. 5 I.1. CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG .................................................................................... 5 I.2. GIỚI THIỆU VỀ ĐỀ TÀI .......................................................................................................... 8 I.2.1. MỤC ĐÍCH CỦA TÀI LIỆU........................................................................... 8 I.2.2. PHÁT BIỂU BÀI TOÁN.................................................................................. 8 CHƯƠNG II. NGHIÊN CỨU ORACLE........................................................................ 8 II.1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE.............................................. 8 II.1.1. KHÁI NIỆM.................................................................................................... 8 II.1.2 ƯU ĐIỂM......................................................................................................... 8 II.1.3. KIẾN TRÚC.................................................................................................... 9 II.1.3.1. Oracle Instance ....................................................................................... 9 System Global Area - SGA..................................................................................... 9 Background process.............................................................................................. 12 II.1.3.2. Oracle Database.................................................................................... 12 Cấu trúc vật lý database........................................................................................ 13 Cấu trúc logic databse........................................................................................... 15 Các cấu trúc vật lý khác........................................................................................ 17 II.2. GIỚI THIỆU ORACLE DESIGNER...................................................................................... 17 II.2.1. VAI TRÒ ....................................................................................................... 17 II.2.2. CÁC CÔNG CỤ ............................................................................................ 17 II.2.3. THÀNH PHẦN VÀ CÁCH THỰC HIỆN ORACLE DESIGNER............. 17 II.3. GIỚI THIỆU ORACLE REPORT ......................................................................................... 17 II.3.1. ORACLE REPORT LÀ GÌ?......................................................................... 18 II.3.2. ƯU ĐIỂM CỦA ORACLE REPORT........................................................... 18 II.3.3. CÁC THÀNH PHẦN CỦA ORACLE REPORT BUILDER ...................... 18 II.3.4. CÁC KIỂU CỦA ORACLE REPORT.......................................................... 18 II.3.5. KẾT QUẢ CỦA ORACLE REPORT........................................................... 19 II.3.6. CÁC BƯỚC TẠO ORACLE REPORT ........................................................ 20 II.4. NGHIÊN CỨU ORACLE FORM .......................................................................................... 21 II.4.1. TỔNG QUAN VỀ ORACLE FORM............................................................ 21 II.4.1.1. Vai trò..................................................................................................... 21 II.4.1.2. Các modul(file) có trong một ứng dụng Oracle form........................ 21 II.4.1.3. Các thành phần của Oracle Form....................................................... 22 II.4.1.4. Môi trường phát triển........................................................................... 22 II.4.2. CÁC CÔNG CỤ CỦA FORM BUILDER.................................................... 23 II.4.2.1. Object Navigator................................................................................... 23 II.4.2.2. Property Palette ................................................................................... 24 II.4.2.3. Layout Editor........................................................................................ 24 II.4.2.4. PL/SQL Editor...................................................................................... 25 II.4.3. KHỞI TẠO ORACLE FORM BUILDER.................................................... 25 II.4.3.1. Khởi tạo Oracle Form Builder ............................................................ 25 II.4.3.2. Tạo và Xóa Form .................................................................................. 25 II.4.3.3. Lưu trữ và thực hiện Form.................................................................. 26 II.4.4. CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT FORM .................................... 26 II.4.4.1. Window.................................................................................................. 26 II.4.4.2. Canvas.................................................................................................... 28
  • 3. II.4.4.3. Block Data ............................................................................................. 29 II.4.4.4. Item ........................................................................................................ 35 II.4.4.4.1. Text Item: ....................................................................................... 36 II.4.4.4.2. Display item.................................................................................... 38 II.4.4.4.3. list item............................................................................................ 38 II.4.4.4.4. Button.............................................................................................. 39 II.4.4.4.5. Check box ....................................................................................... 39 II.4.4.4.6. Image............................................................................................... 39 II.4.4.5. Relations ................................................................................................ 40 II.4.4.6. Object Group ........................................................................................ 40 II.4.4.7. Triggers.................................................................................................. 41 II.4.4.8. LOVs...................................................................................................... 44 II.4.4.9. Messages và Alerts................................................................................ 50 II.4.4.10.Một số hàm, thủ tục, biến hệ thống hay dùng................................... 51 II.4.5. TẠO VÀ SỬ DỤNG MENU ......................................................................... 51 II.4.6. TẠO VÀ SỬ DỤNG LIBRARY.................................................................... 51 II.4.7. HƯỚNG DẪN CHI TIẾT TẠO MỘT FORM CƠ BẢN............................. 51
  • 4. LỜI MỞ ĐẦU Chúng ta đang sống trong thời đại công nghệ thông tin phát triển vượt bậc. Công nghệ thông tin được ứng dụng khắp nơi, trong mọi lĩnh vực của cuộc sống. Với việc ứng dụng công nghệ thông tin đã làm tăng năng suất, hiệu quả công việc, cũng như giảm được công sức con người Trong vô vàn các loại ứng dụng khác nhau của công nghệ thông tin vào đời sống thì lĩnh vực xây dựng phần mềm giải quyết các bài toán quản lý nói chung là một ứng dụng điển hình. Lĩnh vực này phát triển mạnh, liên tục mang lại nguồn thu lớn cho các doanh nghiệp phát triển phần mềm. Chính vì vậy là một sinh viên khoa công nghệ thông tin sắp ra trường em đã chọn đề tài nghiên cứu tài liệu và ứng dụng để giải quyết một bài toán quản lý cụ thể là: “Tìm hiểu Oracle form và ứng dụng vào xây dựng chương trình quản lý thăng tiến của đại lý bảo hiểm” Cuối cùng em xin được gửi lời cảm ơn tới thầy giáo TH.S Lưu Minh Tuấn đã hướng đẫn tận tình giúp em thực hiện tài liệu này. Trong quá trình thực hiện còn nhiều sai xót rất mong nhận được sự đóng góp ý kiến từ các thầy cô và các bạn
  • 5. CHƯƠNG I: TỔNG QUAN I.1. CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG Định nghĩa ứng dụng Web Dưới góc độ kỹ thuật, Web được định nghĩa là môi trường có khả năng thực thi chương trình cao, cho phép tạo vô số tùy biến trên triển khai trực tiếp của một lượng lớn các ứng dụng tới hàng triệu người dùng trên thế giới. Hai thành phần quan trọng nhất của website hiện là trình duyệt Web linh hoạt và các ứng dụng Web. Tất cả mọi người đều có thể sử dụng hai thành phần mà không phải trả bất cứ khoản phí nào. Web browser (trình duyệt web) là các ứng dụng phần mềm cho phép người dùng truy vấn dữ liệu và tương tác với nội dung nằm trên trang Web bên trong website. Website ngày nay khác xa so với kiểu đồ họa và văn bản tĩnh của thế kỷ mười chín hay thời kỳ trước đó. Các trang Web hiện đại cho phép người dùng lấy xuống nội dung động, cá nhân hóa theo thiết lập và tham chiếu riêng. Hơn nữa chúng cũng có thể chạy các script trên máy khách, có thể “thay đổi” trình duyệt Internet thành giao diện cho các ứng dụng như thư điện tử, phần mềm ánh xạ tương tác (Yahoo Mail, Google Maps). Quan trọng nhất là website hiện đại cho phép đóng gói, xử lý, lưu trữ và truyền tải dữ liệu khách hàng nhạy cảm (như thông tin cá nhân, mã số thẻ tín dụng, thông tin bảo mật xã hội …) có thể dùng ngay hoặc dùng định kỳ về sau. Và, điều này được thực hiện qua các ứng dụng Web. Đó có thể là thành phần webmail (thư điện tử), trang đăng nhập, chương trình hỗ trợ và mẫu yêu cầu sản phẩm hay hoạt động mua bán, hệ thống quản lý nội dung, phát triển website hiện đại, cung cấp cho các doanh nghiệp phương tiện cần thiết để liên lạc với khách hàng tương lai và khách hàng hiện tại. Tất cả đều là các ví dụ phổ biến, gần gũi và sinh động của ứng dụng Web. Dưới góc độ chức năng, ứng dụng Web là các chương trình máy tính cho phép người dùng website đăng nhập, truy vấn vào/ra dữ liệu qua mạng Internet trên trình duyệt Web yêu thích của họ. Dữ liệu sẽ được gửi tới người dùng trong trình duyệt theo kiểu thông tin động (trong một định dạng cụ thể, như với HTML thì dùng CSS) từ ứng dụng Web qua một Web Server.
  • 6. Mang tính kỹ thuật nhiều hơn có thể giải thích là, các ứng dụng Web truy vấn máy chủ chứa nội dung (chủ yếu trên cơ sở dữ liệu lưu trữ nội dung) và tạo tài liệu Web động để phục vụ yêu cầu của máy khách (chính là người dùng website). Tài liệu được tạo trong kiểu định dạng tiêu chuẩn hỗ trợ trên tất cả mọi trình duyệt (như HTML, XHTML). JavaScript là một dạng script client-side cho phép yếu tố động có ở trên từng trang (như thay đổi ảnh mỗi lần người dùng di chuột tới). Trình duyệt Web chính là chìa khóa. Nó dịch và chạy tất cả script, lệnh… khi hiển thị trang web và nội dung được yêu cầu. Wikipedia, bộ bách khoa toàn thư trực tuyến lớn nhất thế giới hiện nay định nghĩa Web browser là “máy khách chung cho mọi ứng dụng web”. Một cải tiến đáng kể khác trong quá trình xây dựng và duy trì các ứng dụng Web là chúng có thể hoạt dộng mà không cần quan tâm đến hệ điều hành hay trình duyệt chạy trên các máy client. Ứng dụng Web được triển khai ở bất cứ nơi nào có Internet, không mất phí tổn, và hầu hết không đòi hỏi yêu cầu cài đặt cho người dùng cuối. Con số doanh nghiệp thu được lợi nhuận từ kinh doanh qua Web ngày càng tăng. Do đó, việc sử dụng ứng dụng Web và các công nghệ liên quan khác sẽ tiếp tục phát triển. Hơn nữa, khi các mạng Intranet và Extranet được thông qua, ứng dụng Web trở thành “cứ điểm” lớn trong bất kỳ cơ sở hạ tầng truyền thông nào của các tổ chức, doanh nghiệp. Phạm vi và khả năng kỹ thuật, trình độ cao được mở rộng. Hoạt động như thế nào? Hình bên dưới minh họa chi tiết mô hình ứng dụng Web ba tầng. Tầng đầu tiên thông thường là trình duyệt Web hoặc giao diện người dùng. Tầng thứ hai là công nghệ kỹ thuật tạo nội dung động như Java servlets (JSP) hay Active Server Pages (ASP). Còn tầng thứ ba là cơ sở dữ liệu chứa nội dung (như tin tức) và dữ liệu người dùng (như username, password, mã số bảo mật xã hội, chi tiết thẻ tín dụng).
  • 7. Hình 1 Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server). Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu. Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình duyệt. Hình 2
  • 8. I.2. GIỚI THIỆU VỀ ĐỀ TÀI I.2.1. MỤC ĐÍCH CỦA TÀI LIỆU I.2.2. PHÁT BIỂU BÀI TOÁN I.2.3. CHƯƠNG II. NGHIÊN CỨU ORACLE II.1. TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE II.1.1. KHÁI NIỆM II.1.2 ƯU ĐIỂM Nhiều người cho rằng Oracle chỉ sử dụng cho những Doanh Nghiệp (DN) lớn nên không thích hợp ở Việt Nam. Điều này, là hoàn toàn sai lầm. Oracle không chỉ nhắm tới những DN lớn mà còn nhắm tới những DN trung bình và cho cả những DN 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 DN: 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 DN đã 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 thậm chí còn rẻ hơn (xem phần so sánh giá), nhưng lợi ích có được lại rất lớn. Về phía những 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ớị 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).
  • 9. Ngoài ra, bạn có thể triển khai Oracle trên nhiều OS khác nhau (Windows, Solaris, Linux,...) mà không cần phải viết lại PL/SQL codẹ Có thể import một dumpFile (backupFile) từ một máy chạy OS này sang OS 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 đó). II.1.3. KIẾN TRÚC Oracle server là một hệ thống quản trị cơ sở dữ liệu đối tượng-quan hệ cho phép quản lý thông tin một cách toàn diện. Oracle server bao gồm hai thành phần chính là Oracle instance và Oracle database. II.1.3.1. Oracle Instance Oracle instance bao gồm một cấu trúc bộ nhớ System Global Area (SGA) và các background processes (tiến trình nền) được sử dụng để quản trị cơ sở dữ liệu. Oracle instance được xác định qua tham số môi trường ORACLE_SID của hệ điều hành. Background process Hình vẽ 1. Kiến trúc Oracle Server System Global Area - SGA SGA là vùng bộ nhớ chia sẻ được sử dụng để lưu trữ dữ liệu và các thông tin điều khiển của Oracle server. SGA được cấp phát trong bộ nhớ của máy tính mà Oracle server đang hoạt động trên đó. Các User kết nối tới Oracle sẽ chia sẻ các dữ liệu có trong SGA, việc mở rộng không gian bộ nhớ cho SGA sẽ làm nâng cao hiệu suất của hệ thống, lưu trữ được nhiều dữ liệu trong hệ thống hơn đồng thời giảm thiểu các thao tác truy xuất đĩa (disk I/O). SGA bao gồm một vài cấu trúc bộ nhớ chính:
  • 10. + Share Pool Shared pool là một phần trong SGA và được sử dụng khi thực hiện phân tích câu lệnh (parse phase). Kích thước của Shared pool được xác định bởi tham số SHARED_POOL_SIZE có trong parameter file (file tham số). Các thành phần của Shared pool gồm có: Library cache và Data dictionary cache. Hình vẽ 2. Cấu trúc Share Pool Hình vẽ 3. + Library Cache Library cache lưu trữ thông tin về các câu lệnh SQL được sử dụng gần nhất bao gồm:  Nội dung của câu lệnh dạng text (văn bản).  Parse tree (cây phân tích) được xây dựng tuỳ thuộc vào câu lệnh.  Execution plan (sơ đồ thực hiện lệnh) gồm các bước thực hiện và tối ưu lệnh. Do các thông tin trên đã được lưu trữ trong Library cache nên khi thực hiện lại một câu lệnh truy vấn, trước khi thực hiện câu lệnh, Server process sẽ lấy lại các thông tin đã được phân tích mà không phải phân tích lại câu lệnh. Do vậy, Library cache có thể giúp nâng cao hiệu suất thực hiện lệnh. + Data Dictionary Cache Data dictionary cache là một thành phần của Shared pool lưu trữ thông tin của dictionary cache được sử dụng gần nhất như các định nghĩa các bảng, định nghĩa các cột, usernames, passwords, và các privileges (quyền). Trong giai đoạn phân tích lệnh (parse phase), Server process sẽ tìm các thông tin trong dictionary cache để xác định các đối tượng trong câu lệnh SQL và để xác định các mức quyền tương ứng. Trong
  • 11. trường hợp cần thiết, Server process có thể khởi tạo và nạp các thông tin từ các file dữ liệu. + Data buffer cache Khi thực hiện một truy vấn, Server process sẽ tìm các blocks cần thiết trong database buffer cache. Nếu không tìm thấy block trong database buffer cache, Server process mới đọc các block từ data file và tạo luôn một bản sao của block đó vào trong vùng nhớ đệm (buffer cache). Như vậy, với các lần truy xuất tới block đó sau này sẽ không cần thiết phải truy xuất vào datafile nữa. Hình vẽ 4. Database buffer cache Database buffer cache là vùng nhớ trong SGA sử dụng để lưu trữ các block dữ liệu được sử dụng gần nhất. Tương tự như kích thước của blocks dữ liệu được xác định bởi tham số DB_BLOCK_SIZE, kích thước của vùng đệm trong buffer cache cũng được xác định bởi tham số DB_BLOCK_BUFFERS. Oracle server sử dụng giải thuật least recently used (LRU) algorithm để làm tươi lại vùng nhớ. Theo đó, khi nạp mới một block vào bộ đệm, trong trường hợp bộ đệm đã đầy, Oracle server sẽ loại bớt block ít được sử dụng nhất ra khỏi bộ đệm để nạp block mới vào bộ đệm. + Redo log buffer Server process ghi lại các thay đổi của một instance vào redo log buffer, đây cũng là một phần bộ nhớ SGA.
  • 12. Hình vẽ 5. Redo log buffer Có một số đặc điểm cần quan tâm của Redo log buffer:  Kích thước được xác định bởi tham số LOG_BUFFER.  Lưu trữ các redo records (bản ghi hồi phục) mỗi khi có thay đổi dữ liệu.  Redo log buffer được sử dụng một cách thường xuyên và các thay đổi bởi một transaction có thể nằm đan xen với các thay đổi của các transactions khác.  Bộ đệm được tổ chức theo kiểu circular buffer (bộ đệm nối vòng) tức là dữ liệu thay đổi sẽ tiếp tục được nạp lên đầu sau khi vùng đệm đã được sử dụng hết. Background process Background process (các tiến trình nền) thực hiện các chức năng thay cho lời gọi tiến trình xử lý tương ứng. Nó điều khiển vào ra, cung cấp các cơ chế xử lý song song nâng cao hiệu quả và độ tin cậy. Tùy theo từng cấu hình mà Oracle instance có các Background process như:  Database Writer (DBW0): Ghi lại các thay đổi trong data buffer cache ra các file dữ liệu.  Log Writer (LGWR): Ghi lại các thay đổi được đăng ký trong redo log buffer vào các redo log files.  System Monitor (SMON): Kiểm tra sự nhất quán trong database.  Process Monitor (PMON): Dọn dẹp lại tài nguyên khi các tiến trình của Oracle gặp lỗi.  Checkpoint Process (CKPT): Cập nhật lại trạng thái của thông tin trong file điều khiển và file dữ liệu mỗi khi có thay đổi trong buffer cache. II.1.3.2. Oracle Database Oracle database là tập hợp các dữ liệu được xem như một đơn vị thành phần (Unit). Database có nhiệm vụ lưu trữ và trả về các thông tin liên
  • 13. quan. Database được xem xét dưới hai góc độ cấu trúc logic và cấu trúc vật lý . Tuy vậy, hai cấu trúc dữ liệu này vẫn tồn tại tách biệt nhau, việc quản lý dữ liệu theo cấu trúc lưu trữ vật lý không gây ảnh hưởng tới cấu trúc logic Oracle database được xác định bởi tên một tên duy nhất và được quy định trong tham số DB_NAME của parameter file. Hình vẽ 6. Cấu trúc database Cấu trúc vật lý database Cấu trúc vật lý bao gồm tập hợp các control file, online redo log file và các datafile: + Datafiles Mỗi một Oracle database đều có thể có một hay nhiều datafiles. Các database datafiles chứa toàn bộ dữ liệu trong database. Các dữ liệu thuộc cấu trúc logic của database như tables hay indexes đều được lưu trữ dưới dạng vật lý trong các datafiles của database. Một số tính chất của datafiles:  Mỗi datafile chỉ có thể được sử dụng trong một database.  Bên cạnh đó, datafiles cũng còn có một số tính chất cho phép tự động mở rộng kích thước mỗi khi database hết chỗ lưu trữ dữ liệu.  Một hay nhiều datafiles tạo nên một đơn vị lưu trữ logic của database gọi là tablespace.
  • 14.  Một datafile chỉ thuộc về một tablespace. + Redo Log Files Mỗi Oracle database đều có một tập hợp từ 02 redo log files trở lên. Các redo log files trong database thường được gọi là database's redo log. Một redo log được tạo thành từ nhiều redo entries (gọi là các redo records). Chức năng chính của redo log là ghi lại tất cả các thay đổi đối với dữ liệu trong database. Redo log files được sử dụng để bảo vệ database khỏi những hỏng hóc do sự cố. Oracle cho phép sử dụng cùng một lúc nhiều redo log gọi là multiplexed redo log để cùng lưu trữ các bản sao của redo log trên các ổ đĩa khác nhau. Các thông tin trong redo log file chỉ được sử dụng để khôi phục lại database trong trường hợp hệ thống gặp sự cố và không cho phép viết trực tiếp dữ liệu trong database lên các datafiles trong database. Ví dụ: khi có sự cố xảy ra như mất điện bất chợt chẳng hạn, các dữ liệu trong bộ nhớ không thể ghi trực tiếp lên các datafiles và gây ra hiện tượng mất dữ liệu. Tuy nhiên, tất cả các dữ liệu bị mất này đều có thể khôi phục lại ngay khi database được mở trở lại. Việc này có thể thực hiện được thông qua việc sử dụng ngay chính các thông tin mới nhất có trong các redo log files thuộc datafiles. Oracle sẽ khôi phục lại các database cho đến thời điểm trước khi xảy ra sự cố. Công việc khôi phục dữ liệu từ các redo log được gọi là rolling forward. + Control Files Mỗi Oracle database đều có ít nhất một control file. Control file chứa các mục thông tin quy định cấu trúc vật lý của database như:  Tên của database.  Tên và nơi lưu trữ các datafiles hay redo log files.  Time stamp (mốc thời gian) tạo lập database, ... Mỗi khi nào một instance của Oracle database được mở, control file của nó sẽ được sử dụng để xác định data files và các redo log files đi kèm. Khi các thành phần vật lý cả database bị thay đổi (ví dụ như, tạo mới datafile hay redo log file), Control file sẽ được tự động thay đổi tương ứng bởi Oracle. Control file cũng được sử dụng đến khi thực hiện khôi phục lại dữ liệu.
  • 15. Cấu trúc logic databse Cấu trúc logic của Oracle database bao gồm các đối tượng tablespaces, schema objects, data blocks, extents, và segments. + Tablespaces Một database có thể được phân chia về mặt logic thành các đơn vị gọi là các tablespaces, Tablespaces thường bao gồm một nhóm các thành phần có quan hệ logic với nhau. + Databases, Tablespaces, và Datafiles Mối quan hệ giữa các databases, tablespaces, và datafiles có thể được minh hoạ bởi hình vẽ sau: Hình vẽ 7. Quan hệ giữa database, tablespace và datafile Có một số điểm ta cần quan tâm:  Mỗi database có thể phân chia về mặt logic thành một hay nhiều tablespace.  Mỗi tablespace có thể được tạo nên, về mặt vật lý, bởi một hoặc nhiều datafiles.  Kích thước của một tablespace bằng tổng kích thước của các datafiles của nó. Ví dụ: trong hình vẽ ở trên SYSTEM tablespace có kích thước là 2 MB còn USERS tablespace có kích thước là 4 MB.  Kích thước của database cũng có thể xác định được bằng tổng kích thước của các tablespaces của nó. Ví dụ: trong hình vẽ trên thì kích thước của database là 6 MB. + Schema và Schema Objects Schema là tập hợp các đối tượng (objects) có trong database. Schema objects là các cấu trúc logic cho phép tham chiếu trực tiếp
  • 16. tới dữ liệu trong database. Schema objects bao gồm các cấu trúc như tables, views, sequences, stored procedures, synonyms, indexes, clusters, và database links. + Data Blocks, Extents, and Segments Oracle điểu khiển không gian lưu trữ trên đĩa cứng theo các cấu trúc logic bao gồm các data blocks, extents, và segments. + Oracle Data Blocks Là mức phân cấp logic thấp nhất, các dữ liệu của Oracle database được lưu trữ trong các data blocks. Một data block tương ứng với một số lượng nhất định các bytes vật lý của database trong không gian đĩa cứng. Kích thước của một data block được chỉ ra cho mỗi Oracle database ngay khi database được tạo lập. Database sử dụng, cấp phát và giải phóng vùng không gian lưu trữ thông qua các Oracle data blocks. + Extents Là mức phân chia cao hơn về mặt logic các vùng không gian trong database. Một extent bao gồm một số data blocks liên tiếp nhau, cùng được lưu trữ tại một thiết bị lưu giữ. Extent được sử dụng để lưu trữ các thông tin có cùng kiểu. + Segments Là mức phân chia cao hơn nữa về mặt logic các vùng không gian trong database. Một segment là một tập hợp các extents được cấp phát cho một cấu trúc logic . Segment có thể được phân chia theo nhiều loại khác nhau: Data segment Mỗi một non-clustered table có một data segment. Các dữ liệu trong một table được lưu trữ trong các extents thuộc data segment đó. Với một partitioned table thì mỗi each partition lại tương ứng với một data segment. Mỗi Cluster tương ứng với một data segment. Dữ liệu của tất cả các table trong cluster đó đều được lưu trữ trong data segment thuộc Cluster đó. index segment Mỗi một index đều có một index segment lưu trữ các dữ liệu của nó. Trong partitioned index thì mỗi partition cũng lại tương ứng với một index segment.
  • 17. rollback segment Một hoặc nhiều rollback segments của database được tạo lập bởi người quản trị database để lưu trữ các dữ liệu trung gian phục vụ cho việc khôi phục dữ liệu. Các thông tin trong Rollback segment được sử dụng để:  Tạo sự đồng nhất các thông tin đọc được từ database  Sử dụng trong quá trình khôi phục dữ liệu  Phục hồi lại các giao dịch chưa commit đối với mỗi user temporary segment Temporary segments được tự động tạo bởi Oracle mỗi khi một câu lệnh SQL statement cần đến một vùng nhớ trung gian để thực hiện các công việc của mình như sắp xếp dữ liệu. Khi kết thúc câu lệnh đó, các extent thuộc temporary segment sẽ lại được hoàn trả cho hệ thống. Oracle thực hiện cấp phát vùng không gian lưu trữ một cách linh hoạt mỗi khi các extents cấp phát đã sử dụng hết. Các cấu trúc vật lý khác Ngoài ra, Oracle Server còn sử dụng các file khác để lưu trữ thông tin. Các file đó bao gồm:  Parameter file: Parameter file chỉ ra các tham số được sử dụng trong database. Người quản trị database có thể sửa đổi một vài thông tin có trong file này. Các tham số trong parameter file được viết ở dạng văn bản.  Password file: Xác định quyền của từng user trong database. Cho phép người sử dụng khởi động và tắt một Oracle instance.  Archived redo log files: Là bản off line của các redo log files chứa các thông tin cần thiết để phục hồi dữ liệu. II.2. GIỚI THIỆU ORACLE DESIGNER II.2.1. VAI TRÒ II.2.2. CÁC CÔNG CỤ II.2.3. THÀNH PHẦN VÀ CÁCH THỰC HIỆN ORACLE DESIGNER II.3. GIỚI THIỆU ORACLE REPORT
  • 18. II.3.1. ORACLE REPORT LÀ GÌ? Oracle Reports là một công cụ phát triển ứng dụng, hiển thị và in báo cáo theo yêu cầu. Nó phát triển dựa trên ngôn ngữ CSDL SQL và PL/SQL. II.3.2. ƯU ĐIỂM CỦA ORACLE REPORT Oracle report cho phép tạo ra rất nhiều loại báo cáo khác nhau, từ cơ bản đến phức tạp bao gồm: mester/detail reports, nested matrix reports, form letters, và mailing labels. Các đặc trưng chính bao gồm:  Data model dùng để tạo dữ liệu trong report và Layout editor dùng để thiết kế giao diện report  Object navigator giúp bạn có một cái nhìn tổng thể về dữ liệu và các đối tượng trong report theo cấu trúc hình cây  Packe function dùng để gán cho các đối tượng trong báo cáo để tính toán hoặc điều khiển sự hiển thị  Giao diện báo cáo là đồ họa, có thể đặt điều kiện in ấn  Cho phép xem trước báo cáo giống như khi được in ra  Có trợ giúp online theo đối tượng II.3.3. CÁC THÀNH PHẦN CỦA ORACLE REPORT BUILDER  Data Model : Thiết lập nên các dữ liệu cho một Report  Layout Model : Xây dựng Layout, thiết kế hiển thị cho các đối tượng  Live Previewer : Hiển thị Report như dạng mà nó sẽ được in ra để có thể chỉnh sửa đơn giản các thành phần dữ liệu hiển thị.  Parameter Form : Thiết lập các tham số cần nhập vào cho Report khi chạy.  Properties : Khai báo các thuộc tính của Report, ví dụ kích cỡ cho một trang in.  Triggers : Các thủ tục sẽ được xử lý tại các giai đoạn khác nhau theo sự kiện khi vận hành Report.  PL/SQL Program Units : Các chương trình con PL/SQL mà có thể được gọi ra để thực hiện. II.3.4. CÁC KIỂU CỦA ORACLE REPORT Có một số kiểu Report thông thường sau: - Tabular
  • 19. - Master-Detail - Matrix. Ví dụ trong bài toán quản lý học sinh, ta có thể lập báo cáo theo các kiểu trên như sau: + Kiểu Tabular + Kiểu Master_Detail + Kiểu Matrix: dữ liệu hiển thị dạng bảng trong đó cột và hang là các Master và nội dung hiển thị trong các ô là dữ liệu Detail. II.3.5. KẾT QUẢ CỦA ORACLE REPORT Kết quả của một Report có thể được kết xuất ra ở một số thành phần sau:
  • 20.  Screen: hiển thị trên màn hình  Preview:xem report trên màn hình giống như in  File: hiển thị kết quả ra một file theo dạng .PDF, .HTML.  Printer: in ra report  Mail: đưa report vào mail sử dụng Oracle Mail. II.3.6. CÁC BƯỚC TẠO ORACLE REPORT Có 3 bước để tạo một Oracle Report mới Định nghĩa một report mới Khi chạy Report Builder thì mạc định sẽ tạo cho ta một report mới. Nếu không chúng ta có thể tạo một report mới bằng cách chọn File -> New -> New Report từ menu chính của Oracle Report Builder. Khi tạo xong một đối tượng report mới chúng ta có thể dễ dàng nhìn thấy panel đầu tiên nằm phía bên trái trong phần màn hình chính của Report Builder. Đây là một panel vô cùng quan trọng, nó thể hiện toàn bộ các đối tượng có trong report theo cấu trúc hình cây, và ta có thể di chuyển đến bất cứ đối tượng nào một cách dễ dàng. Các đối tượng trong report được nhóm theo từng nhóm riêng biệt, được tổ chức theo hình cây giúp ta dễ dàng tìm kiếm đối tượng cần thiết. Tạo data model gồm: chọn dữ liệu nào, mối liên hệ dữ liệu và các tính toán liên quan đến báo cáo Data model là nơi chứa các đối tượng dữ liệu cấu trúc dữ liệu và các mối liên kết dữ liệu của report. Ta có thể tạo mới, sửa đổi, các đối tượng model trong data model editor. Các loại đối tượng có trong data model bao gồm: - Queries: là một câu lệnh select. Chúng ta có thể lấy dữ liệu từ một hoặc nhiều bảng trên một hoặc nhiều CSDL khác nhau. - Groups: Group xác định cấu trúc dữ liệu trong báo cáo. Oracle tự động tạo ra một group ứng với mỗi query nhưng ta có thể tạo thêm các group mới từ query đó. Chúng ta sử dụng group kiểu cha – con để tạo ra các breack reports - Columns: đây là nơi chứa dữ liệu của report. Cột mạc định tương ứng với các cột chứa trong câu lệnh select. Ta cũng có thể tạo ra các cột tổng, các cột công thức. - Parameters: là các biến trong report cho phép điều khiển sự diển thị trong runtime. Có 2 loại parameter là user parameter và system parameter. Oracle tự động tạo các system parameter tại thời điểm runtime còn user parameter là do người sử dụng tự định nghĩa. - Data links: được dùng để tạo kết nối cha – con giữa các query và group.
  • 21. Tạo layout để thể hiện báo cáo: đầu tiên dùng default layout tạo layout mạc định, rồi tu chỉnh mạc định để có layout riêng của bạn Tạo layout cho report chính là xác định xem cái báo cáo của chúng ta trông sẽ như thế nào. Oracle report cung cấp cho chúng ta 6 layout styles mạc định bao gồm: tabular, master/detail, form letter, form, mailing label, và matrix. Bạn có thể chọn một trong các kiểu trên rồi tu chỉnh lại thành layout riêng của mình. Các đối tượng trong Layout bao gồm: Repeating frames Frames Fields Boilerplate anchors II.4. NGHIÊN CỨU ORACLE FORM II.4.1. TỔNG QUAN VỀ ORACLE FORM II.4.1.1. Vai trò Oracle form là một trong những sản phẩm quan trọng trong bộ công công cụ Developer và là công cụ phát triển form chính của oracle trong hơn 15 năm qua. Trong suốt thời gian này thì các ứng dụng của form builder được sử dụng trong các hệ thống máy tính lớn, môi trường dựa trên cơ sở ký tự, môi trường client sever, và bây giờ là môi trường web. Oracle Form cung cấp các phương tiện phát triển giao diện, các xử lý, các thao tác với dữ liệu trong database và có khả năng kết nối, trao đổi thông tin với các ứng dụng khác của Oracle như là Oracle Report, Oracle Graphic. II.4.1.2. Các modul(file) có trong một ứng dụng Oracle form Một ứng dụng Oracle form có thể gồm 1 hoặc nhiều moduls(files). Có 3 loại moduls sau: Form: đại diện cho các đối tượng dữ liệu mà người sử dụng có thể nhìn thấy hoặc thực hiện các thao tác. Các file này có phần mở rộng là *.FMB, *.FMX Menu: Đây là nơi chứa một loạt các chức năng mà ta có thể lựa chọn để thực hiện. Các file này có phần mở rộng là *.MMB, *.MMX
  • 22. Library: Đây là nơi chứa các thành phần của form. Các thành phần của library có thể chứa bất kỳ đối tượng nào của form. Nó cho phép sử dụng đi sử dụng lại các thành phần của form, hỗ trợ bạn chuẩn hóa các form của mình, tiết kiệm thời gian trong khi phát triển. Các file này có phần mở rộng là *.PLL, *.PLX II.4.1.3. Các thành phần của Oracle Form Trong Oracle Form 10g có 3 thành phần chính là: Form Builder: hay còn gọi là môi trường phát triển tích hợp. công cụ này cung cấp các thành phần thiết kế mong muốn như là thiết kế giao diện, thiết kế menu, thiết kế library. Form compiler: thành phần này giúp ta biên dịch các file tạo bởi Oracle builder thành các file có thể thực thi được. Oracle Server: Thành phần này giúp ta thực thi file được tạo ra bởi Form compiler trong môi trường web. Nó là một sản phẩm trung gian để nhận các các yêu cầu từ một trình duyệt web và dọn sẵn một java applet dựa trên form cho trình duyệt. Form Server có thể được gọi từ trình duyệt web hoặc có thể được gọi trong form builder II.4.1.4. Môi trường phát triển Ngày nay thì oracle form chỉ tập trung phát triển để xây dựng các ứng dụng chạy trên web và internet. Mục đính của Oracle là sử dụng web để loại bỏ sự phụ thuộc vào hệ điều hành. Khi đó chúng chỉ phụ thuộc vào trình duyệt web và web server. Khi sử dụng form trên web, file thực thi được đăng ký với web server. Oracle web server được gọi là oracle9iAS và form server là một trong nhứng thành phần của nó. File thư viện FMB File thư viện FMX Người dùng thực thi Form Form builder xây dựng Form compile biên dịch Form server hoăc form runtime thực thi
  • 23. Để thực thi web form, một người dung yêu cầu 1 URL trong trình duyệt web của mình. URL chỉ đến một ứng dụng được đăng ký bên trong form server. Một listener trên web server nắm lấy các yêu cầu URL này vào chuyển nó đến form server. Form server tìm kiếm file thực thi .fmx và đổi file .fmx thành một java applet và gửi tới trình duyệt web. Để thực thi một form trong trình duyệt web client phải có một applet gọi là Jinitiator. Khi một form Oracle được thực thi thông qua web, web server lưu trữ form và gửi Jinitiator tới trình duyệt web của client (nếu nó chưa tồn tại trên client). Jinitiator là một applet chung, nó được tải về client một lần. Nó cũng có thể được sử dụng để tô điểm form bên trong trình duyệt, kiểm tra tính hợp lệ của dữ liệu, và liên kết với form server. Form server đọc và thực thi file .fmx. Form server kết nối với cơ sở dữ liệu và với applet trên trình duyệt web. II.4.2. CÁC CÔNG CỤ CỦA FORM BUILDER Form buider có các công cụ để xây dựng form: object navigator, layout editor, property palette và PL/SQL editor. II.4.2.1. Object Navigator là nơi định vị và di chuyển tới bất kỳ thành phần nào của form. Double click vào bất kỳ đối tượng nào trong cửa sổ object navigator làm cho
  • 24. form builder thể hiện đối tượng được chọn bên trong một công cụ form builder thích hợp. object navigator được sử dụng để tạo, xóa hoặc sao chép và đổi tên các thành phần của form. Object navigator là đối tượng được tổ chức theo cấp bậc. Ở mức cao nhất là file nhị phân nằm trên máy chủ. Mỗi khi một file được mở hoặc tạo thì đối tượng con được liệt kê phía dưới đối tượng cha thích hợp II.4.2.2. Property Palette Là một công cụ của form builder được sử dụng để định nghĩa các đặc tính đặc biệt của các thành phần form. Mỗi thành phần có một bộ thuộc tính khác nhau. Ví dụ các thuộc tính thành phần bao gồm sự giới hạn, chiều dài giá trị, kiểu dữ liệu hoặc giá trị thông báo. Các thuộc tính này về thực chất có thể được sử dụng để điều khiển các hành vi của form. Double click vào đối tượng trong object navigator thường mở ra một công cụ property palette. II.4.2.3. Layout Editor Là công cụ được dùng để vẽ form. Công cụ này cho phép bạn di chuyển và sắp xếp các đối tượng của form, thiết lập font chữ và tô màu, thêm các thành phần vào form và thêm một nhãn cho thành phần đó. Việc double click vào bất cứ thành phần đồ họa trong object navigator làm cho layout editor trình bày một canvas để chứa đối tượng đồ họa đó.
  • 25. II.4.2.4. PL/SQL Editor Công cụ này sử dụng để viết các kịch bản PL/SQL cần thiết cho một form. Kịch bản PL/SQL này được đặt trong các trigger gắn với các đối tượng của form. II.4.3. KHỞI TẠO ORACLE FORM BUILDER II.4.3.1. Khởi tạo Oracle Form Builder Có 2 cách để gọi Oracle Forms Designer Tìm đến biểu tượng Forms Designer và nháy đúp con trỏ trên biểu tượng để vào Forms Designer; hoặc Chạy file frmbld.exe trong thư mục bin của thư mục đã cài bộ Oracle developer (ví dụ: C: C:DevSuiteHome_1BIN). II.4.3.2. Tạo và Xóa Form Tạo một Form trong Oracle Forms Designer phải : - Vào chức năng File/New/Form ;hoặc - Đặt con trỏ vào biểu tượng forms trên Object Navigator sau đó nhấn vào biểu tượng Create (hình dấu [+] ).
  • 26. Muốn xoá form đặt hộp chọn vào tên form cần xoá sau đó nhấn phím del hoặc nhấn vào biểu tượng delete trên Object Navigator II.4.3.3. Lưu trữ và thực hiện Form Muốn lưu trữ chọn chức năng file/save hoặc File/Save As sau đó đưa đường dẫn và tên file cần lưu trữ. File ngầm định sẽ có đuôi *.FMB. Để chạy form vào chức năng programe/Run form hoặc nhấn vào biểu tượng Run form để chạy. Trong trường hợp login vào CSDL, Form Designer sẽ hỏi tên user và mật khẩu (có thể vào chức năng file/connect để login vào CSDL). Khi chọn chức năng chạy form, form sẽ tự động được biên dịch và tự sinh ra file chạy. Nếu có lỗi sẽ có thông báo hiện lên. Để biên dịch form chọn chức năng program/Compile II.4.4. CÁC THÀNH PHẦN CƠ BẢN CỦA MỘT FORM II.4.4.1. Window Khái niệm : Window là một cửa sổ màn hình giống như một khung bức tranh rỗng ( chưa có nội dung). Window có các chức năng cho phép phóng to, thu nhỏ, cuốn lên-xuống, di chuyển vị chí. Một form có thể có nhiều window. Tất cả các form khi tạo mới sẽ tự động tạo một window ngầm định với tên là WINDOW0. Có thể tạo các window bằng cách chèn thêm (insert) từ Object Navigator. Mỗi một window được tạo hầu như đồng thời với việc tạo một canvas- view. Canvas-view sẽ là nền cho giao diện để đặt các đối tượng (như item,boilerplate text và graphics). Cũng có thể đặt tương ứng canvas- view với window bằng cách đặt thuộc tính trong canvas-view. Tại thời điểm chạy ứng dụng, window sẽ được hiển thị khi có lời gọi từ chương trình hoặc khi có sự định hướng xuất hiện (Navigation) của một item trên một canvas-view mà được gán tới window. Oracle Forms hiển thị window với nền canvas-view tương ứng Trong cửa sổ thuộc tính của window ta có thể đặt các thuộc tính của window. Cách tạo và xóa một window: Để tạo mới một window ta chuyển hộp chọn trên cửa sổ Object Navigator vào đối tượng windows sau đó nhấn vào biểu tượng Create. Ta có thể nháy đúp chuột vào window để gọi cửa sổ thuộc tính để có thể thay đổi tên ngầm định của window hoặc các thuộc tính khác.
  • 27. Muốn xóa một window đặt con chuột vào biểu tượng window cần xoá sau đó nhấn phím del hoặc nhấn vào biểu tượng delete trên Object Navigator Thuộc tính cơ bản của window. General:  Name: tên của Windows  Subclass information: chèn một nhóm thuộc tính đã được xây dựng sẵn cho window  Comments: Chú thích của window Functional:  Title: Tiêu đều hiển thị của window  Primary canvas: Canvas chính(mạc định) được đặt nên window  Horizontal/vertical toolbar Canvas: Xác định toolbar nào được hiển thị trong window  Window style: Xác định kiểu window (2 kiểu là document và dialog)  Close/move/resize allowed: cho phép đóng, di chuyển, thay đổi kích cơ của sổ hay không?  Maximize/minimized allowed: có cho phép thu nhỏ và phong to cửa sổ cực đại hay không?  Minimized title: tiêu đề của của sổ khi bị thu nhỏ nhất  Icon filename: tên file biểu tượng của của sổ  Inherit menu: window hiển thị với form menu hiện thời Physical:  X/Y position: Tọa độ vị trí xuất hiện của của sổ trên màn hình máy tính  Width: độ rộng của của sổ  Height: độ cao của của sổ  Bevel: kiểu khung hiển thị của window  Show horizontal/vertical scroll bar: Hiển thị thanh trượt ngang/ đứng hay không? Visual Attributes:  Visial attribute group: Chén nhóm các thuộc tính trực quan được xây dựng sẵn vào window Color:  Foreground color: Màu chữ hiển thị  Background color: Màu nền hiển thị Font:  Font name: chọn form chữ cho của sổ
  • 28.  Font size: chọn cỡ chữ  Font style: Chọn kiểu chữ International:  Direction: Hướng II.4.4.2. Canvas Khái niệm: Canvas-View là vùng sẽ được hiển thị lúc chạy ứng dụng. Quan hệ giữa canvas và view (khung nhìn) của nó là một khái niệm cơ bản trong Oracle Forms. View giống như một hình chữ nhật trên canvas mà những gì chứa trong view sẽ được hiển thị trên window khi chạy ứng dụng. Có thể dùng view của canvas để thay đổi kích thước vùng hiển thị. Khi view cùng kích thước với canvas thì tất cả nội dung trên canvas sẽ được hiển thị. Khi view nhỏ hơn thì chỉ có một phần canvas trong view được hiển thị. Canvas-View luôn hiển thị trên window mà ta đã gán tới. Có 3 loại Canvas-View: là content, stacked, toolbar Với content hoặc toolbar canvas-view: khung nhìn được xác định bởi window tại đó canvas hiển thị trong nó. Việc thay đổi kích thước window tại thời điểm chạy sẽ ảnh hưởng đến việc hiển thị nội dung trong canvas. Với stacked canvas-view: kích thước của view có thể được chỉ định tại lúc thiết kế bằng cách giá trị cho các thuộc tính tương ứng. Có thể cho ẩn hay hiện các stacked canvas-view khi thiết kế chương trình. Có thể đặt thuộc tính để hiển thị các thanh cuốn (có chức năng hiển thị các vùng khác trên canvas chưa được hiển thị). Tạo và xóa canvas: Để tạo mới một canvas-view: vào cửa sổ Object Navigator, vào đối tượng canvas-views sau đó nhấn vào biểu tượng Create. Ta có thể gọi cửa sổ thuộc tính để thay đổi các thuộc tính của canvas-view. Xoá một canvas-views: đặt con chuột vào tên canvas-views cần xoá sau đó nhấn phím del hoặc nhấn chuột vào biểu tượng Delete để xoá. Các thuộc tính cơ bản của canvas-views: General:  Name: tên canvas  Canvas type: Kiểu canvas Functional:  Raise on Entry: xác định thứ tự hiển thị các canvas trong window  Popup menu: gán popup menu cho canvas Viewport:  Viewport x/yosition: vị trí hiển thị canvas  Viewport width/height: độ rộng và độ cao của canvas
  • 29. Physical:  Visible: xem có hiển thị canvas này hay không?  Window: xác định window đặt canvas  Bevel: chọn khung hiển thị canvas  Corner style: Chọn kiểu góc của canvas  Width style: Xác định kiểu độ rộng canvas(fixed, variable) Visual Attributes:  Visual attribute group: gắn 1 nhóm các thuộc tính trực quan đã được xác định trước vào canvas Color:  Foregroup/background color: Màu chữ và màu nền canvas Font:  Font name/size/weight/style: chọn font chữ, cỡ chữ độ rộng và kiểu chữ II.4.4.3. Block Data Khái niệm: Block là một khối có chứa các Item. Tất cả các Item dù có quan hệ tới các bảng hoặc không đều phải nằm trong các Block. Data blocks là một thành phần chứa dữ liệu của form có quan hệ tới các table ( hoặc view) trên cơ sở dữ liệu. Data blocks có thể chứa item để nhận thông tin từ cơ sở dữ liệu, và cũng có thể chứa các item không nhận thôn tin từ cơ sở dữ liệu(control item) Control block là khối mà không có quan hệ tới các bảng trên cơ sở dữ liệu và nó chỉ gồm các control item. Tất cả Data blocks có thể là single-record blocks hoặc multi-record blocks. Một single-record block chỉ hiển thị một bản ghi tại một thời điểm. Một multi-record block hiển thị nhiều bản ghi tại một thời điểm. Một base table block có thể là master block hoặc detail block. Master block hiển thị các master record. Detail block hiển thị các detail record. Ta có thể tạo thêm một block bằng cách chèn thêm đối tượng từ Object Navigator và có thể thay đổi các thuộc tính của block bằng cách thay đổi các giá trị tương ứng trong cửa sổ thuộc tính của block. Tạo một Control block Để tạo một control block ta thực hiện như sau. - Di chuyển chuột đến bảng Object Navigator. - Bấm chuột chọn nhóm đối tượng Data block rồi di chuyển bấm vào nút Create để tạo block.
  • 30. - Một Bảng xuất hiện với 2 nút radio button. Tích và chọn radio Build a new data block manually - Đặt tên cho control block vừa tạo bằng cách kích 2 lần vào tên mạc định được tạo ra trong Object Navigator và viết vào tên mới. Hoặc là mở Property palette cho đối tượng block đó và thay đổi thuộc tính Name thành tên mới muốn đặt cho block - Thêm các item mong muốn cho block vừa tạo Tạo một Data block Để tạo một data block ta có hai cách: Cách 1: Sử dụng trình Data Block Wizard: Data block wizard là một trình tạo block đơn giản bằng giao diện của Oracle Form. Để tạo bằng Data block wizard ta có thể thực hiện như sau: Khởi động: Bấm chuột phải vào vùng bất kỳ trong object navigator chọn Data block wizard hoặc chọn mục Data block trong object navigator và ấn vào nút create, một bảng tùy chọn xuất hiện, ta chọn tùy chọn Use the Data block wizard rồi chọn Nút OK để khởi động trình Data block wizard Trang 1: trang chọn type. Nó được sử dụng để nhập vào loại dữ liệu nguồn cho block. Hộp thoại này có 2 nút là Table or view và Stored Procedure. Việc chọn Table or view thiết lập block dữ liệu dựa trên một bảng hoặc một view của Oracle. Một bảng là một đối tượng cơ sở dữ liệu để lưu trữ các record. View để lưu trữ các phát biểu select để tạo và trả về một tập các kết quả hoặc nhận được từ các bảng. Các store procedure được đặt tên là các kịch bản PL/SQL nằm trong cơ sở dữ liệu. chúng được sử dụng kết hợp với Ref Cursor và được sử dụng như một nguồn dữ liệu. Tùy chọn Table or view được thông dụng hơn nên trong phần này ta sẽ chọn Table or view để đến trang tiếp theo
  • 31. Hình 1: Trang chọn loại dữ liệu cho data block Trang 2:trang table. Trang này được sử dụng để thiết lập nguồn dữ liệu. trang này không xuất hiện nếu bạn chưa đăng nhập vào cơ sở dữ liệu nên là nếu trước đó bạn chưa đăng nhập vào cơ sở dữ liệu thì bạn sẽ được nhắc nhở đăng nhập. Hình 2: Trang 2 data block wizard: chọn nguồn data block - table or view: Mục này cung cấp tên nguồn dữ liệu là bảng hoặc view - browse: nút này khởi động hộp thoại table được sử dụng để tìm kiếm xác định các bảng hoặc các view
  • 32. - refresh: nút này điền vào hộp danh sách Available column. Chỉ sử dụng nút này nếu khi chọn bảng hay là view rồi mà vẫn chưa thấy xuất hiện các cột trong hộp danh sách Available column - Enforce data integrity: đánh dấu vào hộp kiểm này để thêm các rằng buộc cơ sở dữ liệu của bảng(view) được chọn vào thuộc tính của data block - Available column: hộp liệt kê các cột trình có thể sử dụng cho data block - Database items: hộp danh sách trình bày các cột có thể trình bày các cột sẽ xuất hiện trong data block - Move buttons: bốn nút xuất hiện giữa 2 hộp danh sách. Chúng được sử dụng để thêm hoặc loại bỏ từ các cột danh sách Hình 3: hộp chọn table hoặc view khi bấm vào nut browse của trang 2 trình data block wizard Trang 3: trang data block name. Đây là trang sử dụng để đặt tên cho block dữ liệu. Mạc định thì tên block dữ liệu sẽ là tên của table hoặc tên view đã chọn
  • 33. Hinh : trang data block name của trình dât block wizard Trang 4: trang chào mừng. Đây là trang chúc mừng bạn đã vừa tạo xong 1 data block. Trang này còn có 2 nút radio để chọn xem có gọi trình Layout Wizard không? Đây là trình cho phép ta đặt block dữ liệu lên canvas. Chúng ta sẽ xét đến trình này sau. Hinh : trang chào mừng của trình data block wizard
  • 34. Cách 2: Tạo Data block bằng việc thay đổi các thuộc tính của Control block Để tạo một data block bằng tay đầu tiên ta thực hiện tạo một control block như trên, rồi sau đó chuyển nó thành một data block (gắn nó với dữ liệu trong database) bằng cách thay đổi thuộc tính của block đó. Các thuộc tính và giá trị cần thay đổi là: Database data block: Yes Query data source name: có các tùy chọn là none, table, procedure, transactional trigger, from clause query. Tùy chọn thông thường là table. Nó sẽ lấy dữ liệu của một bảng nào đó. Tùy chọn from clause query sử dụng để ta viết vào một câu lệnh select truy vấn dữ liệu từ các bảng khác nhau Query data source name: đây là nơi điền nguồn dữ liệu cho data block. Nếu chọn là table ở thuộc tính trên thì tại đây ta điền vào tên bảng mong muốn. Nếu chọn from clause query ở trên thì ta đánh vào câu lệnh select mong muốn. Xóa một block (data và control block) Để xóa một block ta thực hiện như sau: Chọn data block muốn xóa trong object navigator. Rồi ấy Del hoặc chọn nút delete trong object navigator Các thuộc tính cơ bản của block General:  Name: tên datablock  Subclass information: điền vào một tập các giá trị thuộc tính đã xây dựng sẵn Navigation:  Navigation style: Kiểu di chuyển trong block  Previous/next navigation data block: chỉ block trước và block tiếp theo block hiện thời Record:  Number of records displayed: số record hiển thị tại một thời điểm  Record orientation: chỉ hướng của record là ngang hay học Database:  Database data block: xác định xem block là data hay control block  Query/delete/insert/update allow: cho phép truy vấn, xóa, chèn hay update hay không?
  • 35.  Query data source type: chọn kiểu nguồn dữ liệu  Query data source name: điền nguồn dữ liệu cho block  Where/ order by clause: tiêu chí hạn chế hặc xắp xếp dữ liệu trong block Scrollbar:  Show scroll bar: xác định xem có hiển thị scroll bar hay không?  Scroll bar orientation: chọn hướng của scroll bar  Scroll bar x/y position: tọa độ scroll bar  Scroll bar width/length: chiều dài và rộng của scroll bar Color:  Fore/background color: chọn màu chữ, màu nền II.4.4.4. Item Khái niệm Items là các đối tượng giao diện mà hiển thị thông tin để thực hiện các thao tác và các tương tác với người sử dụng. Oracle Forms cung cấp các kiểu giao diện item mà ta có thể sử dụng để xây dựng các giao diện ứng dụng. Gồm: button, chart item, check box, display item, image item, list item, radio group, text item, text. Mỗi một item trong form đều thuộc vào một block nào đó. Các item trong một block có thể nằm trên các canvas-views khác nhau và có thể hiển thị trên các window khác nhau. Các item trên thanh toolbar của màn hình layout ( Tools/Layout Editer) Hình 5: thanh tool bar của layout editor
  • 36. Cách tạo và xóa một item: Trong màn hình layout để tạo một item, ta phải nhấn chuột vào biểu tượng của item tương ứng, sau đó kéo thả chuột vào màn hình layout. Thuộc tính canvas chỉ ra canvas nào item đang hiển thị và block chỉ ra item thuộc block nào. Có thể thay đổi các giá trị này. Cũng có thể vào Object Nevigator chọn đối tượng blocks/[tên block]/items muốn đặt item, sau đó nhấn vào biểu tượng Create. Nháy đúp con trỏ chuột lên trên item vừa tạo sẽ hiện lên màn hình thuộc tính cho phép thay đổi các thuộc tính của item. Muốn xoá một text item, đặt hộp chọn vào item cần xoá sau đó nhấn phím del hoặc biểu tượng Delete trên cửa sở Object Navigator để xoá. Lấy giá trị item: <biến>:=:<tên block >.<tên item> Gán giá trị cho item: :<tên block >.<tên item>:=<Giá trị> II.4.4.4.1. Text Item: Khái niệm: Text item Là đối tượng dạng text hiển thị các giá trị dạng string. Text item cho phép thực hiện các thao tác soạn thảo. Là kiểu ngầm định của oracle forms. Cách tạo, xóa: giống với cách tạo xóa item chung Các thuộc tính chung cơ bản của item: General  Name: tên của item  Intem type: kiểu của item  Subclass information: chèn một tập các thuộc tính với giá trị sẵn cho item Function:  Enabled: cho phép định hướng tới item bằng chuột  Multi line: cho phép có nhiều dòng không?  Case restriction: chọn chế độ hiển thị dữ liệu lên iem với người dùng là chữ hoa hay chữ thường hay là giữ đúng định dạng trong csdl hoặc đúng định dạng khi người sử dụng nhập vào giá trị  Conceal data: giấu thông tin nhạy cảm bằng cách hiển thị các ký **. Thường được sử dụng để nhập giá trị password Navigation:  Keyboard navigable: có cho phép di chuyển đến item bằng phím tab của bàn phím hay không?  Previous/next navigation item: item trước và item tiếp theo của item hiện thời Data:
  • 37.  Data type: chọn kiểu dữ liệu cho item  Maximum length: độ dài tối đa khi hiển thị hay khi nhập vào item  Required: xác định xem item này có nhất thiết phải nhập vào khi tìm kiếm không?  Fomat mask: đặt định dạng cho item  Copy value from item: giá trị của item sẽ được copy từ giá trị của 1 item khác nào đó  Synchronize item: xác định item này được đồng bộ với item nào? Calculation:  Calculation mode: kiểu tính toán của item(none, formula- tính theo công thức,summary- tính theo các hàm sum, count…)  Formula: là nơi viết vào công thức tính nếu ta chọn Calculation mode là formula  Summary function: chọn hàm tính nếu Calculation mode được chọn là summary Record:  Current record visual attribute group: chèn một tập các thuộc tính trực quan được xây dựng sẵn cho bản ghi ở thời điểm hiện thời  Distance between record: chọn khoảng cách giữa các record  Number of item displayed: chọn số các item được hiển thị Database:  Database item: xác định xem item này là data item hay là control item  Column name: tên 1 cột có trong data block mà item này chứa trong đó  Primary key: xác định xem item này có phải là item chứa cột mạng khóa chính hay không?  Query only: xác định xem item này có phải chỉ được sử dụng để query không?  Query/insert/update/delete allowed: cho phép query, insert, update, delete hay không? Physical:  Canvas: xác định item nằm trên canvas nào  Tab page: xác định item nằm trên tab nào nếu canvas thuộc kiểu tab can vas
  • 38.  x/y position: tọa độ vị trí item  width/height: độ rộng và độ cao của item  show vertical scroll bar: xác định xem có hiển thị scroll bar cho item này hay không? Thuộc tính này chỉ chọn khi item có thuộc tính multi line là yes Visual attributes:  Visual attribute group: chọn nhóm các thuộc tính trực quan đã được xây dựng sẵn để gán cho item  Prompt visual attribute group: chọn nhóm các thuộc tính đã xây dựng trước dành cho prompt của item này Color:  Background/foreground color: chọn màu nền và màu chữ cho item Font:  Font name/size/weight/style: chọn font chữ, cỡ chữ, độ rộng của form và kiểu của font Prompt:  Prompt: viết vào prompt cho item này  Prompt display style: kiểu hiển thị prompt( 1 record, tất cả các record, hay là hidden)  Prompt alignment: chọn căn prompt là ở trên, dưới hay ở giữa item  Prompt attachment edge: chọn chiều hiển thị prompt(start- chiều ngang với item, top - chiều dọc,…) Prompt color:  Prompt foreground color: chọn màu chữ cho prompt Prompt font: chọn font cho prompt Help:  Tooltip: viết câu trợ giúp chức năng của item này khi ngưofi sử dụng dê chuột vào  Tooltip visual attribute group: chọn mọt nhóm các thuộc tính đã xây dựng sẵn cho tooltip II.4.4.4.2. Display item. Khái niệm: Display item là đối tượng dùng để hiển thị các giá trị dưới dạng string. Display item không cho phép định hướng con trỏ tới và soạn thảo nội dung trong nó. Cách tạo và xóa display item: tương tự như tạo và xóa một item Các thuộc tính cơ bản: item type: display item II.4.4.4.3. list item
  • 39. Khái niệm: List item là một đối tượng dùng để hiển thị một danh sách các giá trị dưới dạng string cho phép chọn một giá trị. Cách tạo và xóa list item: tương tự như tạo và xóa một item Các thuộc tính cơ bản: - Item type: list item - List stype: chọn kiểu danh sách. Có các kiểu sau: poplist, Tlist, Combo box - Element in list: xoạn thảo các thành phần của list item - Mapping of other value: giá trị được gán ứng với các giá trị không có trong danh sách II.4.4.4.4. Button Khái niệm: Là một cái hộp có nhãn bên trong hoặc là một biểu tượng mà có thể nhấn vào đó để thực hiện các hành động Cách tạo và xóa list item: tương tự như tạo và xóa một item Thuộc tính cơ bản: - item type: push button - lable: nhãn hiển thị của button - iconic: xác định xem có dùng một icon khác icon mạc định không? - icon file name: tên file icon cho button II.4.4.4.5. Check box Khái niệm: Là một nhãn hiển thị với một hộp đánh dấu trạng thái. Cách tạo và xóa check box: tương tự như các tạo và xoa item Các thuộc tính cơ bản: - Item type: check box - Lable: nhãn của check box - Value when checked: giá trị khi mà check box được tích - Value when unchecked: giá trị khi check box không được tích II.4.4.4.6. Image Khái niệm: Là một hình hộp hình chữ nhật với một kích thước nào đó mà có thể hiển thị các ảnh được lưu trong cơ sở dữ liệu hoặc trên file. Các ảnh này chỉ xuất hiện trên màn hình trong lúc chạy chương trình và nhờ các lệnh Cách tạo và xóa image: tương tự như tạo và xóa item Các thuộc tính cơ bản:
  • 40. Item type: image Image format: định dạng của ảnh được sử dụng Display qualtity: chất lượng hiển thị của ảnh Sizing stype: chọn kiểu hiển thị của bức ảnh khi mà kích thước của nó không phù hợp với kích thước ảnh thật II.4.4.5. Relations Khái niệm Relation là một đối tượng logic chỉ ra mối quan hệ giữa một bên là master block và một bên là detail block. Trong Object Navigator quan hệ này sẽ xuất hiện ở master block. Khi tạo relation thì Oracle Forms sẽ tự sinh ra các trigger và các mã PL/SQL để đảm bảo quan hệ giữa master và detail blocks. Phần mã này phụ thuộc vào kiểu quan hệ mà ta chọn. Cách tạo và xóa một relation Để tạo một Relation có thể tạo từ khi tạo mới block (Xem phần trên) Hoặc vào cửa sổ Object Navigator chọn vào Relations của master block sau đó nhấn biểu tượng Create để tạo -> hiện lên màn hình New relation Các thuộc tính cơ bản - Name: tên của relation - Detail data block: điền tên block dữ liệu chi tiết - Join condition: điều kiện kết nối giữa detail và mester data block - Delete record behavior: tùy chọn khi xóa mester data block II.4.4.6. Object Group Khái niệm Object Group là môt nhóm các thành phần của form, nó là một đối tượng của form. Nó được sử dụng để chứa bất kỳ các thành phần nào của form, tiện cho việc di chuyển các thành phần dùng chung giữa các form Cách tạo và xóa một Object Group Mở form. Trong Object Navigator tìm và chọn nút Object Group. Sau đó kích vào công cụ create. Đặt tên cho Object Group vừa được tạo ra. Kéo bất kỳ các thành phần nào của form vào đối tượng này. Các đối tượng được kéo chỉ có thể là các đối tượng của form hiện hành. Ta có
  • 41. thể loại bỏ các đối tượng đã được kéo vào Object Group bằng cách chọn nó và bấm vào công cụ delete Để xóa bỏ một Object Group ta chọn Object Group đó trong Object Navigator và chọn công cụ delete Các Object Group được sao chép giữa các form bằng cách kéo một Object Group từ form này bỏ vào mục Object Group của form khác. Khi bỏ sang form khác thì các mục nằm trong nhóm sẽ được tự động sao chép sang các nút thích hợp trong form mới. Nếu bạn xóa đi các Object Group thì các nút đã sao chép vẫn được giữ nguyên II.4.4.7. Triggers Khái niệm Triggers là một khối chứa các mã lệnh nhằm thực hiện một chức năng nào đó trong chương trình ứng dụng. Tất các các trigger đều có tên và chứa một hoặc nhiều dòng lệnh PL/SQL tương ứng với sự kiện mà nó phải xử lý. Tên Trigger thường tương ứng với sự kiện (ví dụ When-Button-Pressed trigger sẽ tương ứng với sự kiện nhấn vào Button. Một trigger phải được gắn với một object xác định trên form: item, block hoặc chính trên form. Trigger gồm các mức (level) tương ứng: Việc xác định mức đặt các trigger là rất quan trọng bởi vì nó xác định phạm vi hoạt động của trigger ứng với các sự kiện (events). Ví dụ Item- level trigger chỉ bật lên (fire) ứng với các sự kiện trên item. Nó không được bật lên ứng với sự kiện như vậy trên item khác cùng hay không cùng thuộc một block. Block-level trigger chỉ bật lên nếu có sự kiện xuất FORM BLOCK ITEM Trigger Trigger Trigger
  • 42. hiện trong block nhưng nó không bật lên khi xuất hiện các sự kiện giống như vậy thuộc block khác. Mặt khác nếu định nghĩa các trigger ở các mức khác nhau cùng xử lý một sự kiện, mà xự kiện này đều nằm trong phạm vi của các trigger thì trigger ở mức thấp nhất sẽ được thực hiện. Ví dụ ta đặt trigger When-New-Item- Instance tới một block và một trigger When-New-Item-Instance khác tới text item trong block này, khi sự kiện xuất hiện trên text item thì trigger mức item sẽ được bật lên còn trigger mức block bị bỏ qua. ở cùng một mức các trigger cũng xuất hiện và xử lý với các cách khác nhau. Có các loại trigger sau: Pre-, Post-,When-, On-, Key-. Tạo và xóa một trigger Trên cửa sổ Object Navigator ứng với mỗi object (item, block, form) sẽ có mục Triggers. Ta chuyển hộp chọn vào Triggers sau đó nhấn vào biểu tượng Create để tạo mới và chọn sự kiện tương ứng ( ví dụ when-button- pressed ) sau đó hiện lên cửa sổ viết mã. Pre –triggers: Các loại trigger này được kích hoạt trước các giao tác của cơ sở dữ liệu, hoặc các sự kiện của form. Chúng chứa đựng các phát biểu bổ xung, các phát biểu này được thực thi trước khi hoạt động xảy ra. Không giống như trigger on chúng không thay thế các hoạt động bình thường của form. Vd như trigger pre-insert được kích hoạt khi phát biểu insert được thực hiện Một số trigger loại này hay dùng như: pre-insert: được thực hiện trước khi quá trình insert thực hiện pre-delete:được thực hiện trước khi quá trình delete thực hiện pre-update: : được thực hiện trước khi quá trình update thực hiện pre-form: trước khi form được khởi động When – triggers: Các loại trigger này được kích hoạt khi một hoạt động của form xảy ra. Ví dụ như trigger when-new-form-instance được kích hoạt khi form được khởi động đầu tiên Một số trigger loại này hay được sử dụng: - When-button-pressed: Được thực hiện khi có thao tác nhấn button bằng phím hoặc chuột - When-clear-block:Thực hiện khi xoá dữ liệu từ block hiện thời - When-create-record: Thực hiện khi tạo một bản ghi mới - When-checkbox-change: Thực hiện khi check box thay đổi trạng thái
  • 43. - When-radio-change: Thực hiện khi có thay đổi chọn các radio button - When-list-change: Thực hiện khi thay đổi chọn giá trị trong danh sách. - When-new-block-instance: Được thực hiện khi di chuyển input focus từ một block từ block khác - When-new-item-instance: Được thực hiện khi con trỏ chuyển tới Item - When-validate-item: Xuất hiện khi có những thay đổi giá trị của item từ người sử dụng hoặc từ các trigger và khi con trỏ di chuyển ra khỏi item. Post – Triggers: Các loại trigger này kích hoạt sau các giao tác của cơ sở dữ liệu hoặc các sự kiện của form. Chúng chứa đựng các phát biểu bổ xung, các phát biểu này được thực thi sau khi hoạt động xảy ra. Không giống như trigger on, chúng không thay thế các hoạt động bình thường của form. Ví dụ trigger post-query được kích hoạt sau khi một record được đem về block dữ liệu Trigger post-query thường được sử dụng để đưa thông tin diễn giải vào trong một block dữ liệu. ví dụ làm rõ tên phòng ban trong bảng nhân viên vì trong bảng nhân viên chỉ có mã phòng ban. Trigger này có thể làm trả về tên của phòng ban tương ứng với mã phòng ban đó Một số Post-Trigger hay dùng - Post-Change: Thực hiện khi dữ liệu của item được thay đổi với giá trị chấp nhận không phải là giá trị null. - Post-form: Xuất hiện trong khi thoát khỏi form - Post-query: Thực hiện sau khi dữ liệu được điền vào các record - Post-record: Xuất hiện khi rời input focus từ bản ghi này tới bản ghi khác. Key – Trigger: Các loại trigger này dùng để thay thế các tính năng của phím chức nằng thông thường, chẳng hạn như trigger Key-Entqry được kích hoạt khi các phím chức năng dùng để chuyển một block dữ liệu vào trạng thái Enter query được ấn. chúng được dùng để thay thế hoặc là phát triển thêm các tính năng thông thường của phím đó .Một số trigger hay dùng: - Key-up: ứng với việc nhấn phím Page-up - Key-down: ứng với việc nhấn phím Page-down - Key-enter: ứng với nhấn phím enter
  • 44. - Key-next-item: ứng với việc nhấn phím tab On – Trigger: Các loại trigger này được dùng để khởi động một giao tác, ví dụ như là các phát biểu trong trigger on-insert thay thế phát biểu insert được sử dụng bởi block dữ liệu. Các thao tác đặc biệt trong trigger on là các thao tác quản lý dữ liệu chẳng hạn như là xóa dữ liệu và điền dữ liệu lại vào một block dữ liệu chi tiết sau khi thay đổi các record trong block dữ liệu cha. Các On-Triggers hay dùng On-error: Thực hiện khi có một lỗi nào đó xuất hiện On-mesage: Thực hiện khi hiện các mesage II.4.4.8. LOVs Khái niệm LOV là viết tắt của List of value. Nó là một đối tượng đặc biệt của form được sử dụng để điền dữ liệu và kiểm tra tính hợp lệ của dữ liệu trong item văn bản. Một LOV là một hộp thoại được gắn với các item rõ rang về form. Người dùng có thể mởi LOV và chọn một giá trị từ danh sách. Một LOV có thể được sử dụng trong chế độ enter query để đồng nhất chế độ chọn lựa hoặc được sử dụng trong chế độ normal để điền và kiểm tra một giá trị. LOV sử dụng một record group là nguồn cung cấp giá tr trị cho nó. Record group thường sử dụng phát biểu select là nguồn dữ liệu vì thế LOV là một tập các giá trị động. giống như list item LOV có thể được dụng để nhận diện các giá trị, tuy nhiên LOV có khả năng thể hiện hàng trăm hàng ngàn giá trị. Nó cho phép người dùng cuộn qua các giá trị cũng như giới hạn việc hiển thị dựa trên các giá trị nhập vào Cách Tạo LOV Có một cách vô cùng đơn giản để tạo các LOV là sử dụng trình LOV Wizard Mở Object Navigator và chọn đối tượng LOV Kích vào nút create. Thao tac này mởi một hộp thoại có 2 nút radio cho phép bạn chọn có sử dụng trình LOV Wizard hay không? Chọn nút radio báo ràng bạn muốn sử dụng trình wizard
  • 45. Trang đầu tiên của trình wizard này là trang Source. Trang này được sử dụng để xác định xem LOV sử dụng một nguồn dữ liệu là một record group mới hay là record group đã tồn tại Hình 8: trang Source của trình LOV Wizard Nếu chọn tùy chọn new record group trên trang source thì trang tiếp theo là trang sql query. Trang này được sử dụng để thêm phát biết select sẽ được sử dụng trong record group. Trong trang này có tùy chọn kết nối với database, kiểm tra cú pháp của phát biểu select. Form buider không cho phép bạn ra khỏi trang này trừ khi câu select là hợp lệ
  • 46. Hình : Trang sql query của trình LOV Wizard Trang tiếp theo là trang column selection. Nó được sử dụng để xác định các cột nào xuất hiện trong LOV. Các cột được trình bày trong cột bên phải sẽ là các cột được trình bày trong LOV
  • 47. Hinh : trang column selection cua trinh LOV Wizard Trang kế tiếp là trang Column display. Được sử dụng để người dùng nhập tiêu đề cột. ở đây có bốn cột là column, Title (tiêu đề), width(chiều rộng), return value(cột nhận giá trị trả về). Bạn có thể hiệu chỉnh bất kỳ cột nào trừ cột column. Return value được sử dụng để chọn item nào của form sẽ nhận giá trị trả về từ LOV
  • 48. Hinh: trang Column display của trinh LOV wizard Trang tiếp theo là trang display. Trang này xác định vị trí trình bày của LOV cũng như toán bộ kích thước và tiêu đề
  • 49. Hình : trang display của trình LOV wizard Trang tiếp theo là trang advanced option. Đây là trang thiết lập số lượng record xuất hiện trong 1 thời điểm Hinh : trang advanced option của trinh LOV Wizard Trang cuối cùng là trang xác định item tren form được dùng để gắn LOV này với nó. Mạc định thì LOV sẽ được mở khi người dùng di chuyển vào item này
  • 50. Hình : trang xác định item gắn với LOV II.4.4.9. Messages và Alerts Messages: Là dòng thông báo xuất hiện tại dòng trạng thái của Window chỉ ra trạng thái của quá trình xử lý nào đó hoặc khi có lỗi. Để hiển thị message ta dùng lệnh MESSAGE(message_string, user_response); message_string: Chuỗi hiển thị cần thông báo user_response: Chỉ hình thức hiển thị của message. Thường hai trigger là: on-error và on-message hay liên quan đến quá trình hiển thị và xử lý các message. Alert Hiển thị dưới dạng một modal window chứa các thông tin cần thông báo và đợi trả lời từ phía người sử dụng. Tuỳ theo trả lời mà có thể thực hiện các xử lý tiếp theo. Tạo một Alerts Trong cửa sổ Object Navigator chọn mục Alerts sau đó nhấn biểu tượng Create, sau đó đặt thuộc tính theo yêu cầu.
  • 51. Các thuộc tính cơ bản của Alert Functional properties Alert style: Chỉ kiểu hiển thị của alert (stop, caution, note) Button 1, Button 2, Button 3: Nhãn cho các button. Phải có ít nhất một button có giá trị Default alert button: Button ngầm định Messeage: Nội dung thông báo cần hiển thị Hiển thị Alert Để hiển thị alert dùng lệnh Show_alert(‘ <Tên alert>’) Để thay đổi nội dung thông báo của Alert dùng lệnh: set_alert_properties(‘<tên alert>’, properties, mesage) Ví dụ: Set_Alert_Property('My_Error_Alert', alert_message_text, ‘ Có lỗi xuất hiện khi ghi’ ); Bt:=Show_Alert( al_id ); II.4.4.10.Một số hàm, thủ tục, biến hệ thống hay dùng II.4.5. TẠO VÀ SỬ DỤNG MENU II.4.6. TẠO VÀ SỬ DỤNG LIBRARY II.4.7. HƯỚNG DẪN CHI TIẾT TẠO MỘT FORM CƠ BẢN