CH2 - Database system concepts and architecture Flashcards
Data model
a set of concepts to describe the structure of a database, the operations for manipulating these structures, and certain constraints that the database should obey
Data model structure and constraints
constructs are used to define the database structure. They typically include elements (and their data types) as well as groups of elements (entity, record, table) and relationships among such groups. Constraints specify some restrictions on valid data ; these constraints must be enforced at all times.
Data model operations
used for specifying database retrievals and updates by referring to the constructs of the data model. Operations on the data model may include basic model operations (generic insert, delete, update) and user-defined operations
Conceptual (high-level, semantic) data models
provide concepts that are close to the way many users perceive data. It is also called entity-based or object-based data models
Physical (low-level, internal) data models
provide concepts that describe details of how data is stored in the computer. These are usually specified in an ad-hoc manner through DBMS design and administration manuals.
Implementation (representational) data models
provide concepts that fall between the above two, used by many commercial DBMS implementations.
Self-describing data models
combine the description of data with the data values (XML, key-value stores and some NOSQL systems).
Database schema
the description of a database which includes descriptions of the database structure, data types and the constraints on the database
Schema diagram
an illustrative display of (most aspects of) a database schema
Schema construct
a component of the schema or an object within the schema
Database state
the actual data stored in a database at a particular moment in time. This includes the collection of all the data in the database. It is also called the database instance, occurrence or snapshot. It should be noted that the term instance is also applied to individual database components. Database state refers to the content of a database at a moment in time.
Initial database state
refers to the database state when it is initially loaded into the system
Valid state
state that satisfies the structure and constraints of the database.
Three-schema architecture
proposed to support DBMS characteristics of program-data independence and support of multiple views of the data. It is not explicitly used in commercial DBMS products, but has been useful in explaining database system organization. The three-schema architecture defines DBMS schemas at three levels : internal, conceptual and external schemas
- Internal schema
at the internal level to describe physical storage structures and access paths (typically uses a physical data model)
- Conceptual schema
at the conceptual level to describe the structure and constraints for the whole database for a community of users (uses a conceptual or an implementation data model)
- External schema
at the external level to describe the various user views (usually uses the same data model as the conceptual schema)
Logical data independence
the capacity to change the conceptual schema without having to change the external schemas and their associated application programs
Physical data independence
the capacity to change the internal schema without having to change the conceptual schema.
Data Definition Language (DDL)
used by the DBA and database designers to specify the conceptual schema of a database. In many DBMSs, the DDL is also used to define internal and external schemas (views). In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas.
Data Manipulation Language (DML)
used to specify database retrievals and updates. DML commands (data sublanguage) can be embedded in a general-purpose programming language (host language) such as COBOL, C, C++ or Java. A library of functions can also be provided to access the DBMS from a programming language. Alternatively, stand-alone DML commands can be applied directly (query language)