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

PPT
Relational Algebra.ppt
PPT
Relational Algebra(Part1) (1) in Maths.ppt
PPT
Relation algebra (1).ppt
PPT
Intro to relational model
PPT
CHAPTER 2 DBMS IN EASY WAY BY MILAN PATEL
PPT
relational algebra and it's implementation
PDF
Relational algebra in dbms
Relational Algebra.ppt
Relational Algebra(Part1) (1) in Maths.ppt
Relation algebra (1).ppt
Intro to relational model
CHAPTER 2 DBMS IN EASY WAY BY MILAN PATEL
relational algebra and it's implementation
Relational algebra in dbms

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

PPTX
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
PPT
Query execution
PPTX
Relational operation final
PPT
PDF
Relational Database and Relational Algebra
PPT
Relational Algebra1.ppt
PPT
2. Relational Algebra.ppt
PPTX
7-Aljabar-Relasional-dan-Query-Processing.pptx
PPT
Relational Algebra
PDF
Algebra
PPTX
Relational Model,relational calulus.pptx
PPT
lecture2.ppt
PPT
lecture2.ppt
PPT
Query compiler
PPTX
Module 2_Relational Algebra.pptx
PPT
Sql server select queries ppt 18
PDF
ML111 Lecture 5 Relational Algebra and Advanced SQL.pdf
PPT
E212d9a797dbms chapter3 b.sc2
PPT
E212d9a797dbms chapter3 b.sc2 (1)
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
Query execution
Relational operation final
Relational Database and Relational Algebra
Relational Algebra1.ppt
2. Relational Algebra.ppt
7-Aljabar-Relasional-dan-Query-Processing.pptx
Relational Algebra
Algebra
Relational Model,relational calulus.pptx
lecture2.ppt
lecture2.ppt
Query compiler
Module 2_Relational Algebra.pptx
Sql server select queries ppt 18
ML111 Lecture 5 Relational Algebra and Advanced SQL.pdf
E212d9a797dbms chapter3 b.sc2
E212d9a797dbms chapter3 b.sc2 (1)
Ad

More from sadiariasat10 (20)

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

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
AI in Product Development-omnex systems
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Nekopoi APK 2025 free lastest update
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Essential Infomation Tech presentation.pptx
PDF
top salesforce developer skills in 2025.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PTS Company Brochure 2025 (1).pdf.......
How to Migrate SBCGlobal Email to Yahoo Easily
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
AI in Product Development-omnex systems
VVF-Customer-Presentation2025-Ver1.9.pptx
Reimagine Home Health with the Power of Agentic AI​
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Operating system designcfffgfgggggggvggggggggg
Nekopoi APK 2025 free lastest update
wealthsignaloriginal-com-DS-text-... (1).pdf
Essential Infomation Tech presentation.pptx
top salesforce developer skills in 2025.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers

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