- By
**arnie** - Follow User

- 103 Views
- Uploaded on

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

**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 Query Languages

- Query languages
- Allow manipulation and retrieval of datafrom a database.
- Query Languages
- QLs not intended to be used for complex calculations.
- QLs support easy, efficient access to large data sets.
- 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.
- Additional operations:
- 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.

Download Presentation

Connecting to Server..