SlideShare a Scribd company logo
Lecture 22:
Relational Algebra
Friday, November 19, 2004
DBMS Architecture
How does a SQL engine work ?
• SQL query  relational algebra plan
• Relational algebra plan  Optimized plan
• Execute each operator of the plan
Relational Algebra
• Formalism for creating new relations from
existing ones
• Its place in the big picture:
Declartive
query
language
Algebra Implementation
SQL,
relational calculus
Relational algebra
Relational bag algebra
Relational Algebra
• Five operators:
– Union: 
– Difference: -
– Selection: s
– Projection: P
– Cartesian Product: 
• Derived or auxiliary operators:
– Intersection, complement
– Joins (natural,equi-join, theta join, semi-join)
– Renaming: r
1. Union and 2. Difference
• R1  R2
• Example:
– ActiveEmployees  RetiredEmployees
• R1 – R2
• Example:
– AllEmployees -- RetiredEmployees
What about Intersection ?
• It is a derived operator
• R1  R2 = R1 – (R1 – R2)
• Also expressed as a join (will see later)
• Example
– UnionizedEmployees  RetiredEmployees
3. Selection
• Returns all tuples which satisfy a condition
• Notation: sc(R)
• Examples
– sSalary > 40000 (Employee)
– sname = “Smith” (Employee)
• The condition c can be =, <, , >, , <>
sSalary > 40000 (Employee)
SSN Name Salary
1234545 John 200000
5423341 Smith 600000
4352342 Fred 500000
SSN Name Salary
5423341 Smith 600000
4352342 Fred 500000
4. Projection
• Eliminates columns, then removes duplicates
• Notation: P A1,…,An (R)
• Example: project social-security number and
names:
– P SSN, Name (Employee)
– Output schema: Answer(SSN, Name)
P Name,Salary (Employee)
SSN Name Salary
1234545 John 200000
5423341 John 600000
4352342 John 200000
Name Salary
John 20000
John 60000
5. Cartesian Product
• Each tuple in R1 with each tuple in R2
• Notation: R1  R2
• Example:
– Employee  Dependents
• Very rare in practice; mainly used to express
joins
Cartesian Product Example
Employee
Name SSN
John 999999999
Tony 777777777
Dependents
EmployeeSSN Dname
999999999 Emily
777777777 Joe
Employee x Dependents
Name SSN EmployeeSSN Dname
John 999999999 999999999 Emily
John 999999999 777777777 Joe
Tony 777777777 999999999 Emily
Tony 777777777 777777777 Joe
Relational Algebra
• Five operators:
– Union: 
– Difference: -
– Selection: s
– Projection: P
– Cartesian Product: 
• Derived or auxiliary operators:
– Intersection, complement
– Joins (natural,equi-join, theta join, semi-join)
– Renaming: r
Renaming
• Changes the schema, not the instance
• Notation: r B1,…,Bn (R)
• Example:
– rLastName, SocSocNo (Employee)
– Output schema:
Answer(LastName, SocSocNo)
Renaming Example
Employee
Name SSN
John 999999999
Tony 777777777
LastName SocSocNo
John 999999999
Tony 777777777
rLastName, SocSocNo (Employee)
Natural Join
• Notation: R1 || R2
• Meaning: R1 || R2 = PA(sC(R1  R2))
• Where:
– The selection sC checks equality of all common
attributes
– The projection eliminates the duplicate common
attributes
Natural Join Example
Employee
Name SSN
John 999999999
Tony 777777777
Dependents
SSN Dname
999999999 Emily
777777777 Joe
Name SSN Dname
John 999999999 Emily
Tony 777777777 Joe
Employee Dependents =
PName, SSN, Dname(s SSN=SSN2(Employee x rSSN2, Dname(Dependents))
Natural Join
• R= S=
• R || S=
A B
X Y
X Z
Y Z
Z V
B C
Z U
V W
Z V
A B C
X Z U
X Z V
Y Z U
Y Z V
Z V W
Natural Join
• Given the schemas R(A, B, C, D), S(A, C, E),
what is the schema of R || S ?
• Given R(A, B, C), S(D, E), what is R || S ?
• Given R(A, B), S(A, B), what is R || S ?
Theta Join
• A join that involves a predicate
• R1 || q R2 = s q (R1  R2)
• Here q can be any condition
Eq-join
• A theta join where q is an equality
• R1 || A=B R2 = s A=B (R1  R2)
• Example:
– Employee || SSN=SSN Dependents
• Most useful join in practice
Semijoin
• R | S = P A1,…,An (R || S)
• Where A1, …, An are the attributes in R
• Example:
– Employee | Dependents
Semijoins in Distributed
Databases
• Semijoins are used in distributed databases
SSN Name
. . . . . .
SSN Dname Age
. . . . . .
Employee
Dependents
network
Employee | ssn=ssn (s age>71 (Dependents))
T = P SSN s age>71 (Dependents)
R = Employee | T
Answer = R || Dependents
Complex RA Expressions
Person Purchase Person Product
sname=fred sname=gizmo
P pid
P ssn
seller-ssn=ssn
pid=pid
buyer-ssn=ssn
P name
Operations on Bags
A bag = a set with repeated elements
All operations need to be defined carefully on bags
• {a,b,b,c}{a,b,b,b,e,f,f}={a,a,b,b,b,b,b,c,e,f,f}
• {a,b,b,b,c,c} – {b,c,c,c,d} = {a,b,b,d}
• sC(R): preserve the number of occurrences
• PA(R): no duplicate elimination
• Cartesian product, join: no duplicate elimination
Important ! Relational Engines work on bags, not sets !
Reading assignment: 5.3 – 5.4
Finally: RA has Limitations !
• Cannot compute “transitive closure”
• Find all direct and indirect relatives of Fred
• Cannot express in RA !!! Need to write C program
Name1 Name2 Relationship
Fred Mary Father
Mary Joe Cousin
Mary Bill Spouse
Nancy Lou Sister

More Related Content

Similar to lecture22.pptx relational Algebra basics types (20)

PPTX
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
kudiyarc
 
PPT
Query execution
Digvijay Singh
 
PPTX
Relational operation final
Student
 
PPT
354 ch6
Yibelital Alemu
 
PDF
Relational Database and Relational Algebra
Pyingkodi Maran
 
PPT
Relational Algebra1.ppt
20DCE031RAJGANATRA
 
PPT
2. Relational Algebra.ppt
SATHYABAMAMADHANKUMA
 
PPTX
7-Aljabar-Relasional-dan-Query-Processing.pptx
quiztugasujian
 
PPT
Relational Algebra
Amin Omi
 
PDF
Algebra
himanshu211
 
PPTX
Relational Model,relational calulus.pptx
prachi gat
 
PPT
lecture2.ppt
BALAMURUGANK63
 
PPT
lecture2.ppt
ImXaib
 
PPT
Query compiler
Digvijay Singh
 
PPTX
Module 2_Relational Algebra.pptx
ShashiKumarB5
 
PPT
Sql server select queries ppt 18
Vibrant Technologies & Computers
 
PDF
ML111 Lecture 5 Relational Algebra and Advanced SQL.pdf
tory10027
 
PPT
E212d9a797dbms chapter3 b.sc2
Mukund Trivedi
 
PPT
E212d9a797dbms chapter3 b.sc2 (1)
Mukund Trivedi
 
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
kudiyarc
 
Query execution
Digvijay Singh
 
Relational operation final
Student
 
Relational Database and Relational Algebra
Pyingkodi Maran
 
Relational Algebra1.ppt
20DCE031RAJGANATRA
 
2. Relational Algebra.ppt
SATHYABAMAMADHANKUMA
 
7-Aljabar-Relasional-dan-Query-Processing.pptx
quiztugasujian
 
Relational Algebra
Amin Omi
 
Algebra
himanshu211
 
Relational Model,relational calulus.pptx
prachi gat
 
lecture2.ppt
BALAMURUGANK63
 
lecture2.ppt
ImXaib
 
Query compiler
Digvijay Singh
 
Module 2_Relational Algebra.pptx
ShashiKumarB5
 
Sql server select queries ppt 18
Vibrant Technologies & Computers
 
ML111 Lecture 5 Relational Algebra and Advanced SQL.pdf
tory10027
 
E212d9a797dbms chapter3 b.sc2
Mukund Trivedi
 
E212d9a797dbms chapter3 b.sc2 (1)
Mukund Trivedi
 

More from sadiariasat10 (20)

PPTX
transactionprocessingppt-171212112608.pptx
sadiariasat10
 
PPTX
BrownbagIntrotosqltuning.pptx SQL tunning
sadiariasat10
 
PPTX
BrownbagIntrotosqltuning.pptx SQL tunning
sadiariasat10
 
PPTX
48131.pptx researching methods research methods
sadiariasat10
 
PPTX
6._Research_methods_quan_qual_and_mixed_Paul_B_and_Anne_J.ppt methods x
sadiariasat10
 
PPTX
IS-Overview.pptx information system in business
sadiariasat10
 
PPTX
aggregatefunction-220420051702.pptx aggregate
sadiariasat10
 
PPTX
DDL and DML.pptx ddl vs dml ddl and dml ddl and dml
sadiariasat10
 
PPTX
me-introduction-may-2.pptx intro to basic
sadiariasat10
 
PPTX
module-5-session-1.pptx module 5 session
sadiariasat10
 
PPTX
hrm301-10.pptx HRm HRM HRM HRM HRM HRM HRM HRM
sadiariasat10
 
PPTX
EquityReinforcement.pptx Equity theory in
sadiariasat10
 
PPTX
Normalization.pptx Functional dependence
sadiariasat10
 
PPTX
ch13.pptx Database effefiency and tuning
sadiariasat10
 
PPTX
ieee802-11.pptx wireless lan IEEE 802 11
sadiariasat10
 
PPTX
IEEE-802.11overview.pptx ieee 802 11 overview
sadiariasat10
 
PPTX
signal propagation.pptx basics of signal propagation
sadiariasat10
 
PPTX
lan-141028090025-conversion-gate02.pptx LAN MAN WAN
sadiariasat10
 
PPTX
DOC-20240829-WA0013..pptx introduction to LAN Man and wan
sadiariasat10
 
PPTX
Website-IASBO-SBOA-How-to-prepare-for-an-audit.pptx
sadiariasat10
 
transactionprocessingppt-171212112608.pptx
sadiariasat10
 
BrownbagIntrotosqltuning.pptx SQL tunning
sadiariasat10
 
BrownbagIntrotosqltuning.pptx SQL tunning
sadiariasat10
 
48131.pptx researching methods research methods
sadiariasat10
 
6._Research_methods_quan_qual_and_mixed_Paul_B_and_Anne_J.ppt methods x
sadiariasat10
 
IS-Overview.pptx information system in business
sadiariasat10
 
aggregatefunction-220420051702.pptx aggregate
sadiariasat10
 
DDL and DML.pptx ddl vs dml ddl and dml ddl and dml
sadiariasat10
 
me-introduction-may-2.pptx intro to basic
sadiariasat10
 
module-5-session-1.pptx module 5 session
sadiariasat10
 
hrm301-10.pptx HRm HRM HRM HRM HRM HRM HRM HRM
sadiariasat10
 
EquityReinforcement.pptx Equity theory in
sadiariasat10
 
Normalization.pptx Functional dependence
sadiariasat10
 
ch13.pptx Database effefiency and tuning
sadiariasat10
 
ieee802-11.pptx wireless lan IEEE 802 11
sadiariasat10
 
IEEE-802.11overview.pptx ieee 802 11 overview
sadiariasat10
 
signal propagation.pptx basics of signal propagation
sadiariasat10
 
lan-141028090025-conversion-gate02.pptx LAN MAN WAN
sadiariasat10
 
DOC-20240829-WA0013..pptx introduction to LAN Man and wan
sadiariasat10
 
Website-IASBO-SBOA-How-to-prepare-for-an-audit.pptx
sadiariasat10
 
Ad

Recently uploaded (20)

PPTX
Transforming Insights: How Generative AI is Revolutionizing Data Analytics
LetsAI Solutions
 
PDF
Why is partnering with a SaaS development company crucial for enterprise succ...
Nextbrain Technologies
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
From spreadsheets and delays to real-time control
SatishKumar2651
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
PPTX
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
PDF
UITP Summit Meep Pitch may 2025 MaaS Rebooted
campoamor1
 
PDF
Latest Capcut Pro 5.9.0 Crack Version For PC {Fully 2025
utfefguu
 
PPTX
Prompt Like a Pro. Leveraging Salesforce Data to Power AI Workflows.pptx
Dele Amefo
 
Transforming Insights: How Generative AI is Revolutionizing Data Analytics
LetsAI Solutions
 
Why is partnering with a SaaS development company crucial for enterprise succ...
Nextbrain Technologies
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
From spreadsheets and delays to real-time control
SatishKumar2651
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
UITP Summit Meep Pitch may 2025 MaaS Rebooted
campoamor1
 
Latest Capcut Pro 5.9.0 Crack Version For PC {Fully 2025
utfefguu
 
Prompt Like a Pro. Leveraging Salesforce Data to Power AI Workflows.pptx
Dele Amefo
 
Ad

lecture22.pptx relational Algebra basics types

  • 2. DBMS Architecture How does a SQL engine work ? • SQL query  relational algebra plan • Relational algebra plan  Optimized plan • Execute each operator of the plan
  • 3. Relational Algebra • Formalism for creating new relations from existing ones • Its place in the big picture: Declartive query language Algebra Implementation SQL, relational calculus Relational algebra Relational bag algebra
  • 4. Relational Algebra • Five operators: – Union:  – Difference: - – Selection: s – Projection: P – Cartesian Product:  • Derived or auxiliary operators: – Intersection, complement – Joins (natural,equi-join, theta join, semi-join) – Renaming: r
  • 5. 1. Union and 2. Difference • R1  R2 • Example: – ActiveEmployees  RetiredEmployees • R1 – R2 • Example: – AllEmployees -- RetiredEmployees
  • 6. What about Intersection ? • It is a derived operator • R1  R2 = R1 – (R1 – R2) • Also expressed as a join (will see later) • Example – UnionizedEmployees  RetiredEmployees
  • 7. 3. Selection • Returns all tuples which satisfy a condition • Notation: sc(R) • Examples – sSalary > 40000 (Employee) – sname = “Smith” (Employee) • The condition c can be =, <, , >, , <>
  • 8. sSalary > 40000 (Employee) SSN Name Salary 1234545 John 200000 5423341 Smith 600000 4352342 Fred 500000 SSN Name Salary 5423341 Smith 600000 4352342 Fred 500000
  • 9. 4. Projection • Eliminates columns, then removes duplicates • Notation: P A1,…,An (R) • Example: project social-security number and names: – P SSN, Name (Employee) – Output schema: Answer(SSN, Name)
  • 10. P Name,Salary (Employee) SSN Name Salary 1234545 John 200000 5423341 John 600000 4352342 John 200000 Name Salary John 20000 John 60000
  • 11. 5. Cartesian Product • Each tuple in R1 with each tuple in R2 • Notation: R1  R2 • Example: – Employee  Dependents • Very rare in practice; mainly used to express joins
  • 12. Cartesian Product Example Employee Name SSN John 999999999 Tony 777777777 Dependents EmployeeSSN Dname 999999999 Emily 777777777 Joe Employee x Dependents Name SSN EmployeeSSN Dname John 999999999 999999999 Emily John 999999999 777777777 Joe Tony 777777777 999999999 Emily Tony 777777777 777777777 Joe
  • 13. Relational Algebra • Five operators: – Union:  – Difference: - – Selection: s – Projection: P – Cartesian Product:  • Derived or auxiliary operators: – Intersection, complement – Joins (natural,equi-join, theta join, semi-join) – Renaming: r
  • 14. Renaming • Changes the schema, not the instance • Notation: r B1,…,Bn (R) • Example: – rLastName, SocSocNo (Employee) – Output schema: Answer(LastName, SocSocNo)
  • 15. Renaming Example Employee Name SSN John 999999999 Tony 777777777 LastName SocSocNo John 999999999 Tony 777777777 rLastName, SocSocNo (Employee)
  • 16. Natural Join • Notation: R1 || R2 • Meaning: R1 || R2 = PA(sC(R1  R2)) • Where: – The selection sC checks equality of all common attributes – The projection eliminates the duplicate common attributes
  • 17. Natural Join Example Employee Name SSN John 999999999 Tony 777777777 Dependents SSN Dname 999999999 Emily 777777777 Joe Name SSN Dname John 999999999 Emily Tony 777777777 Joe Employee Dependents = PName, SSN, Dname(s SSN=SSN2(Employee x rSSN2, Dname(Dependents))
  • 18. Natural Join • R= S= • R || S= A B X Y X Z Y Z Z V B C Z U V W Z V A B C X Z U X Z V Y Z U Y Z V Z V W
  • 19. Natural Join • Given the schemas R(A, B, C, D), S(A, C, E), what is the schema of R || S ? • Given R(A, B, C), S(D, E), what is R || S ? • Given R(A, B), S(A, B), what is R || S ?
  • 20. Theta Join • A join that involves a predicate • R1 || q R2 = s q (R1  R2) • Here q can be any condition
  • 21. Eq-join • A theta join where q is an equality • R1 || A=B R2 = s A=B (R1  R2) • Example: – Employee || SSN=SSN Dependents • Most useful join in practice
  • 22. Semijoin • R | S = P A1,…,An (R || S) • Where A1, …, An are the attributes in R • Example: – Employee | Dependents
  • 23. Semijoins in Distributed Databases • Semijoins are used in distributed databases SSN Name . . . . . . SSN Dname Age . . . . . . Employee Dependents network Employee | ssn=ssn (s age>71 (Dependents)) T = P SSN s age>71 (Dependents) R = Employee | T Answer = R || Dependents
  • 24. Complex RA Expressions Person Purchase Person Product sname=fred sname=gizmo P pid P ssn seller-ssn=ssn pid=pid buyer-ssn=ssn P name
  • 25. Operations on Bags A bag = a set with repeated elements All operations need to be defined carefully on bags • {a,b,b,c}{a,b,b,b,e,f,f}={a,a,b,b,b,b,b,c,e,f,f} • {a,b,b,b,c,c} – {b,c,c,c,d} = {a,b,b,d} • sC(R): preserve the number of occurrences • PA(R): no duplicate elimination • Cartesian product, join: no duplicate elimination Important ! Relational Engines work on bags, not sets ! Reading assignment: 5.3 – 5.4
  • 26. Finally: RA has Limitations ! • Cannot compute “transitive closure” • Find all direct and indirect relatives of Fred • Cannot express in RA !!! Need to write C program Name1 Name2 Relationship Fred Mary Father Mary Joe Cousin Mary Bill Spouse Nancy Lou Sister