The Relational Language

1 / 13

# The Relational Language - PowerPoint PPT Presentation

The Relational Language. Todd S. Bacastow January 2004. Relational Query Languages. Query languages Allow manipulation and retrieval of data from a database. Query Languages QLs not intended to be used for complex calculations. QLs support easy, efficient access to large data sets.

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

## PowerPoint Slideshow about ' The Relational Language' - arnie

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

The Relational Language

Todd S. Bacastow

January 2004

Relational Query Languages
• Query languages
• Allow manipulation and retrieval of datafrom a database.
• Query Languages
• QLs not intended to be used for complex calculations.
• Two types of languages
• Formal (mathematical) query language (ch 4)
• Relational Algebra
• Relational Calculas
• Real (or operational) language --- SQL (ch 5)
Formal Relational Query Languages

Two mathematical Query Languages form the basis for “real” languages (e.g. SQL), and for implementation:

• Relational Algebra:More operational, very useful for representing execution plans.
• Relational Calculus:Lets users describe what they want, rather than how to compute it.
Relational Calculus
• Comes in two flavours:
• Tuple relational calculus (TRC)
• Domain relational calculus(DRC).
• Calculus has variables, constants, comparison ops, logical connectives and quantifiers.
• TRC:Variables range over (i.e., get bound to) tuples.
• DRC:Variables range over domain elements (= field values).
• Expressions in the calculus are called formulas.
• An answer tuple is essentially an assignment of constants to variables that make the formula evaluate to true.
Relational Algebra
• Basic operations:
• Selection ( ) Selects a subset of rows from relation.
• Projection ( ) Deletes unwanted columns from relation.
• Cross-product (Cartesian product)( ) Allows us to combine two relations and returns all possible combinations.
• Union(U) All tuples in reln. 1 and in reln. 2.
• Intersection ( ) Only tuples common the reln. 1 and reln 2.
• Set-difference ( ) Tuples in relation 1, but not in reln. 2.
• Join ( ) Cross-product and a selection.
• Intersection, division: Not essential, but useful.
• Since each operation returns a relation, operations can be composed.

U

Relational Algebra Operations

Columns!!

X

Rows!!

Glue together allpossible combinations

Only tuples in both reln 1 and reln 2

Everything in reln 1 take away everything in reln 2

Everything in reln 1 plus reln 2

Consider the following database schema
• The schema:

Store (SName, City)

PriceList (UPC, SName, Price)

Item (UPC, IName, Warranty)

Example
• Write a relational algebra query to find the namesof all stores that sell items with warranty equal to 24 months.
• Join PriceList and Item
• Select those with a warranty equal to 24 months
• Return the store name
Summary
• The relational model has rigorously defined query languages that are simple and powerful.
• Relational algebra is more operational; useful as internal representation for query evaluation plans.
• SQL is an implementation of relational algebra.
• There may be several ways of expressing a given query.