Data type conversion isn’t needed on input and output. When data is retrieved into PL or SQL variables or when data is input into Oracle DBA using PL or SQL variables, PL or SQL takes care of the appropriate conversion between the Oracle data base administrator server and PL or SQL by means of the same internal DBA format. Other 3GL programs written in C++ or Java to access an Oracle data base administratorDBA are required to convert data to and from Oracle data base administrator format to C++ or Java format.PL or SQL 9i introduces native compilation of PL or SQL code, and subsequent conversion to C and storage in machine code.

This results in faster execution. Prior to Oracle data base administrator9i, the interpreted versions of PL or SQL code, known as p-code, exhibited only fairly fast execution of PL or SQL.PL or SQL provides object-oriented features such as encapsulation, abstraction (the ability to define abstract data types), data and information hiding, reusability, inheritance, polymorphism, and dynamic method dispatch. Various features introduced in PL or SQL, from its earlier versions to PL or SQL 9i, enable object orientation to be defined and implemented in PL or SQL. I discuss these features throughout this book.

Generally, DBA applications run in a client-server environment are deployed in either a two-tier architecture (Oracle data base administrator RDBMS on the server and the PL or SQL application on the client) or a three-tier structure (a DBA server layer, an application server layer on an application server, and a presentation layer on a client). With PL or SQL, you can group a set of SQL statements (along with application logic) into a PL or SQL block and you can submit the entire block over to the Oracle DBA server. This reduces network traffic in a two-tier or three-tier application structure and thus improves performance. This concept of block structuring also means fewer DBA calls, which results in better performance.