relational algebra mbad 613 r. nakatsu. relational data manipulation language query-by-example;...

18
Relational Algebra MBAD 613 R. Nakatsu

Upload: christopher-parsons

Post on 13-Dec-2015

234 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Relational Algebra

MBAD 613R. Nakatsu

Page 2: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Relational Data Manipulation Language

• Query-by-Example; Query-by-Form• Transform-Oriented Languages• Relational Algebra• Relational Calculus

Page 3: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

DML Interfaces

• Forms

• Query Language InterfaceSELECT Name, AgeFROM PATIENTWHERE Physician = ‘Levy’

© 2000 Prentice Hall

Page 4: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Domain Definitions

© 2000 Prentice Hall

Page 5: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Domain Compatibility

Page 204

Two domains are domain compatible if

1) they have the same number of attributes and

2) each corresponding attribute has the same domain.

Page 6: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Attribute Domains

© 2000 Prentice Hall

Page 7: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Relational Operators

1. Union (A U B or A + B)2. Difference (A – B)3. Intersection (A ∩ B)4. Projection5. Selection6. Product (A X B)7. Join (equijoiin, outer join)8. Division (A / B)

Page 8: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

1. UnionAdding tuples from one relation A to those of

a second B. Denoted A + B or A U B. A and B must be domain compatible.

© 2000 Prentice Hall

Page 9: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

2. Difference

Includes tuples that occur in the first relation A but not the second B. Denoted A - B. A and B must be domain compatible.

© 2000 Prentice Hall

Page 10: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

3. Intersection

Includes tuples that are in both the first relation A and the second relation B. Denoted A ∩ B. A and B must be domain compatible.

© 2000 Prentice Hall

Page 11: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

4. Projection

Selects specified attributes (columns) from a relation”

© 2000 Prentice Hall

Page 12: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

5. Selection

Selects tuples (rows) from a relation.

© 2000 Prentice Hall

Page 13: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

6. Product

The product of two relations (sometimes called the Cartesian Product) is the concatenation of every tuple of one relation A with every tuple of a second relation B.

Denoted A X B

Page 14: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

7. Join

The join operator allows us to combine information from two or more tables.

It is a combination of the product, selection, and (possibly) projection operations.

Two basic types: - equijoin: includes only matched pairs– outer join: the unmatched pairs

are retained, and the values are left null.

Page 15: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Equijoin, Natural, Left Outer

© 2000 Prentice Hall

Page 16: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

8. Division

Find those values in the first relation A that are related to all of the values in the second relation B.

Denoted A / B

Page 17: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Example: Division

aa1a1a2a3a3a3

bb1b2b2b1b2b3

bb1b2

ABAB BB

What is AB / B?

Page 18: Relational Algebra MBAD 613 R. Nakatsu. Relational Data Manipulation Language Query-by-Example; Query-by-Form Transform-Oriented Languages Relational

Example Data

StudentStudent EnrollEnroll

CourseCourse