# Unit 5 Formal Relational Languages

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Unit 5 Formal Relational Languages Text: Chapters 4 & 24 Relational Algebra (Ch. 4: ) Tuple Relational Calculus X Domain Relational Calculus X Datalog (Ch. 24) Unit 5 Laks V.S. Lakshmanan,; Based partly on Ramakrishnan & Gehrke, DB Management Systems 1

2 Learning Goals Given a database (a set of tables ) you will be able to express a database query in Relational Algebra, involving the basic operators (selection, projection, cross product, renaming, set union, intersection, difference ), join, division and assignment rewrite RA expressions (queries) using a subset of the operators with expressions using another subset show that two RA queries are/aren t equivalent express a DB query in Datalog translate RA queries to Datalog; translate queries from a fragment of Datalog to RA. Unit 5 2

3 Formal Relational Query Languages Mathematical Languages that form the basis for the implementation of real languages (e.g., SQL Relational Algebra: More procedural, very useful for representing query evaluation plans. Relational Calculi (Tuple or Domain): Let users describe what they want, rather than how to compute it. (Non-procedural, declarative.) X Datalog: Declarative; helpful in writing RA and SQL queries correctly. Understanding Algebra & Datalog is key to understanding SQL, query processing Unit 5 3

4 Relational Algebra (RA) Procedural language Basic operations: Selection - Selects a subset of rows from relation. Projection - Deletes unwanted columns from relation. Cross-product - Allows us to combine two relations. Set-difference - Tuples in reln. 1, but not in reln. 2. Union - Tuples in reln. 1 and tuples in reln. 2. Rename Assigns a(nother) name to a relation Additional operations: intersection, join, division, assignment: not essential, but very useful The operators take one or two relations as inputs and give a new relation as a result. Operations can be composed. (Algebra is closed.) Unit 5 4

5 Datalog (Lite) Will see Datalog (full) later. Rule-based: head body. head is of the form p X 1,, X n. Here, X i are variables. Think of p( ) as a collector of answers to the query expressed by the body. body is a conjunction (i.e., AND) of atoms of two kinds: r(y 1,, Y k ) where r is a database relation. X op c or X op Y where X, Y are variables and c is a constant. Variables are bound to values appearing in the DB when query is evaluated. Constants can be numerical, string, etc. Unit 5 5

6 Example Instances Instances of Customer and Order relations for our running example of online store. Customer cid cname rating salary 32 G. Grumpy S. Sneezy R. Rusty Order cid iid day qty /05/ /12/06 5 Unit 5 6

7 Selection Notation: p (r) p is called the selection predicate Defined as: p (r) = {t t r and p(t)} Where p is a formula in propositional calculus consisting of predicates connectives : (and), (or), (not) A predicate is one of: <attribute> op <attribute> or <attribute> op <constant> where op is one of: =,, >,, <,. Result schema is same as r s schema Set of tuples of r that satisfy p Unit 5 7

8 Selection Example 1 Relation r A B C D RA A=B ^ D > 5 (r) attribute Datalog A B C D variable ans A, B, C, D r A, B, C, D, A = B, D > 5. constant Unit 5 8

9 Selection Example 2 cust ( cust ) rating7 cid cname 21 Y. Yuppy B. Rusty S. Sneezy 8 70 rating salary ans I, C, R, S cust I, C, R, S, R > 7. cid cname rating salary 50 R. Rusty S. Sneezy 8 70 Unit 5 9

10 Selection Example 3 Cust cid cname rating salary 21 Y. Yuppy B. Rusty S. Sneezy 8 70 Find customers in Cust with rating less than 9 and salary more than 80. Unit 5 10

11 Projection Notation: π A1,A 2,,A k where A 1,, A k are attributes (the projection list) and r is a relation. The result = relation over the k attributes A 1, A 2,, A k obtained from r by erasing the columns that are not listed and eliminating duplicate rows. Remember: relations are sets! r Unit 5 11

12 Projection Example 1 Relation r: A B C ans A, C r A, B, C. Or you may write ans X, Z r X, Y, Z. A,C (r) A C 1 A C 1 Variable name not important. 1 = Unit 5 12

13 Projection Example 2 Cust cid cname rating salary 38 R. Rudy G. Grumpy S. Sneezy R. Rusty ( cname, rating ( Cust))? rating7 ans C, R cust I, C, R, S, R > 7. salary cname, rating cname salary ( Cust) R. Rudy 9 G. Grumpy 8 S. Sneezy 5 R. Rusty 10 rating Unit (Cust) 1

14 Union, Intersection, Set- Difference Notation: r s r s r s Defined as: r s = {t t r or t s} r s ={ t t r and t s } r s = {t t r and t s} For these operations to be well-defined: 1. r, s must have the same arity (same number of attributes) 2. The attribute domains must be compatible (e.g., 2nd column of r has same domain of values as the 2nd column of s) What is the schema of the result? Unit 5 14

15 Union,Int., Diff. Examples Relations r, s: A B ans X, Y r X, Y. ans X, Y s X, Y. r s: A B r A ans X, Y r X, Y, s X, Y. r s: A B s B 2 3 r s: Where did we step outside Datalog lite? A B ans X, Y r X, Y, s X, Y. Unit 5 15

16 Union,Int., Diff. Examples C1 C2 cid cname rating salary 22 J. Justin R. Rubber N. Nusty C1 C2 cid cname rating salary 22 J. Justin R. Rubber N. Nusty G. Guppy Y. Yuppy 9 95 C1 C2 cid cname C1 C2 cid cname How do you write these queries in Datalog? cid cname rating salary 28 Y. Yuppy R. Rubber G. Guppy N. Nusty rating salary 58 J. Justin 7 65 rating salary 31 R.Rubber N. Nusty Unit 5 16

17 Cartesian (or Cross)-Product Notation: Defined as: r x s r x s = { t q t r and q s} Assume that attributes of r(r) and s(s) are disjoint. (That is, R S = ). If r and s have common attributes, they must be renamed in the result. Unit 5 17

18 Cartesian-Product Example 1 r A B 1 2 Unit 5 18 C D ans X, Y, Z, W, U r X, Y, s Z, W, U. r x s: A B C D E a a b b a a b b s E a a b b A=C (r x s) A B C D E ans X, Y, Z, W, U r X, Y, s Z, W, U, X = Z. ans X, Y, X, W, U r X, Y, s X, W, U. a a b

19 Cartesian-Product Example 2 Customer cid cname rating salary 22 J. Justin R. Rubber N. Nusty Customer x Order Order cid iid day qty /10/ /12/06 5 conflicting names Customer.cid sname rating salary Order. cid iid day qty 22 J. Justin /10/ J. Justin /12/ R. Rubber /10/ R. Rubber /12/ N. Nusty /10/ N. Nusty /12/ Attribute names present no issues for Datalog. Unit 5 19

20 Rename Allows us to name results of relational-algebra expressions. Allows us to assign more names to a relation. Allows us to rename attributes of a relation. Notation x (E) returns the expression E under the name X If E has arity n, then x (A1, A2,, An) (E) returns the result of expression E under the name X, and with the attributes renamed to A1, A2,., An. x (B1 A1,, Bk Ak) (E) is as before, but it only renames attributes B1,,Bk of E to A1,,Ak. Unit 5 20

21 Rename Not much in the way of Rename can be done in Datalog, and there is no need to. Recall, Datalog ignores attribute names and instead focuses on their position. This means, by not having a feature for Rename, Datalog doesn t lose any expressive power: you can express all RA queries in Datalog. However, since Datalog is a rule-based language, you naturally get to name the (relation) collector that holds answers to (intermediate) queries. Will next see advanced features in RA and Datalog. But first we will take a look at Unit 5 21

22 Rename Example relation renaming cust(cid, cname, rating, salary). Find pairs of customer names (c1,c2) such that c1 is rated higher than c2 but is paid less. In RA: π cname,cust1.cname (σ rating>cust1.rating salary<cust1.salary (cust ρ cust1 cust )). Attr renaming π cname,cname (σ rating>rating salary<salary (cust. ρ cid cid,cname cname,rating rating,salary salary cust )). In Datalog: What (re)name? ans(c,c ) cust(i,c,r,s), cust(j,c,r,s ), R>R, S<S. Unit 5 22

23 Different Shades of Negation versus Recall the relations cust(cid, cname, rating, salary) and ord(cid, iid, day, qty) and consider the queries: Q1: Find items (iid) ordered by someone other than the customer with cid 32. Q2: Find items in ord that are not ordered by customer with cid 32. cid iid day qty 32 I1 15/01/ I1 16/01/ I2 17/01/ I3 15/01/ An instance of ord {I1, I2, I3} {I2, I3} Unit 5 23 Q1 Q2

24 Diff. Shades of Negation (contd.) We can express Q1 as π iid σ cid 32 ord in RA. In Datalog, we can write this query as ans I ord C, I, D, Q, C 32. ord(cid, iid, day, qty) We can express Q2 as π iid ord π iid σ cid=32 ord. We can write this query using 2 rules in Datalog: bad I ord 32, I, D, Q. good I ord C, I, D, Q, bad I. We ve stepped well outside Datalog Lite. IOW, we ve started seeing Datalog Full. What new features are we using? Unit 5 24

25 Additional Operations They can be defined in terms of the primitive operations They are added for convenience They are: Set intersection (we ve seen it) Join (Condition, Equi-, Natural) Division Assignment Unit 5 25

26 Set intersection in terms of minus r s = r r s. r s r s Unit 5 26

27 Joins Join: One of the most important ops implemented in a DBMS. Many efficient algorithms. Condition Join: R c S c ( RS) Result schema same as that of crossproduct. Fewer tuples than cross-product might be able to compute more efficiently Sometimes called a theta-join. Unit 5 27

28 Condition Join Example C1 cid cname rating salary 22 J. Justin R. Rubber N. Nusty O1 cid iid day qty /10/ /12/96 5 C1 C1. cid O1. cid O1 C1.cid cname rating salary O1.cid iid day qty 22 J. Justin /12/ R. Rubber /12/96 5 Unit 5 28

29 Equi-Join & Natural Join Equi-Join: A special case of condition join where the condition c contains only equalities Result schema: similar to cross-product, but contains only one copy of fields for which equality is specified Natural Join: Equijoin on all common attrs. Result schema: similar to cross-product, but contains only one copy of each common field no need to show the condition what if relations have no common attrs? Unit 5 29

30 O1 C1 Equi & Natural Join Examples cid iid day qty /10/ /12/96 5 C1. cid O1. cid O1 cid cname rating salary iid day qty 22 J. Justin /10/ N. Nusty /12/96 5 C1 O1 C1 cid cname rating salary 22 J. Justin R. Rubber N. Nusty cid cname rating salary iid day qty 22 J. Justin /10/ N. Nusty /12/96 5 Unit

31 Equi & Natural Join conclusion Both produce relations that are essentially equivalent, i.e., have same content. Differences superficial. Datalog does not distinguish between diff. kinds of joins. Datalog syntax makes intent explicit. A relational DBMS almost never implements directly: inefficient and not natural. equi C, N, R, S, I, D, Q, C cust C, N, R, S, ord C, I, D, Q. nat C, N, R, S, I, D, Q cust C, N, R, S, ord C, I, D, Q. Unit 5 31

32 Division Notation: r / s or r s Useful for expressing queries that include a for all or for every phrase Let r and s be relations on schemas R and S respectively where R = (A 1,, A m, B 1,, B n ) S = (B 1,, B n ) Then r/s is a relation on schema R S = (A 1,, A m ) defined as r / s = { t t R-S (r) u s ( tu r ) } Informally, r / s contains the (parts of) tuples of r that are associated with every tuple in s. Unit 5 32

33 Examples of Division A/B A B1 B2 B3 sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 pno p2 A/B1 sno s1 s2 s3 s4 pno p2 p4 A/B2 sno s1 s4 pno p1 p2 p4 A/B3 sno s1 Unit 5 33

34 More on Division Recall: cust(cid,cname,rating,salary), ord(cid,iid,day,qty). Query: Find items (iid) that are ordered by every customer. Don t know beforehand how many customers there are. If there are 5 customers and you know their cid s (or look them up), how will you write this query in RA? What if there are 100? Division lets us write this query concisely no matter how many customers Unit 5 34

35 Division (contd.) Notice the projections! π iid, cid ord π (cust). cid Notice the order of attrs! What is this expression really doing? Wearing the Datalog hat answers this question! good I ord(_, I, _, _), bad(i). bad(i) cust C, _, _, _, ord _, I, _, _, witness C, I. witness(c, I) ord(c, I, _, _). Query answer = the set of good items. In RA, using only basic ops: π iid (ord) π iid ((π cid cust π iid ord ) π cid,iid (ord)). Notice the correspondence between double negation and double minus. Make sure to understand why we need double minus (negation) for this query! Notice type compatibility: only items are being subtracted from items. Unit 5 35

36 Expressing r s Using Basic Operators Generalizing from previous example To express r s think as Idea: let X = R-S (X is the set of attributes of R that are not in S) (1) compute the X-projection of r (2) compute all X-projection values of r that are `disqualified by some value in s. value x is disqualified if by attaching y value from s, we obtain an xy tuple that is not in r. result is (1)-(2) So, Disqualified x values: r s is (( ( r) s) r) X X ( r) (( ( r) s) r) X X X Unit 5 36

37 Life beyond Division Consider expert(eid,ename,expertise,salary), item(iid,iname,area), and certify(eid,iid,day). Attrs expertise and area have same domain: e.g., items can be of type electronics and a customer may have expertise in electronics. Query: find those items that have been certified by all experts in the area of the item. Problem with division: no fixed divisor divisor depends on item! No additional op we have studied can express this query directly! Need to fall back on basic ops. Unit 5 37

38 An Example item expert iid area eid expertise i1 photography e1... photography i2 photography e2 photography i3 gardening e3 gardening i4 gardening e4 gardening certify certify eid iid eid iid e1 i1 e3 i3 e2 i1 e4 i4 e1 i3 e3 i4 Unit 5 38

39 Life beyond division (conclusion) Don t despair: wear datalog hat: good I item I, _, _, bad I. bad I item I, _, A, expert E, _, A, _, witness E, I. witness E, I certify E, I, _. In RA, this becomes: π iid item π iid (π eid,iid σ expertise=area expert item π eid,iid (certify) Notice similarity in structure to expression for division, in particular double minus (negation). Unit 5 39

40 Assignment Operation Notation: temp E assigns the result of expression E to a temporary relation temp. Used to break complex queries to small steps. Assignment is always made to a temporary relation variable. Example1: Write r s in terms of and temp1 r - s r temp1 Example2: revisit division and the previous example, using assignment. Unit 5 40 r s

41 Example: Customer Database We use the following database: Customer(cid: integer, cname: string, rating: integer, salary: real) Item(iid: integer, iname: string, type: string) Order(cid: integer, iid: integer, day:date, qty:real) Unit 5 41

42 Find names of customers who ve ordered item with id 100 Solution 1: Solution 2: Solution 3: cname ( ( Order) ) iid 100 Customer temp 1 ( Order iid 100 temp2temp1 Customer ( temp2) cname cname ( ( Order )) iid 100 Customer Unit 5 42 )

43 Find names of Customers who ve ordered a laptop (i.e., an item of type laptop ) Information about item type is only available in Item; so need an extra join: πcname (σ (Item) type'laptop' Order Customer) A more efficient solution: cname ( (( ( ( Item)) Order) Customer) cid iid type' laptop' A query optimizer can find this given the first solution! Unit 5 43

44 Find customers who ve ordered a laptop or a desktop computer Can identify all laptops and desktops, then find Customers who ve ordered one of these items: temp type' laptop' type' desktop' ( Item)) cname( temp Order Customer) Can also define temp using union! (How?) What happens if is replaced by in this query? Unit 5 44

45 Find customers who ve ordered a laptop and a desktop computer Previous approach won t work! Must identify customers who ve ordered laptops, customer who ve ordered desktops, then find the intersection (note that cid is a key for Customer): claps ( ( Item) )) cid type' laptop' Order cdesks ( ( Item) )) cid type' desktop' Order cname(( claps cdesks) Customer) Unit 5 45

46 Find the names of customers who ve ordered all items Uses division; schemas of the input relations must be carefully chosen: temp ( Order) ( Item) cid, iid iid cname( temp Customer) To find customers who ve ordered all laptop items:... ( ( )) iid type' laptop' Item 5 Unit 5 46

47 Safety of Datalog Expressions Some expressions in Datalog are not safe as they can generate infinite relations. E.g.: ans I item I, N, T. ans I, C item I, _, T, T `hardware. ans I, C item I, _, _, C 123. To avoid the problem, we restrict the set of allowable expressions to safe expressions. Roughly speaking, a datalog rule is safe if if each variable in the head appears positively in one of the relations, or is bound by constants that appear in the rule. A datalog query is safe if all rules that make it up are. A relational algebra query can always be expressed as a safe Datalog; the converse is also true. Unit 5 47

48 Summary Relational algebra is a procedural language providing a set of operations on relations. A query is expressed as a sequence of these operations. RA is complete in the sense that any reasonable query can be expressed in it. RA is used by commercial languages to define query evaluation plans. Datalog is a declarative language based on logic. We mainly discussed non-recursive Datalog. In general, Datalog is more powerful than RA: Datalog can express recursive queries; RA together with assignment and loop can express such queries. Unit 5 48

### 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

### 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

### 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

### Database Management Systems. Chapter 1

Database Management Systems Chapter 1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 What Is a Database/DBMS? A very large, integrated collection of data. Models real-world scenarios

### 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

### 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

### 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

### 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

### Relational Calculus. Chapter Comp 521 Files and Databases Spring

Relational Calculus Chapter 4.3-4.5 Comp 521 Files and Databases Spring 2010 1 Relational Calculus Comes in two flavors: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus has

### 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

### 4 Domain Relational Calculus

4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is

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

Relational Calculus Module 3, Lecture 2 Database Management Systems, R. Ramakrishnan 1 Relational Calculus Comes in two flavours: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus

### Schema Mappings and Data Exchange

Schema Mappings and Data Exchange Phokion G. Kolaitis University of California, Santa Cruz & IBM Research-Almaden EASSLC 2012 Southwest University August 2012 1 Logic and Databases Extensive interaction

### 8. Query Processing. Query Processing & Optimization

ECS-165A WQ 11 136 8. Query Processing Goals: Understand the basic concepts underlying the steps in query processing and optimization and estimating query processing cost; apply query optimization techniques;

### 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

### The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

The Relational Model Chapter 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase,

### 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

### The Relational Model. Why Study the Relational Model? Relational Database: Definitions

The Relational Model Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Microsoft, Oracle, Sybase, etc. Legacy systems in

### 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 Database queries and their equivalence to predicate calculus

SQL Database queries and their equivalence to predicate calculus Russell Impagliazzo, with assistence from Cameron Helm November 3, 2013 1 Warning This lecture goes somewhat beyond Russell s expertise,

### Database Systems. Lecture Handout 1. Dr Paolo Guagliardo. University of Edinburgh. 21 September 2015

Database Systems Lecture Handout 1 Dr Paolo Guagliardo University of Edinburgh 21 September 2015 What is a database? A collection of data items, related to a specific enterprise, which is structured and

### 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

### Relational Database Systems 1

Relational Database Systems 1 Wolf-Tilo Balke Philipp Wille Simon Barthel Institut für Informationssysteme Technische Universität Braunschweig www.ifis.cs.tu-bs.de 7.0 Summary of Last Week Basic relational

### 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:

### Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

### Θεµελίωση Βάσεων εδοµένων

Θεµελίωση Βάσεων εδοµένων Βασίλης Βασσάλος 1 What do we need to produce good software? Good programmers, software engineers, project managers, business experts, etc. (People) Good software development

### 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,

### Relational Division and SQL

Relational Division and SQL Soulé 1 Example Relations and Queries As a motivating example, consider the following two relations: Taken(,Course) which contains the courses that each student has completed,

### Information Systems SQL. Nikolaj Popov

Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria popov@risc.uni-linz.ac.at Outline SQL Table Creation Populating and Modifying

### 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

### 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

### 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

### 5 means to write it as a product something times something instead of a sum something plus something plus something.

Intermediate algebra Class notes Factoring Introduction (section 6.1) Recall we factor 10 as 5. Factoring something means to think of it as a product! Factors versus terms: terms: things we are adding

### SQL: WHERE Subqueries and Other Syntactic Sugar

SQL: WHERE Subqueries and Other Syntactic Sugar David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) SQL Syntax Sugar 1 / 17

### Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

### Modeling access. Queries. Relational query languages. Tuple Relational Calculus. begin with Relational Calculus. Relational model: Relational calculus

COS 597A: Principles of Database and Information Systems Relational model: Relational calculus Modeling access Have looked at modeling information as data + structure Now: how model access to data in relational

### Lecture 6: Query optimization, query tuning. Rasmus Pagh

Lecture 6: Query optimization, query tuning Rasmus Pagh 1 Today s lecture Only one session (10-13) Query optimization: Overview of query evaluation Estimating sizes of intermediate results A typical query

### Logical Schema Design: The Relational Data Model

Logical Schema Design: The Relational Data Model Basics of the Relational Model From Conceptual to Logical Schema Logical Schema Design Select data model Hierarchical data model: hierarchies of record

### 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

### 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

### Lecture 1. Basic Concepts of Set Theory, Functions and Relations

September 7, 2005 p. 1 Lecture 1. Basic Concepts of Set Theory, Functions and Relations 0. Preliminaries...1 1. Basic Concepts of Set Theory...1 1.1. Sets and elements...1 1.2. Specification of sets...2

### 2. Basic Relational Data Model

2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that

### 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

### Schema Design and Normal Forms Sid Name Level Rating Wage Hours

Entity-Relationship Diagram Schema Design and Sid Name Level Rating Wage Hours Database Management Systems, 2 nd Edition. R. Ramakrishnan and J. Gehrke 1 Database Management Systems, 2 nd Edition. R. Ramakrishnan

### Foundations of Query Languages

Foundations of Query Languages SS 2011 2. 2. Foundations of Query Languages Dr. Fang Wei Lehrstuhl für Datenbanken und Informationssysteme Universität Freiburg SS 2011 Dr. Fang Wei 22. Mai 2011 Seite 1

### Database Design Process. Databases - Entity-Relationship Modelling. Requirements Analysis. Database Design

Process Databases - Entity-Relationship Modelling Ramakrishnan & Gehrke identify six main steps in designing a database Requirements Analysis Conceptual Design Logical Design Schema Refinement Physical

### 3. Mathematical Induction

3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

### 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

### Reducing ER Schema to Relational Schema

Reducing ER Schema to Relational Schema Excerpt from Chapter 3, Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees

### 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

### Factoring Quadratic Expressions

Factoring the trinomial ax 2 + bx + c when a = 1 A trinomial in the form x 2 + bx + c can be factored to equal (x + m)(x + n) when the product of m x n equals c and the sum of m + n equals b. (Note: the

### From File Systems to Databases

From File Systems to Databases Many Slides from Chapter 1 of Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel 1 Importance of DBMS Makes data management more efficient

### Data Integration. Maurizio Lenzerini. Universitá di Roma La Sapienza

Data Integration Maurizio Lenzerini Universitá di Roma La Sapienza DASI 06: Phd School on Data and Service Integration Bertinoro, December 11 15, 2006 M. Lenzerini Data Integration DASI 06 1 / 213 Structure

### Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

### 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

### 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

### 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

### COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model The entity-relationship (E-R) model is a a data model in which information stored

### 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

### A New Advanced Query Web Page and its query language

A New Advanced Query Web Page and its query language To replace the advanced query web form on www.biocyc.org Mario Latendresse Bioinformatics Research Group SRI International Mario@ai.sri.com 1 The Actual

### 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

### SQL QUERY EVALUATION. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 12

SQL QUERY EVALUATION CS121: Introduction to Relational Database Systems Fall 2015 Lecture 12 Query Evaluation 2 Last time: Began looking at database implementation details How data is stored and accessed

### CSE 233. Database System Overview

CSE 233 Database System Overview 1 Data Management An evolving, expanding field: Classical stand-alone databases (Oracle, DB2, SQL Server) Computer science is becoming data-centric: web knowledge harvesting,

### Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

### Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series

Sequences and Series Overview Number of instruction days: 4 6 (1 day = 53 minutes) Content to Be Learned Write arithmetic and geometric sequences both recursively and with an explicit formula, use them

### Chapter 1: Introduction. Database Management System (DBMS) University Database Example

This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information

### Outline. Data Modeling. Conceptual Design. ER Model Basics: Entities. ER Model Basics: Relationships. Ternary Relationships. Yanlei Diao UMass Amherst

Outline Data Modeling Yanlei Diao UMass Amherst v Conceptual Design: ER Model v Relational Model v Logical Design: from ER to Relational Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 2 Conceptual

### Basic SQL. Lecture 2. Outline. Simple Queries in SQL Queries with more than one relation

Basic SQL Lecture 2 1 Outline Data in SQL Simple Queries in SQL Queries with more than one relation Reading: Chapter 3, Simple Queries from SQL for Web Nerds, by Philip Greenspun http://philip.greenspun.com/sql/

### SQL : Structured Query Language data definition language

Outline SQL : Structured Query Language data definition language Introduction slide 150 slide 152 Integrity constraints slide 159 148 149 SQL presentation Introduction SQL Presentation (2) Introduction

### Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction

Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach

### SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

SQL DATA DEFINITION: KEY CONSTRAINTS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 Data Definition 2 Covered most of SQL data manipulation operations Continue exploration of SQL

### 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

### Section 4.1 Rules of Exponents

Section 4.1 Rules of Exponents THE MEANING OF THE EXPONENT The exponent is an abbreviation for repeated multiplication. The repeated number is called a factor. x n means n factors of x. The exponent tells

### 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

### Introduction. The Quine-McCluskey Method Handout 5 January 21, 2016. CSEE E6861y Prof. Steven Nowick

CSEE E6861y Prof. Steven Nowick The Quine-McCluskey Method Handout 5 January 21, 2016 Introduction The Quine-McCluskey method is an exact algorithm which finds a minimum-cost sum-of-products implementation

### INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

### 0.8 Rational Expressions and Equations

96 Prerequisites 0.8 Rational Expressions and Equations We now turn our attention to rational expressions - that is, algebraic fractions - and equations which contain them. The reader is encouraged to

### SQL Query Evaluation. Winter 2006-2007 Lecture 23

SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### 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,

### 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

### a presentation by Kirk Paul Lafler SAS Consultant, Author, and Trainer E-mail: KirkLafler@cs.com

a presentation by Kirk Paul Lafler SAS Consultant, Author, and Trainer E-mail: KirkLafler@cs.com 1 Copyright Kirk Paul Lafler, 1992-2010. All rights reserved. SAS is the registered trademark of SAS Institute

### EECS 647: Introduction to Database Systems

EECS 647: Introduction to Database Systems Instructor: Luke Huan Spring 2013 Administrative Take home background survey is due this coming Friday The grader of this course is Ms. Xiaoli Li and her email

### Fractions and Decimals

Fractions and Decimals Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles December 1, 2005 1 Introduction If you divide 1 by 81, you will find that 1/81 =.012345679012345679... The first

### CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce

### LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24

LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24 1. A database schema is a. the state of the db b. a description of the db using a

### 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

### CSC 443 Database Management Systems. Databases

CSC 443 Database Management Systems Lecture 2 Databases: The Big Picture Databases There are three different types of databases: Hierarchical databases Network databases Relational databases We are particularly

### 1.264 Lecture 10. Data normalization

1.264 Lecture 10 Data normalization Next class: Read Murach chapters 1-3. Exercises due after class Make sure you ve downloaded and run the.sql file to create the database we ll be using in the next two

### Algebra Tiles Activity 1: Adding Integers

Algebra Tiles Activity 1: Adding Integers NY Standards: 7/8.PS.6,7; 7/8.CN.1; 7/8.R.1; 7.N.13 We are going to use positive (yellow) and negative (red) tiles to discover the rules for adding and subtracting

### 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

### Relational model. Relational model - practice. Relational Database Definitions 9/27/11. Relational model. Relational Database: Terminology

COS 597A: Principles of Database and Information Systems elational model elational model A formal (mathematical) model to represent objects (data/information), relationships between objects Constraints

### Inside the PostgreSQL Query Optimizer

Inside the PostgreSQL Query Optimizer Neil Conway neilc@samurai.com Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of

### The Relational Algebra

The Relational Algebra Relational set operators: The data in relational tables are of limited value unless the data can be manipulated to generate useful information. Relational Algebra defines the theoretical

### CmSc 175 Discrete Mathematics Lesson 10: SETS A B, A B

CmSc 175 Discrete Mathematics Lesson 10: SETS Sets: finite, infinite, : empty set, U : universal set Describing a set: Enumeration = {a, b, c} Predicates = {x P(x)} Recursive definition, e.g. sequences

### Query processing. Tore Risch Information Technology Uppsala University

Query processing Tore Risch Information Technology Uppsala University 2011-03-08 What is query processing? A given SQL query is translated by the query processor into a low level program called an execution

### 2) Write in detail the issues in the design of code generator.

COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage