# Foundations of Relational Implementation (2) IS 240 – Database Management Lecture #14 – 2004-04-06 Prof. M. E. Kabay, PhD, CISSP Norwich University

## Presentation on theme: "Foundations of Relational Implementation (2) IS 240 – Database Management Lecture #14 – 2004-04-06 Prof. M. E. Kabay, PhD, CISSP Norwich University"— Presentation transcript:

Foundations of Relational Implementation (2) IS 240 – Database Management Lecture #14 – 2004-04-06 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu

The Relations

4 Copyright © 2004 M. E. Kabay. All rights reserved. The Operators Union ( + or ) Difference ( - ) Intersection ( ) [Cartesian] Product ( X ) Projection ( Relation[attributes] ) Selection ( WHERE ) JOIN [ Relation1 JOIN (condition) Relation2]

5 Copyright © 2004 M. E. Kabay. All rights reserved. Union ( + or ) Combine rows from one table to those of another to form a third, combined table Discard duplicates Tables (relations) must be union-compatible Structure must be the same Same number of fields (attributes) Same domain for each corresponding field

6 Copyright © 2004 M. E. Kabay. All rights reserved. Union ( + or ) REFER TO SLIDE 3 FOR THE RELATIONS Which relations are union-compatible? Why? What normal English question does the union of these relations answer? Write out the tuples of A+B or A B where A and B are the relations that are union- compatible.

7 Copyright © 2004 M. E. Kabay. All rights reserved. Difference ( - ) Locate the rows that are in the first table that are NOT in the second table Create a table based on those remaining records Difference, unlike union, is not transitive I.e., the order of the operands matters Thus X – Y is not necessarily the same as Y - X

9 Copyright © 2004 M. E. Kabay. All rights reserved. Difference ( - ) What is WaterburyState – CentralVermont? What does this difference mean in English? What is CentralVermont – WaterburyState? What does this difference mean in English?

10 Copyright © 2004 M. E. Kabay. All rights reserved. Intersection ( ) Find the rows in the tables that occur in both Put those in a third (new) table

12 Copyright © 2004 M. E. Kabay. All rights reserved. [Cartesian] Product ( X ) Concatenate* (join) each row from one table with every row of the second table May produce nonsensical rows Usually have to extract meaningful data with other operators * Etymology from Latin: Con = with Catena = chain

13 Copyright © 2004 M. E. Kabay. All rights reserved. [Cartesian] Product ( X ) Does the Cartesian product of two relations necessarily make sense by itself? What is Doctor X WaterburyState?

14 Copyright © 2004 M. E. Kabay. All rights reserved. Projection (Relation[attributes]) Extract certain columns from the rows in a table Thus result is table with fewer columns (attributes) Remove duplicate records that may result

15 Copyright © 2004 M. E. Kabay. All rights reserved. Projection ( Relation[attributes] ) What is the projection Patient[LastName,Birthday]? Express this projection as a question. What is the projection PatientDoctor[Patient,Hospital,Bed]? Express this projection as a question.

16 Copyright © 2004 M. E. Kabay. All rights reserved. Selection ( WHERE ) Choose certain rows from a table according to specific conditions Put the qualifying rows in a new table

17 Copyright © 2004 M. E. Kabay. All rights reserved. Selection ( WHERE ) What is PatientDoctor WHERE Hospital = CentralVermont? Express this selection as a question in English. What is Patient WHERE Birthday < 1980-01- 01? Express this selection as a question in English.

18 Copyright © 2004 M. E. Kabay. All rights reserved. JOIN [Relation1 JOIN (condition) Relation2] Complex operation involving product, selection and projection 1 st : create product table 2 nd : select appropriate rows from that table 3 rd : choose particular columns needed Equijoin may include columns that have the same meaning Natural join removes duplicate columns

19 Copyright © 2004 M. E. Kabay. All rights reserved. JOIN [ Relation1 JOIN (condition) Relation2] What is PatientDoctor JOIN (MedicalStaff = Doctor) Doctor? Use a natural join. What kinds of questions could you answer by such a Join operation?

20 Copyright © 2004 M. E. Kabay. All rights reserved. Homework Complete your study of Chapter 8 using Read-Recite-Review phases of SQ3R For Thursday 8 April 2004, use the Survey- Question phases of SQ3R in Chapter 9 on SQL REQUIRED: For Tuesday 13 April 2004, complete written answers to questions 8.18- 8.28 for 34 points