You are on page 1of 7

A database management system (DBMS) is system software for creating and managing databases.

The DBMS provides


users and programmers with a systematic way to create, retrieve, update and manage data.

A DBMS makes it possible for end users to create, read, update and delete data in a database. The DBMS essentially
serves as an interface between the database and end users or application programs, ensuring that data is consistently
organized and remains easily accessible.

The DBMS manages three important things: the data, the database engine that allows data to be accessed, locked and
modified -- and the database schema, which defines the database’s logical structure. These three foundational elements
help provide concurrency, security, data integrity and uniform administration procedures. Typical database
administration tasks supported by the DBMS include change management, performance monitoring/tuning and backup
and recovery. Many database management systems are also responsible for automated rollbacks, restarts and recovery
as well as the logging and auditing of activity.

The DBMS can offer both logical and physical data independence. That means it can protect users and applications from
needing to know where data is stored or having to be concerned about changes to the physical structure of data (storage
and hardware). As long as programs use the application programming interface (API) for the database that is provided by
the DBMS, developers won't have to modify programs just because changes have been made to the database

Database Management Systems

A Database is a collection of records. Database management systems are designed as the means of
managing all the records. Database Management is a software system that uses a standard method
and running queries with some of them designed for the oversight and proper control of databases.

Types of Database Management Systems

There are four structural types of database management

systems: Hierarchical databases.


Network databases.
Relational databases.
Object-oriented
databases

Hierarchical Databases (DBMS)

In the Hierarchical Database Model we have to learn about the databases. It is very fast and simple.
In a hierarchical database, records contain information about there groups of parent/child
relationships, just like as a tree structure. The structure implies that a record can have also a
repeating information. In this structure Data follows a series of records, It is a set of field values
n Fo
attached to it. It collects all records together as a record type. These record types are the equivalent
C# of
C tables in the relational model, and with the individual records being the equivalent of rows.

Advantage

Hierarchical database can be accessed and updated rapidly because in this model structure is like as
a tree and the relationships between records are defined in advance. This feature is a two-edged.

Disadvantage

This type of database structure is that each child in the tree may have only one parent, and
relationships or linkages between children are not permitted, even if they make sense from a logical
standpoint. Hierarchical databases are so in their design. it can adding a new field or record requires
that the entire database be redefined.

Network Database

A network databases are mainly used on a large digital computers. It more connections can be made
between different types of data, network databases are considered more efficiency It contains
limitations must be considered when we have to use this kind of database. It is Similar to the
hierarchical databases, network databases .Network databases are similar to hierarchical databases
by also having a hierarchical structure. A network database looks more like a cobweb or
interconnected network of records.

In network databases, children are called members and parents are called occupier. The difference
between each child or member can have more than one parent.
The Approval of the network data model similar with the esteem of the hierarchical data model.
Some data were more naturally modeled with more than one parent per child. The network model
authorized the modeling of many-to-many relationships in data.

The network model is very similar to the hierarchical model really. Actually the hierarchical model is a
subset of the network model. However, instead of using a single-parent tree hierarchy, the network
model uses set theory to provide a tree-like hierarchy with the exception that child tables were
allowed to have more than one parent. It supports many-to-many relationships.

Relational Databases

In relational databases, the relationship between data files is relational. Hierarchical and network
databases require the user to pass a hierarchy in order to access needed data. These databases
connect to the data in different files by using common data numbers or a key field. Data in relational
databases is stored in different access control tables, each having a key field that mainly identifies
each row. In the relational databases are more reliable than either the hierarchical or network
database structures. In relational databases, tables or files filled up with data are called relations
(tuples) designates a row or record, and columns are referred to as attributes or fields.

Relational databases work on each table has a key field that uniquely indicates each row, and that
these key fields can be used to connect one table of data to another.
The relational database has two major reasons

1. Relational databases can be used with little or no training.


2. Database entries can be modified without specify the entire body.

Properties of Relational Tables

In the relational database we have to follow some properties which are given below.

It's Values are Atomic


In Each Row is alone.
Column Values are of the Same thing.
Columns is undistinguished.
Sequence of Rows is Insignificant.
Each Column has a common Name.

Object-Oriented Model

In this Model we have to discuss the functionality of the object oriented Programming .It takes more
than storage of programming language objects. Object DBMS's increase the semantics of the C++ and
Java .It provides full-featured database programming capability, while containing native language
compatibility. It adds the database functionality to object programming languages.This approach is
the analogical of the application and database development into a constant data model and language
environment. Applications require less code, use more natural data modeling, and code bases are
easier to maintain. Object developers can write complete database applications with a decent
amount of additional effort.

The object-oriented database derivation is the integrity of object-oriented programming language


systems and consistent systems. The power of the object-oriented databases comes from the cyclical
treatment of both consistent data, as found in databases, and transient data, as found in executing
programs.
Object-oriented databases use small, recyclable separated of software called objects.
The objects themselves are stored in the object-oriented database. Each object
contains of two elements:

1. Piece of data (e.g., sound, video, text, or graphics).


2. Instructions, or software programs called methods, for what to do with the
data.

Disadvantage of Object-oriented databases

1. Object-oriented databases have these disadvantages.


2. Object-oriented database are more expensive to develop.
3. In the Most organizations are unwilling to abandon and convert from

those databases. They have already invested money in developing and

implementing.

The benefits to object-oriented databases are compelling. The ability to mix and
match reusable
objects provides incredible multimedia capability.

Advantages of DBMS

DBMS is developed to cover the drawbacks of the traditional file system.

Data Mapping and Access: - DBMS defines the way to map any two related tables by means of
primary key –foreign key relationship. Primary key is the column in the table which responsible for
uniquely identifying each record in the table. Foreign key is the column in the table which is a
primary key in other table and with which the entries in the current table are related to other table.

For example, in the new database system, we can Student and Student_Report table as follows.

STUDENT_ID is the unique using which we can identify each student and hence it forms a primary key
in STUDENT table. Similarly, REPORT_ID is the primary key in the STUDENT_REPORT table.
STUDENT_ID in the STUDENT_REPORT table is the foreign key. It links STUDENT and
STUDENT_REPORT tables.

Because of such mapping, it becomes each for the programmer to search for related tables, join
them, and fire the query as per the requirement. This reduces the time consumed while searching
and mapping these tables. Even when there is large amount of data, the time consumed to retrieve,
insert, update or delete is very less. Hence there is no data isolation in the system.

Note: Mapping of tables is usually done when they are created.

Data Redundancy: - By the introduction of primary key in the table, data redundancy problem is
reduced to great extent. As we saw, primary key is the unique column for each record, when there is
a re-entry of same record, it does not allow saving such records.

DBMS has strong designing techniques like normalization which makes sure the same copy of data is
not stored in same table or in multiple tables. It makes sure all the informations are stored only once
in the database tables.

We can see the difference in the way data is being stored in the file and database system. Primary
key, foreign keys are defined; unnecessary columns are removed from the STUDENT_REPORT table in
the database system. These are missing in the file processing system.

Data Independence and Consistency: - DBMS defines a standard to represent the data in the form of
rows and columns. It also stores the information about the tables, columns, keys, storage space, used
space, available space etc separately from the logical data. Hence they totally independent of the
way they are stored and the data being stored. Any changes to the physical storage (like disks, tapes
etc) or structure, does not harm the data being stored. Since DBMS defines each columns and rows
at the beginning itself and controls the way data being entered, there is no affect on the programs or
any other tables or data. Hence the consistency of the data also maintained.

If there is a change in the address of any student, we just have to update it in the Student table.
There is no other place his information is being stored. Hence it maintains the consistent data in the
database.

Suppose there is a new column addition to STUDENT table, say DOB. This will change the metadata
to reflect additional column in the table structure. It will hardly affect the application unless until
there is a new requirement to have transaction with DOB. Hence data independence is also assured
in the database.
Security: - DBMS allows different levels of access to different users based on their roles. In the school
database, individual students will have access to their data alone, while their teachers will have
access to all the students whom they are teaching and for the subjects that they are teaching. Class
teacher will be able to see the reports of all the students in that class, but not other classes.

Similarly, in a banking system, individual account holder will have Read-Only access to their account.
While accountant can update, individual account details for each of their transaction.

All these levels of security and access are not allowed in file system.

Integrity: - DBMS allows having restrictions on individual columns. It would be defined while
designing the table itself. If we want to enter salary of an employee within the range 10000 to 40000,
we can impose this while designing the table by using CHECK constraint. When salary is entered, it
will automatically check for the range specified.

CREATE TABLE EMPLOYEE ……….. CONSTRAINT chk_salary CHECK (salary>10000 AND salary <40000)

Atomicity: - DBMS makes sure either the transaction is fully complete or it is rolled back to the
previous committed state. It does not allow the system to be in a partially committed state. In our
example above, DBMS commits marks change transaction before calculating the total. If there is any
crash or shutdown of the system, before committing the marks, then updated marks will be rolled
back to the original marks. Hence it makes sure atomicity of the transaction is achieved.

Concurrent Access: - DBMS provide access to multiple users to access the database at the same time.
It has its own mechanism to have concurrency accesses and hence avoid any incorrect data in the
system.

Disadvantages of DBMS

It is bit complex. Since it supports multiple functionality to give the user the best, the underlying
software has become complex. The designers and developers should have thorough knowledge
about the software to get the most out of it.

Because of its complexity and functionality, it uses large amount of memory. It also needs large
memory to run efficiently.

DBMS system works on the centralized system, i.e.; all the users from all over the world access this
database. Hence any failure of the DBMS, will impact all the users.

DBMS is generalized software, i.e.; it is written work on the entire systems rather specific one. Hence
some of the application will run slow.

You might also like