Relational Algebra Spring 2012 Instructor: Hassan Khosravi.

Slides:



Advertisements
Similar presentations
Chapter 3 : Relational Model
Advertisements

SQL This presentation will cover: A Brief History of DBMS View in database MySQL installation.
Database Modifications CIS 4301 Lecture Notes Lecture /30/2006.
Algebraic and Logical Query Languages Spring 2011 Instructor: Hassan Khosravi.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A Modified by Donghui Zhang.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
Dale Roberts 1 Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
Relational Algebra.
Database Modifications, Data Types, Views. Database Modifications A modification command does not return a result as a query does, but it changes the.
Subqueries Example Find the name of the producer of ‘Star Wars’.
By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 28 Database Systems I The Relational Data Model.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
SQL. 1.SQL is a high-level language, in which the programmer is able to avoid specifying a lot of data-manipulation details that would be necessary in.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A.
Operations in the Relational Model These operation can be expressed in an algebra, called “relational algebra”. In this algebra relations are the operands.
SQL SQL is a very-high-level language, in which the programmer is able to avoid specifying a lot of data-manipulation details that would be necessary in.
Database Modifications A modification command does not return a result as a query does, but it changes the database in some way. There are three kinds.
Joins Natural join is obtained by: R NATURAL JOIN S; Example SELECT * FROM MovieStar NATURAL JOIN MovieExec; Theta join is obtained by: R JOIN S ON Example.
Rutgers University Relational Algebra 198:541 Rutgers University.
Relational Algebra Chapter 4 - part I. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Spring 2008 Project 1, Lecture 3 Slides adapted from those used by Jeffrey Ullman, via Jennifer.
CSCD343- Introduction to databases- A. Vaisman1 Relational Algebra.
1 Relational Data Model CS 157B Nidhi Patel. 2 What is a Data Model? A notation for describing data or information A notation for describing data or information.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Slides adapted from those used by Jeffrey Ullman, via Jennifer Welch Via Yoonsuck Choe.
Structured Query Language (SQL) A2 Teacher Up skilling LECTURE 2.
Relational Algebra CIS 4301 Lecture Notes Lecture /28/2006.
Relational Model 2015, Fall Pusan National University Ki-Joune Li.
Database Management Systems, R. Ramakrishnan and J. Gehrke1 Relational Algebra.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
1.1 CAS CS 460/660 Introduction to Database Systems Relational Algebra.
ICS 321 Fall 2011 The Relational Model of Data (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 8/29/20111Lipyeow.
1 Relational Algebra Chapter 4, Sections 4.1 – 4.2.
Database Systems Relational Algebra assoc. prof., dr. Vladimir Dimitrov web: is.fmi.uni-sofia.bg.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Database Management Systems Chapter 4 Relational Algebra.
1 More SQL uDatabase Modification uDefining a Database Schema uViews.
CSCD34-Data Management Systems - A. Vaisman1 Relational Algebra.
CS 338The Relational Model2-1 The Relational Model Lecture Topics Overview of SQL Underlying relational model Relational database structure SQL DDL and.
Referential Integrity checks, Triggers and Assertions Examples from Chapter 7 of Database Systems: the Complete Book Garcia-Molina, Ullman, & Widom.
Advanced SQL Concepts - Checking of Constraints CIS 4301 Lecture Notes Lecture /6/2006.
© D. Wong Normalization  Purpose: process to eliminate redundancy in relations due to functional or multi-valued dependencies.  Decompose relation.
Database Management Systems, R. Ramakrishnan1 Relational Algebra Module 3, Lecture 1.
Operations in the Relational Model COP 4720 Lecture 8 Lecture Notes.
CS 157B Database Systems Dr. T Y Lin. Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz.
Dr. T. Y. Lin | SJSU | CS 157A | Fall 2011 Chapter 2 THE RELATIONAL MODEL OF DATA 1.
Relational Algebra p BIT DBMS II.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 9 A First Course in Database Systems.
SQL Exercises – Part I April
The Relational Model of Data Prof. Yin-Fu Huang CSIE, NYUST Chapter 2.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 18 A First Course in Database Systems.
CS 157B Database Systems Dr. T Y Lin. 1.2 Overview of a Database Management System Data-Definition Language Commands –Illustrated by three examples.
© D. Wong Ch. 3 (part 1)  Relational Model basics  From E/R diagram to Relations.
CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
1 Constraints and Triggers in SQL. 2 Constraints are conditions that must hold on all valid relation instances SQL2 provides a variety of techniques for.
CPSC-310 Database Systems
Chap 5. The DB Language (SQL)
Introduction to Structured Query Language (SQL)
THE RELATIONAL MODEL OF DATA
Chap 2. The Relational Model of Data
Relational Algebra Chapter 4, Part A
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
THE RELATIONAL MODEL OF DATA
SQL OVERVIEW DEFINING A SCHEMA
2018, Fall Pusan National University Ki-Joune Li
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Query Compiler By:Payal Gupta Shirali Choksi Professor :Tsau Young Lin.
CMSC-461 Database Management Systems
2019, Fall Pusan National University Ki-Joune Li
Presentation transcript:

Relational Algebra Spring 2012 Instructor: Hassan Khosravi

2.2 Querying relational databases Lecture given by Dr. Widom on querying Relational Models Lecture given by Dr. Widom

An Overview of Data Models What is a Data Model? Important Data Models The Relational Model in Brief The Semi-structured Model in Brief Other Data Models Comparison of Modeling Approaches

What is a Data Model? Data model is a notion for describing data or information. Real World  Math Model: 1. Structure of the data (tuples) 2. Operations on the data –queries to retrieve and modify information 3. Constraints on the data – year has to be integer, name is string. Important data models The relational Model The semi-structured data model XML

2.5 Relational Model in Brief Relational model is based on tables Operations: query, modify Constraints: year is Integer between The structure may appear to resemble an array of structs in C where the column headers are the field names and each row represent the values of one struct in the array. Distinction in scales of relations Not normally implemented as main-memory structure Take into consideration to access relations on hard drive TitleYearLengthgenre Gone with the wind Drama Star Wars SciFi Wayne’s world199295comedy

2.6 The Semi-structured Model in Brief Semi structure data resembles trees or graphs rather than tables or arrays. Operations usually involve following in the tree. Find the movies with the comedy genre. Constraints often involve data types of values associated with a tag. Values associated with the length tag are integers drama sciFi comedy

2.7 Comparison of Modeling Approaches Semi-structured models have more flexibility than relations. However, the relational model is still preferred in DBMS’s. 1. Efficiency of access to data and efficiency of modifications to that data are more important than flexibility 2. ease of use is more important than flexibility. SQL enables the programmer to express their wishes at very high level. The strongly limited set of operations can be optimized to run very fast

2.8 Basics of the Relational model Attributes: columns of a relation are named attributes. Schema: the name of the relation and the set of attributes Movies(title, year, length, genre) Tuples: The rows of a relation, other than the header Domains: the value for each attribute must be atomic (can not be structure). Each attribute has a domain of values. TitleYearLengthgenre Gone with the wind Drama Star Wars SciFi Wayne’s world199295comedy

2.9 Equivalent Representations of a Relation Relations are sets of tuples not lists of tuples. The order of tuples does not matter. Attributes could be reordered too. How many different ways can we present the given relation? YearGenreTitlelength 1977SciFiStar Wars ComedyWayne’s World DramaGone With the Wind231 TitleYearLengthgenre Gone with the wind Drama Star Wars SciFi Wayne’s world199295comedy

2.10 Relation Instances and Keys A set of tuples for a given relation is called an instance of that relation. It is expected for the instance of the relation to change over time.  New movies are added to the table It is less common for the schema of a relation to change. It is hard to add a new value for all the current tuples if a new attribute is added to the schema. Keyes of relations Key constraints: A set of attributes form a key if we do not allow two tuples in a relation instance to have the same value. We indicate the attributes that form a key by underlining them  Movies(title, year, length, genre) Key most be true for all possible instances of a relation not a specific instance.  Genre is not a key What if our data does not have a key?  Generate artificial ID. Student Number

2.11 Database Schema about Movies Movies( title: string; Year : integer, Length : integer, Genre : string, studioName : string, producerC# : integer ) Moviestar ( name : string, address : string, gender : char, birthdate : date ) StarsIn ( MovieTitle: string, Movieyear : integer Starname : string ) MovieExec ( name: string, address : string cert# : integer netWorth : integer ) Studio ( name: string, address : string pressC# : integer )

2.12 Defining a Relation Schema in SQL Relations in SQL Data Types Simple Table Declarations Modifying Relation Schemas Default Values Declaring Keys Exercises for Section 2.3

Relations in SQL SQL also pronounced (sequel) is the principal language used to describe and manipulate relational database SQL makes a distinction between three kinds of relations Stored relations (tables): this relations are tables that exist in the database we can query and modify Views: are relations defined by a computation. They are not stored but constructed. We just query them (chapter 8) Temporary tables: are constructed by SQL language processor during optimization. These are not stored nor seen by the user

2.14 Data Types Char(n): a fixed-length string of up to n characters. Char(5) of foo is stored “foo ” Varchar(n): a variable-length string of up to n characters Varchar(5) of foo is stored “foo” Bit(n), Varbit(n) fixed and variable string of upto n bits. Boolean: True False and although it would surprise George Boole Unknown Int or Integer: typical integer values Float or real: typical real values Decimal(6,2) could be Date and time: essentially char strings with constraints.

Simple Table Declarations CREATE TABLE Movie ( title VARCHAR(255), year INTEGER, length INTEGER, inColor CHAR(1), studioName CHAR(50), producerC# INTEGER, ); CREATE TABLE MOVIESTAR ( NAME CHAR(30), ADDRESS VARCHAR2(50), GENDER CHAR(6), BIRTHDATE DATE ); Movies( title: string; Year : integer, Length : integer, Genre : string, studioName : string, producerC# : integer ) Moviestar ( name : string, address : string, gender : char, birthdate : date )

2.16 Modifying Relation Schemas We can delete a table R by the following SQL command Drop table R; We can modify a table by the command Alter Table MovieStar ADD phone CHAR(16); Alter Table MovieStar Drop birthdate; Defaults values To use the default character ? As the default for an unknown gender. Earliest possible date for Unknown Birthdate. DATE ‘ ’  Gender CHAR(1) DEFAULT ‘?’,  Birthdate DATE DEFAULT DATE ‘ ’,  ALTER TABLE MovieStar ADD phone CHAR (16) DEFAULT ‘ unlisted’;

Declaring Keys Two ways to declare keys in CRATE table statement Primary key can not be null Unique can be null Replace primary with unique in examples to get the example with unique CREATE TABLE MovieStar ( name CHAR (30) Primary Key, address VARCHAR (255), gender CHAR(1), birthdate DATE ); CREATE TABLE MovieStar ( name CHAR (30), address VARCHAR (255), gender CHAR(1), birthdate DATE PRIMARY KEY (name) );

2.18 Example 2.7 The Relation Movie, whose key is the pair of attributes ‘title and year’ must be declared like this CREATE TABLE Movies( title CHAR(100), yearINTEGER, lengthINTEGER, genreCHAR(10), studiNameCHAR(30), producerC#INTEGER, PRIMARY KEY (title,year) );

2.19 Quick summary Lecture given by Dr. Widom on Relational Model definition Lecture given by Dr. Widom

An Algebraic Query Language Why Do We Need a Special Query Language? What is an Algebra? Overview of Relational Algebra Set Operations on Relations Projection Selection Cartesian Product Natural Joins Theta-Joins Combining Operations to Form Queries Naming and Renaming Relationships Among Operations A Linear Notation for Algebraic Expressions Exercises for Section 2.4

2.21 Why Do We Need a Special Query Language? Why not just use C or java instead of introducing relational algebra ? Relational algebra is useful because it is less powerful than C and Java. One of the only areas where non-Turing-complete languages make sense.  Relational algebra CANNOT determine whether the number of tuples are odd or even Being less powerful is helpful because  Ease of programming  Ease of compilation –Ease of optimization

2.22 Projection TitleYearLengthGenreStudionameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890 Wayne’s World ComedyParamount99999 The Projection operator applied to a relation R, produces a new relation with a subset of R’s columns. Duplicate tuples are eliminated. TitleYearLength Star Wars Galaxy Quest Wayne’s World ∏ Title,year,length (Movies) ∏ genre (Movies) Genre SciFi Comedy

2.23 Selection and Projection Lecture given by Dr. Widom on selection and projection Lecture given by Dr. Widom

Selection The selection operator applied to a relation R, produces a new relation with a subset of R’s tuples. TitleYearLengthGenreStudionameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890 Wayne’s World ComedyParamount99999 TitleYearLengthGenreStudioNameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890 σ length >= 100 (Movie)

2.25 Example for Selection Set tuples in the relation movies that represent Fox Movies at least 100 minutes long. TitleYearLengthGenreStudioNameproducerC# Star Wars SciFiFox12345 TitleYearLengthGenreStudionameproducerC# Star Wars SciFiFox12345 Galaxy ComedyDreamWorks67890 Wayne’s World ComedyParamount99999 σ Length >= 100 AND studioName = ‘Fox’ (Movies)

Cartesian Product The Cartesian Product of two sets R and S is the set of pairs that can be formed by choosing the first element from R and the second from S. If R and S have some attribute in common, we need to invent new name for the identical attributes. AB BCD Relation R Relation S Relation R X S AR.BS.BCD

2.27 Cartesian Product Lecture given by Dr. Widom on duplicates, cross product Lecture given by Dr. Widom

2.28

Natural Joins The Natural join of two sets R and S is the set of pairs that agree in whatever attributes are common to the schemas of R and S. Let A 1,A 2, …, A n be attributes in both R and S. a tuple r from R and s from S are successfully paired if and only if r and s agree on A 1,A 2, …, A n that can be formed by choosing the first element from R and the second from S. ABCD AB BCD Relation R Relation S Relation R ⋈ S

2.30 Example for Natural Join ABC BCD Relation U Result U ⋈ V ABCD Relation V A more complicated example for natural join

2.31 Lecture given by Dr. Widom on Natural Join Lecture given by Dr. Widom

2.32

2.33

2.34 Theta-Joins It is sometimes desirable to pair tuples on other conditions except all the common attributes being equal. The notation for a theta-join of relation R and S based on condition C is R ⋈ C S  The result is constructed as follows: –Take product of R and S –Select tuples that satisfy C AU.BU.CV.BV.CD U ⋈ A < D V ABC BCD Relation U Relation V

2.35 Example on Theta-Joins U and V that has more complex condition : We require for successful pairing not only that the A component of U-tuple be less than D component of the V-tuple, but that the two tuples disagree on their respective B components AU.BU.CV.BV.CD ABC BCD Relation U Relation V U ⋈ A V.B V

2.36 Combining Operations to Form Queries Example: “ What are the titles and years of movies made by Fox that are at least 100 minutes long” ∩ ∏ Title,year σ length >=100 σ StudioName =‘Fox’ Movies ∏ Title,year (σ length >=100 (Movies) ∩ σ StudioName =‘Fox’ (Movies) ∏ Title,year (σ length >=100 AND StudioName =‘Fox’ (Movies)

2.37 Relational algebra Algebra in general consists of operators and atomic operands Algebra of arithmetic operands are variables and constants and operators are (+, -, *, /). Any algebra allows us to build expressions by applying an operator to operands and other expressions. (x+y)/z NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark hamill456 Oak road., BrentwoodM8/8/88 Relation R NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 Relation S

2.38 Operations of relational algebra Union (R S): the set of elements that are in R, or S or both. Appears only once in the union. NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark Hamill456 oak Rd., BrentwoodM8/8/88 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark hamill456 Oak road., BrentwoodM8/8/88 Relation R NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 Relation S

2.39 Intersection (R S): the set of elements that are in both R and S. Appears only once in the intersection. NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark hamill456 Oak road., BrentwoodM8/8/88 Relation R NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 Relation S Operations of relational algebra NameAddressGenderBirthdate Carrie Fisher123 Maple st., Hollywood F9/9/99

2.40 The Difference (R-S): the set of elements that are in R and not in S. Appears only once in the difference. NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Mark hamill456 Oak road., BrentwoodM8/8/88 Relation R NameAddressGenderBirthdate Carrie Fisher123 Maple st., HollywoodF9/9/99 Harrison Ford789 Palm Dr., Beverly HillsM7/7/77 Relation S Operations of relational algebra NameAddressGenderBirthdate Mark Hamill 456 oak Rd., Brentwood M8/8/88

2.41 Lecture given by Dr. Widom on union, difference, intersection Lecture given by Dr. Widom

2.42

Naming and Renaming Operator to explicitly rename attributes in relations. PS(A1,A2, …, An ) (R) results in a relation S that has exactly the same tuples as R but the attributes names are A 1,A 2, …, A n starting from the left most attribute. ABXCD R X ρ s (X,C,D) (S) AB BCD Relation R Relation S

2.44 Lecture given by Dr. Widom on Renaming Lecture given by Dr. Widom

2.45 Relationships Among Operations Intersection can be expressed as difference. R  S = R –(R –S) See video Theta join can be expressed by product and selection R ⋈ C S=  C (R  S) Natural join can be rewritten by product, selection, projection Example Result U ⋈ V = ∏ A,U.B, U.C, D (  U.B=V.B AND U.C=V.B (U  V)) These are the only redundancies ( union, difference, selection, projection, product, renaming) form an independent set. ABC BCD Relation U Relation V Result U ⋈ V ABCD

Constraints on Relations Relational Algebra as a Constraint Language Referential Integrity Constraints Key Constraints Additional Constraint Examples Exercises for Section Summary of Chapter References for Chapter 2

2.47 Referential Integrity Constraints A value appearing in one context also appears in another, related context  StarsIn(movietitle, movieYear,starName)  Movie(title,year,length,studioName, producerC#)  ∏ movieTitle, movieYear (StarsIn) ⊆ ∏ title,year (Movies)  Movie(title,year,length,genre,studioName, producerC#)  MovieExec(name,address,cert#,netWorth)  ∏ producerC# (Movies) ⊆ ∏ cert# (MocvieExec)

2.48 Key Constraints Recall that name is the key for relation MovieStar(name,address,gender,birthdate) The requirement can be expressed by the algebraic expression  σ MS1.name = MS2.name AND MS1.address ≠ MS2.address (MS1 x MS2) = ∅ MS1 in the product MS1 x MS2 is shorthand for the remaining ρ MS1(name,address,gender,birthdate) (MovieStar)

2.49 Example 2.24 The only legal value for Gender attribute is ‘F’ and ‘M’. We can express the gender attribute of MovieStar alegrabically by: σ Mgender ≠‘F’ AND gender ≠‘M’ (MovieStar) = ∅

2.50 Example 2.25 If one must have networth of at least $100,000,000 to be president of movie studio. FROM MovieExec(name,address,cert#,networth) Studio(name,address, presC#) First we have to perform theta-join on this two relations. σ networth < (Studio ⋈ presC# = cert# MovieExec) = ∅ Second way ∏ TpressC# (Studio) ⊆ ∏ cert# (σ networth < (MovieExec)) Which one is more efficient?

2.51 Summary of Relational Algebra Lecture given by Dr. Widom on Relational Model Lecture given by Dr. Widom