Oracle8i Application Developer's Guide - Fundamentals
Release 8.1.5






Prev Next


Application Developer's Guide - Fundamentals describes features of application development for the Oracle Server, Release 8.1.5. Information in this guide applies to versions of the Oracle Server that run on all platforms, and does not include system-specific information.

The Preface includes the following sections:

Information in This Guide

As an application developer, you should learn about the many Oracle Server features that can ease application development and improve performance. This Guide describes Oracle Server features that relate to application development. It does not cover the PL/SQL language, nor does it directly discuss application development on the client side. The table of contents and the "How This Book Is Organized" section has more information about the material covered. The "Other Guides" section points to other Oracle documentation that contains related information.


The Application Developer's Guide - Fundamentals is intended for programmers developing new applications or converting existing applications to run in the Oracle environment. This Guide will also be valuable to systems analysts, project managers, and others interested in the development of database applications.

This guide assumes that you have a working knowledge of application programming, and that you are familiar with the use of Structured Query Language (SQL) to access information in relational database systems.

Certain sections of this Guide also assume a knowledge of the basic concepts of object oriented programming.

Feature Coverage and Availability

The Application Developer's Guide - Fundamentals contains information that describes the features and functionality of the Oracle8i and the Oracle8i Enterprise Edition products. Oracle8i and Oracle8i Enterprise Edition have the same basic features. However, several advanced features are available only with the Enterprise Edition, and some of these are optional. For example, to use object functionality, you must have the Enterprise Edition and the Objects Option.

For information about the differences between Oracle8i and the Oracle8i Enterprise Edition and the features and options that are available to you, see Getting to Know Oracle8i.

Other Guides

Use the PL/SQL User's Guide and Reference to learn PL/SQL and to get a complete description of this high-level programming language, which is Oracle Corporation's procedural extension to SQL.

The Oracle Call Interface (OCI) is described in Oracle Call Interface Programmer's Guide

You can use the OCI to build third-generation language (3GL) applications that access the Oracle Server.

Oracle Corporation also provides the Pro* series of precompilers, which allow you to embed SQL and PL/SQL in your application programs. If you write 3GL application programs in Ada, C, C++, COBOL, or FORTRAN that incorporate embedded SQL, then refer to the corresponding precompiler manual. For example, if you program in C or C++, then refer to the Pro*C/C++ Precompiler Programmer's Guide.

Oracle Developer/2000 is a cooperative development environment that provides several tools including a form builder, reporting tools, and a debugging environment for PL/SQL. If you use Developer/2000, then refer to the appropriate Oracle Tools documentation.

For SQL information, see the Oracle8i SQL Reference and Oracle8i Administrator's Guide. For basic Oracle concepts, see Oracle8i Concepts.

How This Book Is Organized

The Application Developer's Guide - Fundamentals contains the following chapters. This section includes a brief summary of what you will find in each chapter.

Part I: Introduction

Chapter 1, "Programmatic Environments"

This chapter presents brief introductions to these application development systems.

Chapter 2, "Visual Modelling for Software Development"

This chapter provides an overview of the Oracle Server application development process.

Part II: Designing the Database

Chapter 3, "Managing Schema Objects"

This chapter explains the steps that the Oracle Server performs to process the various types of SQL commands and PL/SQL statements.

Chapter 4, "Selecting a Datatype"

This chapter describes how to manage the objects that can be created in the database domain of a specific user (schema), including tables, views, numeric sequences, and synonyms. It also discusses performance enhancements to data retrieval through the use of indexes and clusters.

Chapter 5, "Maintaining Data Integrity"

This chapter describes how to choose the correct Oracle datatype. The datatypes described include fixed- and variable-length character strings, numeric data, dates, raw binary data, and row identifiers (ROWIDs).

Chapter 6, "Selecting an Index Strategy"

This chapter describes the extended SQL commands and PL/SQL interface for the LOB datatypes, which include BLOBs for unstructured binary data, CLOBs and NCLOBs for character data, and BFILEs for data stored in an external file.

Chapter 7, "Managing Index-Organized Tables"

This chapter describes index-organized tables, including features of index-organized tables, and when to use them.

Chapter 8, "Processing SQL Statements"

This chapter describes how Oracle processes Structured Query Language (SQL) statements.

Chapter 9, "Dynamic SQL"

This chapter describes dynamic SQL, native dynamic SQL vs. the DBMS_SQL package, when to use dynamic SQL.

Chapter 10, "Using Procedures and Packages"

This chapter explains how to define and use object views.

Chapter 11, "External Routines"

This chapter describes how to use declarative integrity constraints to provide data integrity within an Oracle database.

Chapter 12, "Establishing Security Policies"

This chapter describes how to create procedures that can be stored in the database for continued use. Grouping these procedures into packages is also described in this chapter.

Part III: The Active Database

Chapter 13, "Using Triggers"

This chapter describes how to use public and private pipes to allow sessions in the same Oracle Server instance to communicate with one another or with a disk file.

Chapter 14, "Working With System Events"

This chapter describes how to use advanced queuing to defer or regulate the execution of work in a client/server environment.

Chapter 15, "Using Publish-Subscribe"

This chapter describes how to create and debug database triggers. Numerous examples are included.

Part IV: The Object-Relational Database Management System

Chapter 16, "User-Defined Datatypes"

This chapter describes how you can write stored procedures and anonymous PL/SQL blocks using dynamic SQL.

Chapter 17, "Objects in Views"

This chapter contains an extended example of how to use object views.

Chapter 18, "Design Considerations for Oracle Objects"

This chapter explains the implementation and performance characteristics of Oracle's object-relational model.

Chapter 19, "Programmatic Environments for Oracle Objects"

This chapter covers Oracle Call Interface (OCI); Pro*C/C++; Oracle Objects For OLE; and Java, JDBC, and Oracle SQLJ.

Part V: CUBE and ROLLUP Extensions to SQL

Chapter 20, "Analyzing Data with ROLLUP, CUBE, AND TOP-N QUERIES"

This chapter explains using CUBE, ROLLUP, and Top-N Queries.


Appendix A, "Oracle XA"

The appendix describes how to use the Oracle XA library.

Conventions Used in This Guide

The following notational and text formatting conventions are used in this guide:

[ ]

Square brackets indicate that the enclosed item is optional. Do not type the brackets.

{ }

Braces enclose items of which only one is required.


A vertical bar separates items within braces, and may also be used to indicate that multiple values are passed to a function parameter.


In code fragments, an ellipsis means that code not relevant to the discussion has been omitted.

font change

SQL or C code examples are shown in monospaced font.


Italics are used for OCI parameters, OCI routines names, file names, and data fields.


Uppercase is used for SQL keywords, like SELECT or UPDATE.

This guide uses special text formatting to draw the reader's attention to some information. A paragraph that is indented and begins with a bold text label may have special meaning. The following paragraphs describe the different types of information that are flagged this way.

Note: The "Note" flag indicates that you should pay particular attention to the information to avoid a common problem or to increase understanding of a concept.

Warning: An item marked as "Warning" indicates something that an OCI programmer must be careful to do, or not do, in order for an application to work correctly.

See Also: Text marked "See Also" points you to another section of this guide, or to other documentation, for additional information about the topic being discussed.

Your Comments Are Welcome

We value and appreciate your comment as an Oracle user and reader of our manuals. As we write, revise, and evaluate our documentation, your opinions are the most important feedback we receive.

You can send comments and suggestions about this manual to the following e-mail address:

If you prefer, then you can send letters or faxes containing your comments to the following address:

Server Technologies Documentation Manager

Oracle Corporation

500 Oracle Parkway

Redwood Shores, CA 94065

Fax: (650) 506-7200


Copyright © 1999 Oracle Corporation.

All Rights Reserved.