Presentation on theme: "Foundations of Relational Implementation n Defining Relational Data n Relational Data Manipulation n Relational Algebra."— Presentation transcript:
Foundations of Relational Implementation n Defining Relational Data n Relational Data Manipulation n Relational Algebra
Defining Relational Data n Review of Terminology –Fig. 9-2 n 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 n Categories of Relational Data Manipulation Language (DML) n DML Interfaces to the DBMS
Categories of Relational Data Manipulation Language (DML) n Relational Algebra –Procedural processing that uses operators such as +,-, that work on relations. –Infrequently used in commercial database processing. n Relational Calculus –Nonprocedural processing that uses predicate calculus logic. –Not used in commercial database processing.
Categories of Relational Data Manipulation Language (DML) n 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) n 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 n Data Manipulation by Means of Forms ->Fig. 9-7,8 n Query/Update Language Interface -> Fig. 9-9 n Stored Procedure Interface n Application Program Interface -> Fig. 9-10
Relational Algebra n Relational Operators n Expressing Queries in Relational Algebra
Relational Operators n 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 n Difference –A - B creates a third relation that contains tuples that occur in the first relation but not in the second. –Fig n Intersection –Creates a relation containing the tuples that appear in both the first and second relation -> Fig. 9-14
Relational Operators n 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 n Projection –Selects specified attributes from one relation e.g. STUDENT[Age, GradeLevel] -> Fig. 9-15,17
Relational Operators n Selection –Takes a horizontal subset (rows) of a relation e.g. STUDENT WHERE Major = ‘Math’ -> Fig n Join –A combination of the product, selection, and projection operations. –Equi-join Vs. natural join –Fig. 9-19
Expressing Queries in Relational Algebra n Fig n Examples pg and fig. 9-21