Sei sulla pagina 1di 41

File Management System Database Management System

File System is a general, easy-to-


use system to store general files Database management system is
which require less security and used when security constraints are
constraints. high.

Data Redundancy (the state of being


not or no longer needed or useful.) is Data Redundancy is less in
more in file management system. database management system.

Data Inconsistency is more in file Data Inconsistency is less in


system. database management system.

Centralisation is hard to get when


it comes to File Management Centralisation is achieved in
System. Database Management System.

User locates the physical address In Database Management System,


of the files to access data in File user is unaware of physical
Management System. address where data is stored.

Security is low in File Management Security is high in Database


System. Management System.

Database Management System


File Management System stores stores structured data which have
unstructured data as isolated data well defined constraints and
files/entities. interrelation.

File Management System, better known as File System is the most ancient and still the
most popular way to keep your data files organised on your drives.

On the other hand, when it comes to security and appropriate management of data
based on constraints and other stuff the first choice of many experts, is Database
Management System (DBMS).

File Systems is the traditional way to keep your data organised in a way which is easy
for physical access, whether it’s on your shelf or on the drives.
Earlier people used to keep records and maintain data in registers and any
alteration/retrieval to this data was difficult. When computers came, same agenda was
followed for storing the data on drives.

File System actually stores data in the form of isolated files which have their own set of
property table and physical location on the drive and user manually goes to these
locations to access the files.

It is an easy way to store data in general files like images, text, videos, audios etc., but
security is less because only options available to these files are the options given by the
operating system such as locks, hidden files and sharing. These files are hard to
maintain when it comes to frequent changes to these files.

Data redundancy is more and can’t be controlled easily. Data integration is hard to
achieve and also data consistency is not met.

Database Management System, abbreviated as DBMS, is an effective way to store the


data when constraints are high and data maintenance and security are the primary
concern of the user.

DBMS stores data in the form of interrelated tables and files. These are generally
consist of database management system providers that are used to store and
manipulate databases, hardware where the data is physically stored and an user
friendly software developed to met specific purpose in certain situations, using which
user can easily access database without worrying about the underlying schema of the
database.

Database Management System is great way to manage data as, the data redundancy is
minimized due to interrelation of data entities and also provide a procedure for data
integration due to centralisation of data in the database. Security of data is also
maximized using password protection, encryption/decryption, granting authorized
access and others.

File processing system


In the earlier age the computer system was used to store business records and
produce different information. They were generally faster and more accurate than
equivalent manual systems. These systems stored groups of records in separate
file and so they were called file processing system.

In a typical file processing systems, each department has its own files, designed
especially for those applications. The department itself works with the data
processing staff, sets policies or standards for the format and maintenance of its
files.
Disadvantages of File processing system
1) Data redundancy
In computer system many files are likely in the different formats and the
programs are written in different programming languages. Moreover, the same
information may be duplicated in several files, this duplication of data is known
as data redundancy.

Example: The address and telephone number of a particular customer may


appear in a file that consist of saving account records and in a file that consist of
checking account record.

2) Data inconsistency
Various copies contain the same type of data which may no longer is in use which
means that various copies of same data may contain different kind of
information.

Example: A changed customer address may be reflected in savings account


records but not elsewhere in the system.

3) Difficulty in accessing data


In file processing system it is very difficult to access the data in a specific way and
it also require a special application program which carry out new task.

4) Data isolation
Because data are scattered in various files and files may be in different formats,
writing new applications program to retrieve the appropriate data is difficult.

5) Integrity problem
Database must satisfy a particular consistency constraint. These constraints are
added in application program.

Example: The balance of a bank account may never fall below a prescribed
amount.

6) Atomicity problem
A computer system, like any other mechanical or electrical devices, is subject to
failure. In many applications, it is crucial that if failure occurs, the data be restored
to the consistent state that existed prior to the failure.

7) Concurrent access anomalies


If two programs run concurrently it is important to has supervision. But
supervision is difficult to provide because data is decentralised in file processing
system. In such an environment, interaction updates may result in inconsistent
data.

8) Security problems
In this not every user of the database system should be able to access all the
data.

Database approach
A database approach represents some aspects of real world called universe.
Database management system protects the database and maintains it over long
period of time. DBMS provides a view facility that enables user to have higher
view of database.

Functions of Database management approach


 Database management allow us to manipulating and sharing the database
among various users and applications.
 It also provides a recovery system to restore data in consistent state.
 It allows us to creating standard and user- friendly interface and supports
abstract and multimedia data types.
 DBMS enhances the database programmer’s productivity by supporting
code reusability.
 It also enhances the system portability and support extensibility.
 In DBMS data redundancies and inconsistencies in data are reduced due to
single file formats and duplication of data is eliminated.

https://www.thecrazyprogrammer.com/2018/04/difference-between-file-system-and-dbms.html

File based approach Each program defines,manages and maintains its own data. Data is
scattered and users of one program doesn't know if there is any useful data held by other
programs. File structure is defined in the application program code therefore Programs are
written to satisfy particular functions/application.
Database approach Shared collection of logically related data which can be shared among
application. It Improves maintenance,reduce data redundancy and Increased productivity.

File System Database


S.No.
Approach Approach
File is pre-allocated
space which we Database is a
use to store our collection of
1
data. organized
records.

During a system
designing, a file On the other
system can never hand, database
2 be a part of back always work in
end. back end.

Files can never be Databases are


3
implemented for designed to
query processing perform web
over web portals. based queries.

We can restrict
We cannot unauthorized
implement any kind access with
of security check database
over a file system. approach.
4 Hence the data will Databases are
always be available capable of
for the external implementing
environment. protection with
username and
passwords etc.
File system can
never be
synchronized. Database can be
5 Hence any update synchronized
or change in data hence can easily
cannot easily been be backed up.
recorded.

In contrast,
database
approach one is
master database
In file system, data
and rest are
file are stand alone
transaction
files, hence cannot
6 databases.
easily been utilized
Master database
for information
uses transaction
retrieval.
databases to
retrieve user
required
information.

Files can only store Databases can be


data hence cannot used to store
7
work for any other other formats of
kind of data. data also. Like
multimedia etc.
Eg. Youtube,
music sites etc.

File system do not


support Database
8 Geographical approach support
Information System GIS services. Eg.
(GIS). Google map etc.

Databases can be
Files can never be shared among
shares among group of users.
group of users. It Multiple programs
can’t be accessed can access the
9 by multiple same database at
programs same instance of
simultaneously. time.

Database system
supports multiple
10 File system doesn’t views. Eg.
support multiple Banking system
views. etc.

There is provision
11 Integrity constraints of implementing
cannot be constraints. Eg.
implemented. Redundancy
check etc.
What is the difference between MySQL and SQL?

SQL stands for Structured Query Language. It's a standard language for accessing and manipulating
databases. MySQL is a database management system, like SQL Server, Oracle, Informix, Postgres, etc.
MySQL is a RDMS (Relational Database Management System).

What is the difference between Database and DBMS?

Generally if anyone asked about the difference between Database and DBMS then everyone says that
both are same but there is huge difference between them are as:-

1.Both are part of the Database system.

3.Databse contains

a) Data

b)schema(structure of the table ).

2.DBMS contains

a) Query Processing software.

b)storage Management software.

Examples :-MySQL, MS SQL Server, Oracle

4.Both are interdependent.

What is Table ?

In Relational database, a table is a collection of data elements organised in terms of rows and columns.
A table is also considered as convenient representation of relations. But a table can have duplicate
tuples while a true relation cannot have duplicate tuples. Table is the most simplest form of data
storage. Below is an example of Employee table.
ID Name Age Salary

1 Adam 34 13000

2 Alex 28 15000

3 Stuart 20 18000

4 Ross 42 19020

What is a Record ?

A single entry in a table is called a Record or Row. A Record in a table represents set of related data.
For example, the above Employee table has 4 records. Following is an example of single record.

1 Adam 34 13000

What is Field ?

A table consists of several records(row), each record can be broken into several smaller entities known
as Fields. The above Employee table consist of four fields, ID, Name, Age and Salary.

What is a Column ?

In Relational table, a column is a set of value of a particular type. The term Attribute is also used to
represent a column. For example, in Employee table, Name is a column that represent names of
employee.

Name

Adam

Alex

Stuart

1. Tuple: The rows in the database are often known as tuples.


2. Table: Table is a collection of tuples and related information along with a key to
distinguish the data. Although a table can have duplication of data tuples.
3. Schema: Schema is the structure of the relation or a table.
4. Data redundancy: Data redundancy ensures there are no multiple occurrences of
same data hence avoids data duplication.
5. Keys: Keys in a table are used to identify the unique attribute of the table.

Basic Terminologies
Data: Facts, figures, statistics etc. having no particular meaning (e.g. 1, ABC, 19 etc).

Record: Collection of related data items, e.g. in the above example the three data items had no meaning.
But if we organise them in the following way, then they collectively represent meaningful information.

Roll Name Age

1 ABC 19

Table or Relation: Collection of related records.

Roll Name Age

1 ABC 19

2 DEF 22

3 XYZ 28

The columns of this relation are called Fields, Attributes or Domains. The rows are
called Tuples or Records.

Database: Collection of related relations. Consider the following collection of tables:

T1

Roll Name Age

1 ABC 19

2 DEF 22

3 XYZ 28
T2

Roll Address

1 KOL

2 DEL

3 MUM

T3

Roll Year

1 I

2 II

3 I

T4

Year Hostel

I H1

II H2

We now have a collection of 4 tables. They can be called a “related collection” because we can clearly find
out that there are some common attributes existing in a selected pair of tables. Because of these common
attributes we may combine the data of two or more tables together to find out the complete details of a
student. Questions like “Which hostel does the youngest student live in?” can be answered now,
although Age and Hostelattributes are in different tables.

In a database, data is organized strictly in row and column format. The rows are calledTuple or Record.
The data items within one row may belong to different data types. On the other hand, the columns are often
called Domain or Attribute. All the data items within a single attribute are of the same data type.

What is Management System?


A management system is a set of rules and procedures which help us to create organize and manipulate
the database. It also helps us to add, modify delete data items in the database. The management system
can be either manual or computerized.
The management system is important because without the existence of some kind of rules and regulations
it is not possible to maintain the database. We have to select the particular attributes which should be
included in a particular table; the common attributes to create relationship between two tables; if a new
record has to be inserted or deleted then which tables should have to be handled etc. These issues must
be resolved by having some kind of rules to follow in order to maintain the integrity of the database.

f a database system is not multi-layered, then it becomes difficult to make any changes
in the database system. Database systems are designed in multi-layers as we learnt
earlier.

Data Independence

A database system normally contains a lot of data in addition to users’ data. For example,
it stores data about data, known as metadata, to locate and retrieve data easily. It is
rather difficult to modify or update a set of metadata once it is stored in the database.
But as a DBMS expands, it needs to change over time to satisfy the requirements of the
users. If the entire data is dependent, it would become a tedious and highly complex job.

Metadata itself follows a layered architecture, so that when we change data at one layer,
it does not affect the data at another level. This data is independent but mapped to each
other.

Logical Data Independence


Logical data is data about database, that is, it stores information about how data is
managed inside. For example, a table (relation) stored in the database and all its
constraints, applied on that relation.
Logical data independence is a kind of mechanism, which liberalizes itself from actual
data stored on the disk. If we do some changes on table format, it should not change the
data residing on the disk.

Physical Data Independence

All the schemas are logical, and the actual data is stored in bit format on the disk.
Physical data independence is the power to change the physical data without impacting
the schema or logical data.
For example, in case we want to change or upgrade the storage system itself − suppose
we want to replace hard-disks with SSD − it should not have any impact on the logical
data or schemas.

Data Independence
o Data independence can be explained using the three-schema architecture.
o Data independence refers characteristic of being able to modify the schema at one
level of the database system without altering the schema at the next higher level.

There are two types of data independence:

1. Logical Data Independence


o Logical data independence refers characteristic of being able to change the conceptual
schema without having to change the external schema.
o Logical data independence is used to separate the external level from the conceptual
view.
o If we do any changes in the conceptual view of the data, then the user view of the
data would not be affected.
o Logical data independence occurs at the user interface level.

2. Physical Data Independence


o Physical data independence can be defined as the capacity to change the internal
schema without having to change the conceptual schema.
o If we do any changes in the storage size of the database system server, then the
Conceptual structure of the database will not be affected.
o Physical data independence is used to separate conceptual levels from the internal
levels.
o Physical data independence occurs at the logical interface level.

Fig: Data Independence

Data independence is ability to modify a schema definition in one level without affecting a schema definition
in the next higher level.

There are two levels of data independence:

1. Physical Data Independence


2. Logical Data Independence

These are described below:


1. Physical Data Independence:
 Physical Data Independence is the ability to modify the physical schema without requiring any
change in application programs.
 Modifications at the internal levels are occasionally necessary to improve performance. possible
modifications at internal levels are change in file structures, compression techniques, hashing
algorithms, storage devices, etc.
 Physical data independence separates conceptual levels from the internal levels.
 This allows to provide a logical description of the database without the need to specify physical
structures.
 Comparatively, it is easy to achieve physical data independence.

2. Logical Data Independence:


 Logical data independence is ability to modify the conceptual schema without requiring any change
in application programs.
 Modification at the logical levels are necessary whenever the logical structures of the database is
altered.
 Logical data independence separates external level from the conceptual view.
 Comparatively it is difficult to achieve logical data independence.
 Application programs are heavily dependent on logical structures of the data they access.so any
change in logical structure also requires programs to change.

Concepts of Database
Architecture

Faysal Ahmed

Follow

Aug 31, 2017 · 7 min read


What Is Database Architecture?
Database architecture uses programming languages to design a particular type
of software for businesses or organizations.Database architecture focuses on
the design, development, implementation and maintenance of computer
programs that store and organize information for businesses, agencies and
institutions. A database architect develops and implements software to meet
the needs of users.
The design of a DBMS depends on its architecture. It can be centralized or
decentralized or hierarchical. The architecture of a DBMS can be seen as either
single tier or multi-tier. The tiers are classified as follows :

1. 1-tier architecture

2. 2-tier architecture

3. 3-tier architecture

4. n-tier architecture

1-tier architecture:
One-tier architecture involves putting all of the required components for a
software application or technology on a single server or platform.
1-tier architecture

Basically, a one-tier architecture keeps all of the elements of an application,


including the interface, Middleware and back-end data, in one place.
Developers see these types of systems as the simplest and most direct way.

2-tier architecture:
The two-tier is based on Client Server architecture. The two-tier architecture is
like client server application. The direct communication takes place between
client and server. There is no intermediate between client and server.
2-tier architecture

3-tier architecture:
A 3-tier architecture separates its tiers from each other based on the
complexity of the users and how they use the data present in the database. It is
the most widely used architecture to design a DBMS.
3-tier architecture

This architecture has different usages with different applications. It can be


used in web applications and distributed applications. The strength in
particular is when using this architecture over distributed systems.

 Database (Data) Tier − At this tier, the database resides along with its
query processing languages. We also have the relations that define the data
and their constraints at this level.

 Application (Middle) Tier − At this tier reside the application server


and the programs that access the database. For a user, this application tier
presents an abstracted view of the database. End-users are unaware of any
existence of the database beyond the application. At the other end, the
database tier is not aware of any other user beyond the application tier.
Hence, the application layer sits in the middle and acts as a mediator
between the end-user and the database.
 User (Presentation) Tier − End-users operate on this tier and they
know nothing about any existence of the database beyond this layer. At this
layer, multiple views of the database can be provided by the application. All
views are generated by applications that reside in the application tier.

n-tier architecture:
N-tier architecture would involve dividing an application into three different
tiers. These would be the

1. logic tier,

2. the presentation tier, and

3. the data tier.


n-tier architecture

It is the physical separation of the different parts of the application as opposed


to the usually conceptual or logical separation of the elements in the model-
view-controller (MVC) framework. Another difference from the MVC
framework is that n-tier layers are connected linearly, meaning all
communication must go through the middle layer, which is the logic tier. In
MVC, there is no actual middle layer because the interaction is triangular; the
control layer has access to both the view and model layers and the model also
accesses the view; the controller also creates a model based on the
requirements and pushes this to the view. However, they are not mutually
exclusive, as the MVC framework can be used in conjunction with the n-tier
architecture, with the n-tier being the overall architecture used and MVC used
as the framework for the presentation tier.

Normalization of Database:
Database Normalisation is a technique of organizing the data in the database.
Normalization is a systematic approach of decomposing tables to eliminate
data redundancy and undesirable characteristics like Insertion, Update and
Deletion Anamolies. It is a multi-step process that puts data into tabular form
by removing duplicated data from the relation tables.

Normalization is used for mainly two purpose,

 Eliminating reduntant(useless) data.

 Ensuring data dependencies make sense i.e data is logically stored.

Problem Without Normalization:

Without Normalization, it becomes difficult to handle and update the database,


without facing data loss. Insertion, Updation and Deletion Anamolies are very
frequent if Database is not Normalized.

Normalization Rule:

Normalization rule are divided into following normal form.


1. First Normal Form

2. Second Normal Form

3. Third Normal Form

4. BCNF

First Normal Form:

A database is in first normal form if it satisfies the following conditions:

 Contains only atomic values

 There are no repeating groups

An atomic value is a value that cannot be divided. For example, in the table
shown below, the values in the [Color] column in the first row can be divided
into “red” and “green”, hence [TABLE_PRODUCT] is not in 1NF.

A repeating group means that a table contains two or more columns that are
closely related. For example, a table that records data on a book and its
author(s) with the following columns: [Book ID], [Author 1], [Author 2],
[Author 3] is not in 1NF because [Author 1], [Author 2], and [Author 3] are all
repeating the same attribute.

1st Normal Form Example


How do we bring an unnormalized table into first normal form? Consider the
following example:
This table is not in first normal form because the [Color] column can contain
multiple values. For example, the first row includes values “red” and “green.”

To bring this table to first normal form, we split the table into two tables and
now we have the resulting tables:

Now first normal form is satisfied, as the columns on each table all hold just
one value.
Second Normal Form:

A database is in second normal form if it satisfies the following conditions:

 It is in first normal form

 All non-key attributes are fully functional dependent on the primary key

In a table, if attribute B is functionally dependent on A, but is not functionally


dependent on a proper subset of A, then B is considered fully functional
dependent on A. Hence, in a 2NF table, all non-key attributes cannot be
dependent on a subset of the primary key. Note that if the primary key is not a
composite key, all non-key attributes are always fully functional dependent on
the primary key. A table that is in 1st normal form and contains only a single
key as the primary key is automatically in 2nd normal form.

2nd Normal Form Example


Consider the following example:
This table has a composite primary key [Customer ID, Store ID]. The non-key
attribute is [Purchase Location]. In this case, [Purchase Location] only
depends on [Store ID], which is only part of the primary key. Therefore, this
table does not satisfy second normal form.

To bring this table to second normal form, we break the table into two tables,
and now we have the following:

What we have done is to remove the partial functional dependency that we


initially had. Now, in the table [TABLE_STORE], the column [Purchase
Location] is fully dependent on the primary key of that table, which is [Store
ID].

Third Normal Form:

A relation is in third normal form if it is in 2NF and no non key attribute is


transitively dependent on the primary key.

A bank uses the following relation:

Vendor(ID, Name, Account_No, Bank_Code_No, Bank)


The attribute ID is the identification key. All attributes are single valued (1NF).
The table is also in 2NF.

The following dependencies exist:

1. Name, Account_No, Bank_Code_No are functionally dependent on ID (ID


→ Name, Account_No, Bank_Code_No)

2. Bank is functionally dependent on Bank_Code_No (Bank_Code_No →


Bank)

The table in this example is in 1NF and in 2NF. But there is a transitive
dependency between Bank_Code_No and Bank, because Bank_Code_No is
not the primary key of this relation. To get to the third normal form (3NF), we
have to put the bank name in a separate table together with the clearing
number to identify it.

BCNF:
BCNF was developed by Raymond Boyce and E.F. Codd; the latter is widely
considered the father of relational database design.

BCNF is really an extension of 3rd Normal Form (3NF). For this reason it is
frequently termed 3.5NF. 3NF states that all data in a table must depend only
on that table’s primary key, and not on any other field in the table. At first
glance it would seem that BCNF and 3NF are the same thing. However, in
some rare cases it does happen that a 3NF table is not BCNF-compliant. This
may happen in tables with two or more overlapping composite candidate keys.

Components of DBMS
The database management system can be divided into five major components, they
are:

1. Hardware

2. Software

3. Data

4. Procedures

5. Database Access Language

Let's have a simple diagram to see how they all fit together to form a database
management system.
DBMS Components: Hardware
When we say Hardware, we mean computer, hard disks, I/O channels for data, and any
other physical component involved before any data is successfully stored into the
memory.
When we run Oracle or MySQL on our personal computer, then our computer's Hard
Disk, our Keyboard using which we type in all the commands, our computer's RAM,
ROM all become a part of the DBMS hardware.

DBMS Components: Software


This is the main component, as this is the program which controls everything. The
DBMS software is more like a wrapper around the physical database, which provides us
with an easy-to-use interface to store, access and update data.
The DBMS software is capable of understanding the Database Access Language and
intrepret it into actual database commands to execute them on the DB.
DBMS Components: Data
Data is that resource, for which DBMS was designed. The motive behind the creation of
DBMS was to store and utilise data.
In a typical Database, the user saved Data is present and meta data is stored.
Metadata is data about the data. This is information stored by the DBMS to better
understand the data stored in it.
For example: When I store my Name in a database, the DBMS will store when the
name was stored in the database, what is the size of the name, is it stored as related
data to some other data, or is it independent, all this information is metadata.

DBMS Components: Procedures


Procedures refer to general instructions to use a database management system. This
includes procedures to setup and install a DBMS, To login and logout of DBMS
software, to manage databases, to take backups, generating reports etc.

DBMS Components: Database Access Language


Database Access Language is a simple language designed to write commands to
access, insert, update and delete data stored in any database.
A user can write commands in the Database Access Language and submit it to the
DBMS for execution, which is then translated and executed by the DBMS.
User can create new databases, tables, insert data, fetch stored data, update data and
delete the data using the access language.

Users

 Database Administrators: Database Administrator or DBA is the one who manages the

complete database management system. DBA takes care of the security of the DBMS,

it's availability, managing the license keys, managing user accounts and access etc.

 Application Programmer or Software Developer: This user group is involved in

developing and desiging the parts of DBMS.


 End User: These days all the modern applications, web or mobile, store user data. How

do you think they do it? Yes, applications are programmed in such a way that they

collect user data and store the data on DBMS systems running on their server. End

users are the one who store, retrieve, update and delete data.

Components of DBMS
DBMS have several components, each performing very significant tasks in the database
management system environment. Below is a list of components within the database and its
environment.

Software
This is the set of programs used to control and manage the overall database. This includes the
DBMS software itself, the Operating System, the network software being used to share the data
among users, and the application programs used to access data in the DBMS.
Hardware
Consists of a set of physical electronic devices such as computers, I/O devices, storage devices,
etc., this provides the interface between computers and the real world systems.

Data
DBMS exists to collect, store, process and access data, the most important component. The
database contains both the actual or operational data and the metadata.

Procedures
These are the instructions and rules that assist on how to use the DBMS, and in designing and
running the database, using documented procedures, to guide the users that operate and manage it.

Database Access Language


This is used to access the data to and from the database, to enter new data, update existing data, or
retrieve required data from databases. The user writes a set of appropriate commands in a database
access language, submits these to the DBMS, which then processes the data and generates and
displays a set of results into a user readable form.

Query Processor
This transforms the user queries into a series of low level instructions. This reads the online user’s
query and translates it into an efficient series of operations in a form capable of being sent to the run
time data manager for execution.

Run Time Database Manager


Sometimes referred to as the database control system, this is the central software component of the
DBMS that interfaces with user-submitted application programs and queries, and handles database
access at run time. Its function is to convert operations in user’s queries. It provides control to
maintain the consistency, integrity and security of the data.

Data Manager
Also called the cache manger, this is responsible for handling of data in the database, providing a
recovery to the system that allows it to recover the data after a failure.
Database Engine
The core service for storing, processing, and securing data, this provides controlled access and
rapid transaction processing to address the requirements of the most demanding data consuming
applications. It is often used to create relational databases for online transaction processing or online
analytical processing data.

Data Dictionary
This is a reserved space within a database used to store information about the database itself. A
data dictionary is a set of read-only table and views, containing the different information about the
data used in the enterprise to ensure that database representation of the data follow one standard
as defined in the dictionary.

Report Writer
Also referred to as the report generator, it is a program that extracts information from one or more
files and presents the information in a specified format. Most report writers allow the user to select
records that meet certain conditions and to display selected fields in rows and columns, or also
format the data into different charts.
Great Performance through Effective DBMS
A company’s performance is greatly affected by how it manages its data. And one of the most basic
tasks of data management is the effective management of its database. Understanding the different
components of the DBMS and how it works and relates to each other is the first step to employing an
effective DBM

Advantage of DBMS
1. Improved data sharing:
 The DBMS helps create an environment in which end users have better access to more and better-
managed data.
 Such access makes it possible for end users to respond quickly to changes in their environment.

2. Improved data security:


 The more users access the data, the greater the risks of data security breaches.Corporations invest
considerable amounts of time, effort, and money to ensure that corporate data are used properly.
 A DBMS provides a framework for better enforcement of data privacy and security policies.

3. Better data integration:


 Wider access to well-managed data promotes an integrated view of the organization’s operations
and a clearer view of the big picture.
 It becomes much easier to see how actions in one segment of the company affect other segments.

4. Minimized data inconsistency:


 Data inconsistency exists when different versions of the same data appear in different places.
 For example, data inconsistency exists when a company’s sales department stores a sales
representative’s name as “Bill Brown” and the company’s personnel department stores that same
person’s name as “William G. Brown,” or when the company’s regional sales office shows the price
of a product as $45.95 and its national sales office shows the same product’s price as $43.95.
 The probability of data inconsistency is greatly reduced in a properly designed database.

5. Improved data access:


 The DBMS makes it possible to produce quick answers to ad hoc queries.
 From a database perspective, a query is a specific request issued to the DBMS for data
manipulation—for example, to read or update the data. Simply put, a query is a question, and an ad
hoc query is a spur-of-the-moment question.
 The DBMS sends back an answer (called the query result set) to the application.
 For example, end users

6. Improved decision making:


 Better-managed data and improved data access make it possible to generate better-quality
information, on which better decisions are based.
 The quality of the information generated depends on the quality of the underlying data.
 Data quality is a comprehensive approach to promoting the accuracy, validity, and timeliness of the
data. While the DBMS does not guarantee data quality, it provides a framework to facilitate data
quality initiatives.
 Increased end-user productivity
 The availability of data, combined with the tools that transform data into usable information,
empowers end users to make quick, informed decisions that can make the difference between
success and failure in the global economy.

Disadvantage of DBMS
1. Increased costs:
 Database systems require sophisticated hardware and software and highly skilled personnel.
 The cost of maintaining the hardware, software, and personnel required to operate and manage a
database system can be substantial. Training, licensing, and regulation compliance costs are often
overlooked when database systems are implemented.
2. Management complexity:
 Database systems interface with many different technologies and have a significant impact on a
company’s resources and culture.
 The changes introduced by the adoption of a database system must be properly managed to ensure
that they help advance the company’s objectives. Given the fact that database systems hold crucial
company data that are accessed from multiple sources, security issues must be assessed constantly.

3. Maintaining currency:
 To maximize the efficiency of the database system, you must keep your system current.
 Therefore, you must perform frequent updates and apply the latest patches and security measures
to all components.
 Because database technology advances rapidly, personnel training costs tend to be significant.
Vendor dependence.
 Given the heavy investment in technology and personnel training, companies might be reluctant to
change database vendors.

4. Frequent upgrade/replacement cycles:


 DBMS vendors frequently upgrade their products by adding new functionality. Such new features
often come bundled in new upgrade versions of the software.
 Some of these versions require hardware upgrades. Not only do the upgrades themselves cost
money, but it also costs money to train database users and administrators to properly use and
manage the new features.

A distributed database is a collection of multiple interconnected databases, which are


spread physically across various locations that communicate via a computer network.

Features
 Databases in the collection are logically interrelated with each other. Often they represent a
single logical database.
 Data is physically stored across multiple sites. Data in each site can be managed by a DBMS
independent of the other sites.
 The processors in the sites are connected via a network. They do not have any multiprocessor
configuration.
 A distributed database is not a loosely connected file system.
 A distributed database incorporates transaction processing, but it is not synonymous with a
transaction processing system.

Distributed Database Management System


A distributed database management system (DDBMS) is a centralized software system
that manages a distributed database in a manner as if it were all stored in a single
location.

Features

 It is used to create, retrieve, update and delete distributed databases.


 It synchronizes the database periodically and provides access mechanisms by the virtue of
which the distribution becomes transparent to the users.
 It ensures that the data modified at any site is universally updated.
 It is used in application areas where large volumes of data are processed and accessed by
numerous users simultaneously.
 It is designed for heterogeneous database platforms.
 It maintains confidentiality and data integrity of the databases.

Factors Encouraging DDBMS

The following factors encourage moving over to DDBMS −


 Distributed Nature of Organizational Units − Most organizations in the current times are
subdivided into multiple units that are physically distributed over the globe. Each unit requires
its own set of local data. Thus, the overall database of the organization becomes distributed.
 Need for Sharing of Data − The multiple organizational units often need to communicate with
each other and share their data and resources. This demands common databases or
replicated databases that should be used in a synchronized manner.
 Support for Both OLTP and OLAP − Online Transaction Processing (OLTP) and Online
Analytical Processing (OLAP) work upon diversified systems which may have common data.
Distributed database systems aid both these processing by providing synchronized data.
 Database Recovery − One of the common techniques used in DDBMS is replication of data
across different sites. Replication of data automatically helps in data recovery if database in
any site is damaged. Users can access data from other sites while the damaged site is being
reconstructed. Thus, database failure may become almost inconspicuous to users.
 Support for Multiple Application Software − Most organizations use a variety of application
software each with its specific database support. DDBMS provides a uniform functionality for
using the same data among different platforms.

Advantages of Distributed Databases

Following are the advantages of distributed databases over centralized databases.


Modular Development − If the system needs to be expanded to new locations or new
units, in centralized database systems, the action requires substantial efforts and
disruption in the existing functioning. However, in distributed databases, the work simply
requires adding new computers and local data to the new site and finally connecting
them to the distributed system, with no interruption in current functions.
More Reliable − In case of database failures, the total system of centralized databases
comes to a halt. However, in distributed systems, when a component fails, the
functioning of the system continues may be at a reduced performance. Hence DDBMS
is more reliable.
Better Response − If data is distributed in an efficient manner, then user requests can
be met from local data itself, thus providing faster response. On the other hand, in
centralized systems, all queries have to pass through the central computer for
processing, which increases the response time.
Lower Communication Cost − In distributed database systems, if data is located locally
where it is mostly used, then the communication costs for data manipulation can be
minimized. This is not feasible in centralized systems.

Adversities of Distributed Databases

Following are some of the adversities associated with distributed databases.


 Need for complex and expensive software − DDBMS demands complex and often
expensive software to provide data transparency and co-ordination across the several sites.
 Processing overhead − Even simple operations may require a large number of
communications and additional calculations to provide uniformity in data across the sites.
 Data integrity − The need for updating data in multiple sites pose problems of data integrity.
 Overheads for improper data distribution − Responsiveness of queries is largely
dependent upon proper data distribution. Improper data distribution often leads to very slow
response to user requests.

What are distributed databases?

 Distributed database is a system in which storage devices are not connected to


a common processing unit.
 Database is controlled by Distributed Database Management System and data
may be stored at the same location or spread over the interconnected network.
It is a loosely coupled system.
 Shared nothing architecture is used in distributed databases.
 The above diagram is a typical example of distributed database system, in
which communication channel is used to communicate with the different
locations and every system has its own memory and database.

Goals of Distributed Database system.

The concept of distributed database was built with a goal to improve:

Reliability: In distributed database system, if one system fails down or stops


working for some time another system can complete the task.

Availability: In distributed database system reliability can be achieved even if


sever fails down. Another system is available to serve the client request.
Performance: Performance can be achieved by distributing database over
different locations. So the databases are available to every location which is
easy to maintain.

Types of distributed databases.


The two types of distributed systems are as follows:

1. Homogeneous distributed databases system:


 Homogeneous distributed database system is a network of two or more
databases (With same type of DBMS software) which can be stored on one or
more machines.
 So, in this system data can be accessed and modified simultaneously on
several databases in the network. Homogeneous distributed system are easy to
handle.
Example: Consider that we have three departments using Oracle-9i for DBMS.
If some changes are made in one department then, it would update the other
department also.

2. Heterogeneous distributed database system.


 Heterogeneous distributed database system is a network of two or more
databases with different types of DBMS software, which can be stored on one
or more machines.
 In this system data can be accessible to several databases in the network with
the help of generic connectivity (ODBC and JDBC).
Example: In the following diagram, different DBMS software are accessible to
each other using ODBC and JDBC.

Potrebbero piacerti anche