DBMS Concepts and Architecture
DBMS Concepts and Architecture
The actual data in a database may change quite frequently; for example, the database shown in
Figure 7 changes every time we add a supplier or enter a new color for a part. The data in the
7
database in a particular moment in time is called database state or snapshot. It is also called
the current set of occurrences or instances in the database. Every time we insert or delete a
record, or change the value of a data item in a record, we change a one state of the database into
another state.
The distinction between database schema and database state is very important. When we
define a new database, we specify its database schema only to the DBMS. At this point, the
corresponding database state is the empty state with no data. We get the initial state of the
database when the database is first loaded with the initial data. From then, on every time an
update operation is applied to the database, we get another database state. At any point in time,
the database has a current state. The DBMS is partly responsible for ensuring that every state of
the database is a valid state - that is, a state that satisfies the structure and constraints specified in
the schema. Example in Figure 8 shows current state of the database.
2. DBMS Architecture
Database management systems are complex software which were often developed and optimized
over years. From the view of the user, however, most of them have a quite similar basic
architecture. The discussion of this basic architecture shall help to understand the connection
with data modeling and the introductionally to this module postulated 'data independence' of the
database approach.
8
• The conceptual level has a conceptual schema, which describes the structure of the whole
database for a community of users. The conceptual schema hides the details of physical storage
structures and concentrates on describing entities, data types, relationships, user operations, and
constraints. A high-level data model or an implementation data model can be used at this level.
• The external or view level includes a number of external schemas or user views. Each
external schema describes the part of the database that a particular user group is interested in and
hides the rest of the database from that user group. A high-level data model or an implementation
data model can be used at this level.
9
3. Database Languages and Database Interfaces
In this unit, it is explained how a data models gets into a database system and how the
information gets to the users. More correctly formulated the following questions will be
answered:
How does an application interact with a database management system?
How does a user look at a database system?
How can a user query a database system and view the results in his/her application?
DML
Additionally a language for the descriptions of the operations with data like store, search, read,
change, etc. the so-called data manipulation, is needed. Such operations can be done with a data
manipulation language (DML). Within such languages keywords like insert, modify, update,
delete, select, etc. are common. Typical DML operations are:
Add data (INSERT)
Change data (UPDATE)
Delete data (DELETE)
Query data (SELECT)
Often these two languages for the definition and manipulation of databases are combined in one
comprehensive language.
10
The application poses with the help of SQL, a query language, a query to the database system.
There, the corresponding answer (result set) is prepared and also with the help of SQL given
back to the application. This communication can take place interactively or be embedded into
another language.
11
2. Text-based Interfaces (Figure 12)
To be able to administrate the database or for other professional users there are possibilities to
communicate with the DBMS directly in the query language (in code form) via an input/output
window.
Text-based interfaces are very powerful tools and allow a comprehensive interaction with a
DBMS. However, the use of these is based on active knowledge of the respective database
language.
12