Restricting the scope of data access
You can restrict a user's access to (and even knowledge of) elements of a database by limiting the view of a database that you define for an application program.
A schema or a PCB defines
a program's (and therefore the user's) view of the database. You can
think of a schema as a mask
that can be placed on top of the
defined data structure of a database to hide certain parts of the
data structure.
In Restricting processing authority, the top of the first figure shows the hierarchical structure for a PAYROLL database as seen by you in the definition of the database. For certain applications, it is not necessary (nor desirable) to access the SALARY segment. By omitting sensitivity to the SALARY segment from the DDL SCHEMA statement or PCB macro statement that defines the view of the database for the application, you can make it seem that this segment simply does not exist. By doing this, you have denied unauthorized users access to the segment, and you have denied users knowledge of its very existence.
For this
method to be successful, the segment being masked off must not be
in the search path of an accessed segment. If it is, then the application
is made aware of at least the key of the segment to be hidden.
With field-level sensitivity, you can achieve the same masking effect at the field level. If SALARY and NAME were in the same segment, you could still restrict access to the SALARY field without denying access to other fields in the segment.