Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
303,5 KB
Nội dung
PACKAGE Tổng quan package Nội dung Giới thiệu Package Định nghĩa package Các ưu điểm Package Cấu trúc package Giới thiệu Package Package xem thành phần đối tượng lưu trữ sở liệu Oracle tương tự thành phần đối tượng Table, View, Trigger hay Stored Procedure Bạn sử dụng Package để cung cấp khả tương tác người dùng với đối tượng chứa sở liệu hay kết hợp hàm từ Package khác để tạo khả xử lý linh hoạt mạnh mẽ cho chương trình ứng dụng thiết kế bên sở liệu Giới thiệu Package Package đưa nhiều đặc tính khái niệm gần với khái niệm ngôn ngữ lập trình hướng đối tuợng C++, java, C#,….Package cung cấp cho ngơn ngữ PL/SQL khả đóng gói (encapsulation), che giấu thông tin (hiding information), cài đặt hay nạp chồng (overloading) hàm, thủ tục,… Một package thường có hai phần: phần đặc tả (package specification) phần thân (package body) Giới thiệu Package Application SPECIFICATION Databas e Hình vẽ: Mơ hình gói giao diện Giới thiệu Package Trong Package phần đặc tả (package specification) giao diện chương trình hay phần mên dùng để giao tiếp với mơi trường bên ngồi Các thành phần đối tượng khác oracle muốn giao tiếp hay truy xuất tới package thỉ giao tiếp với package qua phần đặc tả phần thân ( package body ) package hoạt động hộp đen, chương trình, đối tượng của oracle hay gói khác khơng thể truy xuất trực tiếp vao Do bạn gỡ bỏ, thay thế, hay thêm body ma không anh hưởng tới phần đặc tả package Định nghĩa package Định nghĩa package Oracle Package nhóm gồm nhiều thành phần hàm, thủ tục, biến, hằng, cursors, hay kiểu liệu người dùng tự khai báo….Những thành phần gom chung lại đơn vị xử lý package để thực chức Vínăng dụ - Gói UTL_FILE : Cho phép truy xuất tới file với lệnh PL/SQL - Gói DBMS_OUTPUT: Kết xuất giá trị trả từ hàm, thủ tục,… … Định nghĩa package Ví dụ CREATE OR REPLACE PACKAGE MANAGE_STUDENT AS /* Phần khai báo liệu package*/ ID NUMBER(10); Last_name VARCHAR2(30); First_name VARCHAR2(30); /* Phần khai báo hàm package*/ Function insert_Table( Last_name_in VARCHAR2, First_name_in VARCHAR2) Return NUMBER; /* Phần khai báo thủ tục package*/ Provedure view_Table( Last_name_in VARCHAR2, First_name_in VARCHAR2); End MANAGE_STUDENT Giới thiệu Package Các ưu điểm Package Tăng tính phân nhỏ thành phần Nâng cao hiệu suất sử dụng Che dấu thông tin Đơn giản thiết kế ứng dụng Cho phép thực tải Các ưu điểm Package Tăng tính phân nhỏ thành phần Package cho phép phân chia chức đóng gói liệu thành phần riêng lẻ, hỗ trợ ngôn ngữ PL/SQL phân chương trình lớn thành package chương trình độc lập Mỗi package truy xuất thông qua giao tiếp (ở phần đặc tả) đơn giản, rõ ràng dễ hiểu, dễ định nghĩa bảo trì ứng dụng Lợi ích việc sử dụng Package Cho phép thực tải Khả overloading (nạp chồng) điểm mạnh package Đặc điểm khơng có hàm hay thủ tục tạo tiêng lẻ sở liệu ( lệnh create procedure hay create function) Overloading đặc biệt hữu ích bạn muốn xử lý trường (field) bảng với nhiều kiểu liệu khac Dưới ví dụ cài đặt hàm overloading package Lợi ích việc sử dụng Package Nâng cao hiệu suất sử dụng Sử dụng package nâng cao tốc độ thực thi cho chương trình Lý bạn tham chiếu tới đối tượng chứa bên package, toàn package nạp vào nhớ, điều làm giảm bớt việc truy xuất thường xuyên liệu hay mã chương trình đĩa cứng bạn gọi hàm hay thủ tục Package chúng thực thi nhanh so với hàm tạo riêng lẻ bên sở liệu Oracle Lợi ích việc sử dụng Package Ẩn dấu thơng tin Bạn định thành phần liệu (hay hàm) phần đặc tả phép sử dụng chung (public) có tác dụng riêng (private) bên package VD package chương trình bao gồm hàm Addrec, NewRec, DeleteRec, Checkrec có hàm đầu khai báo public, riêng hàm checkRec khai báo private, theo cach lập trình viên khác sử dụng package bạn thiết kế không thấy hàm chechRec Lợi ích việc sử dụng Package Đơn gian thiết kế ứng dụng Mặc dù phần đặc tả Package bao gồm nhiều thành phần biến, hằng, khai báo hàm, thủ tục hay kiểu liệu người tự định nghĩa, thiết kế phần thân (body) không bắt buộc phải cài đặt đầy thành phần khai báo phần đặc tả Cơ chế tác biệt giúp cho phần đặc tả phần thân package thiết kế không bị phụ thuộc lẫn Hơn phần thân package biên dịch độc lập với phần đặc tả, nhà phát triển dễ dàng dò lỗi, kiểm tra hay mở rộng phần thân cho package bảo dảm giao tiếp cung cấp cho ứng dụng phần đặc tả Giới thiệu Package Cấu trúc package Một package cấu trúc làm hai phần - Phần mơ tả (specification): Định nghĩa giao tiếp có package với bên ngồi - Phần thân (body): Là cài đặt cho giao tiếp có phần mô tả Giới thiệu Package Phần đặc tả package (specification) Phần đặc tả package bao gồm tất đối tượng truy xuất từ thủ tục, hàm bên package, từ package khác hay từ bên ứng dụng Phần đặc tả xem giao tiếp package với giới bên ngồi Người sử dụng package bạn thiết kế cầm biết chức package thông qua phần đặc tả Phần đặc tả nói chung dùng để khai báo biến liệu toàn cục (public) hàm hay phương thức dùng để xử lý thực chức package Package sở liệu oracle coi đối tượng tương tự đối tượng Table, Viem, Trigger, Stored Procedure,… Giới thiệu Package Phần thân package (body) Thân package bao gồm mã lệnh cài đặt thật cho hàm , thử tục khai báo phần đặc tả Phần cài đặt tương tác trực tiếp với hằng, biến, cursor mà phần đặc tả khai báo Mọi khai báo khác biến đặt phần thân sử dụng nội package Mơi trường ngồi hay package khác không thấy liệu khai báo phần thân Đây đặc tính che giấu thông tin package Tuy nhiên mã lệnh phần thân package tham chiếu đến đối tượng oracle hay thành phần khai báo phần đặc tả package khác Giới thiệu Package Phần thân package (body) Các hàm thân package phải khai báo giống với hàm đưa phần đặc tả Nếu bạn khai báo sai hay cài đặt thiếu hàm mà phần đặc tả định chình biên dịch oracle báo lỗi Tuy nhiên việc biên dịch thay đổi mã lệnh hàm phần thân package lại hoàn toàn độc lập thực tách biệt với phần đặc tả Tình có ích bạn muốn dò lỗi hay kiểm tra dúng đắn mã lệnh cài đặt cho hàm package