Chapter 4 Relational Algebra Relational Languages Relational Algebra
Relational Languages Procedural language Non-procedural language Relational algebra Non-procedural language Relational Calculus (pp.101- 107)
Relational Algebra Intra Relation Selection - horizontal partition SELECT relation WHERE condition [GIVING relation] condition(relation) Projection - vertical partition PROJECT relation OVER (attribute, attribute,...)[GIVING relation] attributes(relation)
Union-Compatible Union - tuples in either of 2 union compatible relations relation1 UNION relation2 [GIVING relation] relation1 relation2 Difference - tuples in one union compatible relation, but not other relation1 MINUS relation2 [GIVING relation] relation1 - relation2
Union-Compatible Intersection - tuples in both of 2 union compatible relations relation1 INTERSECT relation2 [GIVING relation] relation1 relation2
Any 2 Relations Product - Cartesian product of any two relations relation1 TIMES relation2 [GIVING relation] relation1 relation2 Join - common domain relation1 JOIN relation2 WHERE condition [GIVING relation] relation1conditionrelation2 Division relation1 divided by relation2 [GIVING relation] relation1 / relation2
Types of Join Equi : based on equality with 2 identical attribute columns Theta : a join based on a relational operator (=,<,>,<=,>=,~=) Natural : equijoin with no duplicate column Outer : includes tuples without matches (left, right, full)
Types of Join Semi-join Semi-theta-join Semi-natural join relation1 SEMIJOIN relation2 WHERE condition [GIVING relation] relation1 lxcondition relation2 Semi-theta-join Semi-natural join
Assignment Review chapters 1-4 Read Chapters 6-5 Do Exercise 4.12 Due date: