Every PL/SQL constant, variable, parameter, and function return value must have data type.
The data type determines its storage format and its valid values and operations.
A scalar data type can have subtypes.
A subtype is a data type that is a subset of another data type (base type).
A subtype has the same valid operations as its base type.
A data type and its subtypes comprise a data type family.
Oracle PL/SQL predefines many types and subtypes in the package STANDARD and you can define your own subtypes.
PL/SQL scalar data types are: