1 / 25

Chapter 6 Additional Relational Operations

Chapter 6 Additional Relational Operations. Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008. Additional Relational Operations.

royce
Download Presentation

Chapter 6 Additional Relational Operations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 6 Additional Relational Operations Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008

  2. Additional Relational Operations • Some common database requests --- which are needed in commercial applications for RDBMS --- cannot be performed with the original relational algebra operations • In this section, we define additional operations to express these requests

  3. Generalized Projection • It extend the projection by allowing functions of attributes to be included in the projection list. • The general form is: F1, F2, …, Fn (R) where F1, F2,…Fn are functions over the attributes

  4. Generalized Projection • For example Consider the relation Employee (Ssn, salary, Deduction, Year_service) A report may be required to show: Net_salary = salary – Deduction Bonus = 2000 * year_service Tax = Salary * 25% Then a generalized projection combined with renaming may be: Report  (Ssn, Net_salary, Bonus, Tax ) ( Ssn, salary-deduction, 2000*years_service, salary*25% (R))

  5. Aggregate Functions and Grouping • A type of request that cannot be expressed in the basic relational algebra is to specify mathematical aggregate functions on collections of values from the database. • Examples of such functions include retrieving the average or total salary of all employees or the total number of employee tuples.

  6. Aggregate Functions and Grouping • Common functions applied to collections of numeric values include • SUM, AVERAGE, MAXIMUM, and MINIMUM. • The COUNT function is used for counting tuples or values.

  7. Aggregate Functions and Grouping • Use of the Aggregate Functional operation Ʒ • ƷMAX Salary (EMPLOYEE) retrieves the maximum salary value from the EMPLOYEE relation • ƷMIN Salary (EMPLOYEE) retrieves the minimum Salary value from the EMPLOYEE relation • ƷSUM Salary (EMPLOYEE) retrieves the sum of the Salary from the EMPLOYEE relation • ƷCOUNT SSN, AVERAGE Salary (EMPLOYEE) computes the count (number) of employees and their average salary

  8. Aggregate Functions and Grouping • Grouping can be combined with Aggregate Functions • Example: For each department, retrieve the DNO, COUNT SSN, and AVERAGE SALARY • A variation of aggregate operation Ʒ allows this: • Grouping attribute placed to left of symbol • Aggregate functions to right of symbol • DNOƷ COUNT SSN, AVERAGE Salary (EMPLOYEE)

  9. Illustrating aggregate functions and grouping

  10. Examples of applying aggregate functions and grouping

  11. The OUTER JOIN Operation • In NATURAL JOIN and EQUIJOIN, tuples without a matching (or related) tuple are eliminated from the join result • A set of operations, called OUTER joins, can be used when we want to keep all the tuples in R, or all those in S, or all those in both relations in the result of the join, regardless of whether or not they have matching tuples in the other relation.

  12. The OUTER JOIN Operation • The left outer join operation keeps every tuple in the first or left relation R in R S; if no matching tuple is found in S, then the attributes of S in the join result are filled or “padded” with null values.

  13. Additional Relational Operations (cont.)

  14. The following query results refer to this database state

  15. The OUTER JOIN Operation • A similar operation, right outer join, keeps every tuple in the second or right relation S in the result of R S. • A third operation, full outer join, denoted by keeps all tuples in both the left and the right relations when no matching tuples are found, padding them with null values as needed.

  16. OUTER UNION Operations • The outer union operation was developed to take the union of tuples from two relations if the relations are not type compatible.

  17. OUTER UNION Operations • This operation will take the union of tuples in two relations R(X, Y) and S(X, Z) that are partially compatible, meaning that only some of their attributes, say X, are type compatible. • The attributes that are type compatible are represented only once in the result, and those attributes that are not type compatible from either relation are also kept in the result relation T(X, Y, Z).

  18. OUTER UNION Operations • Example: An outer union can be applied to two relations whose schemas are STUDENT(Name, SSN, Department, Advisor) and INSTRUCTOR(Name, SSN, Department, Rank). STUDENT_OR_INSTRUCTOR (Name, SSN, Department, Advisor, Rank)

  19. Examples of Queries in Relational Algebra • Q1: Retrieve the name and address of all employees who work for the ‘Research’ department.

  20. Examples of Queries in Relational Algebra • Q2: For every project located in “Stafford”, list the project number, the controlling department number, and the department manager’s last name, address, and Bdate

  21. Examples of Queries in Relational Algebra • Q3: Find the names of employees who work on all the projects controlled by department number 5

  22. Examples of Queries in Relational Algebra • Q4: Make a list of project numbers for projects that involve an employee whose last name is “Smith”, either as a worker or as a manager of the department that controls the project

  23. Examples of Queries in Relational Algebra • Q5: List the names of all employees with two or more dependents

  24. Examples of Queries in Relational Algebra • Q6: Retrieve the names of employees who have no dependents.

  25. Examples of Queries in Relational Algebra • Q7: List the names of managers who have at least on dependent

More Related