15
Jennifer Widom Relational Databases Relational Algebra (1) Select, project, join

Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Relational Databases

Relational Algebra (1) Select, project, join

Page 2: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Relational Algebra (1)

Query (expression) on set of relations produces relation as a result

Page 3: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Relational Algebra (1)

Examples: simple college admissions database

College(cName,state,enrollment)

Student(sID,sName,GPA,sizeHS)

Apply(sID,cName,major,decision)

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Page 4: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Simplest query: relation name

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Use operators to filter, slice, combine

Page 5: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Select operator: picks certain rows

Students with GPA>3.7

Students with GPA>3.7 and HS<1000

Applications to Stanford CS major

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 6: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Project operator: picks certain columns

ID and decision of all applications

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 7: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

To pick both rows and columns…

ID and name of students with GPA>3.7

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 8: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Duplicates

List of application majors and decisions

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 9: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Cross-product: combine two relations (a.k.a. Cartesian product)

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 10: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Cross-product: combine two relations (a.k.a. Cartesian product)

Names and GPAs of students with HS>1000 who applied to CS and were rejected

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 11: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Natural Join Enforce equality on all attributes with same name Eliminate one copy of duplicate attributes

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 12: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Natural Join

Names and GPAs of students with HS>1000 who applied to CS and were rejected

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Names and GPAs of students with HS>1000 who applied to CS at college with enr>20,000 and were rejected

Page 13: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Natural Join

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 14: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Theta Join

Basic operation implemented in DBMS Term “join” often means theta join

cName state enr sID sName GPA HS sID cName major dec

College Student Apply

Relational Algebra (1)

Page 15: Introduction to Databases - Artificial Intelligenceopenclassroom.stanford.edu/.../RelationalAlgebra1.pdf · Relational Databases Relational Algebra (1) ... Relational Algebra (1)

Jennifer Widom

Relational Algebra (1)

Query (expression) on set of relations produces relation as a result

Simplest query: relation name

Use operators to filter, slice, combine

Operators so far: select, project, cross-product, natural join, theta join