SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Database Keys
Database KeysDatabase Keys
Database Keys
 
RDBMS
RDBMSRDBMS
RDBMS
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
Relational model
Relational modelRelational model
Relational model
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Commands of DML in SQL
Commands of DML in SQLCommands of DML in SQL
Commands of DML in SQL
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
Types Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql ServerTypes Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql Server
 
Create table
Create tableCreate table
Create table
 
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with ExamplesDML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
 
STRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIESSTRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIES
 
Unit I Database concepts - RDBMS & ORACLE
Unit I  Database concepts - RDBMS & ORACLEUnit I  Database concepts - RDBMS & ORACLE
Unit I Database concepts - RDBMS & ORACLE
 
Introduction to sql
Introduction to sqlIntroduction to sql
Introduction to sql
 
Normal forms
Normal formsNormal forms
Normal forms
 
Nested Queries Lecture
Nested Queries LectureNested Queries Lecture
Nested Queries Lecture
 
Codd's rules
Codd's rulesCodd's rules
Codd's rules
 
7. Relational Database Design in DBMS
7. Relational Database Design in DBMS7. Relational Database Design in DBMS
7. Relational Database Design in DBMS
 

Andere mochten auch

Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbmsshekhar1991
 
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
 

Andere mochten auch (20)

Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
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
 

Ähnlich wie 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
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMSkoolkampus
 
Module 2 - part i
Module   2 - part iModule   2 - part i
Module 2 - part iParthNavale
 

Ähnlich wie 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
 
relational algebra
relational algebrarelational algebra
relational algebra
 
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
 
3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
 
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
 

Mehr von Salman Vadsarya

Mehr von 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
 

Kürzlich hochgeladen

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 

Kürzlich hochgeladen (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 

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