Unit - 2
Unit - 2
Unit - 2
DBMS
More Costly
Creating and managing a database is quite costly. High cost software and hardware is
required for the database. Also highly trained staff is required to handle the database and it
also needs continuous maintenance. All of these ends up making a database quite a costly
venture.
High Complexity
A Database Management System is quite complex as it involves creating, modifying and
editing a database. Consequently, the people who handle a database or work with it need to
be quite skilled or valuable data can be lost.
Database handling staff required
As discussed in the previous point, database and DBMS are quite complex. Hence, skilled
personnel are required to handle the database so that it works in optimum condition. This is
a costly venture as these professionals need to be very well paid.
Database Failure
All the relevant data for any company is stored in a database. So it is imperative that the
database works in optimal condition and there are no failures. A database failure can be
catastrophic and can lead to loss or corruption of very important data.
High Hardware Cost
A database contains vast amount of data. So a large disk storage is required to store all this
data. Sometimes extra storage may even be needed. All this increases hardware costs by a lot
and makes a database quite expensive.
Huge Size
A database contains a large amount of data, especially for bigger
organizations. This data may even increase as more data is updated
into the database. All of these leads to a large size of the database.
The bigger the database is, it is more difficult to handle and maintain.
It is also more complex to ensure data consistency and user
authentication across big databases.
Up-gradation Costs
Often new functionalities are added to the database. This leads to
database up-gradations. All of these up-gradations cost a lot of
money. Moreover it is also quite expensive to train the database
managers and users to handle these new up-gradations.
Cost of Data Conversion
If the database is changed or modified in some manner, all the data
needs to be converted to the new form. This cost may even exceed
the database creation and management costs sometimes. This is the
reason most organizations prefer to work on their old databases
rather than upgrade to new ones.
COMPONENTS OF DBMS
• Users: Users may be of any kind such as DB
administrator, System developer, or database
users.
• Database application: Database application
may be Departmental, Personal,
organization's and / or Internal.
• DBMS: Software that allows users to create
and manipulate database access,
• Database: Collection of logical data as a
single unit.
Types of DBMS
Hierarchical databases
This type of DBMS showcases a parent-child type of relationship. This relationship forms a tree-like
structure where the nodes (leaves) of the tree represent records and the fields are represented by
branches.
Network databases
This style of DBMS embraces several partnerships where it is possible to connect multiple user
records at the same time in parallel.
Object-oriented databases
In this type of DBMS, data is stored in individual components called objects, where each object is a
piece of data with some instructions for the tasks that should be performed on that data.
Paradigm Shift from File System to DBMS
Apart from the differences above, there were many reasons
why the file system did not work –
3. 3-tier Architecture
It is a very complex design as each tier is different in the database. But it is the most common architecture
design of DBMS. The tiers are –
a. Database (Data) Tier
This tier is for query processing languages. The relations between the data and its constraints are also present
here.
b. Application (Middle) Tier
The application server and program accessing the data are present at this tier. The user and the data are not
aware of each other beyond this tier. This is why this tier becomes a mediator between them.
Many persons are involved in the design, use, and maintenance of a large database with a few hundred
users. Here we will consider people who may be called “Actors on the Scene”, whose jobs involve the day-
to-day use of a large database.
1. Database Administrators: Administrating the primary (database) and secondary (DBMS and related
software) is the responsibility of the database administrator (DBA). The DBA is responsible for
authorizing access to the database, coordinating and monitoring its use, and acquiring software and
hardware resources as needed.
2. Database Designers: Database Designers are responsible for identifying the data to be stored in the
database and for choosing appropriate structures to represent and store this data. Database
designers typically interact with each potential group and user and develop a view of the database
that meets the data and processing requirements of these groups.
3. End Users: End users are the people whose jobs require access to the database for querying,
updating, and generating reports; the database primarily exists for their use. There are several
categories of end users:
• Casual end user: Occasionally access the database, but they may need different information each time.
They are typically middle-or high-level managers or other occasional browsers.
• Naive or Parametric end user: Their main job function revolves around constantly querying and
updating the database, using standard types of queries and updates that have been carefully
programmed and tested. Bank tellers, Reservation Clerks for airlines, hotels, etc are the example of
Naive end users.
• Sophisticated end users: Sophisticated end users include engineers, scientists, business analysts, and
others who thoroughly familiarize themselves with the facilities of the DBMS so as to implement their
applications to meet their complex requirements.
• Stand-alone users: They maintain the personal databases by using ready-made program packages that
provide an easy-to-use menu or graphics-based interfaces.
4. Software Engineers: System analysts determines the requirements of end users,
especially naive and parametric end users, and develop specifications for canned
transactions that meet these requirements. Application programmers implement these
specifications as programs; then they test, debug, document, and maintain these canned
transactions. Such analysts and programmers are called Software Engineers.