The ANSI/SPARC Architecture of a Database Environment Lecture 2
Schema and instance database schema database instance the description of the database is called the database schema or intension; specified at the creation of the database not expected to change very often database instance the raw data that populates a database at a particular moment in time is called a database instance of the extension of the database
Schema and instance - example
Levels of access to data
The three ANSI/SPARC levels of abstraction
Schemas and mappings schemas mappings external conceptual internal mappings external / conceptual conceptual / internal data catalogue/dictionary schemas mappings
External / conceptual example
Conceptual / internal - example
Program - data independence physical the immunity of application programs to changes at the internal level logical the immunity of application programs to changes at the conceptual level
The components of a database environment
Data types characteristics primary derived integrated shared extensive data = raw data + data dictionary
Hardware storage space computational power permanent / secondary temporary / primary computational power
Software
Application programs user developed provided by developers in a third generation language provide an embedded data sub-language provided by developers fourth generation language examples: query processors, statistical packages, reports/forms generators
Database management system provides support for data manipulation / definition data sub-languages (computationally incomplete) data integrity security control recovery services concurrency facilities data communication accessing the data dictionary why needed? applications’ automatic access to the DB
People data administrator database administrator relevance and meaning of data; standards; policy database administrator design, implementation and maintenance of the DB application programmers end user
Summary the three level ANSI/SPARC architecture of a database environment the components of a database environment
Activity A2 Which role within a database environment would you prefer to be in, if you were able to choose? Why? Which activities would you be interested in performing? How would you like to co-operate with the people performing the other roles?