Set operators

885 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
885
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Set operators

  1. 1. RELATIONAL SET OPERATORS Prepared by: Michelle A. Ogana Ronnjemmele Rivera Jane Allyza Catalla Harry Ochinang 1
  2. 2. Relational Set Operators This section describes the basic data manipulationRelational Algebra Defines the theoretical way of manipulating table contents using the eight relational operators. 2
  3. 3. Eight Relational Operators SELECT PROJECT JOIN INTERSECT UNION DIFFERENCE PRODUCT DIVIDE 3
  4. 4.  The relational operators have the property of closure; that is, the use of relational algebra operators on existing relations (tables) produces new relations. There is no need to examine the mathematical definitions, properties and characteristics of those relational algebra operators. 4
  5. 5. SELECT Also known as RESTRICT Yields values for all rows found in a table. Used to list all of the row values, or can yield only those row values that match a specified criterion. SELECT yields a horizontal subset of a table. 5
  6. 6. ORIGINAL TABLE P_CODE P_DESCRIPT PRICE P_CODE P_DESCRIPT PRICE 123456 Flashlight $5.26 123456 Flashlight $5.26 123457 Lamp $25.15 123457 Lamp $25.15 SELECT ALL yields 123458 Box Fan $10.99 123458 Box Fan $10.99 123459 9V Battery $1.29 123459 9V Battery $1.29 254688 100W Bulb $1.47 254688 100W Bulb $1.47 311452 Powerdrill $34.99 311452 Powerdrill $34.99SELECT only PRICE less than $2.00 yields P_CODE P_DESCRIPT PRICE 123459 9V Battery $1.29 254688 100W Bulb $1.47SELECT only P_CODE = 311452 yields P_CODE P_DESCRIPT PRICE 311452 Powerdrill $34.99 6
  7. 7. PROJECT Yields all values for selected attributes. It yields a vertical subset of a table. 7
  8. 8. ORIGINAL TABLE NEW TABLE P_CODE P_DESCRIPT PRICE PRICE 123456 Flashlight $5.26 PROJECT PRICE yields $5.26 123457 Lamp $25.15 $25.15 123458 Box Fan $10.99 $10.99 $1.92 123459 9V Battery $1.29 $1.47 254688 100W Bulb $1.47 $34.99 311452 Powerdrill $34.99 P_DESCRIPT PRICE Flashlight $5.26 Lamp $25.15PROJECT P_DESCRIPT and PRICE yields Box Fan $10.99 9v battery $1.92 100w bulb $1.47 Powerdrill $34.99 P_CODE PRICE 123456 $5.26PROJECT P_CODE and PRICE yields 123457 $25.15 123458 $10.99 213345 $1.92 254467 $1.47 311452 $34.99 8
  9. 9. UNION Combines all rows from two tables, excluding duplicate rows. To be used in UNION, tables must have the same attribute characteristics Columns, and domains must be compatible When two or more tables share the same number of columns, and when their corresponding columns share the same domains, they are said to be UNION-COMPATIBLE. 9
  10. 10. P_CODE P_DESCRIPT PRICE P_CODE P_DESCIPT PRICE UNION123456 Flashlight $5.26 345678 Microwave 160.00123457 Lamp $25.15 345679 Dishwasher 500.00123458 Box Fan $10.99123459 9V Battery $1.29254688 100W Bulb $1.47 yields311452 Powerdrill $34.99 P_CODE P_DESCRIPT PRICE 123456 Flashlight $5.26 123457 Lamp $25.15 123458 Box Fan $10.99 254688 9V Battery $1.29 524789 100W Bulb $1.47 311452 Powerdrill $34.99 345678 Microwave $ 160 345679 Dishwasher $ 500 10
  11. 11. INTERSECT Yields only the rows that appear in both tables. As was true in the case of UNION, the tables must be union-compatible to yield valid results. For example, you cannot use INTERSECT if one of the attributes is numeric and one is character-based. 11
  12. 12. STU_FNAME STU_LNAME EMP_FNAME EMP_LNAME INTERSECTGeorge Jones Franklin LopezJane Smith William TurnerPeter Robinson Franklin JohnsonFranklin Johnson Susan RogersMartin Lopez yields STU_FNAME STU_LNAME Franklin Johnson 12
  13. 13. DIFFERENCE Yields all rows in one table that are not found in the other table; It subtracts one table form the other. Tables must be union-compatible to yield valid results. Note that subtracting the first table from the second table is not the same as subtracting the second table from the first table. 13
  14. 14. STU_FNAME STU_LNAME EMP_FNAME EMP_LNAME DIFFERENCEGeorge Jones Franklin LopezJane Smith William TurnerPeter Robinson Franklin JohnsonFranklin Johnson Susan RogersMartin Lopez yields STU_FNAME STU_LNAME George Jones Jane Smith Peter Robinson Martin Lopez 14
  15. 15. PRODUCT Yields all possible pairs of rows from two tables Also known as Cartesian product Therefore, if one table has six rows and the other table has three rows, The PRODUCT yields a list composed of6 x 3 = 18 rows 15
  16. 16. P_CODE P_DESCRIPT PRICE STORE AISLE SHELF123456 Flashlight $5.26 PRODUCT 23 W 5123457 Lamp $25.15 24 K 9123458 Box Fan $10.99 25 Z 6123459 9V Battery $1.29254688 100W Bulb $1.47311452 Powerdrill $34.99 yields 16
  17. 17. JOIN Allows information to be combined from two or more tables. It is the real power behind the relational database, allowing the use of independent tables linked by common attributes The CUSTOMER and AGENT tables shown will be used to illustrate several types of joins. 17
  18. 18. TABLE name: CUSTOMER TABLE name: AGENT CUS_CODE CUS_LNAME CUS_ZIP AGENT_CODE AGENT_CODE AGENT_PHONE1132445 Walker 32145 321 125 61524398871217782 Adares 32145 125 167 61534267781312243 Rakowski 34129 167 231 615243112413212442 Rodriguez 37134 125 333 90412344451542311 Smithson 37134 4211657399 Vanloo 32145 231 18
  19. 19.  A natural join links tables by selecting only the rows with common values in their common attribute(s). It is the result of a three-stage process: 19
  20. 20. a. First, a PRODUCT of the tables is created 20
  21. 21. b. Second, a SELECT is performed on the output of Step A toyield only the rows for which the AGENT_CODE values are equal.Common columns are referred to as the join columns. 21
  22. 22. c. A PROJECT is performed on the results of Step B to yield asingle copy of each attribute, thereby eliminating duplicatecolumns. 22
  23. 23.  The final outcome of a natural join yields a table that does not include unmatched pairs and provides only the copies of the matches. 23
  24. 24. Note a few crucial features of the natural join operation: If no match is made between the table rows, the new table does not include the unmatched row. In that case, neither AGENT_CODE 421 nor the customer whose last name is Smithson is included. Smithson’s AGENT_CODE 421 does not match any entry in the AGENT table. 24
  25. 25.  The column on which the join was made- that is, AGENT_CODE- occurs only once in the new table. If the same AGENT_CODE were to occur several times in the AGENT table, a customer would be listed for each match For example, if the AGENT_CODE 167 were to occur three times in the AGENT table, the customer name Rakowski, who is associated with AGENT_CODE 167, would occur three times in the resulting table 25
  26. 26. Forms of JOIN 1. EQUIJOIN Links tables on the basis of an equality condition that compares specified columns of each table. It does not eliminate duplicate columns Condition or criterion used to join the tables must be explicitly defined. 26
  27. 27.  Takes its name from the equality comparison operator (=) used in the condition.2. Theta Join This join is used if any other comparison operator is used. 27
  28. 28. 3. Inner Join Returns matched records from the tables that are being joined. 28
  29. 29. 3. Outer Join Matched pairs would be retained, and any unmatched values in the other table would be left null. Returns all of the matched records that the inner join returns, plus it returns the unmatched records from one of the tables 29
  30. 30. 3.a. Left Outer Join Yields all rows in the CUSTOMER table, including those that do not have a matching value in the AGENT table. 30
  31. 31. 3.b. Right Outer Join Yields all the rows in the AGENT table, including those that do not have matching values in the CUSTOMER table. 31
  32. 32.  Outer joins operate like equijoins. It does not drop one copy of the common attribute, and it requires the specification of the join condition. Are especially useful when you are trying to determine what value(s) in related tables cause(s) referential integrity problems 32
  33. 33.  You may wonder why the outer joins are labeled left and right. The labels refer to the order in which the tables are listed in the SQL command. 33
  34. 34. DIVIDE Uses one single-column table (e.g., column “a”) as the divisor and one 2-column table (i.e., columns “a” and “b”) as the dividend. The tables must have common column Single column with the values of column “a” from the dividend table rows where the value of the common column (i.e., column “a” ) in both tables. 34
  35. 35. CODE LOC CODE LOC DIVIDEA 5 A 5 BA 9A 4 yieldsB 5B 3C 6D 7 A. Table 1 is divided by Table 2 to produce Table 3.D 8 Tables 1 & 2 both contain the column CODE butE 8 do not share LOC. B. To be included in the resulting Table 3, a value in the unshared column (LOC( must be associated (in the dividing Table 2) with every value in Table 1. C. The only value associated with both A and B is 5. 35
  36. 36. 36

×