Jntuh Database Management System Notes
Jntuh Database Management System Notes
me/jntuh
UNIT 1
UNIT - I Database System Applications: A Historical Perspective, File Systems versus a DBMS, the Data Model, Levels of
Abstraction in a DBMS, Data Independence, Structure of a DBMS Introduction to Database Design: Database Design and
ER Diagrams, Entities, Attributes, and Entity Sets, Relationships and Relationship Sets, Additional Features of the ER
Model, Conceptual Design With the ER Model
- History of database
The database system has a long history over the period the technology for database storage and access method
has been changed.
1. During 1950’s, during this period, magnetic tapes are used as storage media. Data will be stored and
processed on the magnetic tapes by using sequential access. Therefore, processing speed is less during
1960’s to 1970’s.
2. During this period, the usage of hard disk has changed the scenario of data storage and data processing.
The hard disk will provide direct access of the data. Therefore, process will become faster.
3. During 1970’s, E.F. Codd introduced the relational model and therefore many relational DB has been
started.
4. During 1980’s, during this period, many relational DB such as oracle, SQL server, IBM DML has been
introduced in the market and many researchers start working on disturbed databases during 1990’s many
database vendors provided many distributed databases into market and the usage of SQL has provided a
convenient environment for the user to work with database system.
- View of Data
Database is a collection of large volumes of data the user does not always require the entire data from the
database. Therefore, it is the responsibility of the database to provide the required data to the user.
- Data abstraction
Data abstraction refers to the way of representing the essential features and hiding background details or
complexities from the user.
- Levels of abstraction
External View View View View
3. View Level
a. It is also known as external level.
b. It describes the part of entire database in the form of different views by different users.
- Instance
A database instance is a set of memory structure and background processes that access a set of database
files. The process can be shared by all users. The memory structure that are used to store most queried data
from database. This helps up to improve database performance by decreasing the amount of I/O performed
against data file.
- Schema/Scheme
The overall design of the database is known as the database schema. According to the levels of data
abstractions, there are 3 types of schemas available.
1. Physical Scheme 2. Logical Scheme 3. Sub Scheme
- Data independence
It is defined as the ability to modify data at one level without effecting at the next level. Data independence is
of 2 types
1. Physical data independence 2. Logical data independence
1. Physical Data Independence:
The ability to modify the physical structure at the physical level without effecting the next level (Logical
level) is known as Physical Data Independence.
2. Logical Data Independence:
The ability to modify the data at the logical level without effecting the next level (View level/External level)
is known as Logical Data Independence.
Note: Logical Data Independence is more difficult to implement than Physical Data Independence.
- Data Models
Data model is the way to represent the data within the database. Data model is a collection of conceptual tools
for describing:
1. For describing data
2. The relationship among data
3. Data semantic
4. The consistency constraints
Different data models are available. The classification of data model is shown below
Data
Model
Object based Record based Physical
data model Data Model data
E-R Model Hierarchical model
Network
Relational Unifying
Data model is mainly classified into 3 categories: Frame
Memory
1. Object based data model 2. Record based data model 3. Physical data model
1. Object based data model:
The object-based data model deals with the real-world object and relation among the objects. One of the
popular models to represent object-based model in E-R model.
E-R Model (Entity-Relationship):
The overall design of the database is represented graphically using entity-relationship diagram. The E-R
model shows entities, relations among entities in a diagrammatic fashion.
Ex: Entity: Student Entity: Class
Location
b. Network Model:
In this model, data and relation among data is represented using records and pointers. This model is
generally represented in graph like structure.
c. Relational Model:
i. It is the most popular data model used nowadays.
ii. It was developed in year 1970 by EF Codd.
iii. The main constraint is to represent the relational model is in the form of relation (Table).
iv. A relation is a combination of rows and columns.
v. Each relation represents a relational schema and relational instance.
Compiler
and DML DDL Interpreter
Queries
Linker Query
Processo
Application Queries r
DML Compiler
Program Evaluatio
Cod Engine
Object
e n
Authorizatio
File Buffer n
Manager Manager
and Integrity Storage
Manager Manage
Transition r
Manager
database:
a. Native User (Unsophisticated) b. Application Programmers
c. Sophisticated User (Analyst) d. Specialized User
The DBA will monitor the file space allocation so that the new jobs will get the needed space
in the disk.
- Database Architecture:
The functional components of database architecture are categorised into 2 types:
1. Query processor 2. Storage manager
1. Query processor:
Query processor is a major component of database architecture. It includes the following components:
a. DML Compiler:
The DML compiler is used to compile the DML queries submitted by the user and generate low level
instruction understood by query evaluation engine.
b. DDL Interpreter:
The DDL interpreter will execute the DDL statements given by the user and store the result in a special
file called Data Dictionary.
c. Query evaluation engine:
The query evaluation will execute or evaluate low level instructions by DML compiler.
2. Storage manager:
The storage manager is a program module that acts as an interface between the query processor and low-
level data stored in the disk storage. It includes the following components:
a. Buffer manager:
The buffer manager is responsible for allocating temporary storage for the files.
b. File manager:
The file manager will take care of the files being stored in the database.
c. Authorization & Integrity manager:
This component is responsible for giving the authorization DAP (Data Access Permission) and
maintaining integrity of the database.
d. Transaction Manager:
It is responsible for managing the transaction within the database system. A transaction is a logical
unit of work done by the user.
Ex: Credit & debit operation in bank transaction.
The storage will maintain several data structures as part of physical storage implementation.
a. Indices (indexes): for faster retrieval of data.
b. Data files: It is a collection of data stored in the files.
c. Data Dictionary: It is a container for meta data.
d. Statistical data: It maintain the statistical information of database users.
- Database Design
The database design process consistence of the following steps:
1. Requirement Analysis (Data Gathering)
2. Conceptual Design (ER Model)
3. Logical Design (Relational Model)
Emp Dep
t
Manage
d
E_Sal Desig Ph_No Budge
t
1. Key Constraints:
Consider the following ER – diagram given below
discriminated
E_ID E_Name Nam key Ag
e e
E_Sal
e_nam
e_n e
o e_sa
l
Emp
(Overlap constrains)
(Covering constrains)
Is
Wage ID
Specialization
Generalization
s A
Hourly_Emps Contract_Emps
Hourly_worked Wage
s
a. Generalization:
Generalization is the process of finding some common properties of two sub classes having a
super class entity. In the above example, hourly emp, contract emp are generalized in emp.
b. Specialization:
The process of sub-dividing a super class entity into sub class entity is known as specialization.
In the above example, the super class entity emp is having sub class entities – hourly employee and
contract employee.
There are 2 constrains w.r.t generalization & specialization
i. Overlap Constraint:
The overlap constraint determines whether two subclass entities are allowed to have
common attributes of superclass.
ii. Covering Constraint:
Covering constraint determines whether the subclass entities include all the attributes of
super class.
5. Aggregation
E_No E_Name E_Desig
Emp
Monitor until
s
since
D_No D_Nam P_ID
e
Dept Sponsors Project Start
s data
budge
t
In ER diagram, we represent relationship as an association among 2 entities. Sometimes we want
to represent relationship among relationships. This will be done using a concept known as Aggregation.
In the above example, the relationship set sponsors is associated with the relationship monitors.
The aggregation is represented by considering the relationship set sponsored among 2 entities,
departments, projects as an entity set. It is shown with a dotted box in the diagram.
- Features of Aggregation
Aggregation is used to express relationship among relationship
6. Key constraints for ternary relationship
E_No E_Name D_No D_Nam
e
Emp Works in Dep
t
E_Sal Budge
t
from Location to
In the given ER diagram, an employee works in a department and in a single location. This
restriction for ternary relationship is represented with the key constraints using an arrow from employees
to work in relationship.
E_Desig Budge
t
from Duration to
2. Entity vs Relationship
Sometimes an object will be better expressed as an entity rather than a relation.
E_Name since budge D_No D_Nam
E_No t e
Is Location
A
since Manage budge
r t
3. Binary vs Ternary
Sometimes a non - binary relationship can be expressed using distinct binary relations. Consider the
givenER diagram policies with ternary relation.
E_Name D_Nam
E_No e Age
D_Nam
E_No E_Name e Age
Emp Dependen
t
4. Aggregation vs Ternary
Sometimes an ER diagram with aggregation can be best expressed as ternary relation.
E_Name
E_No
D_Nam E_Sal
Emp Amoun
D_No e P_ID t
Any thing that has an independent existence and about which we collect data. It is also known as entity type.
In ER modeling, notation for entity is given below.
Entity instance
entity.
Example for a weak entity : In a parent/child relationship, a parent is considered as a strong entity and the child
is a weak entity.
In ER modeling, notation for weak entity is given below.
Attributes
Domain of Attributes
The set of possible values that an attribute can take is called the domain of the attribute. For example, the
attribute day may take any value from the set {Monday, Tuesday ... Friday}. Hence this set can be termed as the
domain of the attribute day.
Key attribute
The attribute (or combination of attributes) which is unique for every entity instance is called key attribute.
E.g the employee_id of an employee, pan_card_number of a person etc.If the key attribute consists of two or
more attributes in combination, it is called a composite key.
In ER modeling, notation for key attribute is given below.
Simple attribute
If an attribute can take only a single value for each entity instance, it is a single valued attribute.
example for single valued attribute : age of a student. It can take only one value for a particular student.
Multi-valued Attributes
If an attribute can take more than one value for each entity instance, it is a multi-valued attribute. Multi-valued
example for multi valued attribute : telephone number of an employee, a particular employee may have multiple
telephone numbers.
In ER modeling, notation for multi-valued attribute is given below.
Stored Attribute
An attribute which can be calculated or derived based on other attributes is a derived attribute.
Example for derived attribute : age of employee which can be calculated from date of birth and current date.
In ER modeling, notation for derived attribute is given below.
Relationships
However in ER Modeling, To connect a weak Entity with others, you should use a weak relationship notation as
given below
Degree of a Relationship
Degree of a relationship is the number of entity types involved. The n-ary relationship is the general form for
degree n. Special cases are unary, binary, and ternary ,where the degree is 1, 2, and 3, respectively.
Example for unary relationship : An employee ia a manager of another employee
Example for binary relationship : An employee works-for department.
Example for ternary relationship : customer purchase item from a shop keeper
Cardinality of a Relationship
Relationship cardinalities specify how many of each entity type is allowed. Relationships can have four possible
connectivities as given below.
1. One to one (1:1) relationship
2. One to many (1:N) relationship
3. Many to one (M:1) relationship
4. Many to many (M:N) relationship
The minimum and maximum values of this connectivity is called the cardinality of the relationship
Example for Cardinality – One-to-One (1:1)
One employee is assigned with only one parking space and one parking space is assigned to only one
employee. Hence it is a 1:1 relationship and cardinality is One-To-One (1:1)
In ER modeling, this can be mentioned using notations as given below
One organization can have many employees , but one employee works in only one organization. Hence it is a
1:N relationship and cardinality is One-To-Many (1:N)
In ER modeling, this can be mentioned using notations as given below
One employee works in only one organization But one organization can have many employees. Hence it is a
M:1 relationship and cardinality is Many-to-One (M :1)
One student can enroll for many courses and one course can be enrolled by many students. Hence it is a M:N
relationship and cardinality is Many-to-Many (M:N)
In ER modeling, this can be mentioned using notations as given below
Relationship Participation
1. Total
In total participation, every entity instance will be connected through the relationship to another instance of the
other participating entity types
2. Partial
Example for relationship participation
Consider the relationship - Employee is head of the department.
Here all employees will not be the head of the department. Only one employee will be the head of the
department. In other words, only few instances of employee entity participate in the above relationship. So
employee entity's participation is partial in the said relationship.
However each department will be headed by some employee. So department entity's participation is total in the
said relationship.
1. ER Modeling is simple and easily understandable. It is represented in business users language and
it can be understood by non-technical specialist.
2. Intuitive and helps in Physical Database creation.
3. Can be generalized and specialized based on needs.
4. Can help in database design.
5. Gives a higher level description of the system.
Disadvantages
1. Physical design derived from E-R Model may have some amount of ambiguities or inconsistency.
2. Sometime diagrams may lead to misinterpretations
UNIT2
UNIT - II Introduction to
the Relational Model:
Integrity constraint over
relations, enforcing
integrity constraints,
querying relational data,
logical data base design,
introduction to views,
destroying/altering tables
and views. Relational
Algebra, Tuple relational
Calculus, Domain
relational calculus.
- Relational Model
The relational model is the popular data model used in logical design of the database. The main construct for
relational model is “Relations”. Each relation is represented in 2 ways:
1. Relational Schema 2. Relational Instance
Consider a relation student
Fields/Attributes/Columns
- Basic terminology
1. Relation:
A relation is also known as a table.
2. Attribute
The column of a reaction is known as attributes or fields.
3. Domain
The type of values allowed for an attribute is known as domain.
4. Degree of relation
The no. of attributes of a relation is known as degree of relation.
5. Cardinality of a relation
The no. of records of a relation is known as cardinality of a relation
In given table, cardinality of students = 3
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
- Legal instance
A legal instance is an instance that satisfies all the IC’s specified on the database schema.
- Key constrains
A key constraint is a statement that a minimal set of attributes uniquely identify a record in a relation.
- Types of key constraints:
1. Candidate key 2. Primary key 3. Super key 4. Alternate key or secondary key
5. Foreign key 6. Composite key
1. Candidate key:
Candidate key is a minimal set of attributes that uniquely identifies a record in a relation. Consider a
following relation
S_No S_Name Phone Age S_N0 C_No Course
1 a 9999 20 1 10 IT
2 b 9881 19 2 20 CSE
Student Student_Course
From student relation, the candidate key may be
a) (S_No, Phone) - CK
b) (S_No, S_Name, Phone) - CK
A relation may contain any no. of candidate key. A candidate key is simply called as ‘Key’.
2. Primary key
A primary key is a column or combination of columns that uniquely identifies a record in a relation
Condition for primary key
i) It will not allow duplicate values.
ii) It will not accept null values.
A relation may contain any no. of candidate keys out of which one is primary key. Therefore, a relation
contains a single primary key.
Ex: Student - S_No - PK
Student_Course - S_No, C_No)
3. Composite key
When a primary key is defines using a combination of columns. It is known as composite primary key
Ex: Student S_No, Phone
Student_Course S_No, C_No
4. Super key
The set of attributes which uniquely identifies a record in a relation is known as a super key. Adding 0
or more attributes to candidate key will generate a super key.
Ex: Student (S_No, S_Name)
(S_No, S_Name, Age)
5. Alternate Key (Secondary key)
The candidate key other than primary key is known as alternate key.
Ex:
i) Student (S_No, S_Name) - candidate key
Alternate: S_Name
ii) (S_No, S_Name, Phone) - CK
Alternate (S_Name, Phone)
6. Foreign key (Referential key)
Sometimes, the information in one table is related to the information in another table. To establish the
relation among the tables, we use a constraint known as foreign key. It is also known as “The referential
key”. It establishes the parent - child relationship among the tables.
Ex: In the above relations, Student is an original & Student_Course is a referential relation.
- General constraints
1. Table constraints 2. Assertions
1. Table constraints
These constraints are related to a single table. This constraint is defined in the table definition.
2. Assertion
These are the constraints related to multiple tables, the definition of assertions constraints is separated
from table constraints
Super key
CK
Composit
PK e
key
Emp
E_Sal E_Desig
Procedure to map entity set into table
a. Create table for an entity
b. The attribute of an entity will become attributes of a table
c. Key attribute of entity will become primary key for the table
EMP Relation
E_No E_Name E_Sal E_Desig
create table Emp (E_No int, E_Name char (25), E_Sal int, E_Desig char (25), primary key (E_No));
2. Mapping the relationship set (without constraints) into table
Consider the ER diagram given
E_No E_Name Since D_No D_Nam
e
Emp Works_in Dep
t
E_Sal E_Desig
budge
t
Mapping procedure
a. Create a table for relationship set (Works_in).
b. Add all primary key of entity set as attributes of the table (E_No, D_No).
c. Add the own attributes of relationship as the attribute of the table (Since).
d. Declare a primary key using all the key fields of entity set.
e. Declare a foreign key for all the field of entity set.
3. Mapping relationship set with key constraint into table
Consider the ER diagram
E_No E_Name D_No D_Nam
e
Emp Manage Dep
s
E_Sal E_Desig budge
t
Mapping procedure
a. Create a table for the relationship set (manages).
b. Add all the key attributes of entity set to attributes of table
c. Add own attributes of relationship set to the table
d. Declare a primary key using the key field from source entity (D_No).
e. Declare a foreign key for key fields of source & target entity (D_No, E_No).
4. Mapping relationship set with participation of constraints
E_No E_Name Partial Total D_No D_Nam
e
Emp Manage Dep
s t
E_Sal E_Desig
budge
t
Mapping procedure
a. Create tables from source and target entity as usual
Is
A
Hourly_wage Contract_ID
s
Hourly_Emp Contract_Emp
Hourly_worked
Emp
Monitor until
s
since
D_No D_Nam P_ID
e
Dep Works_in Project Start
t s data
budge
t
create table monitors (E_No int, D_No int, P_ID int, primary key (E_No, D_No, P_ID), foreign key (E_No)
references Emp (E_No), foreign key (D_No) references Dept (D_No), foreign key
(P_ID) references Project (P_ID));
- Introduction to views
Sometimes, the users of the database are interested to work with only part of the data from the
database. This is provided by a concept known as views.
A view is an alternate way of representing data present in one or more tables. A view is a virtual table
or logical table or derived table whose data is derived from the original table. A view can include some columns
or all columns from one or more tables.
> select e1. E_No, e1. E_Name, d1. D_No, d1. D_Name
> from Emp e1, Dept d1
> where e1. D_No=d1.D_No;
> desc Emp_DeptV;
Field Type Null Key Default Extra
E_No int (11) NO NULL
E_Name char (25) YES NULL
D_No int (11) NO NULL
D_Name char (25) YES NULL
> select * from Emp_DeptV
E_No E_Name D_No D_Name
1 aa 10 IT
2 bb 20 CSE
3 cc 30 EE
View are dynamic in nature that mean the modifications performed on views is reflected back on original
table and vice versa
ii. Updating view
> update Emp_DeptV set E_Name = ‘Ankit’ where D_No = 20;
> select * from Emp_DeptV;
E_No E_Name D_No D_Name
1 aa 10 IT
2 Ankit 20 CSE
3 cc 30 EE
> select * from Emp;
E_No E_Name E_Sal D_No
1 aa 1000 10
2 Ankit 2000 20
3 cc 3000 10
> update Dept set D_Name = ‘Mech’ where D_No = 30;
> select * from Dept;
D_No D_Name Location
10 IT Hyd1
20 CSE Hyd2
30 Mech Hyd3
> select * from Emp_DeptV;
E_No E_Name D_No D_Name
1 aa 10 IT
2 Ankit 20 CSE
3 cc 30 Mech
iii. Altering view (adding a column) - E_Sal
- Advantages of Views:
1. Views provide security that means the users are working with the past of the database rather than using
the entire database. Therefore, the original table will not be disturbed and hence secure from unauthorized
users.
2. View provide logical data independence in which data and relationship among the data is maintained even
though modification at the external schema has been done
- Updateable views:
Whenever a view is updated, the result should be reflected in the original table and vice versa but all updation
are not allowed on views.
An updatable view is a view which is derived from a single table and it should hold the following conditions:
1. Aggregate functions should not be used in query.
2. Distinct keyword should not be allowed.
3. Group by and having clause will not be allowed.
- Relational Model
Relational model is a popular data model used for logical database design. There are 2 formal query language
associated with the relational model.
1. Relational Algebra 2. Relational Calculus
1. Relational Algebra
Relational algebra is a procedural query language which uses collection of operators to write different
queries.
2. Relational Calculus
Relational Calculus is a non – procedural query language which is based on predicate calculus.
- Relational Algebra
1. It is a procedural query language (the user has to specify what data he require along with the procedure).
2. The relational algebra queries are a combination of operators.
3. Each operator takes one or more relations as arguments and returns a relation as result or output.
4. It uses the operation like relational operators (<, >, <=, >=, =, !=) and logical connectives (and, or, not)
to write various composite and complex queries.
1. Selection (𝝈)
a. It is a unary operator.
b. It is represented with the symbol 𝜎.
c. It is used to select the subset of tuples from a relation that matches a given condition.
Syntax: 𝜎<Condition_Statement>relation_name
2 bb 25000
3 cc 45000
4 dd 6000
2. Projection (𝝅)
a. It is a unary operator.
b. It is represented by symbol 𝜋.
c. It is used to select the subset of attributes from the given relation.
Syntax: 𝜋colname 1, 2, …Table_Name
E_Name E_Sal
aa 1000
bb 25000
cc 45000
dd 6000
//Display names of all employees where salary is greater than
2000Ex1: 𝜋E_Name (𝜎E_Sal>2000) Emp
E_Name E_Sal
aa 1000
bb 25000
cc 45000
dd 6000
3. Set operations (Union, Intersection, Difference)
a. Union (∪)
𝜋E_Name Emp ∪ 𝜋Name Manager
E_Name E_Name
aa aa
bb bb
cc cc
dd dd
Raj Raj
bb
aa
cc
Union Union All
b. Intersection (∩)
𝜋E_Name Emp ∩ 𝜋Name Manager
E_Name
aa
b
b
cc
c. Difference (-)
Raj
4. Rename
Rename operator is used to give the alias name or temporary name to a relation as well as to the attributes
of a relation. It is denoted with the symbol 𝜌-rho which is a Greek letter.
Syntax: 𝜌X ® R – Relation
x – Alias/temporary name
𝜌X (A1A2A3 … An) ® R – Relation
A1A2A3 … An: New name of attribute
x – Alias name for relation
5. Division
The division operator is used in special kind of queries that include the phase for all. It is denoted with the
symbol (/).
Consider 2 relations R, S. R contains attributes (a, b) and S contains attribute (b).
R (a,b)
is given as =a
S b
For all values of A in relation R and for each value of B in relation S there is a tuple (A, B) in R.
Ex: Consider Relation table
A = S_No P_No B1 = P_No B2 = P_No B3 = P_No
s1 p1 p2 p2 p1
s1 p2 p4 p2
s1 p3 p4
s1 p4
s2 p1
s2 p2
s3 p2
s4 p2
s4 p4
6. Joins
Join operation is used to combine 2 relations like cross product but finally remove the duplicates. There
are 3 types of joins
a. Conditional Joins (⋈C) b. Equi Joins (⋈=) c. Natural Joins (⋈)
Consider the relations Dept, Project to demonstrate joins
D_Name D_No D_No P_No P_Name
IT 10 10 1 Sales
CSE 20 20 2 HR
Mech 30 Project
Dept
Ex: Consider the relations Boats, Sailors & Reserve table to demonstrate relational algebra.
S_ID S_Name S_Age Rating B_ID B_Name Colour
10 aa 20 1 101 Interlake Blue
20 bb 21 2 102 Duster Green
30 cc 23 4 103 Interlake Red
Sailors Boats
Q4: Find names of Sailors who have reserved a red or a green boat
𝜋 S_Name ((𝜎 Colour = ‘Red’ Boats 𝜎 Colour = ‘Green’ Boats) ⋈ Reserves ⋈ Sailors)
Q5: Find names of Sailors who have reserved at least one boat
- Relational Calculus
Relational calculus is a non-procedural query language or declarative language where the user has to specify
what he require without worrying about the procedure. Relational calculus is of 2 types.
1. Tuple Relational Calculus (TRC) 2. Domain Relational Calculus (DRC)
Account Branch
Q1: Find loan details of loan amount > 2000
{t.| Loan(t) t. Amount>2000}
Loan_No B_Name Amount
102 Nagole 3000
103 Dilshuknagar 4500
Q2: Find the names of all customers who have a loan from the branch ‘Kachiguda’
{b. C_Name| Borrower(t) L(Loan(L) L. Loan_No = b. Loan_No L. B_Name = ‘Kachiguda’}
Q3: Find the customers who have account or loan or both
{t| Customer(t) d(Depositor(d) d. C_Name = t. C_Name) b(Borrower(d) b. C_Name = t.
C_Name)
2. Domain Relational Calculus
A DRC will operate at the domain of a variable. It uses the domain values for the variables that DRC is
strongly influenced by QBE (Query By Example).
A DRC query will have the following form
Syntax: {x1, x2, x3, …, xn| Q (x1, x2, x3, …, xn)}
UNIT 3
- UNIT - III SQL: QUERIES, CONSTRAINTS, TRIGGERS: form of basic SQL query, UNION,
INTERSECT, and EXCEPT, Nested Queries, aggregation operators, NULL values,
complex integrity constraints in SQL, triggers and active data bases. Schema
Refinement: Problems caused by redundancy, decompositions, problems related to
decomposition, reasoning about functional dependencies, FIRST, SECOND, THIRD
normal forms, BCNF, lossless join decomposition, multi-valued dependencies, FOURTH
normal form, FIFTH normal form
-
-
- Forms of basic SQL Query
- Query:
A query is a question which will retrieve data from the tables or database. The result of a query is a
relation or tables.
The relational database consists of many relations where each relation has a unique name. To
interact with the database, we are a query language known as SQL (Structured Query Language). The SQL
enables to write different queries and retrieve data from the tables.
The basic SQL query consists of the following 3 clauses:
5
> select count (distinct E_Name) from Emp;
Count
4
> select count (*) from Emp where E_Sal>2500;
Count
2
> select count (*) as No_of_Records from Emp
No_of_Records
5
2. max (): This function returns max values.
Syntax: select max (colname) from Table_Name;
Ex:
> select max (E_Sal) from Emp;
E_Sal
3500
> select max (E_Sal) from Emp where age>19;
E_Sal
3000
3. min (): This function returns min values.
Syntax: select min (colname) from Table_Name;
Ex:
> select min (Age) from Emp;
Age
19
> select min (E_Sal) from Emp where age<20;
E_Sal
2000
4. sum (): This function returns sum values.
S_ID C_ID
S01 C01
S02 C02
S03 C03
S04 C02
Student_Course
Q1: Find S_ID of students who enrolled course ADS or DBMS
Ans: Inner Query:
> select C_ID from Course where
> C_Name = ‘ADS’ or C_Name = ‘DBMS’;
C_ID
C01
Co2
Main Query:
> select S_ID from Student_Course where C_ID in
> (select C_ID from Course where C_Name = ‘ADS’ or C_Name = ‘DBMS’);
S_ID
S01
So2
S04
Q2: Find the S_Name of students who enrolled the course DBMS or JAVA
Ans:
> select S_Name from Students where S_ID in (select S_ID from Student_Course where
C_ID in (select C_ID from Course where C_Name = ‘DBMS’ or C_Name = ‘JAVA’));
2. Co - related Nested Query
If the sub-query (inner query) is evaluated repeatedly based on the result of outer query such queries are
known as co - related sub - queries. Here, outer query will be executed first based on which the inner
query will be evaluated repeatedly. For co - related sub query, we use ‘exist’ comparison operator rather
than ‘in’ operator.
- Creation of triggers
Syntax:
> create trigger trigger_name
> trigger_time trigger_event
> on Table_Name
> before/after
> insert/delete/update
> for each row
> begin
{
//Set of SQL statements
}
> end
- Working with triggers
Consider the following relation: User, User_History to demonstrate triggers
ID Name Age Weight Address
1 aa 20 65 Hyd1
2 bb 19 60 Hyd2
3 cc 22 55 Hyd3
4 dd 21 62 Hyd4
U
E_Name E_Name
aa aa
bb bb
cc cc
dd dd
Raj Raj
ni bb
aa
o
cc
n Union All
b. Intersection
(∩)
𝜋E_Name Emp ∩
𝜋Name Manager E_Name
c. Difference (-) aa
𝜋E_Name Emp – b
𝜋Name Manager b
E_Name
cc
dd
- Schema refinement
Schema refinement is one of the steps in DB design process. It is the process of refining the schema so that
we remove redundancy from the database.
- Schema
The overall design of the database is known as the database scheme.
- Redundancy
When the same data is stored multiple times unnecessarily in the database, it leads to redundancy problem.
Redundancy means duplication of the data stored at multiple location in the database.
2 B 19 10 CSE xx
3 C 18 20 EE yy
4 D 19 20 EE yy
5 E 21 30 IT zz
a. Insert Anomalies
Certain data cannot be inserted into database without the presence of other data.
Ex: Suppose we want to store information of civil department where no student enrolled into civil.
b. Delete Anomalies
If we want to delete some unwanted data, it causes deletion of some useful data.
Ex: If we want to delete student info of IT branch, then it causes deletion of branch info of IT.
c. Update Anomalies
If we want to update a single record of data then it must be done for all the copies of data
Ex: Suppose if we want to update HOD name for CSE department, then this updation must be reflected
for all the copies of CSE HOD.
3. Inconsistency
Redundancy leads to a problem known as inconsistency which occur whenever multiple copies are not
updated simultaneously.
determinant dependent
The FD’s are used to represent the relation among attributes
- Types of FD’s
1. Trivial FD 2. Non-trivial FD
1. Trivial FD
Suppose we have an FD x y where y x, such FD’s are known as trivial FD.
Ex: AB A
The above FD is trivial but not useful as it does not determine anything new.
2. Non-trivial FD
Suppose we have a FD x y where y ⊈ x such FDs are known as non-trivial FDs
Ex: AB ABC
2. Decomposition
FD: x yz, then x y, x z also holds.
Ex 1: R (A, B, C) A B, B C
+
A : ABC
B+: BC
C+: C
- Normalization
It is a systematic approach of reducing or removing redundancy from the database tables. To perform
normalization, we use functional dependencies.
- Normal form
A normal form is a rule or condition that is applied sequentially on the database table to remove redundancy
from the tables.
C B
R to R1 & R2
R1(ABC): AB C AB is a key
R2(CB): C B C is a key
R is in BCNF
B DE
A
(CD)+: CDEAB
(B)+: BDEAC
(E)+: EABCD
All are candidate key.
6. Join Dependencies & Fifth Normal Form (5NF):
A relation R is said to be in fifth normal form iff
a. It should be in 1NF, 2NF, 3NF, BCNF & 4NF.
b. It should not be further decomposed or non-join dependency.
5NF is also called as Projection Join NF (PJNF). It is based on the concept known as join dependencies.
JD: A relation R which can be decomposed into R1, R2, R3 …, Ri is said to be join dependencies.
R1 (R) ⋈ R2 (R) ⋈ … ⋈ Ri (R) = R
1NF
- Decomposition
One of the possible solutions for redundancy is decomposition. Decomposition is a process of converting a
larger relation into smaller relation. Whenever a relation is decomposed into smaller relations, care must be
taken otherwise it leads to 2 problems:
1. Lossless join decomposition 2. Dependency preventing decomposition
The lossless join decomposition property says that when we have a relation ‘R’ decomposed into several
relations (R1, R2, …, Ri), then we can recover the original relation ‘R’ by joining the decomposed relations
together.
R = {R1, R2, R3, …, Ri)
R1 ⋈ R2 ⋈ … ⋈ Ri = R
i. (R1 ∪ R2) = R
Ex1: Consider a relation R with attributes ABC is decomposed into 2 relation AB, BC holding following
FDs
A B
B C
C A
A B B C A B
∪ = B C
B A C B C A
C B B C C A
C A B A C B
B A C A A B
R is dependency preserving
UNIT 4
- UNIT - IV Transaction Concept, Transaction State, Implementation of Atomicity and
Durability, Concurrent Executions, Serializability, Recoverability, Implementation of
Isolation, Testing for serializability, Lock Based Protocols, Timestamp Based Protocols,
Validation- Based Protocols, Multiple Granularity, Recovery and Atomicity, Log–Based
Recovery, Recovery with Concurrent Transactions.
-
- Transaction concept
A transaction is an execution of user program that is seen by Database Management System as a series of
operations.
(OR)
A transaction is a logical unit of work done by the user.
- Transaction operations
The common operations that can be performed on a transaction include:
1. Read
2. Write
Ex: Consider a bank transaction where the operations debit credit is collectively known as transactions.
- Transaction properties
To maintain consistency of a database, every transaction must satisfy a set of properties known as “ACID”
properties. ACID - Atomicity Isolation Consistency Durability
1. Atomicity
It ensures that either the transaction operations are executed successfully or not. That means incomplete
transactions are not allowed. Atomicity is taken by “Transaction Management Component”.
2. Consistency
A transaction that is performed on a consistent state of the database should result to another
consistent of database. It is taken care by application layer.
3. Isolation
The transactions executing in the system must have logical isolations. This property ensures
thatthe transactions that are executing in parallel will not interfere with each other. It is taken
care by concurrency control component.
4. Durability
It ensures that when a transaction is performed on a database the modification done on the
database should remain persistent even though the system failure occurs. Durability is taken
careby “Recovery Management Concept”.
- Transaction state
Partially Committed
Committed
Terminated
Active
Kill
Failed Abort
Restart
A transaction executing in the system will enter into different states during lifetime.
1. Active state 2. Partially committed state 3. Failed state 4. Committed state
5. Abort State 6. Terminated state
1. Active state
A transaction is in active state while it is in execution.
2. Partially committed state
A transaction is in partially committed state when it is executing its last statement even after the execution,
the transaction may either be committed state or failed state.
3. Failed state
A transaction is in failed state when it no longer continues its normal execution.
4. Committed state
A transaction is in committed state when it completes its execution successfully.
5. Abort state
When a transaction fails all its operation, it must be role back & the transaction enters into abort state. An
aborted transaction will be either killed or restarted.
6. Terminated
It is the end of the transaction.
- Schedule
A schedule is a list of operations from a set of transactions.
- Types of schedules
1. Serial schedule 2. Non-serial schedule
Consider 2 transactions T1, T2 where transaction T1 will transfer the amount of 50 from A to B & transaction
T2 transfers the amount of 500 from A to B.
Initial amount of A = 1000
Initial amount of B = 1000
T1: read (A) T2: read (A)
A = A - 50 Debit A = A - 500 Debit
write (A) write (A)
T2: read (B) T2: read (B)
B = B + 50 Credit B = B + 500 Credit
write (B) write (B)
1. Serial schedule
It is a schedule in which the transaction operations are executing in a serial fashion i.e. T1 T2 or T2
T1.
S1 T1 T2
read (A) 1000 450
A = A - 50 950 1550
write (A) 950 2000 (Consistent)
read (B) 1000
B = B + 50 1050
write (B) 1050
read (A) 950
A = A - 500 450
write (A) 450
read (B) 1050
B = B + 500 1550
write (B) 1550
The above schedule S1 will give consistent result. Hence, it is a serial schedule.
2. Non - Serial schedule (Concurrent or Interleaved)
It is a schedule in which the transaction operations are executing by interleaving each other.
Consider a schedule S2 as given
S1 T1 T2
1000 read (A) 1000
read (A)
A = A - 50 950 A = A - 500 500
500
write (A) 5000
1550
write (A) 950 read (B)
1000
2050 (Inconsistent)
read (B) 1000
B = B + 50 1050
B = B + 50
write (B) 1050 155
0
write the
The above schedule S2 is inconsistent because (B) transactions are operating concurrently.
155
Note: Non-serial schedule may give consistent or inconsistent result.
0
- Serializability
A schedule S is said to be serializable if the interleaved execution of transactions is similar to that of some
serial schedule.
- Types of serializability
There are 2 types of serializability:
1. Conflict Serializability 2. View Serializability
1. Conflict Serializability
Two schedules S1, S2 are said to be conflict serializability if it is conflict equivalent to some serial schedule.
* Conflict equivalent
Two schedules S1, S2 are said to be conflict equivalent if the conflict operations are executing in the
same order.
R(A) R(A)
W(A) W(A)
R(A) R(B)
W(A) W(B)
R(B) R(A)
W(B) W(A)
Checking conflict equivalence on S1, S2
S 1 T1 R(B)T2 S 2 T1 R(B)
T2
R(A) W(A) R(A) W(B)
W(B) W(B)
W(A) R(A) W(A) R(A)
R(A) W(A) W(A) W(A)
R(B) W(B) R(B) W(B)
W(B) R(B) W(B) R(B)
W(B) W(B) W(B) W(B)
Since, S1 & S2 are conflict equivalent hence, S1 S2
2. View Serializability
Two schedules S1, S2 are said to be view serializable if it is view equivalent to some serial schedule.
* View equivalent
Two schedules S1, S2 are said to be view equivalent if the conflicting operations are executing in the
same order.
* Conditions to check view equivalent
a. Check the transaction which reads initial value of data items.
b. Check the transaction which writes final value of data item.
c. Check for write read conflicts.
Consider 2 schedules S1, S2 given:
S1 T1 T2 S2 T1 T2
R(A) R(A)
A = A + 10 A = A + 10
W(A) W(A)
R(B) R(A)
B = B + 20 A = A + 20
W(B) W(A)
R(A) R(B)
A = A + 30 B = B + 30
W(A) W(B)
R(B)
Checking of view equivalent R(B)
S1 S2
B = B + 30 B = B + 30
A T1 T2 T1 T2
W(B) W(B)
B
T1 T2 T1 T2
W R R(A)
W(A) R(A) W(A)
R(B)
Since S1 & S2 are view equivalent hence,
W(B) S1 & R(B)
S2 are view
W(B)serializable.
- Testing of serializability
In order to test serializability (Conflict serializability) of a given schedule, we use precedence graph. A
precedence graph is a directed graph where G = (V, E).
i. Algorithm for creating a precedence graph:
Step 1: Create a node for each transaction.
Step 2: Draw a directed edge from Ti to Tj (Ti Tj) for the following cases
i. Ti(w) Tj(r)
ii. Ti(r) Tj(w)
iii. Ti(w) Tj(w)
Ex1: Consider a given schedule S1. Check whether S1 is conflict serializable or not
S1 T1 T2 T3
r(x)
r(z)
r(z)
r(x)
r(y)
w(x)
r(x)
w(z)
w(y)
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
T2
z y
T1 T3
x
r(x)
r(x)
w(x)
w(x)
r(x)
T2
x x
x
T1 T3
x
r(x)
r(z)
w(z)
r(y)
r(y)
w(y)
w(x)
T3
w(z)
w(x)
T1 T2
r(y) w(y)
- Recoverability
A transaction may not execute completely due to failure such as hardware or software failure. In that case we
have to roll back the failed transaction but some other transactions are using the values written by failed
transaction. So, we have to roll back those transactions as well.
Ex: Consider a given schedule S1
S1 T1 T2
r(A)
A = A + 50
w(A)
r(A)
A = A + 100
w(A)
commit
In the above schedule, transaction T1 fails due to some reason so we roll back T 1. In such case, T2 must
also be rolled back because T2 reads the value written by T1 but in the above schedule, T2 commits before
T1. Hence it cannot be rolled back. This phenomenon is known as irrecoverable schedules.
* Recoverable schedule
A schedule is recoverable where each transaction commits only after all transaction from which it has
read as committed.
Ex:
S2 T1 T2
r(A)
A = A + 50
w(A) r(A)
A = A + 100
w(A)
Commit
Commit
In the above schedule, transaction T2 commits after T1 commits. If T1 fails then we can roll back T1 as
well as T2. Therefore, the schedule S2 is said to be recoverable schedule.
r(A)
w(A) r(A)
w(A)
r(A)
Failure point
In the above schedule, if transaction T1 fails then we have to roll back T1. In such case, T2 & T3 must be rolled
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
back because T2 depends on T1 & T3 depends on T2. This concept is known as cascading rollback.
r(x)
w(x) r(y)
Commit
r(x)
* Types of locks
Locks are basically categorized into 2 types.
a. Shared lock(s) b. Exclusive lock(x)
a. Shared lock(s)
It is also known as read only lock. It is denoted with s. Any no of transactions can have a shared
lock on a data item.
b. Exclusive lock(x)
It is also known as read – write lock. Only 1 transaction at a time can have exclusive lock on a data
item.
* 2 Phase Locking (2PL)
2PL is a concurrency control protocol available under lock-based protocol. 2PL ensures conflict
serializable schedules. 2PL works in 2 different phases
a. Growing phase b. Shrinking phase
a. In growing phase, a transaction obtains locks but may not release any locks.
b. In shrinking phase, a transaction may release lock but cannot obtain any locks.
S1 : T1 T2 Lock Manager
lock - s(A) Grant lock - S(A)
r(A)
w(b)
lock - s(A) Grant lock - S(A)
unlock(B)
r(A)
w(b)
Schedule S1(T1, T2) is not in 2PL. It does not obey the properties of 2PL because in T 1 lock(x(B)) is
unlock(B)
executed after unlock(A) & similar in T2.
S2 : T1 T2 Lock Manager
lock - s(A) Grant lock - S(A)
r(A)
Grant lock - x(B)
lock - x(B)
unlock(A)
r(b)
w(b)
lock - s(A) Grant lock - S(A)
unlock(B)
r(A)
Grant lock - x(B)
lock - x(B)
unlock(A)
r(b)
w(b)
S3 : T1 T2
lock - x(P)
r(P)
w(P)
lock - x(Q)
r(Q)
Commit r(P)
w(P)
lock - x(Q)
r(Q)
w(Q)
The S3(T1, T2) obeys strict 2PL
c. Rigorous 2 phase locking Commit
It is compatible with 2PL. The shared locks & exclusive locks must be released only after
transaction commit or abort. It is a strict version of strict 2PL.
Consider a schedule S4 as given:
S4 : T1 T2
lock - s(P)
r(P)
lock - x(Q)
r(Q)
w(Q)
lock - s(P)
Commit
r(P)
lock - x(Q)
r(Q)
w(Q)
The S4(T1, T2) obeys rigorous 2PL.
Commit
Note: Strict 2PL, rigorous 2PL does not ensure freedom from deadlock.
d. Conservative 2 phase locking
The conservative 2PL says that a transaction should obtain all the required locks (shared or
exclusive) before it starts its execution & release all the locks after it commits. It ensures freedom
from deadlock.
Consider a schedule S5 as given:
S5 : T1 T2
lock - s(A)
lock - x(B)
r(A)
r(B)
r(B)
w(B)
The S5(T1, T2) obeys conservative 2PL.
Commit
* Lock conversions
Lock conversion is a concept in which we can either upgrade or degrade the locks assigned to a
transaction. The lock conversion is necessary to overcome deadlock situation occurred in a
schedule. Ex: Consider a transaction T1 holding a shared lock on ‘A’.
C D
E F
lock - x(B)
r(B)
r(C)
lock - x(F)
r(F)
lock - x(D)
unlock - C
r(D)
w(D)
lock - x(C)
r(C)
w(C)
lock - x(B)
unlock - B
unlock - D r(B)
w(B)
lock - x(D)
r(D)
unlock - F
lock - x(E) w(D)
r(E)
w(E)
unlock - D
unlock - C
unlock - B
unlock - E
A timestamp is an identifier that specifies the starting time of transaction & it is generated by database
system. Each transaction will have a unique timestamp. It is denoted by TS (Ti).
The time stamps are generated by using 2 methods
a. System clock b. Logical counter
a. System clock
When a transaction enters into a system, it is assigned with a timestamp value equal to system
clock.
b. Logical counter
Each transaction is assigned with a counter value & it is incremented for every new transaction
that enters into the system
* Types of timestamps
a. Read Timestamp (RTS) b. Write Timestamp (WTS)
a. RTS
It indicates the highest value of timestamp generated by the transaction for reading a data item.
b. WTS
It indicates the highest value of timestamp generated by the transaction for writing a data item.
In timestamp ordering protocol, the timestamp of an old transaction is always less than the timestamp
of new transaction i.e. TS (Ti) < TS (Tj)
where Ti - Old transaction
Tj – New transaction
* Working of timestamp ordering protocol
I: When a transaction (Ti) issue a read operation on X
r(A)
r(A)
A = A + 10
w(A)
r(B)
r(B)
show (A + B)
show (A + B)
W(A)
R(B)
<validate>
R(A)
show(A+B)
R(B)
<validate>
show(A+B)
S1 satisfy validate test
- Multiple granularity
1. In earlier concurrency control protocol, locking can be applied to a single data item. Sometimes we need
to lock a collection of data items by a transaction i.e. possible by using granularity process. Granularity
indicates the size of data item allowed to lock.
2. Multiple granularity can be define as a hierarchy that will breakup the database into different blocks which
can be locked by the transaction.
Consider a granularity hierarchy as given below:
DB Level 1:
Database
A Ai 2: Areas
1
F1 F2 F3 Fi 3: Files
R1 R2 R3 Ri 4: Records
H(k) = h(k) ≠ 10
The lock table maintained the information about the data items that are locked and unlocked by transactions.
It uses a separate chaining technique to maintain a linked list of data items for each entry in the lock table.
The transactions which are waiting for the locks are added to the linked list once a transaction released a lock,
it is granted to one of the transactions in linked list.
- Recovering techniques
- Failure with loss of non-volatile storage:
The information present in a volatile storage gets lost whenever a system crash
occurs. But the loss of information in a non-volatile storage is very rear to avoid such failure,
some certain techniques need to be considered.
One of the techniques is dump. In this technique, the entire database is dump to a
stable storage at regular intervals of time. When a system crashes, in order to bring the
database back to consistent state, weuse the recent dump to restore.
* Dump process:
1. During dump process, no transaction should be processed.
2. All the log records in the memory must be stored to a stable storage.
3. The entire database is copied to stable storage.
Drawbacks of dump process
The dump process is considered as an expensive task due to following reasons.
1. The huge amount of data transfer is needed.
2. No transaction is in process during dump, hence CPU cycle is waste.
- Remote backup system
The traditional transaction processing system is more suspected to failure due to natural
disaster. Hence there is a need for designing a system which will continue its processing
even if the system fails due to natural disaster. Such a system is known as remote backup
system. The main goal of remote backup systemis to provide high degree of availability.
Remote
site
Logs
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh
www.android.universityupdates.in | www.universityupdates.in | https://telegram.me/jntuh
Scanned by CamScanner
www.android.previousquestionpapers.com | www.previousquestionpapers.com | https://telegram.me/jntuh