relational math n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Relational Math PowerPoint Presentation
Download Presentation
Relational Math

Loading in 2 Seconds...

play fullscreen
1 / 55

Relational Math - PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on

Relational Math. Relational Algebra. The rules for combining one or more numbers (or symbols standing in for numbers) to obtain another number is called algebra .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Relational Math' - lloyd


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
relational algebra
Relational Algebra
  • The rules for combining one or more numbers (or symbols standing in for numbers) to obtain another number is called algebra.
  • For example, the rules for combining one or more Boolean variables (expressions which are either true or false) to obtain another Boolean is called Boolean algebra.
  • The rules for combining one or more relations to obtain another relation is called relational algebra.
operations
Operations
  • The specific ways of combining elements are known as operations.
    • E.g. addition is an algebraic operation
    • E.g. ANDing is a Boolean operation
  • Operations are called unary if they act on one element and binary if they act on two elements.
    • E.g square root is a unary algebraic operation.
    • E.g. addition is a binary algebraic operation.
relation table
Relation  Table
  • Relational algebra sounds so abstract.
    • Recall a representation of a relation is a table.
    • So relational algebra means that we do stuff to tables and get other tables out.
  • A relational database is made of tables.
    • Relational algebra tells us how to operate on tables.
    • That is, relational algebra tells us what a Data Manipulation Language (DML) should do.
synonym
Synonym
  • Recall our old synonyms
    • Table  Relation  File
    • Row  Tuple  Record
    • Column  Attribute  Property  Field
  • A new synonym pair is
    • Condition  Predicate
    • A condition is a Boolean, an expression that is true or false, e.g. Salary > 600000 or Name=“Smith”
selection restriction
Selection/Restriction
  • A selection (a.k.a. restriction) picks out those rows from a table that meet some condition.
  • Example: Let us select from the Customer table those people who are from PA.
  • predicate ( R )
selection example customers from pa design
Selection Example: Customers from PA (Design)

Customer.* refers to all of the columns.

The condition (predicate) selecting out particular rows.

condition can be compound
Condition can be compound.
  • The selection condition may be a compound condition.
    • ConditionA AND ConditionB
    • ConditionA OR ConditionB
  • Example: Let us select from the Customer table those people who from Philadelphia and from PA. (There are other Philadelphias, e.g. in Mississippi)
selection example philadelphia and pa design
Selection Example: Philadelphia AND PA (Design)

ANDed conditions are entered on the same line.

selection example customers from pa or nj design
Selection Example: Customers from PA or NJ (Design)

ORed conditions are entered on separate lines.

projection
Projection
  • The projection operator picks out a set of columns that will belong to the resulting table.
    • Recall the concept of views in which certain fields would be hidden from certain users.
  • Example: Let us project from the Customer table the first and last names.
  • column1,column2,… ( R )
projection example customer s first and last names design
Projection Example: Customer’s first and last names (Design)

Choose columns and check to show them.

union compatible
Union Compatible
  • Think of the records in a table as elements of a set.
  • If two sets have the same sorts of records, that is, the same fields in the same order or minimally the same type fields in the same order, then the sets are said to be union-compatible.
  • Then you can consider forming
    • The union of the two sets
    • The intersection of the two sets
    • The set difference
union
Union
  • The union of set A and set B contains all of the elements of set A as well as all of the elements of set B
    • If an element belongs to set A and set B, the union contains only one copy of it.
  • Example: let us make a table containing all of the names from the Character and RealPerson tables
  • FirstName,LastName(Character)  FirstName,LastName(RealPerson)
union example character and realperson names
Union Example: Character and RealPerson names

Step 1 would be to create union-compatible tables using projection. Step 2 would be to take the union of these tables.

union example character and realperson names no design
Union Example: Character and RealPerson names (No Design )
  • Query-By-Example (QEB) which is what we do in Design View takes the join as its principle binary operation.
  • While the union is a more fundamental binary operation in Relational algebra, the join is the more common operation in querying.
  • SQL does have the union operation!
union all
UNION ALL
  • UNION ALLis a variation on the UNION operation that does not eliminate duplicate records from the results.
    • It is somewhat faster because the system does not have to look for the possibility of duplications.
    • The result is “weird” in that we usually do not want duplicate records.
intersection
Intersection
  • The intersection of set A and set B contains only the elements that belong both to set A and to set B.
  • Example: let us make a table containing all of the names of people who play themselves on the Simpsons.
  •  FirstName,LastName(Character)   FirstName,LastName(RealPerson)
  • Again the first step is to make “union-compatible” tables.
intersection example people playing themselves design step 2
Intersection Example: People playing themselves (Design, step 2)

Dragging a field icon from one table to another establishes a relationship. Right click on a line to remove a relationship from the query.

intersection example people playing themselves sql
Intersection Example: People playing themselves (SQL)

SQL has an INTERSECT operation like its UNION operation, but it is not supported by Access.

intersection example people playing themselves design version 2
Intersection Example: People playing themselves (Design, version 2)

concatenation

subquery

Uses concatenation and a subquery.

intersection example people playing themselves sql version 2
Intersection Example: People playing themselves (SQL, version 2)

Note: Access adds lots of parentheses.

set difference
Set Difference
  • The set differenceof Set A and Set B is all of the elements in Set A that are not also elements of set B.
  • Example: Simpsons characters who are not real people.
  • FirstName,LastName(Character) -FirstName,LastName(RealPerson)
  • Again the first step is to make “union-compatible” tables.
set difference example characters that are not real people datasheet
Set Difference Example: Characters that are not real people (DataSheet)

Ernest Borgnine and James Brown removed.

set difference example characters that are not real people design
Set Difference Example: Characters that are not real people (Design)

Same as the second version of the Intersection query except IN  NOT IN

cartesian product
Cartesian Product
  • A row in the Cartesian productof Table A and Table B is the concatenation of a row from Table A and a row from Table B.
  • All possible combinations of a row from A and a row from B are made.
  • A  B
  • On its own the Cartesian product is not very useful, but it is the first ingredient in a join, which is very useful in querying relational databases.
how big is the cartesian product
How big is the Cartesian product?

Degree(B)

Degree(A)

Cardinality(A)

Cardinality(B)

Cardinality(AB) = Cardinality(A) * Cardinality(B)

Degree(AB) = Degree(A) + Degree(B)

perform a selection on the cartesian product
Perform a Selection on the Cartesian Product
  • Recall that
    • (Most of) our tables correspond to entities.
    • Entities have relationships.
    • Relationships are realized by having fields in two tables take values from the same domain.
      • E.g. That a Character is voiced by a Real Person is represented by having the PersonID (which identifies a person in the RealPerson Table) appear the Character Table.
perform a selection on the cartesian product cont
Perform a Selection on the Cartesian Product (Cont.)
  • The Cartesian product of the Character and RealPerson Tables has rows in which the person voices the character and rows in which the person does not voice the character.
  • What distinguishes the former is that the Character.PersonID matches the RealPerson.PersonID.
  • We can use this condition (predicate) to select out the meaningful rows.
after the selection
After the selection

Now we have a table with two identical columns. We can eliminate one (or both) by projecting.

after projection
After projection
  • The combination of Cartesian product, selection and projection allows you to bring together the related information that was placed in different tables.
  • This is the key operation in querying.
  • It is called a join.
cartesian product of character and credential tables in excel
Cartesian Product of Character and Credential Tables (in Excel)

The credentials belong to Groening.

question
Question

Do I throw out people even if I don’t have any credentials for them?

There are different types of joins.

references
References
  • Database Systems, Rob and Coronel
  • Database Systems, Connolly and Begg