Role of Abstraction in pl/sql:
The abstraction is a high-level description or model of a real-world entity. The Abstractions keep our daily lives convenient. They help us cause about an object, event, or relationship by suppressing the irrelevant detail. For illustration, to drive a car, you do not require to know how its engine works. The simple interface consisting of a steering wheel, gearshift, accelerator, and brake, lets you use the car efficiently. The details of what happens under the hood are not significant for day-to-day driving.
The Abstractions are central to the discipline of programming. For illustration, you use the procedural abstraction when you suppress the details of a complex algorithm by writing a procedure and passing it parameters. A single procedure call hides the particulars of your implementation. To try a special implementation, you simply replace the procedure with the other having similar name and parameters. Thanks to the abstraction, programs that call the procedure need not be customized.
You use the data abstraction when you state the datatype of the variable. The datatype stipulate a set of values and a set of operations suitable for those values. For illustration, a variable of the type POSITIVE can hold only the positive integers, and can only be added, multiplied, and subtracted, and so on. To use the variable, you do not require knowing how the PL/SQL stores integers or implements arithmetic operations; you basically accept the programming interface.
The Object types are a generalization of the built-in datatypes found in many programming languages. The PL/SQL gives a variety of the built-in scalar and composite datatypes, each of that is associated with the set of predefined operations. The scalar type (like CHAR) has no internal components. The composite type (like the RECORD) has internal components which can be manipulated separately. Similarly the RECORD type, an object type is a composite type. Though, its operations are user-defined, and not predefined.
Presently, you cannot define object types within the PL/SQL. They should be CREATED and stored in an Oracle database, where they can be shared by a lot of programs. A program which uses the object types is known as the client program. It can manipulate and declare an object without knowing how the object type presents data or implements operations. This permits you to write the program and object type individually, and to change the implementation of the object type without affecting the program. And hence, the object types support both the procedural and data abstraction.