tìm hiểu về oracle form và xây dựng ứng dụng
Trang 1Luận văn
Tìm hiểu về Oracle Form và xây dựng ứng dụng
Trang 2System Global Area - SGA 8
Background process 11
Cấu trúc vật lý database 12
Cấu trúc logic databse 13
Các cấu trúc vật lý khác 16
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
Trang 3lý 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êntụ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ánquản lý cụ thể là: “Tìm hiểu Oracle form và ứng dụng vào xây dựng chươngtrì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 MinhTuấ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
Trang 4linh hoạt và các ứng dụng Web Tất cả mọi người đều có thể sử dụng haithà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ườidùng truy vấn dữ liệu và tương tác với nội dung nằm trên trang Web bêntrong 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ườidùng lấy xuống nội dung động, cá nhân hóa theo thiết lập và tham chiếuriê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ệncầ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 chophép người dùng website đăng nhập, truy vấn vào/ra dữ liệu qua mạngInternet trên trình duyệt Web yêu thích của họ Dữ liệu sẽ được gửi tớingười dùng trong trình duyệt theo kiểu thông tin động (trong một địnhdạng cụ thể, như với HTML thì dùng CSS) từ ứng dụng Web qua một WebServer
Mang tính kỹ thuật nhiều hơn có thể giải thích là, các ứng dụng Web truyvấ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ộtdạ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ìakhóa Nó dịch và chạy tất cả script, lệnh… khi hiển thị trang web và nộidung được yêu cầu Wikipedia, bộ bách khoa toàn thư trực tuyến lớn nhất
Trang 5thế 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 ứngdụng Web là chúng có thể hoạt dộng mà không cần quan tâm đến hệ điềuhành hay trình duyệt chạy trên các máy client Ứng dụng Web được triểnkhai ở bất cứ nơi nào có Internet, không mất phí tổn, và hầu hết không đòihỏ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àycàng tăng Do đó, việc sử dụng ứng dụng Web và các công nghệ liên quankhá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 đầutiê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) hayActive 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ảomật xã hội, chi tiết thẻ tín dụng)
Hình 1
Trang 6Quá 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
Trang 7Nhiề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 lisencecủa MSSQLServer thì sẽ thấy giá của Oracle cũng không chênh lệch là baothậm chí còn rẻ hơn (xem phần so sánh giá), nhưng lợi ích có được lại rấtlớ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ácTrigger, StoreProcedure, Package Đây là điểm rất mạnh so với các CSDLhiệ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 đặcbiệ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ặpbấ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
Trang 8Oracle 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ườngORACLE_SID của hệ điều hành
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ácthô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 Userkết nối tới Oracle sẽ chia sẻ các dữ liệu có trong SGA, việc mở rộngkhô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ácthao 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ệnphân tích câu lệnh (parse phase) Kích thước của Shared pool đượcxá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à Datadictionary cache
Trang 9Hì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ụnggầ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 khithự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ôngphải phân tích lại câu lệnh Do vậy, Library cache có thể giúp nângcao 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 địnhnghĩa các bảng, định nghĩa các cột, usernames, passwords, và cácprivileges (quyền)
Trong giai đoạn phân tích lệnh (parse phase), Server process sẽ tìmcác thông tin trong dictionary cache để xác định các đối tượng trongcâu lệnh SQL và để xác định các mức quyền tương ứng Trongtrường hợp cần thiết, Server process có thể khởi tạo và nạp cácthô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ầnthiết trong database buffer cache Nếu không tìm thấy block trongdatabase buffer cache, Server process mới đọc các block từ data file
Trang 10và 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ướccủ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ởitham 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ớtblock í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 logbuffer, đâ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.
Trang 11 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 thaycho lời gọi tiến trình xử lý tương ứng Nó điều khiển vào ra, cung cấpcác cơ chế xử lý song song nâng cao hiệu quả và độ tin cậy Tùy theotừ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ấutrúc logic
Oracle database được xác định bởi tên một tên duy nhất và được quy địnhtrong tham số DB_NAME của parameter file
Trang 12Mỗ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ệuthuộc cấu trúc logic của database như tables hay indexes đều đượclư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)
Trang 13Chứ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ệ databasekhỏ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ạidatabase trong trường hợp hệ thống gặp sự cố và không cho phépviế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 rahiệ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 tinmới nhất có trong các redo log files thuộc datafiles Oracle sẽ khôiphụ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 filecủa nó sẽ được sử dụng để xác định data files và các redo log files đikè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ượngtablespaces, 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
Trang 14Mố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 haynhiều tablespace
Mỗi tablespace có thể được tạo nên, về mặt vật lý, bởi mộthoặc nhiều datafiles
Kích thước của một tablespace bằng tổng kích thước của cácdatafiles của nó Ví dụ: trong hình vẽ ở trên SYSTEMtablespace 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ằngtổng kích thước của các tablespaces của nó Ví dụ: tronghì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úclogic bao gồm các data blocks, extents, và segments
+ Oracle Data Blocks
Trang 15Là 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ônggian đĩa cứng Kích thước của một data block được chỉ ra cho mỗiOracle 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ácOracle 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 theonhiề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
Trang 16temporary 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 linhhoạt mỗi khi các extents cấp phát đã sử dụng hết
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 Oracleinstance
Archived redo log files: Là bản off line của các redo log fileschứ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áotheo 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, formletters, 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 editordùng để thiết kế giao diện report
Trang 17 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 đốitượ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 khichạy
Properties : Khai báo các thuộc tính của Report, ví dụ kích cỡ chomộ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:
Trang 18+ 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.
Trang 19II.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ếukhô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ấypanel đầu tiên nằm phía bên trái trong phần màn hình chính của ReportBuilder Đây là một panel vô cùng quan trọng, nó thể hiện toàn bộ các đốitượ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ómtheo từng nhóm riêng biệt, được tổ chức theo hình cây giúp ta dễ dàng tìmkiế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ốiliên kết dữ liệu của report Ta có thể tạo mới, sửa đổi, các đối tượng modeltrong 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ộthoặ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êmcá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áccộ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à systemparameter Oracle tự động tạo các system parameter tại thời điểmruntime 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à
Trang 20matrix Bạn có thể chọn một trong các kiểu trên rồi tu chỉnh lại thànhlayout riêng của mình.
Các đối tượng trong Layout bao gồm:
Repeating framesFrames
FieldsBoilerplateanchors
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ôngcông cụ Developer và là công cụ phát triển form chính của oracle tronghơn 15 năm qua Trong suốt thời gian này thì các ứng dụng của formbuilder được sử dụng trong các hệ thống máy tính lớn, môi trường dựatrê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ácthao tác với dữ liệu trong database và có khả năng kết nối, trao đổi thôngtin với các ứng dụng khác của Oracle như là Oracle Report, OracleGraphic
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
Trang 21II.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ế giaodiệ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 appletdựa trên form cho trình duyệt Form Server có thể được gọi từ trình duyệtweb 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 ứngdụ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àotrì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 trongnhứng thành phần của nó
Để thực thi web form, một người dung yêu cầu 1 URL trong trình duyệtweb của mình URL chỉ đến một ứng dụng được đăng ký bên trong formserver Một listener trên web server nắm lấy các yêu cầu URL này vàochuyể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 thimộ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
File thư viện
FMB File thư viện FMX thực thi FormNgười dùng
Form builder
xây dựng Form compile biên dịch form runtime thực Form server hoăc
thi
Trang 22trê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ớiapplet 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, layouteditor, 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 Doubleclick vào bất kỳ đối tượng nào trong cửa sổ object navigator làm choform builder thể hiện đối tượng được chọn bên trong một công cụ formbuilder thích hợp object navigator được sử dụng để tạo, xóa hoặc saoché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
Trang 23Là một công cụ của form builder được sử dụng để định nghĩa các đặctính đặc biệt của các thành phần form Mỗi thành phần có một bộ thuộctí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ộtcô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ácthành phần vào form và thêm một nhãn cho thành phần đó Việc doubleclick vào bất cứ thành phần đồ họa trong object navigator làm cho layouteditor trình bày một canvas để chứa đối tượng đồ họa đó
Trang 24II.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ộtform Kịch bản PL/SQL này được đặt trong các trigger gắn với các đốitượ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ểutượ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_1\BIN)
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 [+] )
Trang 25Muố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, thunhỏ, 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ácwindow 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 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
canvas-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ộtitem trên một canvas-view mà được gán tới window Oracle Forms hiểnthị 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ủawindow
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