Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Set operators

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

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

×