# Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 7: Relational algebra and SQL. October 24, Lecturer: Rasmus Pagh

Save this PDF as:

Size: px
Start display at page:

Download "Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 7: Relational algebra and SQL. October 24, Lecturer: Rasmus Pagh"

## Transcription

1 Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 7: Relational algebra and SQL October 24, 2005 Lecturer: Rasmus Pagh

2 Today s lecture Basics of relational algebra. Relational algebra on bags and commercial RDBMSs. More relational algebra (and SQL). Algebraic laws. 1

3 What you should remember from previously In this lecture I will assume that you remember: The mathematical definition of a relation as a set of tuples. Projection and selection using SELECT-FROM-WHERE. Natural join. Nested SQL queries. 2

4 Next: Basics of relational algebra.

5 What is an algebra? An algebra consists of a set of atomic operands, and a set of operators. We can form algebraic expressions by applying operators to operands (which can be atomic or expressions themselves). Example: In the algebra of arithmetic, the atomic operands are constants and variables, and the operators are +, -, /, and. Using these we can form expressions like ((x + 7)/(y 3)) + x. 4

6 Relational algebra Relational algebra, defined in its basic form by E. F. Codd in 1970, has relations as atomic operands, and various operations on relations (such as select and join) as operators. It is the mathematical basis of SQL queries. Example relational algebra expression: σ a 5 (R 1 R 2 ) R 3 using the operators σ a 5,, and on operands R 1, R 2, and R 3. 5

7 Why is relational algebra useful? Top reasons why relational algebra is covered in most database textbooks: 1. It gives another view of SQL queries, and thus a better understanding. 2. It is used in query optimization (to learn about this, enroll for Advanced Database Technology in spring 2006!) 3. It can be used for reasoning about relational queries and constraints. 4. It is the historical background of relational databases. 6

8 Recap of set notation To describe the operators of relational algebra we will use mathematical notation for describing sets (recall that a relation is a set of tuples). The notation {X Y } is used to describe the set of all elements of the form X that satisfy the condition Y. Examples: The set of negative integers: {x x Z (the set of integers), x < 0}. The set of two-tuples of strings: {(x, y) x is a string, and y is a string}. 7

9 Selection in relational algebra Recall that selection is the operation of choosing the tuples in a relation satisfying some condition. In relational algebra, the operator σ C is used for selection with condition C. Formally, σ C (R) = {t R t satisfies C}. Thus: σ C (R) corresponds in SQL to SELECT * FROM R WHERE C 8

10 Projection in relational algebra Recall that projection is the operation of choosing certain attributes of a relation. In relational algebra, the operator π A1,...,A n is used for projection onto attributes A 1,...,A n. Formally: π A1,...,A n (R) = {(a 1, a 2,...,a n ) there exists t R where for all i, a i is the value of attribute A i of t} 9

11 Projection in relational algebra and SQL π A1,...,A n (R) corresponds in SQL to SELECT A 1,...,A n FROM R Note that projection is the operator we use to compute relation instances in a decomposition. 10

12 Set operators in relational algebra Since relations are sets, we can apply the standard set operators. Union: R 1 R 2 = {x x R 1 or x R 2 }. Intersection: R 1 R 2 = {x x R 1 and x R 2 }. Difference: R 1 R 2 = {x x R 1 and x R 2 }. In SQL, the above expressions correspond to, respectively: R 1 UNION R 2 R 1 INTERSECT R 2 R 1 EXCEPT R 2 11

13 Problem session (5 minutes) Try to come up with a formal definition of the natural join operation, i.e., the join operation used to combine decomposed relation instances. Suppose the relations to be joined are R 1 (A 1,...,A n, B 1,...,B m ) and R 2 (A 1,...,A n, C 1,...,C k ). You should express your answer in the form as in the examples you have seen. {X Y } Cheating can be done by looking at the next slide! 12

14 Natural join in relational algebra The join operation used when recombining decomposed relations is called natural join, denoted by in relational algebra. Suppose we have relations R 1 (A 1,...,A n, B 1,...,B m ) and R 2 (A 1,...,A n, C 1,...,C k ). Then formally: R 1 R 2 = {(a 1,...,a n, b 1,...,b m, c 1,...,c k ) there exists t R 1 and u R 2 with values a 1,...,a n on attributes A 1,...,A n of t and u, values b 1,...,b m on attributes B 1,...,B m of t, and values c 1,...,c k on attributes C 1,...,C k of u} 13

15 Natural join in relational algebra and SQL R 1 R 2 corresponds in SQL to R 1 NATURAL JOIN R 2 Natural join is the operator we use to recover the original relation in a decomposition. Note: NATURAL JOIN is not supported in Oracle. 14

16 Next: Relational algebra on bags and commercial RDBMSs.

17 Relational algebra vs SQL In all the cases we saw, the correspondence between relational algebra and SQL queries is not what you might think! Let s look at some examples from an Oracle session... 16

18 Relations in SQL are bags What we have seen is that relations in SQL are bags (or multisets), i.e., tuples may appear more than once. The fact that the same attribute may occur several times is a different (and less important) issue that we won t go into. It is possible to define relational algebra on bags, whose operators are basically identical to those of SQL. 17

19 Features of relational algebra on bags Relational algebra on bags is basically the same as relational algebra (on sets), without duplicate elimination. π A1,...,A n (R) has one tuple for each tuple of R, even if the tuples become identical when some attributes are removed. σ C (R) contains all tuples of R satisfying C, including duplicates. A tuple occurs x y times in R 1 R 2 if it was formed by combining a tuple occurring x times in R 1 with a tuple occurring y times in R 2. R 1 R 2 contains all tuples of R 1 and R 2, including duplicates. (This corresponds to UNION ALL in SQL.) R 1 R 2 and R 1 R 2 can also be defined see book for details. A new duplicate elimination operator: δ(r) is the set of (different) tuples occurring in the bag R. 18

20 Why bags? The reason for using bags (rather than sets, which are easier to handle) is database efficiency. Since efficiency is crucial for commercial RDBMSs, SQL was carefully designed to allow efficient evaluation of queries. The reason why bags are used is that duplicate elimination is relatively costly (requires time and memory), so it is generally an advantage to use it only when necessary. 19

21 Duplicate elimination in SQL We can force duplicate elimination in a SELECT-FROM-WHERE by adding the keyword DISTINCT. Example: To compute the relational algebra expression π A1,...,A n (R) in SQL, use SELECT DISTINCT A 1,...,A n FROM R. Some SQL operators, like UNION, INTERSECT, and EXCEPT, automatically perform duplicate elimination. If we always used DISTINCT etc., the semantics of SQL would match relational algebra. However, when efficiency is an issue this is a bad idea. 20

22 Problem session (5-10 minutes) Suppose that R and S are relations with the same attributes, and consider the expression ((σ C1 (R)) S) (σ C2 (R)) Write SQL expressions that are equivalent to the above: 1. When interpreted as an expression in relational algebra (on sets). 2. When interpreted as an expression in relational algebra on bags. 21

23 Next: More relational algebra (and SQL).

24 Other kinds of join Cartesian product. R 1 R 2, corresponds in SQL to SELECT * FROM R 1, R 2. Theta-join (Θ-join). R 1 C R 2, corresponds in SQL to SELECT * FROM R 1, R 2 WHERE C. Outerjoin. R 1 R2, includes all tuples of R 1 R 2, and further includes dangling tuples of R 1 and R 2 that are not matched with any tuple of the other relation, padded with NULL values. Corresponds in SQL to R 1 FULL NATURAL OUTER JOIN R 2. [Figure 5.19 shown on slide] 23

25 Aggregation operators Aggregation operators are used to compute facts about the values of some attribute in a relation. The standard aggregation operators are: SUM, AVG, MIN, MAX, and COUNT, computing, respectively, the sum, average, minimum, maximum and number of the attribute values. In relational algebra, the aggregation of attribute A in a relation R with operator OP is written: γ OP(A) (R) Aggregation can be done in SQL by specifying the aggregation operator in the SELECT clause: SELECT OP(A) FROM R 24

26 Grouping and aggregation Aggregation is most useful in connection with grouping, where the tuples of a relation are split into groups, for each of which the aggregate is computed. The tuples in a relation are divided into groups based on the values of a specified set of grouping attributes, and the aggregate is computed for each group. Aggregation of attribute A in a relation R with operator OP on grouping attributes A 1,...,A n is written in relational algebra as γ A1,...,A n,op(a)(r) The SQL equivalent is SELECT A 1,...,A n, OP(A) FROM R GROUP BY A 1,...,A n 25

27 Semantics of aggregation When computing an aggregate, we get one tuple for each list of values of the grouping attributes. In addition to the grouping attributes, the tuple contains the aggregate value(s) for the group. The formal definition of the grouping and aggregation operators in relational algebra depends on the operator in question. For SUM we have: γ A1,...,A n,sum(a)(r) = {(a 1, a 2,...,a n, s) (a 1, a 2,...,a n ) π A1,...,A n (R) and s = Σ t σa1 =a 1,...,An=an (R) π A (t)} 26

28 Aggregate conditions on groups Sometimes we wish to perform a selection of certain groups, based on an aggregate value of that group. SQL supports a convenient way of doing this (with no direct equivalent in relational algebra): SELECT <attributes and aggregates in the result> FROM R GROUP BY <grouping attributes> HAVING <condition that may involve aggregates> The HAVING clause may contain conditions like MIN(year) < 1930, where MIN(year) is the minimum value of the year attribute within the group. Note: This would make no sense in a WHERE clause. (Why?) 27

29 Next: Algebraic laws.

30 Laws in relational algebra An algebraic law is an equation (or other mathematical statement) which is always true in a particular algebra. Using such laws we could, e.g., conclude that the following two relational algebra expressions are equivalent: ((σ C1 (R 1 )) R 2 ) (σ C2 (R 1 )) (σ C1 AND C 2 (R 1 )) (σ C2 (R 1 R 2 )) The laws of relational algebra allow us to: Reason about relational expressions (and thus SQL expressions). Perform query optimization (ADBT, spring 2006). 29

31 Basic laws in relational algebra Commutativity laws, examples R S = S R R S = S R R S = S R Associativity laws, examples (R S) T = R (S T) (R S) T = R (S T) (R S) T = R (S T) 30

32 Problem session (5 minutes) Argue that the equation is indeed a valid algebraic law. (R S) T = R (S T) In other words: Argue that the equality holds for any relations R, S, and T. 31

33 Relational algebraic law school, continued Distributive laws, examples (R S) T = (R T) (S T) (R S) T = (R T) (S T) σ C (R S) = σ C (R) σ C (S) π L (R S) = π L (π L J (R) π L J (S)), where J is the set of common attributes of R and S. Example of use: By the second law, the expression ((σ C1 (R 1 )) R 2 ) (σ C2 (R 1 )) is equivalent to ((σ C1 (R 1 )) (σ C2 (R 1 ))) (R 2 (σ C2 (R 1 ))). 32

34 An algebraic criterion for decomposition We can decompose a relation R into R 1 (A 1,...,A n, B 1,...,B m ) and R 2 (A 1,...,A n, C 1,...,C k ) exactly when we have the equality: R = (π A1,...,A n,b 1,...,B m (R)) (π A1,...,A n,c 1,...,C k (R)) This is the formal way of stating that the relation instances of R 1 and R 2, derived from R by projection, should always join to form R. 33

35 Most important points in this lecture As a minimum, you should after this week: Know the meaning of the most common relational algebra operators:,,, π, σ,,, γ. Be able to translate simple SQL queries to relational algebra on bags, and vice versa. Recognize relational algebra laws. 34

36 Next lecture Next time we will cover a mix of topics: Constraints, which are assertions that we want to be true at all times in the database. Triggers, which are database modifications that can be activated by other database modifications. Access privileges in SQL.... and if time allows, XML as a data interchange format. 35

### Relational Databases

Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute

### CS143: Query and Update in SQL

CS143: Query and Update in SQL Book Chapters (4th) Chapter 4.1-6, 4.8-10, 3.3.4 (5th) Chapter 3.1-8, 3.10-11 (6th) Chapter 3.1-9, 4.1, 4.3 Things to Learn SQL DML for SQL Structured Query Language The

### CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data

### Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries

### COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries

COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis 2006 5-1 Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions

### Relational Database: Additional Operations on Relations; SQL

Relational Database: Additional Operations on Relations; SQL Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Overview The course packet

### Introduction to database design

Introduction to database design KBL chapter 5 (pages 127-187) Rasmus Pagh Some figures are borrowed from the ppt slides from the book used in the course, Database systems by Kiefer, Bernstein, Lewis Copyright

### Chapter 5. SQL: Queries, Constraints, Triggers

Chapter 5 SQL: Queries, Constraints, Triggers 1 Overview: aspects of SQL DML: Data Management Language. Pose queries (Ch. 5) and insert, delete, modify rows (Ch. 3) DDL: Data Definition Language. Creation,

### Introduction to Databases, Fall 2004 IT University of Copenhagen. Lecture 6, part 2: OLAP and data cubes. October 8, Lecturer: Rasmus Pagh

Introduction to Databases, Fall 2004 IT University of Copenhagen Lecture 6, part 2: OLAP and data cubes October 8, 2004 Lecturer: Rasmus Pagh Today s lecture, part II Information integration. On-Line Analytical

### Databases 2011 The Relational Model and SQL

Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually

### Relational Algebra and SQL

Relational Algebra and SQL Johannes Gehrke johannes@cs.cornell.edu http://www.cs.cornell.edu/johannes Slides from Database Management Systems, 3 rd Edition, Ramakrishnan and Gehrke. Database Management

### Advance DBMS. Structured Query Language (SQL)

Structured Query Language (SQL) Introduction Commercial database systems use more user friendly language to specify the queries. SQL is the most influential commercially marketed product language. Other

### Relational Algebra. Basic Operations Algebra of Bags

Relational Algebra Basic Operations Algebra of Bags 1 What is an Algebra Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators --- symbols

### SQL: Queries, Programming, Triggers

SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in

### Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables

SQL: Queries, Programming, Triggers Chapter 5 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Example Instances We will use these instances of the Sailors and Reserves relations in our

### More on SQL. Juliana Freire. Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan

More on SQL Some slides adapted from J. Ullman, L. Delcambre, R. Ramakrishnan, G. Lindstrom and Silberschatz, Korth and Sudarshan SELECT A1, A2,, Am FROM R1, R2,, Rn WHERE C1, C2,, Ck Interpreting a Query

### SQL: Queries, Programming, Triggers

SQL: Queries, Programming, Triggers CSC343 Introduction to Databases - A. Vaisman 1 R1 Example Instances We will use these instances of the Sailors and Reserves relations in our examples. If the key for

### MapReduce examples. CSE 344 section 8 worksheet. May 19, 2011

MapReduce examples CSE 344 section 8 worksheet May 19, 2011 In today s section, we will be covering some more examples of using MapReduce to implement relational queries. Recall how MapReduce works from

Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order

### Introduction to tuple calculus Tore Risch 2011-02-03

Introduction to tuple calculus Tore Risch 2011-02-03 The relational data model is based on considering normalized tables as mathematical relationships. Powerful query languages can be defined over such

### Comp 5311 Database Management Systems. 3. Structured Query Language 1

Comp 5311 Database Management Systems 3. Structured Query Language 1 1 Aspects of SQL Most common Query Language used in all commercial systems Discussion is based on the SQL92 Standard. Commercial products

### Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: Business rules, constraints & triggers. 3. marts 2005

Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: Business rules, constraints & triggers. 3. marts 2005 Forelæser: Rasmus Pagh Today s lecture Constraints and triggers Uniqueness

### SUBQUERIES AND VIEWS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6

SUBQUERIES AND VIEWS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6 String Comparisons and GROUP BY 2! Last time, introduced many advanced features of SQL, including GROUP BY! Recall:

### Chapter 8. SQL-99: SchemaDefinition, Constraints, and Queries and Views

Chapter 8 SQL-99: SchemaDefinition, Constraints, and Queries and Views Data Definition, Constraints, and Schema Changes Used to CREATE, DROP, and ALTER the descriptions of the tables (relations) of a database

### IT2305 Database Systems I (Compulsory)

Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this

### Translating SQL into the Relational Algebra

Translating SQL into the Relational Algebra Jan Van den Bussche Stijn Vansummeren Required background Before reading these notes, please ensure that you are familiar with (1) the relational data model

### 3. Relational Model and Relational Algebra

ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra

### Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL

Chapter 9 Joining Data from Multiple Tables Oracle 10g: SQL Objectives Identify a Cartesian join Create an equality join using the WHERE clause Create an equality join using the JOIN keyword Create a non-equality

### Lecture 4: More SQL and Relational Algebra

CPSC 421 Database Management Systems Lecture 4: More SQL and Relational Algebra * Some material adapted from R. Ramakrishnan, L. Delcambre, and B. Ludaescher Today s Agenda Go over last week s quiz New

### The Language of Mathematics

CHPTER 2 The Language of Mathematics 2.1. Set Theory 2.1.1. Sets. set is a collection of objects, called elements of the set. set can be represented by listing its elements between braces: = {1, 2, 3,

### GROUP BY and HAVING. SELECT MIN (S.age) FROM Sailors S WHERE S.rating = i. For i = 1, 2,..., 10:

SQL - 4 Week 9 GROUP BY and HAVING So far, we ve applied aggregate operators to all (qualifying) tuples. Sometimes, we want to apply them to each of several groups of tuples. Consider: Find the age of

### 4. SQL. Contents. Example Database. CUSTOMERS(FName, LName, CAddress, Account) PRODUCTS(Prodname, Category) SUPPLIERS(SName, SAddress, Chain)

ECS-165A WQ 11 66 4. SQL Contents Basic Queries in SQL (select statement) Set Operations on Relations Nested Queries Null Values Aggregate Functions and Grouping Data Definition Language Constructs Insert,

### The SQL Query Language. Creating Relations in SQL. Referential Integrity in SQL. Basic SQL Query. Primary and Candidate Keys in SQL

COS 597A: Principles of Database and Information Systems SQL: Overview and highlights The SQL Query Language Structured Query Language Developed by IBM (system R) in the 1970s Need for a standard since

### UNIT 6. Structured Query Language (SQL) Text: Chapter 5

UNIT 6 Structured Query Language (SQL) Text: Chapter 5 Learning Goals Given a database (a set of tables ) you will be able to express a query in SQL, involving set operators, subqueries and aggregations

### Applications of Methods of Proof

CHAPTER 4 Applications of Methods of Proof 1. Set Operations 1.1. Set Operations. The set-theoretic operations, intersection, union, and complementation, defined in Chapter 1.1 Introduction to Sets are

### Oracle SQL. Course Summary. Duration. Objectives

Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data

### A Little Set Theory (Never Hurt Anybody)

A Little Set Theory (Never Hurt Anybody) Matthew Saltzman Department of Mathematical Sciences Clemson University Draft: August 21, 2013 1 Introduction The fundamental ideas of set theory and the algebra

### Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

### A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX

ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database

### SQL Tables, Keys, Views, Indexes

CS145 Lecture Notes #8 SQL Tables, Keys, Views, Indexes Creating & Dropping Tables Basic syntax: CREATE TABLE ( DROP TABLE ;,,..., ); Types available: INT or INTEGER REAL or FLOAT CHAR( ), VARCHAR( ) DATE,

### How To Handle Missing Information Without Using NULL

How To Handle Missing Information Without Using NULL Hugh Darwen hd@thethirdmanifesto.com www.thethirdmanifesto.com First presentation: 09 May 2003, Warwick University Updated 27 September 2006 Databases,

### IT2304: Database Systems 1 (DBS 1)

: Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation

### Chapter 13: Query Optimization

Chapter 13: Query Optimization Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 13: Query Optimization Introduction Transformation of Relational Expressions Catalog

### Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

### Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems

CSC 74 Database Management Systems Topic #0: SQL Part A: Data Definition Language (DDL) Spring 00 CSC 74: DBMS by Dr. Peng Ning Spring 00 CSC 74: DBMS by Dr. Peng Ning Schema and Catalog Schema A collection

### SQL (structured query language)

SQL (structured query language) A family of standards - Data definition language (DDL) - schemas - Data manipulation language (DML) - updates - Query language (Query) reads History 1974: first paper by

### Lecture Slides 4. SQL Summary. presented by Timothy Heron. Indexes. Creating an index. Mathematical functions, for single values and groups of values.

CS252: Fundamentals of Relational Databases 1 CS252: Fundamentals of Relational Databases Lecture Slides 4 presented by Timothy Heron SQL Summary Mathematical functions, for single values and groups of

### Quiz 2: Database Systems I Instructor: Hassan Khosravi Spring 2012 CMPT 354

Quiz 2: Database Systems I Instructor: Hassan Khosravi Spring 2012 CMPT 354 1. (10) Convert the below E/R diagram to a relational database schema, using each of the following approaches: (3)The straight

### SQL SELECT Query: Intermediate

SQL SELECT Query: Intermediate IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview SQL Select Expression Alias revisit Aggregate functions - complete Table join - complete Sub-query in where Limiting

### The Entity-Relationship Model

The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

### Instant SQL Programming

Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions

### Intermediate SQL C H A P T E R4. Practice Exercises. 4.1 Write the following queries in SQL:

C H A P T E R4 Intermediate SQL Practice Exercises 4.1 Write the following queries in SQL: a. Display a list of all instructors, showing their ID, name, and the number of sections that they have taught.

### MITES Physics III Summer Introduction 1. 3 Π = Product 2. 4 Proofs by Induction 3. 5 Problems 5

MITES Physics III Summer 010 Sums Products and Proofs Contents 1 Introduction 1 Sum 1 3 Π Product 4 Proofs by Induction 3 5 Problems 5 1 Introduction These notes will introduce two topics: A notation which

### 1 Solving LPs: The Simplex Algorithm of George Dantzig

Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

### The Nested Relational Data Model is Not a Good Idea

The Nested Relational Data Model is Not a Good Idea Robert M. Colomb School of Information Technology and Electrical Engineering The University of Queensland Queensland 4072 Australia colomb@itee.uq.edu.au

### More SQL: Complex Queries. This chapter describes more advanced features of the SQL language standard for relational databases.

More SQL: Complex Queries This chapter describes more advanced features of the SQL language standard for relational databases. 5.1 More Complex SQL Retrieval Queries Because of the generality and expressive

### Chapter 14: Query Optimization

Chapter 14: Query Optimization Database System Concepts 5 th Ed. See www.db-book.com for conditions on re-use Chapter 14: Query Optimization Introduction Transformation of Relational Expressions Catalog

### Chapter 6 The database Language SQL as a tutorial

Chapter 6 The database Language SQL as a tutorial About SQL SQL is a standard database language, adopted by many commercial systems. ANSI SQL, SQL-92 or SQL2, SQL99 or SQL3 extends SQL2 with objectrelational

### Oracle Database: SQL and PL/SQL Fundamentals

Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to

### Relational Algebra. Module 3, Lecture 1. Database Management Systems, R. Ramakrishnan 1

Relational Algebra Module 3, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model

### Oracle Database: SQL and PL/SQL Fundamentals

Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

### SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating

### Database Systems. Lecture 1: Introduction

Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: libkin@ed.ac.uk Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html

### Programming with SQL

Unit 43: Programming with SQL Learning Outcomes A candidate following a programme of learning leading to this unit will be able to: Create queries to retrieve information from relational databases using

### Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led

### NPV Versus IRR. W.L. Silber -1000 0 0 +300 +600 +900. We know that if the cost of capital is 18 percent we reject the project because the NPV

NPV Versus IRR W.L. Silber I. Our favorite project A has the following cash flows: -1 + +6 +9 1 2 We know that if the cost of capital is 18 percent we reject the project because the net present value is

### Financial Data Access with SQL, Excel & VBA

Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,

### DBMS / Business Intelligence, SQL Server

DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.

### CS101 Lecture 11: Number Systems and Binary Numbers. Aaron Stevens 14 February 2011

CS101 Lecture 11: Number Systems and Binary Numbers Aaron Stevens 14 February 2011 1 2 1 3!!! MATH WARNING!!! TODAY S LECTURE CONTAINS TRACE AMOUNTS OF ARITHMETIC AND ALGEBRA PLEASE BE ADVISED THAT CALCULTORS

### Statistical Foundations: Measures of Location and Central Tendency and Summation and Expectation

Statistical Foundations: and Central Tendency and and Lecture 4 September 5, 2006 Psychology 790 Lecture #4-9/05/2006 Slide 1 of 26 Today s Lecture Today s Lecture Where this Fits central tendency/location

### COMPASS Numerical Skills/Pre-Algebra Preparation Guide. Introduction Operations with Integers Absolute Value of Numbers 13

COMPASS Numerical Skills/Pre-Algebra Preparation Guide Please note that the guide is for reference only and that it does not represent an exact match with the assessment content. The Assessment Centre

### CS 338 Join, Aggregate and Group SQL Queries

CS 338 Join, Aggregate and Group SQL Queries Bojana Bislimovska Winter 2016 Outline SQL joins Aggregate functions in SQL Grouping in SQL HAVING clause SQL Joins Specifies a table resulting from a join

### (20 pts) Exercise on Page 546 in Elmasri and Navathe.

CS 440 Assignment #4 Solution (total = 150 pts., due on March 4 th, Thursday 11:30pm) (20 pts) Exercise 14.15 on Page 546 in Elmasri and Navathe. A PARTS file with Part# as the key field includes records

### SQL NULL s, Constraints, Triggers

CS145 Lecture Notes #9 SQL NULL s, Constraints, Triggers Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10),

### Normal Form vs. Non-First Normal Form

Normal Form vs. Non-First Normal Form Kristian Torp Department of Computer Science Aalborg Univeristy www.cs.aau.dk/ torp torp@cs.aau.dk September 1, 2009 daisy.aau.dk Kristian Torp (Aalborg University)

### Database Design and Programming with SQL: Part 2 Learning Objectives

Database Design and Programming with SQL: Part 2 Learning Objectives This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database

### relation as a regular relation, e.g., in FROM Keywords CAST(MULTISET(...)) let us turn

Oracle Nested Tables Another structuring tool provided in Oracle is the ability to have a relation with an attribute whose value is not just an object, but a (multi)set of objects, i.e., a relation. Keyword

### Math 115 Spring 2011 Written Homework 5 Solutions

. Evaluate each series. a) 4 7 0... 55 Math 5 Spring 0 Written Homework 5 Solutions Solution: We note that the associated sequence, 4, 7, 0,..., 55 appears to be an arithmetic sequence. If the sequence

### Transactions. Rasmus Pagh. Literature: KBL Introduction to Database Design 2. Cursory: KBL (complete version: Digital appendix A.

Transactions Rasmus Pagh Literature: KBL 13.1 Cursory: KBL 13.2-13.3 (complete version: Digital appendix A.1) Introduction to Database Design 2 Mid-term evaluation Thanks to those who participated! Points

### Factoring Whole Numbers

2.2 Factoring Whole Numbers 2.2 OBJECTIVES 1. Find the factors of a whole number 2. Find the prime factorization for any number 3. Find the greatest common factor (GCF) of two numbers 4. Find the GCF for

### Boats bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red. Figure 1: Instances of Sailors, Boats and Reserves

Tutorial 5: SQL By Chaofa Gao Tables used in this note: Sailors(sid: integer, sname: string, rating: integer, age: real); Boats(bid: integer, bname: string, color: string); Reserves(sid: integer, bid:

### Relational Algebra. Query Languages Review. Operators. Select (σ), Project (π), Union ( ), Difference (-), Join: Natural (*) and Theta ( )

Query Languages Review Relational Algebra SQL Set operators Union Intersection Difference Cartesian product Relational Algebra Operators Relational operators Selection Projection Join Division Douglas

### 1 Structured Query Language: Again. 2 Joining Tables

1 Structured Query Language: Again So far we ve only seen the basic features of SQL. More often than not, you can get away with just using the basic SELECT, INSERT, UPDATE, or DELETE statements. Sometimes

### Chapter 1: Introduction

Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### Greatest Common Factors and Least Common Multiples with Venn Diagrams

Greatest Common Factors and Least Common Multiples with Venn Diagrams Stephanie Kolitsch and Louis Kolitsch The University of Tennessee at Martin Martin, TN 38238 Abstract: In this article the authors

### 26 Integers: Multiplication, Division, and Order

26 Integers: Multiplication, Division, and Order Integer multiplication and division are extensions of whole number multiplication and division. In multiplying and dividing integers, the one new issue

### Pythagorean Triples. Chapter 2. a 2 + b 2 = c 2

Chapter Pythagorean Triples The Pythagorean Theorem, that beloved formula of all high school geometry students, says that the sum of the squares of the sides of a right triangle equals the square of the

### CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY 2.1 Introduction In this chapter, I am going to introduce Database Management Systems (DBMS) and the Structured Query Language (SQL), its syntax and usage.

### EdExcel Decision Mathematics 1

EdExcel Decision Mathematics 1 Linear Programming Section 1: Formulating and solving graphically Notes and Examples These notes contain subsections on: Formulating LP problems Solving LP problems Minimisation

### ICAB4136B Use structured query language to create database structures and manipulate data

ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification

### Introduction to SQL: Data Retrieving

Introduction to SQL: Data Retrieving Ruslan Fomkin Databasdesign för Ingenjörer 1056F Structured Query Language (SQL) History: SEQUEL (Structured English QUery Language), earlier 70 s, IBM Research SQL

### www.gr8ambitionz.com

Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1

### Basic Components of an LP:

1 Linear Programming Optimization is an important and fascinating area of management science and operations research. It helps to do less work, but gain more. Linear programming (LP) is a central topic

### Oracle Database 12c: Introduction to SQL Ed 1.1

Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,

### The Method of Partial Fractions Math 121 Calculus II Spring 2015

Rational functions. as The Method of Partial Fractions Math 11 Calculus II Spring 015 Recall that a rational function is a quotient of two polynomials such f(x) g(x) = 3x5 + x 3 + 16x x 60. The method

### Oracle Database 10g: Introduction to SQL

Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.

### 3.GETTING STARTED WITH ORACLE8i

Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer