Presentation is loading. Please wait.

Presentation is loading. Please wait.

Relational Algebra. Set operations: Union, intersection, difference, Cartesian product Relational operations: Selection, projection, join, division.

Similar presentations


Presentation on theme: "Relational Algebra. Set operations: Union, intersection, difference, Cartesian product Relational operations: Selection, projection, join, division."— Presentation transcript:

1 Relational Algebra

2 Set operations: Union, intersection, difference, Cartesian product Relational operations: Selection, projection, join, division

3 Union Set1={A, B, C} Set2={C, D, E} Union: Members in Set 1 or in Set 2 –Set1 U Set 2 = {A, B, C, D, E} Or

4 Intersect Members in Set 1 and in Set 2 –Set1 ∩ Set2={C} And

5 Difference Set1 – Set2: Members in Set1 but not in set2 = {A,B} Set2 – Set1:Members in Set2 but not in set1 = {D, E} Set1-Set2 ≠ Set2 – Set1

6 Union Compatibility Two relations that have the same number of attributes and same type of attributes. Union, Intersect and difference operators require the two relations to be union compatible.

7 File 1: –SID – 9 characters –Sname – 25 characters File 2: –SSN – 9 characters –Ename – 25 characters File 3: –Ename – 25 characters –EID – 9 characters

8 Use Union and Difference to Simulate Intersect Set1 ∩ Set2 = Set1 – (Set1 – Set2)

9 Venn Diagram Set 1: Major = ‘Business’ Set 2: Sex = ‘F’ Set 3: GPA > 3.0

10 Files as Sets Business students’ file: BusSt Science student’s file: SciSt –BusSt U SciSt: –BusSt ∩ SciSt –BusSt – SciSt Spring 04 Student file: S04St Fall 04 Student file: F04St –S04St – F04St –F04St – S04St

11 Product Set1 = {a, b, c} Set2 = {X, Y, Z} Set1 X Set2 = {aX, aY aZ, bX, bY, bZ, cX, cY, cZ}

12 Faculty File: FIDFname F1Chao F2Smith Student File: SIDSname FID S1PeterF1 S2PaulF2 S3SmithF1 Faculty X Student:

13 Selection Selection operation works on a single relation and defines a relation that contains records that satisfy the criteria. – σ criteria ( Relation) – σ Major = ‘Bus’ AND GPA > 3.0 (Student)

14 Projection Projection operation works on a single relation and defines a vertical subset of the relation, extracting the values of specified attributes and eliminating duplicates. π a1, a2, … (Relation) π sid, sname (Student)

15 Student file: SID, SnameSexMajor S1PeterMBus S2PaulMArt S3MaryFBus S4NancyFSci S5PeterMArt π sid, sname (Student) π sname, sex (Student) π sname, sex ( σ Major = ‘Bus’ (Student)) σ Major = ‘Bus’ ( π sname, sex (Student))

16 Duplications due to Projection WorkLog file: EIDPjIDHours E1P25 E1P14 E2P26 E2P18 E3P14 π eid (WorkLog) Relation contrains: no duplication Eliminating duplicates may cause problems: –π Hours ( σ PjID = ‘P1 (WorkLog)) In practice, users determine whether to eliminate duplicates: –SELECT DISTINCT EID FROM WorkLog; –SELECT HOURS FROM WorkLog WHERE PjID = ‘P1’;

17 Natural Join The two relations must have common attributes. Combines two relations to form a new relation where records of the two relations are combined if the common attributes have the same value. One occurrence of each common attribute is eliminated.

18 Faculty File: FIDFname F1Chao F2Smith Student File: SIDSname FID S1PeterF1 S2PaulF2 S3SmithF1 Faculty Join Student = π All except the duplicated attributes (σ Faculty.FID = Student.FID ( Faculty X Student )) Note: Use RelationName.FieldName to make a field name unique.

19 Examples University database: –Student: SID, Sname, Sex, Major, GPA, FID –Account: SID, Balance –Faculty: FID, Fname –Course: CID, Cname, Credits –StudentCourse: SID, CID


Download ppt "Relational Algebra. Set operations: Union, intersection, difference, Cartesian product Relational operations: Selection, projection, join, division."

Similar presentations


Ads by Google