Unit - 1 PDF
Unit - 1 PDF
Unit - 1 PDF
UNIT-1
Database
The database is a collection of inter-related data which is used to retrieve, insert and delete the data efficiently. It
is also used to organize the data in the form of a table, schema, views, and reports, etc.
For example: The college Database organizes the data about the admin, staff, students and faculty etc.
Using the database, you can easily retrieve, insert, and delete the information.
o Data Definition: It is used for creation, modification, and removal of definition that defines the
organization of data in the database.
o Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database.
o Data Retrieval: It is used to retrieve the data from the database which can be used by applications for
various purposes.
o User Administration: It is used for registering and monitoring users, maintain data integrity, enforcing
data security, dealing with concurrency control, monitoring performance and recovering information
corrupted by unexpected failure.
Characteristics of DBMS
o It uses a digital repository established on a server to store and manage the information.
o It can provide a clear and logical view of the process that manipulates data.
o DBMS contains automatic backup and recovery procedures.
o It contains ACID properties which maintain data in a healthy state in case of failure.
o It can reduce the complex relationship between data.
o It is used to support manipulation and processing of data.
o It is used to provide security of data.
o It can view the database from different viewpoints according to the requirements of the user.
Advantages of DBMS
o Controls database redundancy: It can control data redundancy because it stores all the data in one
single database file and that recorded data is placed in the database.
o Data sharing: In DBMS, the authorized users of an organization can share the data among multiple
users.
o Easily Maintenance: It can be easily maintainable due to the centralized nature of the database system.
o Reduce time: It reduces development time and maintenance need.
o Backup: It provides backup and recovery subsystems which create automatic backup of data
from hardware and software failures and restores the data if required.
o multiple user interface: It provides different types of user interfaces like graphical user interfaces,
application program interfaces
Disadvantages of DBMS
o Cost of Hardware and Software: It requires a high speed of data processor and large memory size to
run DBMS software.
o Size: It occupies a large space of disks and large memory to run them efficiently.
o Complexity: Database system creates additional complexity and requirements.
o Higher impact of failure: Failure is highly impacted the database because in most of the organization,
all the data stored in a single database and if the database is damaged due to electric failure or database
corruption then the data may be lost forever.
What is Data?
Data is a collection of a distinct small unit of information. It can be used in a variety of forms like text, numbers,
media, bytes, etc. it can be stored in pieces of paper or electronic memory, etc.
Word 'Data' is originated from the word 'datum' that means 'single piece of information.' It is plural of the word
datum.
In computing, Data is information that can be translated into a form for efficient movement and processing. Data is
interchangeable.
What is Database?
A database is an organized collection of data, so that it can be easily accessed and managed.
You can organize data into tables, rows, columns, and index it to make it easier to find relevant information.
Database handlers create a database in such a way that only one set of software program provides access of
data to all the users.
The main purpose of the database is to operate a large amount of information by storing, retrieving, and
managing data.
There are many dynamic websites on the World Wide Web nowadays which are handled through databases. For
example, a model that checks the availability of rooms in a hotel. It is an example of a dynamic website that uses a
database.
There are many databases available like MySQL, Sybase, Oracle, MongoDB, Informix, PostgreSQL, SQL Server,
etc.
SQL or Structured Query Language is used to operate on the data stored in a database. SQL depends on relational
algebra and tuple relational calculus.
Evolution of Databases
The database has completed more than 50 years of journey of its evolution from flat-file system to relational and
objects relational systems. It has gone through several generations.
The Evolution
File-Based
1968 was the year when File-Based database were introduced. In file-based databases, data was maintained in a
flat file. Though files have many advantages, there are several limitations.
One of the major advantages is that the file system has various access methods, e.g., sequential, indexed, and
random.
1968-1980 was the era of the Hierarchical Database. Prominent hierarchical database model was IBM's first DBMS.
It was called IMS (Information Management System).In this model, files are related in a parent/child
manner.Below diagram represents Hierarchical Data Model. Small circle represents objects.
Like file system, this model also had some limitations like complex implementation, lack structural independence,
can't easily handle a many-many relationship, etc.
In this model, files are related as owners and members, like to the common network model.
This model also had some limitations like system complexity and difficult to design and maintain.
Relational Database
1970 - Present: It is the era of Relational Database and Database Management. In 1970, the relational model
was proposed by E.F. Codd.
Relational database model has two main terminologies called instance and schema.
Schema specifies the structure like name of the relation, type of each column and name.
This model uses some mathematical concept like set theory and predicate logic.
During the era of the relational database, many more models had introduced like object-oriented model, object-
relational model, etc.
Cloud database
Cloud database facilitates you to store, manage, and retrieve their structured, unstructured data via a cloud
platform. This data is accessible over the Internet. Cloud databases are also called a database as service (DBaaS)
because they are offered as a managed service.
Lower costs
Generally, company provider does not have to invest in databases. It can maintain and support one or more data
centers.
Automated
Cloud databases are enriched with a variety of automated processes such as recovery, failover, and auto-scaling.
Increased accessibility
You can access your cloud-based database from any location, anytime. All you need is just an internet connection.
NoSQL Database
A NoSQL database is an approach to design such databases that can accommodate a wide variety of data models.
NoSQL stands for "not only SQL." It is an alternative to traditional relational databases in which data is placed in
tables, and data schema is perfectly designed before the database is built.
Advantage of NoSQL
High Scalability
NoSQL can handle an extensive amount of data because of scalability. If the data grows, NoSQL database scale it
to handle that data in an efficient manner.
High Availability
NoSQL supports auto replication. Auto replication makes it highly available because, in case of any failure, data
replicates itself to the previous consistent state.
Disadvantage of NoSQL
Open source
Management challenge
Data management in NoSQL is much more complicated than relational databases. It is very challenging to install
and even more hectic to manage daily.
GUI is not available
GUI tools for NoSQL database are not easily available in the market.
Backup
Backup is a great weak point for NoSQL databases. Some databases, like MongoDB, have no powerful approaches
for data backup.
o Objects
o Classes
o Inheritance
o Polymorphism
o Encapsulation
o Atomicity
o Consistency
o Integrity
o Durability
o Concurrency
o Query processing
Graph Databases
A graph database is a NoSQL database. It is a graphical representation of data. It contains nodes and edges. A
node represents an entity, and each edge represents a relationship between two edges. Every node in a graph
database represents a unique identifier.
Graph databases are beneficial for searching the relationship between data because they highlight the relationship
between relevant data.
Graph databases are very useful when the database contains a complex relationship and dynamic schema.
o DBMS provides the interface to perform the various operations like creation, deletion, modification, etc.
o DBMS allows the user to create their databases as per their requirement.
o DBMS accepts the request from the application and provides specific data through the operating system.
o DBMS contains the group of programs which acts according to the user instruction.
o It provides security to the database.
Advantage of DBMS
Controls redundancy
It stores all the data in a single database file, so it can control data redundancy.
Data sharing
Backup
It providesBackup and recovery subsystem. This recovery system creates automatic data from system failure and
restores data if required.
Disadvantage of DBMS
Size
Cost
DBMS requires a high-speed data processor and larger memory to run DBMS software, so it is costly.
Complexity
o Table
o Record/ Tuple
o Field/Column name /Attribute
o Instance
o Schema
o Keys
An RDBMS is a tabular DBMS that maintains the security, integrity, accuracy, and consistency of the data.
Types of Database
There are various types of databases used for storing different varieties of data:
1) Centralized Database: It is the type of database that stores data at a centralized database system. It
comforts the users to access the stored data from different locations through several applications. These
applications contain the authentication process to let users access data securely. An example of a Centralized
database can be Central Library that carries a central database of each library in a college/university.
2) Distributed Database: Unlike a centralized database system, in distributed systems, data is distributed among
different database systems of an organization. These database systems are connected via communication links.
Such links help the end-users to access the data easily. Examples of the Distributed database are Apache
Cassandra, HBase, Ignite, etc.
o Homogeneous DDB: Those database systems which execute on the same operating system and use the
same application process and carry the same hardware devices.
o Heterogeneous DDB: Those database systems which execute on different operating systems under
different application procedures, and carries different hardware devices.
3) Relational Database: This database is based on the relational data model, which stores data in the form of
rows(tuple) and columns(attributes), and together forms a table(relation). A relational database uses SQL for
storing, manipulating, as well as maintaining the data. E.F. Codd invented the database in 1970. Each table in the
database carries a key that makes the data unique from others. Examples of Relational databases are MySQL,
Microsoft SQL Server, Oracle, etc.
A means Atomicity: This ensures the data operation will complete either with success or with failure. It follows
the 'all or nothing' strategy. For example, a transaction will either be committed or will abort.
C means Consistency: If we perform any operation over the data, its value before and after the operation should
be preserved. For example, the account balance before and after the transaction should be correct, i.e., it should
remain conserved.
I means Isolation: There can be concurrent users for accessing data at the same time from the database. Thus,
isolation between the data should remain isolated. For example, when multiple transactions occur at the same
time, one transaction effects should not be visible to the other transactions in the database.
D means Durability: It ensures that once it completes the operation and commits the data, data changes should
remain permanent.
4) NoSQL Database: Non-SQL/Not Only SQL is a type of database that is used for storing a wide range of data
sets. It is not a relational database as it stores data not only in tabular form but in several different ways. It came
into existence when the demand for building modern applications increased. Thus, NoSQL presented a wide variety
of database technologies in response to the demands. We can further divide a NoSQL database into the following
four types:
a. Key-value storage: It is the simplest type of database storage where it stores every single item as a key
(or attribute name) holding its value, together.
b. Document-oriented Database: A type of database used to store data as JSON-like document. It helps
developers in storing data by using the same document-model format as used in the application code.
c. Graph Databases: It is used for storing vast amounts of data in a graph-like structure. Most commonly,
social networking websites use the graph database.
d. Wide-column stores: It is similar to the data represented in relational databases. Here, data is stored in
large columns together, instead of storing in rows.
5) Cloud Database: A type of database where data is stored in a virtual environment and executes over the cloud
computing platform. It provides users with various cloud computing services (SaaS, PaaS, IaaS, etc.) for accessing
the database. There are numerous cloud platforms, but the best options are:
6) Object-oriented Databases: The type of database that uses the object-based data model approach for storing
data in the database system. The data is represented and stored as objects which are similar to the objects used in
the object-oriented programming language.
7) Hierarchical Databases: It is the type of database that stores data in the form of parent-children relationship
nodes. Here, it organizes data in a tree-like structure.
Data get stored in the form of records that are connected via links. Each child record in the tree will contain only
one parent. On the other hand, each parent record can have multiple child records.
8) Network Databases: It is the database that typically follows the network data model. Here, the representation
of data is in the form of nodes connected via links between them. Unlike the hierarchical database, it allows each
record to have multiple children and parent nodes to form a generalized graph structure.
9) Personal Database: Collecting and storing data on the user's system defines a Personal Database. This
database is basically designed for a single user.
10) Operational Database: The type of database which creates and updates the database in real-time. It is
basically designed for executing and handling the daily data operations in several businesses. For example, An
organization uses operational databases for managing per day transactions.
11) Enterprise Database: Large organizations or enterprises use this database for managing a massive amount
of data. It helps organizations to increase and improve their efficiency. Such a database allows simultaneous
access to users.
What is RDBMS
RDBMS stands for Relational Database Management Systems..
All modern database management systems like SQL, MS SQL Server, IBM DB2, ORACLE, My-SQL and Microsoft
Access are based on RDBMS.
It is called Relational Data Base Management System (RDBMS) because it is based on relational model introduced
by E.F. Codd.
How it works
Data is represented in terms of tuples (rows) in RDBMS.
Relational database is most commonly used database. It contains number of tables and each table has its own
primary key.
Due to a collection of organized set of tables, data can be accessed easily in RDBMS.
1 Ajeet 24 B.Tech
2 Aryan 20 C.A
3 Mahesh 21 BCA
4 Ratan 22 MCA
5 Vimal 26 BSC
1 Ajeet 24 B.Tech
What is column
A column is a vertical entity in the table which contains all information associated with a specific field in a table. For
example: "name" is a column in the above table which contains all information about student's name.
Ajeet
Aryan
Mahesh
Ratan
NULL Values
The NULL value of the table specifies that the field has been left blank during record creation. It is totally different
from the value filled with zero or a field that contains space.
Data Integrity
There are the following categories of data integrity exist with each RDBMS:
Domain integrity: It enforces valid entries for a given column by restricting the type, the format, or the range of
values.
Referential integrity: It specifies that rows cannot be deleted, which are used by other records.
User-defined integrity: It enforces some specific business rules that are defined by users. These rules are
different from entity, domain or referential integrity.
The main differences between DBMS and RDBMS are given below:
1) DBMS applications store data as file. RDBMS applications store data in a tabular form.
2) In DBMS, data is generally stored in In RDBMS, the tables have an identifier called primary key
either a hierarchical form or a and the data values are stored in the form of tables.
navigational form.
4) DBMS does not apply any RDBMS defines the integrity constraint for the purpose
security with regards to data of ACID (Atomocity, Consistency, Isolation and Durability)
manipulation. property.
5) DBMS uses file system to store data, so in RDBMS, data values are stored in the form of tables, so
there will be no relation between the a relationship between these data values will be stored in
tables. the form of a table as well.
6) DBMS has to provide some uniform RDBMS system supports a tabular structure of the data and
methods to access the stored a relationship between them to access the stored
information. information.
7) DBMS does not support distributed RDBMS supports distributed database.
database.
8) DBMS is meant to be for small RDBMS is designed to handle large amount of data. it
organization and deal with small data. supports multiple users.
it supports single user.
9) Examples of DBMS are file Example of RDBMS are mysql, postgre, sql
systems, xml etc. server, oracle etc.
After observing the differences between DBMS and RDBMS, you can say that RDBMS is an extension of DBMS.
There are many software products in the market today who are compatible for both DBMS and RDBMS. Means
today a RDBMS application is DBMS application and vice-versa.
DBMS is a collection of data. In DBMS, the File system is a collection of data. In this system, the user has to
user is not required to write the procedures. write the procedures for managing the database.
DBMS gives an abstract view of data that hides File system provides the detail of the data representation and
the details. storage of data.
DBMS provides a crash recovery mechanism, File system doesn't have a crash mechanism, i.e., if the system
i.e., DBMS protects the user from the system crashes while entering some data, then the content of the file will
failure. lost.
DBMS provides a good protection mechanism. It is very difficult to protect a file under the file system.
DBMS contains a wide variety of sophisticated File system can't efficiently store and retrieve the data.
techniques to store and retrieve the data.
DBMS takes care of Concurrent access of data In the File system, concurrent access has many problems like
using some form of locking. redirecting the file while other deleting some information or
updating some information.
DBMS Architecture
o The DBMS design depends upon its architecture. The basic client/server architecture is used to deal with a
large number of PCs, web servers, database servers and other components that are connected with
networks.
o The client/server architecture consists of many PCs and a workstation which are connected via the
network.
o DBMS architecture depends upon how users are connected to the database to get their request done.
Types of DBMS Architecture
Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of two types
like: 2-tier architecture and 3-tier architecture.
1-Tier Architecture
o In this architecture, the database is directly available to the user. It means the user can directly sit on the
DBMS and uses it.
o Any changes done here will directly be done on the database itself. It doesn't provide a handy tool for end
users.
o The 1-Tier architecture is used for development of the local application, where programmers can directly
communicate with the database for the quick response.
2-Tier Architecture
o The 2-Tier architecture is same as basic client-server. In the two-tier architecture, applications on the
client end can directly communicate with the database at the server side. For this interaction, API's
like: ODBC, JDBC are used.
o The user interfaces and application programs are run on the client-side.
o The server side is responsible to provide the functionalities like: query processing and transaction
management.
o To communicate with the DBMS, client-side application establishes a connection with the server side.
Fig: 2-tier Architecture
3-Tier Architecture
o The 3-Tier architecture contains another layer between the client and server. In this architecture, client
can't directly communicate with the server.
o The application on the client-end interacts with an application server which further communicates with the
database system.
o End user has no idea about the existence of the database beyond the application server. The database
also has no idea about any other user beyond the application.
o The 3-Tier architecture is used in case of large web application.
1. Internal Level
o The internal level has an internal schema which describes the physical storage structure of the database.
o The internal schema is also known as a physical schema.
o It uses the physical data model. It is used to define that how the data will be stored in a block.
o The physical level is used to describe complex low-level data structures in detail.
2. Conceptual Level
o The conceptual schema describes the design of a database at the conceptual level. Conceptual level is also
known as logical level.
o The conceptual schema describes the structure of the whole database.
o The conceptual level describes what data are to be stored in the database and also describes what
relationship exists among those data.
o In the conceptual level, internal details such as an implementation of the data structure are hidden.
o Programmers and database administrators work at this level.
3. External Level
o At the external level, a database contains several schemas that sometimes called as subschema. The
subschema is used to describe the different view of the database.
o An external schema is also known as view schema.
o Each view schema describes the database part that a particular user group is interested and hides the
remaining database from that user group.
o The view schema describes the end user interaction with database systems.
Data Models
Data Model is the modeling of the data description, data semantics, and consistency constraints of the data. It
provides the conceptual tools for describing the design of a database at each level of data abstraction. Therefore,
there are following four data models used for understanding the structure of the database:
1) Relational Data Model: This type of model designs the data in the form of rows and columns within a table.
Thus, a relational model uses tables for representing data and in-between relationships. Tables are also called
relations. This model was initially described by Edgar F. Codd, in 1969. The relational data model is the widely used
model which is primarily used by commercial data processing applications.
2) Entity-Relationship Data Model: An ER model is the logical representation of data as objects and
relationships among them. These objects are known as entities, and relationship is an association among these
entities. This model was designed by Peter Chen and published in 1976 papers. It was widely used in database
designing. A set of attributes describe the entities. For example, student_name, student_id describes the 'student'
entity. A set of the same type of entities is known as an 'Entity set', and the set of the same type of relationships is
known as 'relationship set'.
3) Object-based Data Model: An extension of the ER model with notions of functions, encapsulation, and object
identity, as well. This model supports a rich type system that includes structured and collection types. Thus, in
1980s, various database systems following the object-oriented approach were developed. Here, the objects are
nothing but the data carrying its properties.
4) Semistructured Data Model: This type of data model is different from the other three data models (explained
above). The semistructured data model allows the data specifications at places where the individual data items of
the same type may have different attributes sets. The Extensible Markup Language, also known as XML, is widely
used for representing the semistructured data. Although XML was initially designed for including the markup
information to the text document, it gains importance because of its application in the exchange of data.
A schema diagram can display only some aspects of a schema like the name of record type, data type, and
constraints. Other aspects can't be specified through the schema diagram. For example, the given figure neither
show the data type of each data item nor the relationship among various files.
In the database, actual data changes quite frequently. For example, in the given figure, the database changes
whenever we add a new grade or add a student. The data at a particular moment of time is called the instance of
the database.
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.
Database Language
o A DBMS has appropriate languages and interfaces to express database queries and updates.
o Database languages can be used to read, store and update the data in the database.
Types of Database Language
o DDL stands for Data Definition Language. It is used to define database structure or pattern.
o It is used to create schema, tables, indexes, constraints, etc. in the database.
o Using the DDL statements, you can create the skeleton of the database.
o Data definition language is used to store the information of metadata like the number of tables and
schemas, their names, indexes, columns in each table, constraints, etc.
These commands are used to update the database schema that's why they come under Data definition language.
DML stands for Data Manipulation Language. It is used for accessing and manipulating data in a database. It
handles user requests.
(But in Oracle database, the execution of data control language does not have the feature of rolling back.)
There are the following operations which have the authorization of Revoke: