SlideShare una empresa de Scribd logo
1 de 44
Chapter 4
Relational Algebra and
Relational Calculus
Transparencies
Relational Algebra
Relational algebra and relational calculus are
formal languages associated with the relational
model.
The Relational Algebra is used to define the ways
in which relations (tables) can be operated to
manipulate their data.
It is used as the basis of SQL for relational
databases, and illustrates the basic operations
required of any DML.
2
3
Relational Algebra
Relational algebra operations work on one or
more relations to define another relation
without changing the original relations.
Both operands and results are relations, so
output from one operation can become input to
another operation.
Allows expressions to be nested, just as in
arithmetic. This property is called closure.
4
Relational algebra VS Relational Calculus
Informally, relational algebra is a (high-level)
procedural language and relational calculus a
non-procedural language. – Difference ??
However, formally both are equivalent to one
another.
A language that produces a relation that can be
derived using relational calculus is relationally
complete.
What & How
5
Relational Algebra
This Algebra is composed of Unary operations
(involving a single table) and Binary operations
(involving multiple tables).
Five basic operations in relational algebra:
Selection, Projection, Cartesian product,
Union, and Set Difference.
These perform most of the data retrieval
operations needed.
Also have Join, Intersection, and Division
operations, which can be expressed in terms of
5 basic operations.
6
Relational Algebra Operations
7
Relational Algebra Operations
8
Selection (or Restriction)
σpredicate (R)
– Works on a single relation R and defines a relation that
contains only those tuples (rows) of R that satisfy the
specified condition (predicate).
– Unary Operation
σ <condition> < tablename >
Conditions in Selection:
Simple Condition: (attribute)(comparison)(attribute)
(attribute)(comparison)(constant)
Comparison: =,≠,≤,≥,<,>
Select Operator Example
Name Age Weight
Harry 34 80
Sally 28 64
George 29 70
Helena 54 54
Peter 34 80
Name Age Weight
Harry 34 80
Helena 54 54
Peter 34 80
Person бAge≥34(Person)
Name Age Weight
Helena 54 54
бAge=Weight(Person)
10
Example - Selection (or Restriction)
List all staff with a salary greater than £10,000.
σsalary >10000 (Staff)
11
Projection
Πcol1, .. . ,coln(R)
– Works on a single relation R and defines a
relation that contains a vertical subset of R,
extracting the values of specified attributes and
eliminating duplicates.
π <columnlist > < tablename >
e.g., name of employees:
∏ name(Employee)
e.g., name of employees earning more than 80,000:
∏ name(бSalary>80,000(Employee))
Project Operator Example
Name Age Salary
Harry 34 80,000
Sally 28 90,000
George 29 70,000
Helena 54 54,280
Peter 34 40,000
Name
Harry
Sally
George
Helena
Peter
Employee
∏ name(Employee)
Project Operator Example
Name Age Salary
Harry 34 80,000
Sally 28 90,000
George 29 70,000
Helena 54 54,280
Peter 34 40,000
Name
Sally
Employee бSalary>80,000(Employee)
Name Age Salary
Sally 28 90,000
∏ name(бSalary>80,000(Employee))
14
Example - Projection
Produce a list of salaries for all staff, showing only
staffNo, fName, lName, and salary details.
ΠstaffNo, fName,lName, salary(Staff)
Union, Intersection, Set-Difference
All of these operations take two input relations, which
must be union-compatible:
– Same number of fields.
– `Corresponding’ fields have the same type.
15
16
Union
R ∪ S
– Union of two relations R and S defines a relation
that contains all the tuples of R, or S, or both R
and S, duplicate tuples being eliminated.
– R and S must be union-compatible.
If R and S have I and J tuples, respectively, union
is obtained by concatenating them into one relation
with a maximum of (I + J) tuples.
Union Operator Example
FN LN
Susan Yao
Ramesh Shah
Barbara Jones
Amy Ford
Jimmy Wang
FN LN
John Smith
Ricardo Brown
Susan Yao
Francis Johnson
Ramesh Shah
Student Professor
FN LN
Susan Yao
Ramesh Shah
Barbara Jones
Amy Ford
Jimmy Wang
John Smith
Ricardo Brown
Francis Johnson
Student U Professor
18
Example - Union
List all cities where there is either a branch office
or a property for rent.
Πcity(Branch) ∪ Πcity(PropertyForRent)
19
Set Difference
R – S
– Defines a relation consisting of the tuples that
are in relation R, but not in S.
– R and S must be union-compatible.
Set Difference Operator Example
FN LN
Susan Yao
Ramesh Shah
Barbara Jones
Amy Ford
Jimmy Wang
FN LN
John Smith
Ricardo Brown
Susan Yao
Francis Johnson
Ramesh Shah
Student
Professor
FN LN
Barbara Jones
Amy Ford
Jimmy Wang
Student - Professor
FN LN
John Smith
Ricardo Brown
Francis Johnson
Professor - Student
21
Example - Set Difference
List all cities where there is a branch office but no
properties for rent.
Πcity(Branch) – Πcity(PropertyForRent)
22
Intersection
R ∩ S
– Defines a relation consisting of the set of all
tuples that are in both R and S.
– R and S must be union-compatible.
Expressed using basic operations:
R ∩ S = R – (R – S)
Intersection Operator Example
FN LN
Susan Yao
Ramesh Shah
Barbara Jones
Amy Ford
Jimmy Wang
FN LN
John Smith
Ricardo Brown
Susan Yao
Francis Johnson
Ramesh Shah
Student Professor
FN LN
Susan Yao
Ramesh Shah
Student ∩ Professor
24
Example - Intersection
List all cities where there is both a branch office
and at least one property for rent.
Πcity(Branch) ∩ Πcity(PropertyForRent)
25
Cartesian product
R X S
– Defines a relation that is the concatenation of
every tuple of relation R with every tuple of
relation S.
26
Example - Cartesian product
List the names and comments of all clients who have
viewed a property for rent.
(ΠclientNo,fName,lName(Client)) X (ΠclientNo,propertyNo,comment(Viewing))
27
Example - Cartesian product and Selection
Use selection operation to extract those tuples where
Client.clientNo = Viewing.clientNo.
σClient.clientNo=Viewing.clientNo((∏clientNo,fName, lName(Client)) Χ (∏clientNo, propertyNo,
comment(Viewing)))
Cartesian product and Selection can be reduced to a single
operation called a Join.
28
Join Operations
Join is a derivative of Cartesian product.
Equivalent to performing a Selection, using join
predicate as selection formula, over Cartesian
product of the two operand relations.
One of the most difficult operations to implement
efficiently in an RDBMS and one reason why
RDBMSs have intrinsic performance problems.
29
Join Operations
Various forms of join operation
– Theta join
– Equijoin (a particular type of Theta join)
– Natural join
– Outer join
– Semijoin
30
Theta join (θ-join)
R FS
– Defines a relation that contains tuples
satisfying the predicate F from the Cartesian
product of R and S.
– The predicate F is of the form R.ai θ S.bi
where θ may be one of the comparison
operators (<, ≤, >, ≥, =, ≠).
31
Theta join (θ-join)
Can rewrite Theta join using basic Selection and
Cartesian product operations.
R FS = σF(R Χ S)
Degree of a Theta join is sum of degrees of the
operand relations R and S. If predicate F contains
only equality (=), the term Equijoin is used.
32
Example - Equijoin
List the names and comments of all clients who
have viewed a property for rent.
(ΠclientNo,fName, lName(Client)) Client.clientNo=Viewing.clientNo (ΠclientNo, propertyNo,
comment(Viewing))
33
Natural join
R S
– An Equijoin of the two relations R and S over all
common attributes x. One occurrence of each
common attribute is eliminated from the result.
34
Example - Natural join
List the names and comments of all clients who
have viewed a property for rent.
(ΠclientNo, fName,lName(Client))
(ΠclientNo,propertyNo, comment(Viewing))
35
Outer join
To display rows in the result that do not have
matching values in the join column, use Outer
join.
R S
– (Left) outer join is join in which tuples from
R that do not have matching values in
common columns of S are also included in
result relation.
36
Example - Left Outer join
Produce a status report on property viewings.
ΠpropertyNo, street, city(PropertyForRent)
Viewing
37
Semijoin
R FS
– Defines a relation that contains the tuples of R that
participate in the join of R with S.
– It performs a join on two relations and then project
Over the attributes of first operand.
Can rewrite Semijoin using Projection and Join:
R F S = ΠA(R F S)
38
Example - Semijoin
List complete details of all staff who work at the
branch in Glasgow.
Staff Staff.branchNo=Branch.branchNo(σcity=‘Glasgow’(Branch))
39
Division
R ÷ S
– Defines a relation over the attributes C that consists of
set of tuples from R that match combination of every
tuple in S.
Expressed using basic operations:
T1 ← ΠC(R)
T2 ← ΠC((S X T1) – R)
T ← T1 – T2
40
Example - Division
Identify all clients who have viewed all properties
with three rooms.
(ΠclientNo,propertyNo(Viewing)) ÷
(ΠpropertyNo(σrooms=3 (PropertyForRent)))
Relational DBMS
The following tables form part of a database held in a
relational DBMS:
Hotel (hotelNo, hotelName, city)
Room (roomNo, hotelNo, type, price)
Booking (hotelNo, guestNo, dateFrom, dateTo,
roomNo)
Guest (guestNo, guestName, guestAddress)
41
Exercise – Determine temporary relations
42
Exercise – Gererate Relational algebra
List all hotels.
List all single rooms with a price below £20 per night.
List the names and cities of all guests.
List the price and type of all rooms at the Grosvenor
Hotel.
List all guests currently staying at the Grosvenor Hotel.
List the details of all rooms at the Grosvenor Hotel,
including the name of the guest staying in the room, if
the room is occupied.
List the guest details (guestNo, guestName, and
guestAddress) of all guests staying at the Grosvenor
43
SQL
Structured Query Language (SQL)
– Standardised by ANSI
– Supported by modern RDBMSs
Commands fall into three groups
– Data Definition Language (DLL)
» Create tables, etc
– Data Manipulation Language (DML)
» Retrieve and modify data
– Data Control Language
» Control what users can do – grant and revoke privileges
44

Más contenido relacionado

La actualidad más candente

Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra pptGirdharRatne
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model IntroductionNishant Munjal
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMSkoolkampus
 
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
FUNCTION DEPENDENCY  AND TYPES & EXAMPLEFUNCTION DEPENDENCY  AND TYPES & EXAMPLE
FUNCTION DEPENDENCY AND TYPES & EXAMPLEVraj Patel
 
Functional dependencies in Database Management System
Functional dependencies in Database Management SystemFunctional dependencies in Database Management System
Functional dependencies in Database Management SystemKevin Jadiya
 
Chapter-7 Relational Calculus
Chapter-7 Relational CalculusChapter-7 Relational Calculus
Chapter-7 Relational CalculusKunal Anand
 
Decomposition methods in DBMS
Decomposition methods in DBMSDecomposition methods in DBMS
Decomposition methods in DBMSsoniyagoyal3
 
Enhanced Entity-Relationship (EER) Modeling
Enhanced Entity-Relationship (EER) ModelingEnhanced Entity-Relationship (EER) Modeling
Enhanced Entity-Relationship (EER) Modelingsontumax
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbmsshekhar1991
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)usama nizam
 
STRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIESSTRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIESVENNILAV6
 
DBMS Question bank
DBMS Question bankDBMS Question bank
DBMS Question bankSara Sahu
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database conceptsTemesgenthanks
 

La actualidad más candente (20)

Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Relational model
Relational modelRelational model
Relational model
 
Relational algebra ppt
Relational algebra pptRelational algebra ppt
Relational algebra ppt
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
 
Normal forms
Normal formsNormal forms
Normal forms
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
FUNCTION DEPENDENCY  AND TYPES & EXAMPLEFUNCTION DEPENDENCY  AND TYPES & EXAMPLE
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
 
Functional dependencies in Database Management System
Functional dependencies in Database Management SystemFunctional dependencies in Database Management System
Functional dependencies in Database Management System
 
Unit05 dbms
Unit05 dbmsUnit05 dbms
Unit05 dbms
 
Chapter-7 Relational Calculus
Chapter-7 Relational CalculusChapter-7 Relational Calculus
Chapter-7 Relational Calculus
 
Decomposition methods in DBMS
Decomposition methods in DBMSDecomposition methods in DBMS
Decomposition methods in DBMS
 
Enhanced Entity-Relationship (EER) Modeling
Enhanced Entity-Relationship (EER) ModelingEnhanced Entity-Relationship (EER) Modeling
Enhanced Entity-Relationship (EER) Modeling
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)
 
STRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIESSTRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIES
 
DBMS Question bank
DBMS Question bankDBMS Question bank
DBMS Question bank
 
Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
 
relational algebra
relational algebrarelational algebra
relational algebra
 

Destacado

Relational Algebra-Database Systems
Relational Algebra-Database SystemsRelational Algebra-Database Systems
Relational Algebra-Database Systemsjakodongo
 
Presentation on dbms(relational calculus)
Presentation on dbms(relational calculus)Presentation on dbms(relational calculus)
Presentation on dbms(relational calculus)yourbookworldanil
 
Relational algebra calculus
Relational algebra  calculusRelational algebra  calculus
Relational algebra calculusVaibhav Kathuria
 
Relational Algebra
Relational AlgebraRelational Algebra
Relational Algebraguest20b0b3
 
Lecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculusLecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculusemailharmeet
 
Relational algebra
Relational algebraRelational algebra
Relational algebrashynajain
 
Introduction to Relational Algebra
Introduction to Relational AlgebraIntroduction to Relational Algebra
Introduction to Relational AlgebraJames McMurray
 
DBMS FOR STUDENTS MUST DOWNLOAD AND READ
DBMS FOR STUDENTS MUST DOWNLOAD AND READDBMS FOR STUDENTS MUST DOWNLOAD AND READ
DBMS FOR STUDENTS MUST DOWNLOAD AND READamitp26
 
5 the relational algebra and calculus
5 the relational algebra and calculus5 the relational algebra and calculus
5 the relational algebra and calculusKumar
 
Database Systems - Relational Data Model (Chapter 2)
Database Systems - Relational Data Model (Chapter 2)Database Systems - Relational Data Model (Chapter 2)
Database Systems - Relational Data Model (Chapter 2)Vidyasagar Mundroy
 
Stream classes in C++
Stream classes in C++Stream classes in C++
Stream classes in C++Shyam Gupta
 
Cursors, triggers, procedures
Cursors, triggers, proceduresCursors, triggers, procedures
Cursors, triggers, proceduresVaibhav Kathuria
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams Ahmed Farag
 
Dbms ii mca-ch11-recovery-2013
Dbms ii mca-ch11-recovery-2013Dbms ii mca-ch11-recovery-2013
Dbms ii mca-ch11-recovery-2013Prosanta Ghosh
 
Orag. of lab services
Orag. of lab servicesOrag. of lab services
Orag. of lab servicesNc Das
 
Database recovery techniques
Database recovery techniquesDatabase recovery techniques
Database recovery techniquespusp220
 

Destacado (20)

Relational Algebra-Database Systems
Relational Algebra-Database SystemsRelational Algebra-Database Systems
Relational Algebra-Database Systems
 
Presentation on dbms(relational calculus)
Presentation on dbms(relational calculus)Presentation on dbms(relational calculus)
Presentation on dbms(relational calculus)
 
Relational algebra calculus
Relational algebra  calculusRelational algebra  calculus
Relational algebra calculus
 
Relational Algebra
Relational AlgebraRelational Algebra
Relational Algebra
 
Lecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculusLecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculus
 
Relational algebra
Relational algebraRelational algebra
Relational algebra
 
Introduction to Relational Algebra
Introduction to Relational AlgebraIntroduction to Relational Algebra
Introduction to Relational Algebra
 
DBMS FOR STUDENTS MUST DOWNLOAD AND READ
DBMS FOR STUDENTS MUST DOWNLOAD AND READDBMS FOR STUDENTS MUST DOWNLOAD AND READ
DBMS FOR STUDENTS MUST DOWNLOAD AND READ
 
Database Lecture Notes
Database Lecture NotesDatabase Lecture Notes
Database Lecture Notes
 
5 the relational algebra and calculus
5 the relational algebra and calculus5 the relational algebra and calculus
5 the relational algebra and calculus
 
Database Systems - Relational Data Model (Chapter 2)
Database Systems - Relational Data Model (Chapter 2)Database Systems - Relational Data Model (Chapter 2)
Database Systems - Relational Data Model (Chapter 2)
 
Stream classes in C++
Stream classes in C++Stream classes in C++
Stream classes in C++
 
Trigger
TriggerTrigger
Trigger
 
Cursors, triggers, procedures
Cursors, triggers, proceduresCursors, triggers, procedures
Cursors, triggers, procedures
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
C++ Files and Streams
C++ Files and Streams C++ Files and Streams
C++ Files and Streams
 
Sql ch 13 - sql-views
Sql ch 13 - sql-viewsSql ch 13 - sql-views
Sql ch 13 - sql-views
 
Dbms ii mca-ch11-recovery-2013
Dbms ii mca-ch11-recovery-2013Dbms ii mca-ch11-recovery-2013
Dbms ii mca-ch11-recovery-2013
 
Orag. of lab services
Orag. of lab servicesOrag. of lab services
Orag. of lab services
 
Database recovery techniques
Database recovery techniquesDatabase recovery techniques
Database recovery techniques
 

Similar a Relational algebra-and-relational-calculus

Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)Raj vardhan
 
Relational algebra dbms (2130703) - 160920107003
Relational algebra  dbms (2130703) - 160920107003Relational algebra  dbms (2130703) - 160920107003
Relational algebra dbms (2130703) - 160920107003Prashant odhavani
 
Module 2-2.ppt
Module 2-2.pptModule 2-2.ppt
Module 2-2.pptShylaja40
 
Relational algebra operations
Relational algebra operationsRelational algebra operations
Relational algebra operationsSanthiNivas
 
relational model in Database Management.ppt.ppt
relational model in Database Management.ppt.pptrelational model in Database Management.ppt.ppt
relational model in Database Management.ppt.pptRoshni814224
 
3._Relational_Algebra.pptx:Basics of relation algebra
3._Relational_Algebra.pptx:Basics of relation algebra3._Relational_Algebra.pptx:Basics of relation algebra
3._Relational_Algebra.pptx:Basics of relation algebraZakriyaMalik2
 
Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013Prosanta Ghosh
 
Unit-II DBMS presentation for students.pdf
Unit-II DBMS presentation for students.pdfUnit-II DBMS presentation for students.pdf
Unit-II DBMS presentation for students.pdfajajkhan16
 
Module 2 - part i
Module   2 - part iModule   2 - part i
Module 2 - part iParthNavale
 

Similar a Relational algebra-and-relational-calculus (20)

Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
Relational Algebra Ch6 (Navathe 4th edition)/ Ch7 (Navathe 3rd edition)
 
Relational algebra dbms (2130703) - 160920107003
Relational algebra  dbms (2130703) - 160920107003Relational algebra  dbms (2130703) - 160920107003
Relational algebra dbms (2130703) - 160920107003
 
Module 2-2.ppt
Module 2-2.pptModule 2-2.ppt
Module 2-2.ppt
 
Cs501 rel algebra
Cs501 rel algebraCs501 rel algebra
Cs501 rel algebra
 
Relational algebra operations
Relational algebra operationsRelational algebra operations
Relational algebra operations
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
 
DBMS CS3
DBMS CS3DBMS CS3
DBMS CS3
 
354 ch6
354 ch6354 ch6
354 ch6
 
relational model in Database Management.ppt.ppt
relational model in Database Management.ppt.pptrelational model in Database Management.ppt.ppt
relational model in Database Management.ppt.ppt
 
3._Relational_Algebra.pptx:Basics of relation algebra
3._Relational_Algebra.pptx:Basics of relation algebra3._Relational_Algebra.pptx:Basics of relation algebra
3._Relational_Algebra.pptx:Basics of relation algebra
 
Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013
 
Unit-II DBMS presentation for students.pdf
Unit-II DBMS presentation for students.pdfUnit-II DBMS presentation for students.pdf
Unit-II DBMS presentation for students.pdf
 
Lllll
LllllLllll
Lllll
 
Module 2 - part i
Module   2 - part iModule   2 - part i
Module 2 - part i
 
Lec02
Lec02Lec02
Lec02
 
Chapter6
Chapter6Chapter6
Chapter6
 
3.ppt
3.ppt3.ppt
3.ppt
 
Relational Algebra-23-04-2023.pdf
Relational Algebra-23-04-2023.pdfRelational Algebra-23-04-2023.pdf
Relational Algebra-23-04-2023.pdf
 
Ra Revision
Ra RevisionRa Revision
Ra Revision
 
L8 design1
L8 design1L8 design1
L8 design1
 

Más de Salman Vadsarya

Más de Salman Vadsarya (7)

Mobile communications
Mobile communicationsMobile communications
Mobile communications
 
Expression trees
Expression treesExpression trees
Expression trees
 
Sorting Technique
Sorting TechniqueSorting Technique
Sorting Technique
 
The job application process interview
The job application process interviewThe job application process interview
The job application process interview
 
Er modeling guide
Er modeling guideEr modeling guide
Er modeling guide
 
Arificail Intelligence and robotics
Arificail Intelligence and roboticsArificail Intelligence and robotics
Arificail Intelligence and robotics
 
History of computer
History of computerHistory of computer
History of computer
 

Último

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Último (20)

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Relational algebra-and-relational-calculus

  • 1. Chapter 4 Relational Algebra and Relational Calculus Transparencies
  • 2. Relational Algebra Relational algebra and relational calculus are formal languages associated with the relational model. The Relational Algebra is used to define the ways in which relations (tables) can be operated to manipulate their data. It is used as the basis of SQL for relational databases, and illustrates the basic operations required of any DML. 2
  • 3. 3 Relational Algebra Relational algebra operations work on one or more relations to define another relation without changing the original relations. Both operands and results are relations, so output from one operation can become input to another operation. Allows expressions to be nested, just as in arithmetic. This property is called closure.
  • 4. 4 Relational algebra VS Relational Calculus Informally, relational algebra is a (high-level) procedural language and relational calculus a non-procedural language. – Difference ?? However, formally both are equivalent to one another. A language that produces a relation that can be derived using relational calculus is relationally complete. What & How
  • 5. 5 Relational Algebra This Algebra is composed of Unary operations (involving a single table) and Binary operations (involving multiple tables). Five basic operations in relational algebra: Selection, Projection, Cartesian product, Union, and Set Difference. These perform most of the data retrieval operations needed. Also have Join, Intersection, and Division operations, which can be expressed in terms of 5 basic operations.
  • 8. 8 Selection (or Restriction) σpredicate (R) – Works on a single relation R and defines a relation that contains only those tuples (rows) of R that satisfy the specified condition (predicate). – Unary Operation σ <condition> < tablename > Conditions in Selection: Simple Condition: (attribute)(comparison)(attribute) (attribute)(comparison)(constant) Comparison: =,≠,≤,≥,<,>
  • 9. Select Operator Example Name Age Weight Harry 34 80 Sally 28 64 George 29 70 Helena 54 54 Peter 34 80 Name Age Weight Harry 34 80 Helena 54 54 Peter 34 80 Person бAge≥34(Person) Name Age Weight Helena 54 54 бAge=Weight(Person)
  • 10. 10 Example - Selection (or Restriction) List all staff with a salary greater than £10,000. σsalary >10000 (Staff)
  • 11. 11 Projection Πcol1, .. . ,coln(R) – Works on a single relation R and defines a relation that contains a vertical subset of R, extracting the values of specified attributes and eliminating duplicates. π <columnlist > < tablename > e.g., name of employees: ∏ name(Employee) e.g., name of employees earning more than 80,000: ∏ name(бSalary>80,000(Employee))
  • 12. Project Operator Example Name Age Salary Harry 34 80,000 Sally 28 90,000 George 29 70,000 Helena 54 54,280 Peter 34 40,000 Name Harry Sally George Helena Peter Employee ∏ name(Employee)
  • 13. Project Operator Example Name Age Salary Harry 34 80,000 Sally 28 90,000 George 29 70,000 Helena 54 54,280 Peter 34 40,000 Name Sally Employee бSalary>80,000(Employee) Name Age Salary Sally 28 90,000 ∏ name(бSalary>80,000(Employee))
  • 14. 14 Example - Projection Produce a list of salaries for all staff, showing only staffNo, fName, lName, and salary details. ΠstaffNo, fName,lName, salary(Staff)
  • 15. Union, Intersection, Set-Difference All of these operations take two input relations, which must be union-compatible: – Same number of fields. – `Corresponding’ fields have the same type. 15
  • 16. 16 Union R ∪ S – Union of two relations R and S defines a relation that contains all the tuples of R, or S, or both R and S, duplicate tuples being eliminated. – R and S must be union-compatible. If R and S have I and J tuples, respectively, union is obtained by concatenating them into one relation with a maximum of (I + J) tuples.
  • 17. Union Operator Example FN LN Susan Yao Ramesh Shah Barbara Jones Amy Ford Jimmy Wang FN LN John Smith Ricardo Brown Susan Yao Francis Johnson Ramesh Shah Student Professor FN LN Susan Yao Ramesh Shah Barbara Jones Amy Ford Jimmy Wang John Smith Ricardo Brown Francis Johnson Student U Professor
  • 18. 18 Example - Union List all cities where there is either a branch office or a property for rent. Πcity(Branch) ∪ Πcity(PropertyForRent)
  • 19. 19 Set Difference R – S – Defines a relation consisting of the tuples that are in relation R, but not in S. – R and S must be union-compatible.
  • 20. Set Difference Operator Example FN LN Susan Yao Ramesh Shah Barbara Jones Amy Ford Jimmy Wang FN LN John Smith Ricardo Brown Susan Yao Francis Johnson Ramesh Shah Student Professor FN LN Barbara Jones Amy Ford Jimmy Wang Student - Professor FN LN John Smith Ricardo Brown Francis Johnson Professor - Student
  • 21. 21 Example - Set Difference List all cities where there is a branch office but no properties for rent. Πcity(Branch) – Πcity(PropertyForRent)
  • 22. 22 Intersection R ∩ S – Defines a relation consisting of the set of all tuples that are in both R and S. – R and S must be union-compatible. Expressed using basic operations: R ∩ S = R – (R – S)
  • 23. Intersection Operator Example FN LN Susan Yao Ramesh Shah Barbara Jones Amy Ford Jimmy Wang FN LN John Smith Ricardo Brown Susan Yao Francis Johnson Ramesh Shah Student Professor FN LN Susan Yao Ramesh Shah Student ∩ Professor
  • 24. 24 Example - Intersection List all cities where there is both a branch office and at least one property for rent. Πcity(Branch) ∩ Πcity(PropertyForRent)
  • 25. 25 Cartesian product R X S – Defines a relation that is the concatenation of every tuple of relation R with every tuple of relation S.
  • 26. 26 Example - Cartesian product List the names and comments of all clients who have viewed a property for rent. (ΠclientNo,fName,lName(Client)) X (ΠclientNo,propertyNo,comment(Viewing))
  • 27. 27 Example - Cartesian product and Selection Use selection operation to extract those tuples where Client.clientNo = Viewing.clientNo. σClient.clientNo=Viewing.clientNo((∏clientNo,fName, lName(Client)) Χ (∏clientNo, propertyNo, comment(Viewing))) Cartesian product and Selection can be reduced to a single operation called a Join.
  • 28. 28 Join Operations Join is a derivative of Cartesian product. Equivalent to performing a Selection, using join predicate as selection formula, over Cartesian product of the two operand relations. One of the most difficult operations to implement efficiently in an RDBMS and one reason why RDBMSs have intrinsic performance problems.
  • 29. 29 Join Operations Various forms of join operation – Theta join – Equijoin (a particular type of Theta join) – Natural join – Outer join – Semijoin
  • 30. 30 Theta join (θ-join) R FS – Defines a relation that contains tuples satisfying the predicate F from the Cartesian product of R and S. – The predicate F is of the form R.ai θ S.bi where θ may be one of the comparison operators (<, ≤, >, ≥, =, ≠).
  • 31. 31 Theta join (θ-join) Can rewrite Theta join using basic Selection and Cartesian product operations. R FS = σF(R Χ S) Degree of a Theta join is sum of degrees of the operand relations R and S. If predicate F contains only equality (=), the term Equijoin is used.
  • 32. 32 Example - Equijoin List the names and comments of all clients who have viewed a property for rent. (ΠclientNo,fName, lName(Client)) Client.clientNo=Viewing.clientNo (ΠclientNo, propertyNo, comment(Viewing))
  • 33. 33 Natural join R S – An Equijoin of the two relations R and S over all common attributes x. One occurrence of each common attribute is eliminated from the result.
  • 34. 34 Example - Natural join List the names and comments of all clients who have viewed a property for rent. (ΠclientNo, fName,lName(Client)) (ΠclientNo,propertyNo, comment(Viewing))
  • 35. 35 Outer join To display rows in the result that do not have matching values in the join column, use Outer join. R S – (Left) outer join is join in which tuples from R that do not have matching values in common columns of S are also included in result relation.
  • 36. 36 Example - Left Outer join Produce a status report on property viewings. ΠpropertyNo, street, city(PropertyForRent) Viewing
  • 37. 37 Semijoin R FS – Defines a relation that contains the tuples of R that participate in the join of R with S. – It performs a join on two relations and then project Over the attributes of first operand. Can rewrite Semijoin using Projection and Join: R F S = ΠA(R F S)
  • 38. 38 Example - Semijoin List complete details of all staff who work at the branch in Glasgow. Staff Staff.branchNo=Branch.branchNo(σcity=‘Glasgow’(Branch))
  • 39. 39 Division R ÷ S – Defines a relation over the attributes C that consists of set of tuples from R that match combination of every tuple in S. Expressed using basic operations: T1 ← ΠC(R) T2 ← ΠC((S X T1) – R) T ← T1 – T2
  • 40. 40 Example - Division Identify all clients who have viewed all properties with three rooms. (ΠclientNo,propertyNo(Viewing)) ÷ (ΠpropertyNo(σrooms=3 (PropertyForRent)))
  • 41. Relational DBMS The following tables form part of a database held in a relational DBMS: Hotel (hotelNo, hotelName, city) Room (roomNo, hotelNo, type, price) Booking (hotelNo, guestNo, dateFrom, dateTo, roomNo) Guest (guestNo, guestName, guestAddress) 41
  • 42. Exercise – Determine temporary relations 42
  • 43. Exercise – Gererate Relational algebra List all hotels. List all single rooms with a price below £20 per night. List the names and cities of all guests. List the price and type of all rooms at the Grosvenor Hotel. List all guests currently staying at the Grosvenor Hotel. List the details of all rooms at the Grosvenor Hotel, including the name of the guest staying in the room, if the room is occupied. List the guest details (guestNo, guestName, and guestAddress) of all guests staying at the Grosvenor 43
  • 44. SQL Structured Query Language (SQL) – Standardised by ANSI – Supported by modern RDBMSs Commands fall into three groups – Data Definition Language (DLL) » Create tables, etc – Data Manipulation Language (DML) » Retrieve and modify data – Data Control Language » Control what users can do – grant and revoke privileges 44