Database System Concepts and Architecture: an Introduction
by K. Yue
1. Resources
- Read Chapter 2 of Elmasri.
2. DB Concepts and Architecture
Data models: Collections of concepts that describe the structure of a database.
- Data abstraction: provide the right level of vocabularies and operations for a given task:
- Information hiding: hide lower level details.
- Higher level: potentially more concise and functional.
- Lower level: potentially more flexible and better performance.
- There are many data models for database implementations. Do not mix models. Some examples are listed below.
- relational data model
- object-oriented data model
- tree model (e.g. hierarchical database, XML database)
- network model (graph model)
- logical model
- spreadsheet table model (multi-dimensional array)
- document model (e.g. mongoDB)
- Different data models may be used for database analysis and design. e.g.
- Entity Relationship model (or EER: Extended Entity Relationship Model)
- Object-oriented model
- Selecting the right models:
- For modeling: analysis and design
- For implementation
Three-Schema DB Architecture:
Consult Figure 2.2 of Elmasri.
- Use the layer pattern to manage complexity.
- Three levels:
- Internal/Physical level:
Describes physical storage structure of the database
- Conceptual/Logical level: Describes logical structure of the entire database:
- In the relational database, this contains the relation schemas, keys, data types, constraints, etc.
- External or view level:
Describes a part of the database for a particular user group; provide the right level of abstraction and security control.
- Provide data independence.
- The conceptual level is the most important foundation.
- Note the roles of DB applications and stored procedures.
Be sure to familiarize yourself with the terminology of DBMS appearing in Chapter 2. E.g. DDL, DML, query compiler, catalog, concurrency control system, buffer management system, data dictionary, data independence, etc.