Mon, Sep 27, 1999 ------------------------ - Handout Codd's original paper in CACM - Review of Basic Relational Operations - NOT Sportscar example - Cartesian Product: Actors and Actresses - Would we have a situation when we multiply a relation with itself? Eg: if we want to have "teams" with with two students in it - How do we ensure that the students are different? Ans: Theta-Join - A cartesian product followed by a select - How do we ensure that the same combination of students is not listed twice? Ans: Use a unidirectional comparison (<, > etc.) instead of <> Assumption: Any type can be compared ordinally - integers, reals etc. - strings: use lexicographic ordering - Theta Join is a subset of Cartesian Product - Theta Join and Cartesian Product have the same # columns - Theta Join potentially has lesser # rows - Quotient Operator Example: List of Graduating Students Exercise: Recast in terms of basic operators Wed, Sep 29, 1999 ------------------------ - Return to the Quotient - Natural Join - Connections between: - Cartesian Product - Theta Join - Natural Join - Natural Join = Theta-Join, on the condition that "like attributes are the same" followed by a project that removes common columns - PC Manufacturers Problem Handout ; write various queries in various forms - Solved query problems 1 (three parts) and 2 (two parts) Fri, Oct 1, 1999 ------------------------ - Remaining query problems in handout