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.