DBMS- Data Base Management System
Database
is collection of data which is related by some aspect. Data is collection of
facts and figures which can be processed to produce information. Name of a
student, age, class and her subjects can be counted as data for recording
purposes.
Mostly
data represents recordable facts. Data aids in producing information which is
based on facts. For example, if we have data about marks obtained by all
students, we can then conclude about toppers and average marks etc.
A
database management system stores data, in such a way which is easier to
retrieve, manipulate and helps to produce information.
1 Characteristics
Traditionally
data was organized in file formats. DBMS was all new concepts then and all the
research was done to make it to overcome all the deficiencies in traditional
style of data management. Modern DBMS has the following characteristics:
Real-world
entity: Modern DBMS are more realistic and uses real world entities to design
its architecture. It uses the behavior and attributes too. For example, a
school database may use student as entity and their age as their attribute.
Relation-based
tables: DBMS allows entities and relations among them to form as tables. This eases
the concept of data saving. A user can understand the architecture of database
just by looking at table names etc.
Isolation
of data and application: A database system is entirely different than its data.
Where database is said to active entity, data is said to be passive one on
which the database works and organizes. DBMS also stores metadata which is data
about data, to ease its own process.
Less
redundancy: DBMS follows rules of normalization, which splits a relation when
any of its attributes is having redundancy in values. Following normalization,
which itself is a mathematically rich and scientific process, make the entire
database to contain as less redundancy as possible.
Consistency:
DBMS always enjoy the state on consistency where the previous form of data
storing applications like file processing does not guarantee this. Consistency
is a state where every relation in database remains consistent. There exist
methods and techniques, which can detect attempt of leaving database in
inconsistent state.
Query
Language: DBMS is equipped with query language, which makes it more efficient
to retrieve and manipulate data. A user can apply as many and different
filtering options, as he or she wants. Traditionally it was not possible where
file-processing system was used.
ACID
Properties: DBMS follows the concepts for ACID properties, which stands for
Atomicity, Consistency, Isolation and Durability. These concepts are applied on
transactions, which manipulate data in database. ACID properties maintains
database in healthy state in multi-transactional environment and in case of
failure.
Multiuser
and Concurrent Access: DBMS support multi-user environment and allows them to
access and manipulate data in parallel. Though there are restrictions on transactions
when they attempt to handle same data item, but users are always unaware of
them.
Multiple
views: DBMS offers multiples views for different users. A user who is in sales
department will have a different view of database than a person working in production
department. This enables user to have a concentrate view of database according
to their requirements.
Security:
Features like multiple views offers security at some extent where users are
unable to access data of other users and departments. DBMS offers methods to
impose constraints while entering data into database and retrieving data at
later stage. DBMS offers many different levels of security features, which
enables multiple users to have different view with different features. For
example, a user in sales department cannot see data of purchase department is
one thing, additionally how much data of sales department he can see, can also
be managed. Because DBMS is not saved on disk as traditional file system it is
very hard for a thief to break the code.
2 Users
DBMS is
used by various users for various purposes. Some may involve in retrieving data
and some may involve in backing it up. Some of them are described as follows:
Administrators:
A bunch of users maintain the DBMS and are responsible for administrating the
database. They are responsible to look after its usage and by whom it should be
used. They create users access and apply limitation to maintain isolation and
force security. Administrators also look after DBMS resources like system license,
software application and tools required and other hardware related maintenance.
Designer:
This is the group of people who actually works on designing part of database.
The actual database is started with requirement analysis followed by a good designing
process. They people keep a close watch on what data should be kept and in what
format. They identify and design the whole set of entities, relations,
constraints and views.
End
Users: This group contains the persons who actually take advantage of database
system. End users can be just viewers who pay attention to the logs or market
rates or end users can be as sophisticated as business a analyst who takes the
most of it.
3 DBMS - Architecture
The
design of a Database Management System highly depends on its architecture. It
can be centralized or decentralized or hierarchical. DBMS architecture can be
seen as single tier or multi tier. n-tier architecture divides the whole system
into related but independent n modules, which can be independently modified,
altered, changed or replaced.
In 1-tier
architecture, DBMS is the only entity where user directly sits on DBMS and uses
it. Any changes done here will directly be done on DBMS itself. It does not
provide handy tools for end users and preferably database designer and
programmers use single tier architecture.
If the
architecture of DBMS is 2-tier then must have some application, which uses the
DBMS. Programmers use 2-tier architecture where they access DBMS by means of
application. Here application tier is entirely independent of database in term
of operation, design and programming.
3-tier
architecture
Most
widely used architecture is 3-tier architecture. 3-tier architecture separates
it tier from each other on basis of users. It is described as follows:
Database
(Data) Tier: At this tier, only database resides. Database along with its query
processing languages sits in layer-3 of 3-tier architecture. It also contains
all relations and their constraints.
Application
(Middle) Tier: At this tier the application server and program, which access
database, resides. For a user this application tier works as abstracted view of
database. Users are unaware of any existence of database beyond application.
For database-tier, application tier is the user of it. Database tier is not
aware of any other user beyond application tier. This tier works as mediator
between the two.
User
(Presentation) Tier: An end user sits on this tier. From a users aspect this
tier is everything. He/she doesn't know about any existence or form of database
beyond this layer. At this layer multiple views of database can be provided by
the application. All views are generated by applications, which reside in
application tier.
Multiple
tier database architecture is highly modifiable as almost all its components
are independent and can be changed independently.
4 DBMS - Data Models
Data
model tells how the logical structure of a database is modeled. Data Models are
fundamental entities to introduce abstraction in DBMS. Data models define how
data is connected to each other and how it will be processed and stored inside
the system.
The very
first data model could be flat data-models where all the data used to be kept
in same plane. Because earlier data models were not so scientific they were
prone to introduce lots of duplication and update anomalies.
5 Entity-Relationship Model
Entity-Relationship
model is based on the notion of real world entities and relationship among
them. While formulating real-world scenario into database model, ER Model
creates entity set, relationship set, general attributes and constraints. ER
Model is best used for the conceptual design of database.
ER Model
is based on:
Entities
and their attributes
Relationships
among entities
Entity
An entity
in ER Model is real world entity, which has some properties called attributes.
Every attribute is defined by its set of values, called domain.
For
example, in a school database, a student is considered as an entity. Student
has various attributes like name, age and class etc.
Relationship
The
logical association among entities is called relationship. Relationships are
mapped with entities in various ways. Mapping cardinalities define the number
of association between two entities.
Mapping
cardinalities:
o one to one
o one to many
o many to one
o many to many
6 Relational Model
The most
popular data model in DBMS is Relational Model. It is more scientific model
then others. This model is based on first-order predicate logic and defines
table as an n-ary relation.
The main
highlights of this model are:
Data is
stored in tables called relations.
Relations
can be normalized.
In
normalized relations, values saved are atomic values.
Each row
in relation contains unique value
Each
column in relation contains values from a same domain.
7 DBMS - Data Schemas
7.1 Database schema
Database
schema skeleton structure of and it represents the logical view of entire
database. It tells about how the data is organized and how relation among them
is associated. It formulates all database constraints that would be put on data
in relations, which resides in database.
A
database schema defines its entities and the relationship among them. Database
schema is a descriptive detail of the database, which can be depicted by means
of schema diagrams. All these activities are done by database designer to help
programmers in order to give some ease of understanding all aspect of database.
Database
schema can be divided broadly in two categories:
Physical
Database Schema: This schema pertains to the actual storage of data and its
form of storage like files, indices etc. It defines the how data will be stored
in secondary storage etc.
Logical
Database Schema: This defines all logical constraints that need to be applied
on data stored. It defines tables, views and integrity constraints etc.
7.2 Database Instance
It is
important that we distinguish these two terms individually. Database schema is
the skeleton of database. It is designed when database doesn't exist at all and
very hard to do any changes once the database is operational. Database schema
does not contain any data or information.
Database
instances, is a state of operational database with data at any given time. This
is a snapshot of database. Database instances tend to change with time. DBMS
ensures that its every instance (state) must be a valid state by keeping up to
all validation, constraints and condition that database designers has imposed
or it is expected from DBMS itself.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.