This preview shows pages 1–7. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CSCD343 Introduction to databases A. Vaisman Relational Algebra CSCD343 Introduction to databases A. Vaisman Relational Query Languages Query languages : Allow manipulation and retrieval of data from a database. Relational model supports simple, powerful QLs: Strong formal foundation based on logic. Allows for much optimization. Query Languages != programming languages! QLs not expected to be Turing complete. QLs not intended to be used for complex calculations. QLs support easy, efficient access to large data sets. CSCD343 Introduction to databases A. Vaisman Formal Relational Query Languages Two mathematical Query Languages form the basis for real languages (e.g. SQL), and for implementation: Relational Algebra : More operational(procedural) , very useful for representing execution plans. Relational Calculus : Lets users describe what they want, rather than how to compute it. ( Nonoperational, declarative .) CSCD343 Introduction to databases A. Vaisman Preliminaries A query is applied to relation instances , and the result of a query is also a relation instance. Schemas of input relations for a query are fixed (but query will run regardless of instance!) The schema for the result of a given query is also fixed! Determined by definition of query language constructs. Positional vs. namedfield notation: Positional notation easier for formal definitions, named field notation more readable. Both used in SQL CSCD343 Introduction to databases A. Vaisman Example Instances sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 sid bid day 22 101 10/10/96 58 103 11/12/96 R1 S1 S2 Sailors and Reserves relations for our examples. bid= boats. sid: sailors Well use positional or named field notation, assume that names of fields in query results are `inherited from names of fields in query input relations. CSCD343 Introduction to databases A. Vaisman Relational Algebra Basic operations: Selection ( ) Selects a subset of rows from relation....
View
Full
Document
 Spring '09
 WHITE

Click to edit the document details