1.1. Context of Database Systems
Concurrency-control manager
It controls the interaction among the concurrent transactions, to ensure the consistency of the database.
Transaction-management component
It ensures that the database remains in a consistent (correct) state despite system failures.
Query Evaluation Engine
It executes low-level instructions generated by the DML compiler.
DDL interpreter
It interprets DDL statements and records the definitions in the data dictionary.
Transaction
It is a collection of operations that performs a single logical function in a database application.
Modern database system
It is a complex software system whose task is to manage a large, complex collection of data.
Database Administrator
It is a person who has central control over the system.
Storage Manager
It is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system.
View of Data
It is an architecture for a database system.
SQL Query Language
It is nonprocedural.
Instances and Schemas
It is similar to types and variables in programming languages.
Physical Data Indepedence
It is the ability to modify the physical schema without changing the logical schema.
Instance
It is the actual content of the database at a particular point in time.
Data Manipulation Language
It is the language for accessing and updating the data organized by the appropriate data model.
Logical Schema
It is the overall logical structure of the database.
Physical Schema
It is the overall physical structure of the database.
1. Procedural DML 2. Declarative DML
Two types of data-manipulation language
Declarative DML
What are usually easier to learn and use? Procedural DML or Declarative DML?
Client server
One server machine executes work on behalf of multiple client machines.
1. Data redundancy and inconsistency 2. Difficulty in accessing data 3. Data isolation 4. Integrity problems 5. Atomicity of updates 6. Concurrent access by multiple users 7. Security problems
Purpose of Database Systems:
Two-tier architecture
The application resides at the client machine, where it invokes database system functionality at the server machine.
Data Models
These are collection of tools for describing data, data relationships, data semantics, and data constraints.
Application programs
These are programs that are used to interact with the database in this fashion.
Database Systems
These are used to manage collections of data that are highly valuable, relatively large, and accessed by multiple users and applications, often at the same time.
Data files
These store the database itself.
Indices
They can provide fast access to data items.
DBMS
This contains information about a particular enterprise: 1) Collection of interrelated data; 2) Set of programs to access the data; 3) An environment that is both convenient and efficient to use.
Relational Model
This is when all the data is stored in various tables.
Data dictionary
This stores metadata about the structure of the database, in particular the schema of the database.
Data Dictionary
DDL compiler generates a set of table templates stored in ?
Query Language
DML is also known as ?
Metadata
Data dictionary contains what?
1. Enterprise Information 2. Manufacturing 3. Banking and Finance 4. Universities 5. Airlines 6. Telecommunication 7. Web-based Services 8. Document Databases 9. Navigation Systems
Database Applications Example:
Logical Design
Deciding on the database schema.
Physical Design
Deciding on the physical layout of the database.
Distributed databases
Geographical distribution, schema/data heterogeneity
Query Language
It is the portion of a DML that involves information retrieval.
Data Definition Language (DDL)
It is the specification notation for defining the database schema.
Database index
It provides pointers to those data items that hold a particular value.
Procedural DML
It requires a user to specify what data are needed and how to get those data.
Declarative DML
It requires a user to specify what data are needed without specifying how to get those data.
Databases
It touches all aspects of our lives.
DML compiler
It translates DML statements in a query language into an evaluation plan consisting of low-level instructions that the query evaluation engine understands.
Parallel databases
Many core shared memory, shared disk, shared nothing.
Centralized databases
One to a few cores, shared memory
Three-tier architecture
The client machine acts as a front end and does not contain any direct database calls.
1. The storage manager 2. The query processor component 3. The transaction management component.
The functional components of a database system can be divided into:
1. DDL interpreter 2. DML compiler 3. Query evaluation engine
The query processor components include:
1. Data files 2. Data dictionary 3. Indices
The storage manager implements several data structures as part of the physical system implementation: