Chapter 3 Database Systems
Chapter 3 Database Systems
History of DBMS
Before-1950s
Data was stored as paper records.
Lot of man power involved.
Lot of time was wasted.
o e.g. when searching
Therefore inefficient.
1950s and early 1960s
Data processing using magnetic tapes for storage
Tapes provide only sequential access. Sequential access is the reading or writing of data
Punched cards for input
Late 1960s and 1970s
Hard disks allow direct access to data
Data stored in files
Known as File Processing System
Characteristics of DBMS
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.
Types of DBMS
1960’s
o Hierarchical
o Network
1970’s
o Relational
1990’s
o Object-oriented
o Object-relational
1995+
o XML
o IMDB
o Java
o CMDB Mobile
o Embedded
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.
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 user’s 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.
Users
Application programmers
- Develop the application programs
- Can manipulate the database in all possible ways.
End users
- Access the database from a terminal using a query language provided by the database
system.
Database administrator
- Is responsible for the design, construction, and maintenance of a database.
Software
- Controls the organization, storage, management, and retrieval of data in a database.
- It includes operating system, network software, and the application programs which
encompasses the physical interconnections and devices required to store and execute
(or run) the software.
- Software consists of a machine language specific to an individual processor.
- It is usually written in high-level programming language more efficient for humans to
use.
Hardware
- Hardware of a system can range from a PC to a network of computers.
- It also includes various storage devices like hard discs and input and output devices
like monitor, printer, etc.
Data
- Data stored in a database includes numerical data such as whole numbers and floating
point numbers and non-numerical data such as characters, date, or logical data.
User Interface
- The user interface is the the aggregate of means by which the people –the user
interacts with the system a particular machine, device, computer program or other
complex tools.
- The user interface provides the means of:
- Input, allowing the users to manipulate the system.
- Output, allowing the system to produce the effects of the user’s
manipulation.
- It refers to the graphical, textual and auditory information the program presents to the
user and the control sequences the user employs to the program.
Data Manager
- It is a program which allows you to process and manipulate your data in an easy and
logical manner using a graphical interface.
- It allows you to construct a conceptual design on how you are going to process your
data and transform it into another form.
- You form your design by adding functional nodes and linking them such that the links
form the data flow through nodes on a graphical work area.
- Each node performs a single function on your data, once it completes it passes your
data to the node it is linked to and the process continues until the data encounters an
output node.
- You can form a simple design or a complicated design with hundreds of nodes and
multiple input and output nodes.
File Manager
- A file manager or file browser is a computer program that provides a user interface to
work with file systems.
- They are very useful for speeding up interaction with files
- The most common operations on files are create, open, edit, view, print, play, rename,
move, copy, delete, attributes, properties, search/find, and permissions.
- File managers may contain features inspired by web browsers, including forward and
back navigational buttons.
- File managers also provide the ability to extend operations using user written scripts.
- It passes request to disk manager.
Disk Manager
- Disk manager is a simple file system configurator that allows you to:
- Automatically detect new partitions at startup.
- Fully manage configuration of filesystem.
- Disk Manager logs every change you make to the filesystem configuration
- Explains hardware concepts
- Documenting switches of many of the existing disks
- Putting into place custom software drivers, notably those related to maximum disk or
partition size
- providing testing and informational utilities