Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Slides:



Advertisements
Similar presentations
Chapter 6 The Relational Algebra
Advertisements

พีชคณิตแบบสัมพันธ์ (Relational Algebra) บทที่ 3 อ. ดร. ชุรี เตชะวุฒิ CS (204)321 ระบบฐานข้อมูล 1 (Database System I)
The Relational Calculus
The Relational Algebra
Database Systems Chapter 6 ITM Relational Algebra The basic set of operations for the relational model is the relational algebra. –enable the specification.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1.
Copyright © 2004 Pearson Education, Inc.. Chapter 6 The Relational Algebra and Relational Calculus.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Chapter 4 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
The Relational Algebra and Calculus. Relational Algebra Overview Relational algebra is the basic set of operations for the relational model These operations.
Relational Algebra Example Database Application (COMPANY) Relational Algebra –Unary Relational Operations –Relational Algebra Operations From Set Theory.
1 CS 430 Database Theory Winter 2005 Lecture 6: Relational Calculus.
Relational Algebra - Chapter (7th ed )
CS 380 Introduction to Database Systems Chapter 7: The Relational Algebra and Relational Calculus.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 The Relational Algebra.
CSE314 Database Systems The Relational Algebra and Relational Calculus Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
METU Department of Computer Eng Ceng 302 Introduction to DBMS The Relational Algebra by Pinar Senkul resources: mostly froom Elmasri, Navathe and other.
Fundamentals of Database Systems Fourth Edition El Masri & Navathe Instructor: Mr. Ahmed Al Astal Chapter 6 The Relational Algebra University Of Palestine.
The Relational Algebra and Calculus
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Relational Algebra. 2 Outline  Relational Algebra Unary Relational Operations Relational Algebra Operations from Set Theory Binary Relational Operations.
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Chapter 6 The Relational Algebra Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
DatabaseIM ISU1 Fundamentals of Database Systems Chapter 6 The Relational Algebra.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Part a The Relational Algebra and Relational Calculus Hours 1,2.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
Al-Maarefa College for Science and Technology INFO 232: Database systems Chapter 3 “part 2” The Relational Algebra and Calculus Instructor Ms. Arwa Binsaleh.
Advanced Relational Algebra & SQL (Part1 )
The Relational Calculus (Based on Chapter 9 in Fundamentals of Database Systems by Elmasri and Navathe, Ed. 3)
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Copyright © 2004 Ramez Elmasri and Shamkant Navathe The Relational Calculus The main reference of this presentation is the textbook and PPT from : Elmasri.
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Slide 6- 1 Additional Relational Operations Aggregate Functions and Grouping A type of request that cannot be expressed in the basic relational algebra.
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Presented By: Miss N. Nembhard. Relation Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics.
1 CS 430 Database Theory Winter 2005 Lecture 5: Relational Algebra.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
Dr. Mohamed Hegazi1 The Relational Algebra and Relational Calculus.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 340 Introduction to Database Systems.
Copyright © 2004 Pearson Education, Inc.. Chapter 6 The Relational Algebra and Relational Calculus.
Chapter 6 The Relational Algebra and Calculus Copyright © 2004 Ramez Elmasri and Shamkant Navathe.
Chapter 6 The Relational Algebra Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 6- 1.
Relational Algebra National University of Computer and Emerging Sciences Lecture # 6 June 30,2012.
Database Systems 主講人 : 陳建源 日期 :99/11/30 研究室 : 法 Chapter 6 The Relational Algebra.
Chapter 4 The Relational Algebra and Calculus
Ritu CHaturvedi Some figures are adapted from T. COnnolly
CSE202 Database Management Systems
Database Systems Chapter 6
The Relational Algebra and Relational Calculus
Chapter (6) The Relational Algebra and Relational Calculus Objectives
The Relational Algebra and Calculus
Chapter # 6 The Relational Algebra and Calculus
Fundamental of Database Systems
Relational Algebra - Part 1
The Relational Algebra and Relational Calculus
Chapter 6: Relational Algebra Fall 2015 Dr. Abdullah Almutairi
Chapter 4 The Relational Algebra and Calculus
The Relational Algebra and Calculus
11/22/2018.
The Relational Algebra and Relational Calculus
12/5/2018.
12/31/2018.
The Relational Algebra and The Relational Calculus
Presentation transcript:

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition Chapter 6 The Relational Algebra and Relational Calculus Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition Chapter Outline Unary Relational Operations Relational Algebra Operations from Set Theory Binary relational Operations Additional Relational Operations The Tuple Relational Calculus The Domain Relational Calculus Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Unary Relational Operations The relational algebra is a set of operators that take and return relations Unary operations take one relation, and return one relation: SELECT operation PROJECT operation Sequences of unary operations RENAME operation Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The SELECT Operation It selects a subset of tuples from a relation that satisfy a SELECT condition. The SELECT operation is denoted by:  <Selection condition> (R) The selection condition is a Boolean expression specified on the attributes of relation R Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The SELECT Operation The degree of the relation resulting from a SELECT operation is the same as that of R For any selection-condition c, we have |  <c> (R) |  | R | The SELECT operation is commutative, that is,  <c1> ( <c2> ( R )) =  <c2> ( <c1> ( R )) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The PROJECT Operation The PROJECT operation , selects certain columns from a relation and discards the columns that are not in the PROJECT list The PROJECT operation is denoted by:  <attribute list> ( R ) Where attribute-list is a list of attributes from the relation R Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The PROJECT Operation The degree of the relation resulting from a PROJECT operation is equal to the number of attributes in attribute-list. If only non-key attributes appear in an attribute-list, duplicate tuples are likely to occur. The PROJECT operation, however, removes any duplicate tuples –this is called duplicate elimination The PROJECT operation is not commutative Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.1 Results of SELECT and PROJECT operations. (a) s(DNO=4 AND SALARY>25000) OR (DNO=5 AND SLARY>30000)(EMPLOYEE). (b)  LNAME, FNAME, SALARY (EMPLOYEE) (c) p SEX, SALARY(EMPLOYEE). Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Relational Algebra Operations Two relations R1 and R2 are said to be union compatible if they have the same degree and all their attributes (correspondingly) have the same domain. The UNION, INTERSECTION, and SET DIFFERENCE operations are applicable on union compatible relations The resulting relation has the same attribute names as the first relation Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The UNION operation The result of UNION operation on two relations, R1 and R2, is a relation, R3, that includes all tuples that are either in R1, or in R2, or in both R1 and R2. The UNION operation is denoted by: R3 = R1  R2 The UNION operation eliminates duplicate tuples Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.3 Results of the UNION operation RESULT = RESULT1  RESULT2. Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The INTERSECTION operation The result of INTERSECTION operation on two relations, R1 and R2, is a relation, R3, that includes all tuples that are in both R1 and R2. The INTERSECTION operation is denoted by: R3 = R1  R2 The both UNION and INTERSECTION operations are commutative and associative operations Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The SET DIFFERENCE Operation The result of SET DIFFERENCE operation on two relations, R1 and R2, is a relation, R3, that includes all tuples that are in R1 but not in R2. The SET DIFFERENCE operation is denoted by: R3 = R1 – R2 The SET DIFFERENCE (or MINUS) operation is not commutative Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.4 Two union-compatible relations. (b) STUDENT  INSTRUCTOR. (c) STUDENT  INSTRUCTOR. (d) STUDENT – INSTRUCTOR. INSTRUCTOR – STUDENT Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The CARTESIAN PRODUCT Operation This operation (also known as CROSS PRODUCT or CROSS JOIN) denoted by: R3 = R1  R2 The resulting relation, R3, includes all combined tuples from two relations R1 and R2 Degree (R3) = Degree (R1) + Degree (R2) |R3| = |R1|  |R2| Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.5b The CARTESIAN PRODUCT (CROSS PRODUCT) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.5c The CARTESIAN PRODUCT (CROSS PRODUCT) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Binary Relational Operations An important operation for any relational database is the JOIN operation, because it enables us to combine related tuples from two relations into single tuple The JOIN operation is denoted by: R3 = R1 ⋈ <join condition> R2 The degree of resulting relation is degree(R1) + degree(R2) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition The JOIN Operation The difference between CARTESIAN PRODUCT and JOIN is that the resulting relation from JOIN consists only those tuples that satisfy the join condition The JOIN operation is equivalent to CARTESIAN PRODUCT and then SELECT operation on the result of CARTESIAN PRODUCT operation, if the select-condition is the same as the join condition Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.6 Result of the JOIN operation DEPT_MGR  DEPARTMENT JOIN MGRSSN=SSN EMPLOYEE . Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The EQUIJOIN Operation If the JOIN operation has equality comparison only (that is, = operation), then it is called an EQUIJOIN operation In the resulting relation on an EQUIJOIN operation, we always have one or more pairs of attributes that have identical values in every tuples Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The NATURAL JOIN Operation In EQUIJOIN operation, if the two attributes in the join condition have the same name, then in the resulting relation we will have two identical columns. In order to avoid this problem, we define the NATURAL JOIN operation The NATURAL JOIN operation is denoted by: R3 = R1 *<attribute list> R2 In R3 only one of the duplicate attributes from the list are kept Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.7 (a) PROJ_DEPT  PROJECT * DEPT. (b) DEPT_LOCS  DEPARTMENT * DEPT_LOCATIONS. Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

A Complete Set of Relational Algebra The set of relational algebra operations {σ, π, , -, x } Is a complete set. That is, any of the other relational algebra operations can be expressed as a sequence of operations from this set. For example: R  S = (R  S) – ((R – S)  (S – R)) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The DIVISION Operation The DIVISION operation is useful for some queries. For example, “Retrieve the name of employees who work on all the projects that ‘John Smith’ works on.” The Division operation is denoted by: R3 = R1 ÷ R2 In general, attributes in R2 are a subset of attributes in R1 Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.8 Dividing SSN_PNOS by SMITH_PNOS. T  R ÷ S. Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Additional Relational Operations Statistical queries cannot be specified in the basic relational algebra operation We define aggregate functions that can be applied over numeric values such as, SUM, AVERAGE, MAXIMUM, MINIMUM, and COUNT The aggregate function is denoted by <grouping attributes> δ <function list> (R) where aggregation (grouping) is based on the <attributes-list>. If not present, just 1 group Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition FIGURE 6.9 The AGGREGATE FUNCTION operation. Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The Tuple Relational Calculus The relational algebra is procedural The relational calculus is nonprocedural Any query that can be specified in the basic relational algebra can also be specified in relational calculus, and vice versa (their expressive power are identical) A relational query language is said to be relationally complete if any query can be expressed in that language Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Tuple Variables and Range Relations The tuple relational calculus is based on specifying a number of tuple variables The range of each tuple variable is a relation A tuple relational calculus query is denoted by {t | COND(t)}, where t is a tuple variable and COND(t) is a conditional expression involving t. For example, {t | EMPLOYEE(t) AND t.SALARY>50000} Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Expressions and Formulas in TRC A general expression is of the form {t1.A1,…, t n.A n | COND(t1,…, t n, t n+1, …, t m)} Each COND is a condition or formula of the tuple relational calculus A condition/formula is made up of one or more atoms connected via the logical operators AND, OR, and NOT Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The Existential and Universal Quantifiers Two quantifier can appear in a tuple relational calculus formula The universal quantifier, ∀ The existential quantifier, ∃ A tuple variable, t, is bound if it is quantified, that is, appears in an (∃t) or (∀t) clause, otherwise it is free Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The Existential and Universal Quantifiers It is possible to transform a universal quantifier into an existential quantifier, and vice versa For example: (∀x)(P(x)) ≡ NOT (∃x) (NOT (P(x)) (∃x)(P(x)) ≡ NOT (∀x) (NOT(P(x)) (∀x)(P(x) AND (Q(x))) ≡ NOT(∃x)(NOT(P(x)) OR(NOT(Q(x)))) Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

Safe and Unsafe Expressions In relational calculus, an expression is said to be safe if it guaranteed to yield a finite number of tuples as its result The expression {t | NOT (EMPLOYEE(t))} is unsafe, because it yields all tuples in the universe that are not EMPLOYEE tuples In a safe expression all resulting values are from the domain of the expression Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The Domain Relational Calculus In domain relational calculus, the variables range over single values from domains of attributes SQL is based on tuple relational calculus, while QBE(Query-by-Example) is developed over the domain relational calculus To form a relation of degree ‘n’ for a query result, we must have ‘n’ domain variables Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition

The Domain Relational Calculus A domain relational calculus expression is of the form {x1, …, xn | COND(x1, …, xn, x n+1, …, x n+m)} where x1, …, x n+m are domain variables that range over domain of attributes, and COND is a condition or formula. For example, {uv | (∃q)(∃r)(∃s)(∃t)(∃w)(∃x)(∃y)(∃z) (EMPLOYEE (qrstuvwxyz) AND (q = ‘John’) AND (r=‘B’) AND (s=‘Smith’))} Alternatively, we can write {uv | EMPLOYEE(‘John’, ‘B’, ‘Smith’, t,u,v,w,x,y,z)} Elmasri/Navathe, Fundamentals of Database Systems, 4th Edition