DATA BASE MANAGEMENT SYSTEM:
A database-management system (DBMS) is a collection of interrelated data and a set of programs to
access those data. The collection of data, usually referred to as the database, contains information
relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve
database information that is both convenient and efficient.
https://en.wikipedia.org/wiki/Database
Database systems are designed to manage large bodies of information. Management of data involves
both defining structures for storage of information and providing mechanisms for the manipulation of
information. In addition, the database system must ensure the safety of the information stored, despite
system crashes or attempts at unauthorized access. If data are to be shared among several users, the
system must avoid possible anomalous results.
Because information is so important in most organizations, computer scientists have developed a large
body of concepts and techniques for managing data.
Database System Architecture:
Figure 1 shows the architecture of a database system that runs on a centralized server machine. The
figure summarizes how different types of users interact with a database, and how the different
components of a database engine are connected to each other.
Figure 1:- Database System Architecture
The centralized architecture shown in Figure 1 is applicable to shared-memory server architectures,
which have multiple CPUs and exploit parallel processing, but all the CPUs access a common shared
memory. To scale up to even larger data volumes and even higher processing speeds, parallel
databases are designed to run on a cluster consisting of multiple machines. Further, distributed
databases allow data storage and query processing across multiple geographically separated machines.
Now consider the architecture of applications that use databases as their backend. Database
applications can be partitioned into two or three parts, . Earlier-generation
database applications used a two-tier architecture, where the application resides at the client machine,
and invokes database system functionality at the server machine through query language statements.
Figure 2: Two-tier and three-tier architectures
In contrast, modern database applications use a three-tier architecture, where the client machine acts
asmerely a front end and does not contain any direct database calls; web browsers and mobile
applications are the most commonly used application clients today. The front end communicates with
an application server. The application server, in turn, communicates with a database system to access
data. The business logic of the application, which says what actions to carry out under what
conditions, is embedded in the application server, instead of being distributed across multiple clients.
Three tier applications provide better security as well as better performance than two-tier applications.
Data Abstraction:
For the system to be usable, it must retrieve data efficiently. The need for efficiency has led database
system developers to use complex data structures to represent data in the database. Since many
database-system users are not computer trained, developers hide the complexity from users through
several levels of data abstraction, to simplify users’ interactions with the system:
Physical level: The lowest level of abstraction describes how the data are actually stored. The
physical level describes complex low-level data structures in detail.
Logical level: The next-higher level of abstraction describes what data are stored in the
database, and what relationships exist among those data. The logical level thus describes the
entire database in terms of a small number of relatively simple structures. Although
implementation of the simple structures at the logical level may involve complex physical-
level structures, the user of the logical level does not need to be aware of this complexity. This
is referred to as physical data independence. Database administrators, who must decide what
information to keep in the database, use the logical level of abstraction.
View level. The highest level of abstraction describes only part of the entire database. Even
though the logical level uses simpler structures, complexity remains because of the variety of
information stored in a large database. Many users of the database system do not need all this
information; instead, they need to access only a part of the database. The view level of
abstraction exists to simplify their interaction with the system. The system may provide many
views for the same database.
Figure 3 shows the relationship among the three levels of abstraction. An important feature of data
models, such as the relational model, is that they hide such low-level implementation details from not
just database users, but even from database-application developers. The database system allows
application developers to store and retrieve data using the abstractions of the data model, and converts
the abstract operations into operations on the low-level implementation.
Figure 3:-The three levels of data abstraction
An analogy to the concept of data types in programming languages may clarify the distinction among
levels of abstraction. Many high-level programming languages support the notion of a structured type.
4 Comments
Nice one
ReplyDeleteThis is very helpful reading website
ReplyDeleteVery glorious
ReplyDeleteце дійсно корисно, так тримати.
ReplyDeletePost a Comment