Upload
alma-barnwell
View
214
Download
0
Embed Size (px)
Citation preview
Foundations of Relational Implementation Defining Relational Data Relational Data Manipulation Relational Algebra
Defining Relational Data
Review of Terminology– Fig. 9-2
Implementing a Relational Database– Data Definition Language (DDL) used to
describe the database structure, i.e., names the tables in the database, the columns of those tables, defines indexes, and describes other structures such as constraints and security restrictions.Fig.9-3
Relational Data Manipulation
Categories of Relational Data Manipulation Language (DML)
DML Interfaces to the DBMS
Categories of Relational Data Manipulation Language (DML) Relational Algebra
– Procedural processing that uses operators such as +,-, that work on relations.
– Infrequently used in commercial database processing.
Relational Calculus– Nonprocedural processing that uses predicate
calculus logic.– Not used in commercial database processing.
Categories of Relational Data Manipulation Language (DML) Transform-Oriented Languages
– Nonprocedural languages that transform input relational data as results showed in a single relation.
– Examples are: SQUARE, SEQUEL and SQL.
Categories of Relational Data Manipulation Language (DML) Query-by-Example (QBE) and Query-
by-Form– With a graphical interface the user is
presented a materialization of one or more relations. The DBMS constructs queries (in SQL) on behalf of the user.
DML Interfaces to the DBMS
Data Manipulation by Means of Forms ->Fig. 9-7,8
Query/Update Language Interface -> Fig. 9-9
Stored Procedure Interface Application Program Interface
-> Fig. 9-10
Relational Algebra
Relational Operators Expressing Queries in Relational
Algebra
Relational Operators
Union– Adding the tuples of an relation to those of
a second relation to produce a third relation. A + B
– Relation must be union compatible, i.e., each relation must have the same number of attributes and corresponding attributes must have the same domain
– Fig. 9-10,11,12
Relational Operators
Difference– A - B creates a third relation that contains
tuples that occur in the first relation but not in the second.
– Fig. 9-13 Intersection
– Creates a relation containing the tuples that appear in both the first and second relation -> Fig. 9-14
Relational Operators
Product– A * B is the concatenation of every tuple of one
relation with every tuple of a second relation. (Note: some meaningless tuples are included in the resulting relation) -> Fig. 9-15,16
Projection– Selects specified attributes from one relation
e.g. STUDENT[Age, GradeLevel] -> Fig. 9-15,17
Relational Operators
Selection– Takes a horizontal subset (rows) of a relation
e.g. STUDENT WHERE Major = ‘Math’ -> Fig. 9-18
Join– A combination of the product, selection, and
projection operations.– Equi-join Vs. natural join – Fig. 9-19
Expressing Queries in Relational Algebra Fig. 9-20 Examples pg. 231-234 and fig. 9-21