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
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: FORM BLOCK ITEM Trigger Trigger Trigger 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 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(‘ ’) Để thay đổi nội dung thông báo của Alert dùng lệnh: set_alert_properties(‘’, 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
File đính kèm:
- Tìm hiểu về Oracle Form và xây dựng ứng dụng .doc