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

UNIT 1 On Databases

The document summarizes the evolution of database systems from flat files to modern databases. It discusses the key features and advantages/disadvantages of flat file databases, hierarchical databases, network databases, relational databases, object-oriented databases, object-relational databases, and web-enabled databases. The document provides examples of implementations for each type of database system.

Uploaded by

warlaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

UNIT 1 On Databases

The document summarizes the evolution of database systems from flat files to modern databases. It discusses the key features and advantages/disadvantages of flat file databases, hierarchical databases, network databases, relational databases, object-oriented databases, object-relational databases, and web-enabled databases. The document provides examples of implementations for each type of database system.

Uploaded by

warlaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

UNIT 1

Introduction
Contents
• Introduction to databases – Database system evolution, File Systems,
Database approach, Fundamental Concepts, Components of database
systems, Roles in the database environment, DBMS functions and
components, Advantages and disadvantages of using databases,
• Database System Concepts and Architectures – Data Models, Schemas,
and Instances, DBMS Architecture and Data Independence, Database
Languages and Interfaces, The Database System Environment, Classification
of Database Management Systems, Database Applications
• Database Design: Database application life cycle, Overview of the design
process, Logical and physical database design, Design strategies and
methodologies
Database System Evolution
Flat files (1960s – 1980s)
• Flat file database is a database that stores information in a single file or table. In a text file, every line contains one record where fields
either have fixed length or they are separated by commas, whitespaces, tabs or any other character. In a flat file database, there is no
structural relationship among the records and they cannot contain multiple tables as well.
Advantages:
• Flat file database is best for small databases.
• It is easy to understand and implement. Fewer skills are required to handle a flat file database.
• Less hardware and software skills are required to maintain a flat file database.
Disadvantages:
• A flat file may contain fields which duplicate the data as there is no automation in flat files.
• If one record is to be deleted from the flat file database, then all the relevant information in different fields has to be deleted manually
making the data manipulation inefficient.
• Flat file database waste the computer space by requiring it to keep the information on items that are logically cannot be available.
• Information retrieving is very time consuming in a large database.
Implementation of a flat file database
Flat file database is implemented in: Berkeley DB, SQLite, Mimesis


Database System Evolution
Hierarchical database (1970s – 1990s)
• As the name indicates, hierarchical database contains data in a hierarchically-arranged manner. More perceptively it can be visualized as a
family tree where there is a parent and a child relationship. Each parent can have many children but one child can only have one parent i.e.;
one-to-many relationship. Its hierarchical structure contains levels or segments which are equivalent to the file system’s record type. All
attributes of a specific record are listed under the entity type.
• In hierarchical database, the entity type is the main table, rows of a table represent the records and columns represent the attributes.
Advantages:
• In a hierarchical database pace of accessing the information is speedy due to the predefined paths. This increases the performance of a
database.
• The relationships among different entities are easy to understand.
Disadvantages:
• Hierarchical database model lacks flexibility. If a new relationship is to be established between two entities then a new and possibly a
redundant database structure has to be build.
• Maintenance and of data is inefficient in a hierarchical model. Any change in the relationships may require manual reorganization of the
data.
• This model is also inefficient for non-hierarchical accesses.
Database System Evolution
Network database (1970s – 1990s)
The inventor of network model is Charles Bachmann. Unlike hierarchical database model, network database allows multiple parent and child
relationships i.e., it maintains many-to-many relationship. Network database is basically a graph structure. The network database model was
created to achieve three main objectives:
• To represent complex data relationships more effectively.
• To improve the performance of the database.
• To implement a database standard.
In a network database a relationship is referred to as a set. Each set comprises of two types of records, an owner record which is same as
parent type in hierarchical and a member record which is similar to the child type record in hierarchical database model.
Advantages:
• The network database model makes the data access quite easy and proficient as an application can access the owner record and all the
member records within a set.
• This model is conceptually easy to design.
• This model ensures data integrity because no member can exist without an owner. So the user must make an owner entry and then the
member records.
• The network model also ensures the data independence because the application works independently of the data.
Database System Evolution
Network database (1970s – 1990s)
Disadvantages:
• The model lacks structural independence which means that to bring any change in the database structure,
the application program must also be modified before accessing the data.
• A user friendly database management system cannot be established via network model.
Implementation of network database
• Network database is implemented in:
• Digital Equipment Corporation DBMS-10
• Digital Equipment Corporation DBMS-20
• RDM Embedded
• Turbo IMAGE
• Univac DMS-1100 etc.
Database System Evolution
Relational database (1980s – present)
• Relational database model was proposed by E.F. Codd. After the hierarchical and network model, the birth of
this model was huge step ahead. It allows the entities to be related through a common attribute. So in order
to relate two tables (entities), they simply need to have a common attribute. In the tables there are primary
keys and alternative keys. Primary keys form a relation with the alternative keys. This property makes this
model extremely flexible.
• Thus using relational database ample information can be stored using small tables. The accessing of data is
also very efficient. The user only has to enter a query, and the application provides the user with the asked
information.
• Relational databases are established using a computer language, Structured Query Language (SQL). This
language forms the basis of all the database applications available today, from Access to Oracle.
Advantages:
• Relational database supports mathematical set of operations like union, intersection, difference and
Cartesian product. It also supports select, project, relational join and division operations.
Database System Evolution
Relational database (1980s – present)
• Relational database uses normalization structure which helps to achieve data independence more easily.
• Security control can also be implemented more effectively by imposing an authorization control on the
sensitive attributes present in a table.
• Relational database uses a language which is easy and human readable.
Disadvantages:
• The response to a query becomes time-consuming and inefficient if the number of tables between which
the relationships are established increases.
Implementation of Relational Database:
• Oracle, Microsoft, IBM, My SQL, PostgreSQL, SQLite
Database System Evolution
Object-oriented database (1990s – present)
• Object oriented database management system is that database system in which the data or information is
presented in the form of objects, much like in object-oriented programming language.
• Furthermore, object oriented DBMS also facilitate the user by offering transaction support, language for
various queries, and indexing options. Also, these database systems have the ability to handle data
efficiently over multiple servers.
• Unlike relational database, object-oriented database works in the framework of real programming languages
like JAVA or C++.
Advantages:
• If there are complex (many-to-many) relationships between the entities, the object-oriented database
handles them much faster than any of the above discussed database models.
Database System Evolution
Object-oriented database (1990s – present)
• Navigation through the data is much easier.
• Objects do not require assembly or disassembly hence saving the coding and execution time.
Disadvantages:
• Lower efficiency level when data or relationships are simple.
• Data can be accessible via specific language using a particular API which is not the case in relational
databases.
Database System Evolution
Object-relational database (1990s – present)
• Defined in simple terms, an object relational database management system displays a modified object-
oriented user-display over the already implemented relational database management system.
• When various software interact with this modified-database management system, they will customarily
operate in a manner such that the data is assumed to be saved as objects.
• The basic working of this database management system is that it translates the useful data into organized
tables, distributed in rows and columns, and from then onwards, it manages data the same way as done in a
relational database system.
• Similarly, when the data is to be accessed by the user, it is again translated from processed to complex form.
Database System Evolution
Object-relational database (1990s – present)
Advantages:
• Data remains encapsulated in object-relational database.
• Concept of inheritance and polymorphism can also be implemented in this database.
Disadvantages:
• Object relational database is complex.
• Proponents of relational approach believe simplicity and purity of relational model are lost.
• It is costly as well.
Database System Evolution
Web enabled database (1990s – present):
• Web enabled database simply put a database with a web-based interface.
• This implies that there can be a separation of concerns; namely, the web designer does not need to know
the details about the DB’s underlying design. Similarly, the DB designer needs to concern himself with the
DB’s web interface.
• A web enabled database uses three layers to function: a presentation layer, a middle layer and the database
layer.
Advantages:
• A web-enabled database allows users to get the information they need from a central repository on
demand.
Database System Evolution
Web enabled database (1990s – present):
• The database is easy and simple to use.
• The data accessibility is easy via web-enabled database.
Disadvantages:
• Main disadvantage is that it can be hacked easily.
• Web enabled databases support the full range of DB operations, but in order to make them easy to use, they
must be “dumped down”.
File Systems
• A file-based data management system (also called a file system) is a type
of software that allows users to access and organize small groups of data.
• It is usually integrated into a computer’s operating system and is responsible
for storing and retrieving files from a storage medium, such as a hard disk or flash
drive.
• File systems are effectively a digitized version of paper-based filing systems for a
wider range of file types.
ADVANTAGES OF FILE-BASED SYSTEMS
• Advantages of file-based systems include:
• Easy to use
File Systems
• Inexpensive
• Faster performance
• Suitable for personal data management
DISADVANTAGES OF FILE-BASED SYSTEMS
• Disadvantages of file-based systems include:
• Limited capacity
• Limited functionality
• Less security
• Greater data inconsistency
• No backup or recovery capabilities
Database Approach
• A DBMS, on the other hand, is a much larger application that can manipulate large quantities of
data in complex ways. It usually has more advanced security features to protect the data it
contains and offers backup and recovery in the event of data loss, unlike a file system. A DBMS is
usually much more expensive and complicated to implement than a file system, however.
Prominent DBMS products include MySQL, IBM DB2, and Amazon RDS.
• The Database is a shared collection of logically related data, designed to meet
the information needs of an organization. A database is a computer based record keeping system
whose over all purpose is to record and maintain information. The database is a single, large
repository of data, which can be used simultaneously by many departments and users. Instead
of disconnected files with redundant data, all data items are integrated with a minimum amount
of duplication.
• A database implies separation of physical storage from use of the data by an application program
to achieve program/data independence. Using a database system, the user or programmer or
application specialist need not know the details of how the data are stored and such details are
“transparent to the user”.
Fundamental Concepts
Database Properties
A database has the following properties:
• It is a representation of some aspect of the real world or a collection of data
elements (facts) representing real-world information.
• A database is logical, coherent and internally consistent.
• A database is designed, built and populated with data for a specific purpose.
• Each data item is stored in a field.
• A combination of fields makes up a table. For example, each field in an employee
table contains data about an individual employee.
Fundamental Concepts
Building blocks of a Database

• The following three components form the building blocks of a database. They store the data that
we want to save in our database.
• Columns. Columns are similar to fields, that is, individual items of data that we wish to store. A
Student’ Roll Number, Name, Address etc. are all examples of columns. They are also similar to
the columns found in spreadsheets (the A, B, C etc. along the top).
• Rows. Rows are similar to records as they contain data of multiple columns (like the 1, 2, 3 etc. in
a spreadsheet). A row can be made up of as many or as few columns as you want. This makes
reading data much more efficient – you fetch what you want.
• Tables. A table is a logical group of columns. For example, you may have a table that stores details
of customers’ names and addresses. Another table would be used to store details of parts and yet
another would be used for supplier’s names and addresses.
Fundamental Concepts
Characteristics of database

The data in a database should have the following features:


• Organized/Related. It should be well organized and related.
• Shared. Data in a database are shared among different users and applications.
• Permanent or Persistence. Data in a database exist permanently in the sense the data can live
beyond the scope of the process that created it.
• Validity/integrity/Correctness. Data should be correct with respect to the real world entity that
they represent.
• Security. Data should be protected from unauthorized access.
Fundamental Concepts
Characteristics of database
• Consistency. Whenever more than one data element in a database represents related real world
values, the values should be consistent with respect to the relationship.
• Non-redundancy: No two data items in a database should represent the same real world entity.
• Independence. Data at different levels should be independent of each other so that the changes
in one level should not affect the other levels.
• Easily Accessible. It should be available when and where it is needed i.e. it should be easily
accessible.
• Recoverable. It should be recoverable in case of damage.
• Flexible to change. It should be flexible to change.
• To create, manage and manipulate data in databases, a management system known as database
management system was developed.
5 Components of Database Systems
5 Components of Database Systems1
Hardware
• Hardware refers to the physical, electronic devices such as computers and hard disks that offer
the interface between computers and real-world systems.
Software
• Software is a set of programs used to manage and control the database and includes the database
software, operating system, network software used to share the data with other users, and the
applications used to access the data.
Data
• Data are raw facts and information that need to be organized and processed to make it more
meaningful. Database dictionaries are used to centralize, document, control, and coordinate the
use of data within an organization. A database is a repository of information about a database
(also called metadata).
5 Components of Database Systems
Procedures
• Procedures refer to the instructions used in a database management system and
encompass everything from instructions to setup and install, login and logout,
manage the day-to-day operations, take backups of data, and generate reports.
Database Access Language
• Database Access Language is a language used to write commands to access,
update, and delete data stored in a database.
• Users can write commands using Database Access Language before submitting
them to the database for execution. Through utilizing the language, users can
create new databases, tables, insert data, and delete data.
Roles in the Database Environment
There are four distinct types of people that participate in the DBMS environment: data and database
administrators, database designers, application developers, and the end-users.
Data Administrator : ( DA )
• Responsible for management of data resources e,g planning, policies, standards, procedures,
conceptual/logical database design.
• The Data Administrator (DA) is responsible for defining data elements, data names and their relationship
with the database. They are also known as Data Analyst.
Database Administrator : ( DBA )
• A Database Administrator (DBA) is an IT professional who works on creating, maintaining, querying, and
tuning the database of the organization. They are also responsible for maintaining data security and
integrity.
• Responsible for physical realization of database e,g physical database design, performance, implementation,
security, integrity, maintenance, users/ groups, Installing and upgrading the DBMS Servers, Performance
Tuning, Backup & Recovery, documentation.
Roles in the Database Environment
Database Designer :
a. logical designer : identify data (entities & attributes), relationships between data, constraints on the data. The logical
database designer must have a thorough and complete understanding of the organization’s data and any constraints on this
data
b. physical designer : mapping the logical data models in to a set of tables & integrity constraints, select storage structure &
access methods, designing security measures.
Application Programmer :
• Once the database has been implemented, the application programs that provide the required functionality for the end-
users must be implemented. This is the responsibility of the application developers.
• They are the developers who interact with the database by means of DML queries. These DML queries are written in the
application programs like C, C++, JAVA, Pascal etc.
End Users :
a . Naive users : unaware of DBMS. These are the users who use the existing application to interact with the database. For
example, online library system, ticket booking systems, ATMs etc
b . Sophisticated users : familiar with the structure & facilities of DBMS.
DBMS Functions and Components
• Data Dictionary Management,
• Data Storage Management,
• Data Transformation and Presentation,
• Security Management,
• Multi user Access Control,
• Backup and Recovery Management,
• Data Integrity Management,
• Database Access Languages and Application Programming Interfaces and
• Database Communication interfaces.

• For explanations on this, follow the link; http://www.myreadingroom.co.in/notes-and-studymaterial/65-


dbms/465-functions-of-dbms.html
Advantages and Disadvantages of using DBMS
Advantages
• Reduced data redundancy
• Reduced updating errors and increased consistency
• Greater data integrity and independence from applications programs
• Improved data access to users through use of host and query languages
• Improved data security
• Reduced data entry, storage, and retrieval costs
• Facilitated development of new applications program
• Initial training required for all programmers and users
Advantages and Disadvantages of using DBMS
Disadvantages
• Database systems are complex, difficult, and time-consuming to
design
• Substantial hardware and software start-up costs
• Damage to database affects virtually all applications programs
• Extensive conversion costs in moving form a file-based system to a
database system
Data Models
• Data models define how the logical structure of a database is modeled. Data Models are fundamental
entities to introduce abstraction in a DBMS. Data models define how data is connected to each other and
how they are processed and stored inside the system.
• The very first data model could be flat data-models, where all the data used are to be kept in the same
plane. Earlier data models were not so scientific, hence they were prone to introduce lots of duplication and
update anomalies.
Entity-Relationship Model
• Entity-Relationship (ER) Model is based on the notion of real-world entities and relationships among them.
While formulating real-world scenario into the database model, the ER Model creates entity set, relationship
set, general attributes and constraints.
• ER Model is best used for the conceptual design of a database.
ER Model is based on −
• Entities and their attributes.
• Relationships among entities.
Data Models
Entity-Relationship Model
• Entity − An entity in an ER Model is a real-world entity having 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, 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 −
• one to one
• one to many
• many to one
• many to many
Data Models
Relational Model
• The most popular data model in DBMS is the Relational Model. It is more scientific a model than
others. This model is based on first-order predicate logic and defines a table as an n-ary relation.
Database Schema
• A database schema is the skeleton structure that represents the logical view of the entire
database. It defines how the data is organized and how the relations among them are associated.
It formulates all the constraints that are to be applied on the data.
• A database schema defines its entities and the relationship among them. It contains a descriptive
detail of the database, which can be depicted by means of schema diagrams. It’s the database
designers who design the schema to help programmers understand the database and make it
useful.
A database schema can be divided broadly into 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 how the data will be stored in a secondary storage.
• Logical Database Schema − This schema defines all the logical constraints that need to be applied
on the data stored. It defines tables, views, and integrity constraints.
Database Schema
Database Instance
• It is important that we distinguish these two terms individually.
• Database schema is the skeleton of database. It is designed when the
database doesn't exist at all. Once the database is operational, it is very
difficult to make any changes to it. A database schema does not contain
any data or information.
• A database instance is a state of operational database with data at any
given time.
• It contains a snapshot of the database. Database instances tend to change
with time.
• A DBMS ensures that its every instance (state) is in a valid state, by
diligently following all the validations, constraints, and conditions that the
database designers have imposed.
Database Architecture
• 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. An 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, the DBMS is the only entity where the user directly
sits on the DBMS and uses it. Any changes done here will directly be done
on the DBMS itself. It does not provide handy tools for end-users. Database
designers and programmers normally prefer to use single-tier architecture.
• If the architecture of DBMS is 2-tier, then it must have an application
through which the DBMS can be accessed. Programmers use 2-tier
architecture where they access the DBMS by means of an application. Here
the application tier is entirely independent of the database in terms of
operation, design, and programming.
Database 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.
Database Architecture
3-tier Architecture
• 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.
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.
Data Independence

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.
Data Independence
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.
Database Languages
We have 3 types;

• Data Definition Language (DDL)


• Data Manipulation Language (DML)
• Data Control Language (DCL)
Database Languages
Data Definition Language (DDL)
• It is a language that allows the users to define data and their relationship to other types of data. It
is mainly used to create files, databases, data dictionary and tables within databases.
• It is also used to specify the structure of each table, set of associated values with each attribute,
integrity constraints, security and authorization information for each table and physical storage
structure of each table on disk.
• The following table gives an overview about usage of DDL statements in SQL;
Database Languages
Data Manipulation Language (DML)
• It is a language that provides a set of operations to support the basic data manipulation
operations on the data held in the databases. It allows users to insert, update, delete and retrieve
data from the database. The part of DML that involves data retrieval is called a query language.
• The following table gives an overview about the usage of DML statements in SQL:
Database Languages
Data Control Language (DCL)
• DCL statements control access to data and the database using statements such as GRANT and REVOKE. A privilege
can either be granted to a User with the help of GRANT statement. The privileges assigned can be SELECT, ALTER,
DELETE, EXECUTE, INSERT, INDEX etc. In addition to granting of privileges, you can also revoke (taken back) it by
using REVOKE command.
• The following table gives an overview about the usage of DCL statements in SQL:

• In practice, the data definition and data manipulation languages are not two separate languages. Instead they
simply form parts of a single database language such as Structured Query Language (SQL). SQL represents
combination of DDL and DML, as well as statements for constraints specification and schema evaluation.
Database Interfaces
• A database management system (DBMS) interface is a user interface that allows
for the ability to input queries to a database without using the query language
itself.
• User-friendly interfaces provided by DBMS may include the following:

1. Menu-Based Interfaces for Web Clients or Browsing –


These interfaces present the user with lists of options (called menus) that lead the
user through the formation of a request. Basic advantage of using menus is that
they remove the tension of remembering specific commands and syntax of any
query language. The query is basically composed step by step by collecting or
picking options from a menu that is shown by the system. Pull-down menus are a
very popular technique in Web based interfaces. They are also often used
in browsing interface which allow a user to look through the contents of a database
in an exploratory and unstructured manner.
Database Interfaces
2. Forms-Based Interfaces –
A forms-based interface displays a form to each user. Users can fill out all of the
form entries to insert new data, or they can fill out only certain entries, in which
case the DBMS will redeem same type of data for other remaining entries. These
types of forms are usually designed or created and programmed for the users that
have no expertise in operating system. Many DBMSs have forms specification
languages which are special languages that help specify such forms.
Example: SQL* Forms is a form-based language that specifies queries using a form
designed in conjunction with the relational database schema.
3. Graphical User Interface –
A GUI typically displays a schema to the user in diagrammatic form.The user then
can specify a query by manipulating the diagram. In many cases, GUIs utilize both
menus and forms. Most GUIs use a pointing device such as mouse, to pick a certain
part of the displayed schema diagram.
Database Interfaces
4. Natural language Interfaces –
These interfaces accept request written in English or some other language and attempt to understand them. A
Natural language interface has its own schema, which is similar to the database conceptual schema as well as a
dictionary of important words. The natural language interface refers to the words in its schema as well as to
the set of standard words in a dictionary to interpret the request. If the interpretation is successful, the
interface generates a high-level query corresponding to the natural language and submits it to the DBMS for
processing, otherwise a dialogue is started with the user to clarify any provided condition or request. The main
disadvantage with this is that the capabilities of this type of interfaces are not that much advance.
5. Speech Input and Output –
There is limited use of speech be it for a query or an answer to a question or being a result of a request it is
becoming commonplace. Applications with limited vocabularies such as inquiries for telephone directory, flight
arrival/departure, and bank account information are allowed speech for input and output to enable ordinary
folks to access this information. The Speech input is detected using predefined words and used to set up the
parameters that are supplied to the queries. For output, a similar conversion from text or numbers into speech
takes place.
6. Interfaces for DBA –
Most database system contains privileged commands that can be used only by the DBA’s staff. These include
commands for creating accounts, setting system parameters, granting account authorization, changing a
schema, reorganizing the storage structures of a databases.
Database Environment
Classification of DBMS
DBMS is a collection of programs used for managing data and
simultaneously it supports different types of users to create, manage,
retrieve, update and store information.
Types of DBMS
The types of DBMS based on data model are as follows −
• Relational database.
• Object oriented database.
• Hierarchical database.
• Network database.
Classification of DBMS
Relational Database
• A relational database management system (RDBMS) is a system where data
is organized in two-dimensional tables using rows and columns.
• This is one of the most popular data models which is used in industries. It is
based on SQL.
• Every table in a database has a key field which uniquely identifies each
record.
• This type of system is the most widely used DBMS.
• Relational database management system software is available for personal
computers, workstation and large mainframe systems.
• For example − Oracle Database, MySQL, Microsoft SQL Server etc.
Classification of DBMS
Relational Database

• In the above student table Std ID, Name and city are called as attributes
and their values. Std ID is a primary key attribute which uniquely identifies
each record in the student table.
Classification of DBMS
Object Oriented Database
• It is a system where information or data is represented in the form of
objects which is used in object-oriented programming.
• It is a combination of relational database concepts and object-oriented
principles.
• Relational database concepts are concurrency control, transactions, etc.
• OOPs principles are data encapsulation, inheritance, and polymorphism.
• It requires less code and is easy to maintain.
• For example − Object DB software.
• The object oriented database is represented in diagram format below −
Classification of DBMS
Object Oriented Database
Classification of DBMS
Hierarchical Database
• It is a system where the data elements have a one to many
relationship (1: N). Here data is organized like a tree which is similar
to a folder structure in your computer system.
• The hierarchy starts from the root node, connecting all the child
nodes to the parent node.
• It is used in industry on mainframe platforms.
• For example− IMS(IBM), Windows registry (Microsoft).
• An example of a hierarchical database is given below −
Classification of DBMS
Hierarchical Database
Classification of DBMS
Network database
• A Network database management system is a system where the data
elements maintain one to one relationship (1: 1) or many to many
relationship (N: N).
• It also has a hierarchical structure, but the data is organized like a
graph and it is allowed to have more than one parent for one child
record.
• Example
• Teachers can teach in multiple departments. This is shown below −
Classification of DBMS
Network database
An Example of a Database Application
“Database application” can mean two things:

One: It can refer to software running a database system. MongoDB Server


or SQL Server are both software that provide the following:
• Efficiently store and retrieve data from a file system to a network client.
• Offer rich capabilities for querying and manipulating data from a variety
of drivers.
• Secure and authorize the access to the stored data
• Scale
• Provide fault tolerance and recovery (including backups) for our data
An Example of a Database Application
Two: It can refer to applications that are heavily coupled to a specific
database and built to provide elements of that database to the end
user. Some examples of such applications include:
• Online encyclopedias (Wikipedia)
• Social media websites (Facebook)
• CRM systems (Salesforce)
• Email systems (Gmail)
• E-commerce websites (Amazon)
Database Application Life Cycle
Database Application Life Cycle
1. Data Requirements Analysis
• The database development process begins with a general analysis of
the organization’s business functions, the scope, user groups involved
in it, required data, and examples of reports or existing documents.
• For this reason, it is necessary to collect facts whose sources include
interviews, observations, the examination of various documents, such
as forms, reports, and other related archives. You can obtain points
from multiple users through a questionnaire. By collecting relevant
facts, you can specify users’ data requirements wholly and accurately.
Database Application Life Cycle
2. Database Design
• Based on the results of the data requirements analysis, carry out the design process. There are two database
design approaches, namely:
• The top-down design uses an entity-relationship (ER) model. The design begins with identifying entities,
followed by relationships between entities and cardinality or multiplicity. Each entity consists of attributes,
primary keys, and foreign keys (if any).
• The bottom-up design uses the process of normalization. Design starts with identifying attributes, then
grouping them into data sets to form relations.
• The two approaches are complementary. The design process begins with conceptual data modeling and
continues to the logical database design and physical database design stages. The ER model is used in the
conceptual data modeling stage. In the early ER model, normalization was carried out on entities
or relationships with multiple data attributes. The normalization results are used to modify the initial ER
model to obtain a better final ER model. In the logical database design stage, normalization is carried out on
the mapping result relations of ER modeling, which has multiple data.
• The two approaches are complementary. The design process begins with conceptual data modeling and
continues to the logical database design and physical database design stages. The conceptual data modeling
uses the ER model. In the early ER model, carry out normalization on entities or relationships that have data
redundancies. Use the normalization results to obtain a better final ER model.
Database Application Life Cycle
2. Database Design
Conceptual Data Modeling
• Conceptual data modeling is free from implementation, hardware, software, operating systems, DBMS, application programs,
programming languages, etc. Later, it can be implemented on any platform. Conceptual data modeling using the entity-relationship
(ER) model must represent existing business functions in the organization and describe the users’ data requirements entirely and
accurately.
Logical Database Design
• Based on the conceptual data model and mapping rules, every entity and relationship with attributes are converted into relations.
Relationships that have attribute groups with data redundancies result in anomalies when adding, updating, or deleting data. Such
tables need to be normalized, at least up to 3NF (third normal form).
• Each relation attribute is determined by its data type and domain, including whether the data must be unique or not. The result is
a specification for each relation.
Physical Database Design
• Physical database design requires knowledge of the specific DBMS that will be used to implement the database. In the design and
definition of physical databases, records organization, file organization, and use of indexes are determined. The goal is to design a
data store that provides adequate performance and ensures proper database integrity, security, and recovery. For example, a
dominant process with high frequency, high volume, or explicit priority can be improved by denormalization. Thus, physical
database design is carried out in coordination with other aspects: programs, computer hardware, operating systems, and data
communication networks.
Database Application Life Cycle
3. Database Implementation
• If the DBMS is not already installed, installation must be performed. The DBMS can be installed on a new server or an
existing server. Another option is to use a cloud database service such as Microsoft’s Azure SQL Database Service, Amazon
Relational Database Service (Amazon RDS), or Google’s Cloud SQL. This new generation of services allows users to create
databases that can be easily managed, tested, and upgraded as needed.
• After installing the DBMS, the next step is to create a database using the standard database language, Structured Query
Language (SQL), in the selected DBMS. SQL was first standardized in 1986 and updated in 1989, 1992 (SQL-92), 1999 (SQL:
1999), 2003 (SQL: 2003), 2006 (SQL: 2006), 2008 (SQL: 2008), 2011 ( SQL: 2011), 2016 (SQL: 2016), and 2019 (SQL: 2019).
• Many DBMS have provided a diagram feature for database creation without having to type SQL statements, for example,
Microsoft SQL Server, Microsoft Access, Oracle, and others. Another option is using the tool, for instance, Erwin (Entity
Relationship for Windows), Embarcadero ER /Studio, SQL Power Architect, and others.
• Next, the data must be loaded into database tables. Usually, data has to be imported from the previous system. When all
data is in the same relational database format, data transfer to the new database can be done quickly. In some cases, data
may have to be imported from other relational databases, non-relational databases, text files, spreadsheets, etc. If the
data format does not support direct importing, a conversion program may have to be created to reformat the imported
data. In the worst case, most of the data may have to be entered manually into the database. Furthermore, administrators
and application developers test and evaluate the database.
Database Application Life Cycle
4. Database Maintenance
• When the database comes into operation, monitoring is carried out to see if performance requirements are
being met; whether user expectations increase with demands for better performance. If not, modifications
must be made to improve performance.
Database administrators perform routine database maintenance. According to Coronel and Morris (2019),
some of the regular maintenance activities required include:
• Preventive maintenance (backup)
• Corrective maintenance (restoration)
• Adaptive maintenance (improves performance, adds entities and attributes, and so on)
• Assignment of access permissions and their maintenance for new and old users
• Database access statistics to improve efficiency and usability of system audits and to monitor system
performance.
• Periodic security audits based on system-generated statistics
• Summarize usage of the monthly, quarterly, or yearly system for internal billing or budgeting purposes.

You might also like