0% found this document useful (0 votes)
16 views

DBMS

Uploaded by

tabassumlaiba552
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

DBMS

Uploaded by

tabassumlaiba552
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

BS (English) Intro to Computing Applications

Database and Information system

By Ijaz Ahmad
Data is nothing but facts and statistics stored or free flowing over a
network, generally it's raw and unprocessed. For example: When you
visit any website, they might store you IP address, that is data, in
return they might add a cookie in your browser, marking you that you
visited the website, that is data, your name, it's data, your age, it's
data.

Data becomes information when it is processed, turning it into


something meaningful. Like, based on the cookie data saved on user's
browser, if a website can analyse that generally men of age 20-25 visit
us more, that is information, derived from the data collected.

A Database is a collection of related data organised in a way that data can be easily
accessed, managed and updated. Database can be software based or hardware based,
with one sole purpose, storing data.

During early computer days, data was collected and stored on tapes, which were mostly
write-only, which means once data is stored on it, it can never be read again. They were
slow and bulky, and soon computer scientists realised that they needed a better solution
to this problem.

Larry Ellison, the co-founder of Oracle was amongst the first few, who realised the
need for a software based Database Management System.

What is DBMS?

A DBMS is a software that allows creation, definition and manipulation of database,


allowing users to store, process and analyse data easily. DBMS provides us with an
interface or a tool, to perform various operations like creating database, storing data in
it, updating data, creating tables in the database and a lot more.
DBMS also provides protection and security to the databases. It also maintains data
consistency in case of multiple users.

Here are some examples of popular DBMS used these days:

 MySql

 Oracle

 SQL Server

 IBM DB2

 PostgreSQL

 Amazon SimpleDB (cloud based) etc.

Characteristics of Database Management System

A database management system has following characteristics:

1. Data stored into Tables: Data is never directly stored into the database. Data is stored
into tables, created inside the database. DBMS also allows to have relationships between
tables which makes the data more meaningful and connected. You can easily understand
what type of data is stored where by looking at all the tables created in a database.

2. Reduced Redundancy: In the modern world hard drives are very cheap, but earlier when
hard drives were too expensive, unnecessary repetition of data in database was a big
problem. But DBMS follows Normalisation which divides the data in such a way that
repetition is minimum.

3. Data Consistency: On Live data, i.e. data that is being continuosly updated and added,
maintaining the consistency of data can become a challenge. But DBMS handles it all by
itself.

4. Support Multiple user and Concurrent Access: DBMS allows multiple users to work on
it(update, insert, delete data) at the same time and still manages to maintain the data
consistency.

5. Query Language: DBMS provides users with a simple Query language, using which data
can be easily fetched, inserted, deleted and updated in a database.
6. Security: The DBMS also takes care of the security of data, protecting the data from un-
authorised access. In a typical DBMS, we can create user accounts with different access
permissions, using which we can easily secure our data by restricting user access.

7. DBMS supports transactions, which allows us to better handle and manage data
integrity in real world applications where multi-threading is extensively used.

Advantages of DBMS

 Segregation of applicaion program.

 Minimal data duplicacy or data redundancy.

 Easy retrieval of data using the Query Language.

 Reduced development time and maintainance need.

 With Cloud Datacenters, we now have Database Management Systems capable of


storing almost infinite data.

 Seamless integration into the application programming languages which makes it very
easier to add a database to almost any application or website.

Disadvantages of DBMS

 It's Complexity

 Except MySQL, which is open source, licensed DBMSs are generally costly.

 They are large in size.

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.

Understanding DBMS Architecture


A Database Management system is not always directly available for
users and applications to access and store data in it. A Database
Management system can be centralised(all the data stored at one
location), decentralised(multiple copies of database at different
locations) or hierarchical, depending upon its architecture.

1-tier DBMS architecture also exist, this is when the database is


directly available to the user for using it to store data. Generally such a
setup is used for local application development, where programmers
communicate directly with the database for quick response.

Database Architecture is logically of two types:

1. 2-tier DBMS architecture

2. 3-tier DBMS architecture


2-tier DBMS Architecture

2-tier DBMS architecture includes an Application layer between the


user and the DBMS, which is responsible to communicate the user's
request to the database management system and then send the
response from the DBMS to the user.

An application interface known as ODBC(Open Database Connectivity)


provides an API that allow client side program to call the DBMS. Most
DBMS vendors provide ODBC drivers for their DBMS.

Such an architecture provides the DBMS extra security as it is not


exposed to the End User directly. Also, security can be improved by
adding security and authentication checks in the Application layer too.

3-tier DBMS Architecture

3-tier DBMS architecture is the most commonly used architecture for


web applications.
It is an extension of the 2-tier architecture. In the 2-tier architecture,
we have an application layer which can be accessed programatically to
perform various operations on the DBMS. The application generally
understands the Database Access Language and processes end users
requests to the DBMS.

In 3-tier architecture, an additional Presentation or GUI Layer is added,


which provides a graphical user interface for the End user to interact
with the DBMS.

For the end user, the GUI layer is the Database System, and the end
user has no idea about the application layer and the DBMS system.

If you have used MySQL, then you must have seen PHPMyAdmin, it
is the best example of a 3-tier DBMS architecture.

A Database model defines the logical design and structure of a


database and defines how data will be stored, accessed and updated
in a database management system. While the Relational Model is the
most widely used database model, there are other models too:

 Hierarchical Model

 Network Model

 Entity-relationship Model

 Relational Model

Hierarchical Model

This database model organises data into a tree-like-structure, with a


single root, to which all the other data is linked. The heirarchy starts
from the Root data, and expands like a tree, adding child nodes to the
parent nodes.

In this model, a child node will only have a single parent node.

This model efficiently describes many real-world relationships like


index of a book, recipes etc.

In hierarchical model, data is organised into tree-like structure with


one one-to-many relationship between two different types of data, for
example, one department can have many courses, many professors
and of-course many students.
Network Model

This is an extension of the Hierarchical model. In this model data is


organised more like a graph, and are allowed to have more than one
parent node.

In this database model data is more related as more relationships are


established in this database model. Also, as the data is more related,
hence accessing the data is also easier and fast. This database model
was used to map many-to-many data relationships.

This was the most widely used database model, before Relational
Model was introduced.
Entity-relationship Model

In this database model, relationships are created by dividing object of


interest into entity and its characteristics into attributes.

Different entities are related using relationships.

E-R Models are defined to represent the relationships into pictorial


form to make it easier for different stakeholders to understand.

This model is good to design a database, which can then be turned


into tables in relational model(explained below).

Let's take an example, If we have to design a School Database,


then Student will be an entity with attributes name, age, address etc.
As Address is generally complex, it can be
another entity with attributes street name, pincode, city etc, and
there will be a relationship between them.
Relationships can also be of different types. To learn about E-R
Diagrams in details, click on the link.

Relational Model

In this model, data is organised in two-dimensional tables and the


relationship is maintained by storing a common field.

This model was introduced by E.F Codd in 1970, and since then it has
been the most widely used database model, infact, we can say the only
database model used around the world.

The basic structure of data in the relational model is tables. All the
information related to a particular type is stored in rows of that table.

Hence, tables are also known as relations in relational model.

In the coming tutorials we will learn how to design tables, normalize


them to reduce data redundancy and how to use Structured Query
language to access data from tables.

You might also like