SlideShare una empresa de Scribd logo
1 de 51
Fundamentals of Database Systems
Seventh Edition
Chapter 6
Basic S Q L
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
If this PowerPoint presentation contains mathematical
equations, you may need to check that your computer has the
following installed:
1) MathType Plugin
2) Math Player (free versions available)
3) NVDA Reader (free versions available)
1
Learning Objectives
6.1 S Q L Data Definition and Data Types
6.2 Specifying Constraints in S Q L
6.3 Basic Retrieval Queries in S Q L
6.4 INSERT, DELETE, and UPDATE Statements in S Q L
6.5 Additional Features of S Q L
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Basic S Q L
S Q L language
Considered one of the major reasons for the commercial success
of relational databases
S Q L
The origin of S Q L is relational predicate calculus called tuple
calculus (see Chapter 8) which was proposed initially as the
language SQUARE.
S Q L Actually comes from the word “SEQUEL” which was the
original term used in the paper: “SEQUEL TO SQUARE” by
Chamberlin and Boyce. I B M could not copyright that term, so
they abbreviated to S Q L and copyrighted the term S Q L.
Now popularly known as “Structured Query language”.
S Q L is an informal or practical rendering of the relational data
model with syntax
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
S Q L Data Definition, Data Types, Standards
Terminology:
Table, row, and column used for relational model terms
relation, tuple, and attribute
CREATE statement
Main S Q L command for data definition
The language has features for: Data definition, Data
Manipulation, Transaction control (Transact-S Q L, Chapter
20), Indexing (Chapter 17), Security specification (Grant and
Revoke- see Chapter 30), Active databases (Chapter 26), Multi-
media (Chapter 26), Distributed databases (Chapter 23) etc.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
S Q L Standards
S Q L has gone through many standards: starting with S Q L-86
or S Q L 1.A. S Q L-92 is referred to as S Q L-2.
Later standards (from S Q L-1999) are divided into core
specification and specialized extensions. The extensions are
implemented for different applications – such as data mining,
data warehousing, multimedia etc.
S Q L-2006 added X M L features (Chapter 13); In 2008 they
added Object-oriented features (Chapter 12).
S Q L-3 is the current standard which started with S Q L-1999.
It is not fully implemented in any R D B M S.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Schema and Catalog Concepts in S Q L (1 of 2)
We cover the basic standard S Q L syntax – there are variations
in existing R D B M S systems
S Q L schema
Identified by a schema name
Includes an authorization identifier and descriptors for each
element
Schema elements include
Tables, constraints, views, domains, and other constructs
Each statement in S Q L ends with a semicolon
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Schema and Catalog Concepts in S Q L (2 of 2)
CREATE SCHEMA statement
CREATE SCHEMA COMPANY AUTHORIZATION ‘Jsmith’;
Catalog
Named collection of schemas in an S Q L environment
S Q L also has the concept of a cluster of catalogs.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The CREATE TABLE Command in S Q L (1 of 3)
Specifying a new relation
Provide name of table
Specify attributes, their types and initial constraints
Can optionally specify schema:
CREATE TABLE COMPANY.EMPLOYEE ...
or
CREATE TABLE EMPLOYEE ...
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The CREATE TABLE Command in S Q L (2 of 3)
Base tables (base relations)
Relation and its tuples are actually created and stored as a file
by the D B M S
Virtual relations (views)
Created through the CREATE VIEW statement. Do not
correspond to any physical file.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
COMPANY Relational Database Schema
Figure 5.7 Referential integrity constraints displayed on the
COMPANY relational database schema.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 5.6 One Possible Database State for the COMPANY
Relational Database Schema (1 of 2)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 5.6 One Possible Database State for the COMPANY
Relational Database Schema (2 of 2)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 6.1 S Q L CREATE TABLE Data Definition Statements
for Defining the Company Schema from Figure 5.7 (1 of 2)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 6.1 S Q L CREATE TABLE Data Definition Statements
for Defining the Company Schema from Figure 5.7 (2 of 2)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The CREATE TABLE Command in S Q L (3 of 3)
Some foreign keys may cause errors
Specified either via:
Circular references
Or because they refer to a table that has not yet been created
D B A’s have ways to stop referential integrity enforcement to
get around this problem.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Attribute Data Types and Domains in S Q L (1 of 4)
Basic data types
Numeric data types
Integer numbers: INTEGER, INT, and SMALLINT
Floating-point (real) numbers: FLOAT or REAL, and DOUBLE
PRECISION
Character-string data types
Fixed length: CHAR(n), CHARACTER(n)
Varying length: VARCHAR(n), CHAR VARYING(n),
CHARACTER VARYING(n)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Attribute Data Types and Domains in S Q L (2 of 4)
Bit-string data types
Fixed length: BIT(n)
Varying length: BIT VARYING(n)
Boolean data type
Values of TRUE or FALSE or NULL
DATE data type
Ten positions
Components are YEAR, MONTH, and DAY in the form Y Y Y
Y-M M-D D
Multiple mapping functions available in R D B M S s to change
date formats
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Attribute Data Types and Domains in S Q L (3 of 4)
Additional data types
Timestamp data type
Includes the DATE and TIME fields
Plus a minimum of six positions for decimal fractions of
seconds
Optional WITH TIME ZONE qualifier
INTERVAL data type
Specifies a relative value that can be used to increment or
decrement an absolute value of a date, time, or timestamp
DATE, TIME, Timestamp, INTERVAL data types can be cast or
converted to string formats for comparison.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Attribute Data Types and Domains in S Q L (4 of 4)
Domain
Name used with the attribute specification
Makes it easier to change the data type for a domain that is used
by numerous attributes
Improves schema readability
Example:
CREATE DOMAIN S S N_TYPE AS CHAR(9);
TYPE
User Defined Types (U D T s) are supported for object-oriented
applications. (See Chapter 12) Uses the command: CREATE
TYPE
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Specifying Constraints in S Q L
Basic constraints:
Relational Model has 3 basic constraint types that are supported
in S Q L:
Key constraint: A primary key value cannot be duplicated
Entity Integrity Constraint: A primary key value cannot be null
Referential integrity constraints: The “foreign key “ must have a
value that is already present as a primary key, or may be null.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Specifying Attribute Constraints
Other Restrictions on attribute domains:
Default value of an attribute
DEFAULT <value>
NULL is not permitted for a particular attribute (NOT NULL)
CHECK clause
Dnumber INT NOT NULL CHECK (Dnumber > 0 AND
Dnumber < 21);
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Specifying Key and Referential Integrity Constraints (1 of 2)
PRIMARY KEY clause
Specifies one or more attributes that make up the primary key of
a relation
Dnumber INT PRIMARY KEY;
UNIQUE clause
Specifies alternate (secondary) keys (called CANDIDATE keys
in the relational model).
Dname VARCHAR(15) UNIQUE;
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Specifying Key and Referential Integrity Constraints (2 of 2)
FOREIGN KEY clause
Default operation: reject update on violation
Attach referential triggered action clause
Options include SET NULL, CASCADE, and SET DEFAULT
Action taken by the D B M S for SET NULL or SET DEFAULT
is the same for both ON DELETE and ON UPDATE
CASCADE option suitable for “relationship” relations
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Giving Names to Constraints
Using the Keyword CONSTRAINT
Name a constraint
Useful for later altering
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 6.2 Default Attribute Values and Referential Integrity
Triggered Action Specification
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Specifying Constraints on Tuples Using CHECK
Additional Constraints on individual tuples within a relation are
also possible using CHECK
CHECK clauses at the end of a CREATE TABLE statement
Apply to each tuple individually
CHECK (Dept_create_date <= Mgr_start_date);
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Basic Retrieval Queries in S Q L
SELECT statement
One basic statement for retrieving information from a database
S Q L allows a table to have two or more tuples that are
identical in all their attribute values
Unlike relational model (relational model is strictly set-theory
based)
Multiset or bag behavior
Tuple-id may be used as a key
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The SELECT-FROM-WHERE Structure of Basic S Q L Queries
(1 of 2)
Basic form of the SELECT statement:
where
<attribute list> is a list of attribute names whose values are to
be retrieved by the query.
<table list> is a list of the relation names required to process
the query.
<condition> is a conditional (Boolean) expression that
identifies the tuples to be retrieved by the query.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The SELECT-FROM-WHERE Structure of Basic S Q L Queries
(2 of 2)
Logical comparison operators
Projection attributes
Attributes whose values are to be retrieved
Selection condition
Boolean condition that must be true for any retrieved tuple.
Selection conditions include join conditions (see Chapter 8)
when multiple relations are involved.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Basic Retrieval Queries (1 of 2)
(a)BdateAddress1965-01-09731Fondren, Houston, TX
(b)FnameLnameAddressJohnSmith731 Fondren, Houston,
TXFranklinWong638 Voss, Houston, TXRameshNarayan975
Fire Oak, Humble, TXJoyceEnglish5631 Rice, Houston, TX
Query 0. Retrieve the birth date and address of the employee(s)
whose name is ‘John B. Smith’.
Query 1. Retrieve the name and address of all employees who
work for the ‘Research’ department.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Basic Retrieval Queries (2 of 2)
(c)PnumberDnumLnameAddressBdate104Wallace291Berry,
Bellaire, TX1941-06-20304Wallace291Berry, Bellaire, TX1941-
06-20
Query 2. For every project located in ‘Stafford’, list the project
number, the controlling department number, and the department
manager’s last name, address, and birth date.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Ambiguous Attribute Names
Same name can be used for two (or more) attributes in different
relations
As long as the attributes are in different relations
Must qualify the attribute name with the relation name to
prevent ambiguity
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Aliasing, Renaming and Tuple Variables (1 of 2)
Aliases or tuple variables
Declare alternative relation names E and S to refer to the
EMPLOYEE relation twice in a query:
Query 8. For each employee, retrieve the employee’s first and
last name and the first and last name of his or her immediate
supervisor.
Recommended practice to abbreviate names and to prefix same
or similar attribute from multiple tables.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Aliasing, Renaming and Tuple Variables (2 of 2)
The attribute names can also be renamed
Note that the relation EMPLOYEE now has a variable name E
which corresponds to a tuple variable
The “AS” may be dropped in most S Q L implementations
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unspecified WHERE Clause and Use of the Asterisk (1 of 2)
Missing WHERE clause
Indicates no condition on tuple selection
Effect is a CROSS PRODUCT
Result is all possible tuple combinations (or the Algebra
operation of Cartesian Product– see Chapter 8) result
Queries 9 and 10. Select all EMPLOYEE S s n s (Q9) and all
combinations of EMPLOYEE S s n and DEPARTMENT D name
(Q10) in the database.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unspecified WHERE Clause and Use of the Asterisk (2 of 2)
Specify an asterisk (*)
Retrieve all the attribute values of the selected tuples
The * can be prefixed by the relation name; e.g., EMPLOYEE *
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Tables as Sets in S Q L (1 of 2)
S Q L does not automatically eliminate duplicate tuples in query
results
For aggregate operations (See sec 7.1.7) duplicates must be
accounted for
Use the keyword DISTINCT in the SELECT clause
Only distinct tuples should remain in the result
Query 11. Retrieve the salary of every employee (Q11) and all
distinct salary values (Q11A).
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Tables as Sets in S Q L (2 of 2)
Set operations
UNION, EXCEPT (difference), INTERSECT
Corresponding multiset operations: UNION ALL, EXCEPT
ALL, INTERSECT ALL)
Type compatibility is needed for these operations to be valid
Query 4. Make a list of all project numbers for projects that
involve an employee whose last name is ‘Smith’, either as a
worker or as a manager of the department that controls the
project.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Substring Pattern Matching and Arithmetic Operators
LIKE comparison operator
Used for string pattern matching
% replaces an arbitrary number of zero or more characters
underscore (_) replaces a single character
Examples: WHERE Address LIKE ‘%Houston,TX%’;
WHERE S s n LIKE ‘_ _ 1_ _ 8901’;
BETWEEN comparison operator
E.g., in Q14 :
WHERE(Salary BETWEEN 30000 AND 40000) AND D n o = 5;
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Arithmetic Operations
Standard arithmetic operators:
Addition (+), subtraction (–), multiplication (*), and division (/)
may be included as a part of SELECT
Query 13. Show the resulting salaries if every employee
working on the ‘ProductX’ project is given a 10 percent raise.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Ordering of Query Results
Use ORDER BY clause
Keyword D E S C to see result in a descending order of values
Keyword A S C to specify ascending order explicitly
Typically placed at the end of the query
ORDER BY D.D name D E S C, E.L name A S C, E.F name A S
C
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Basic S Q L Retrieval Query Block
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
INSERT, DELETE, and UPDATE Statements in S Q L
Three commands used to modify the database:
INSERT, DELETE, and UPDATE
INSERT typically inserts a tuple (row) in a relation (table)
UPDATE may update a number of tuples (rows) in a relation
(table) that satisfy the condition
DELETE may also update a number of tuples (rows) in a
relation (table) that satisfy the condition
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
INSERT
In its simplest form, it is used to add one or more tuples to a
relation
Attribute values should be listed in the same order as the
attributes were specified in the CREATE TABLE command
Constraints on data types are observed automatically
Any integrity constraints as a part of the D D L specification
are enforced
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The INSERT Command
Specify the relation name and a list of values for the tuple. All
values including nulls are supplied.
The variation below inserts multiple tuples where a new table is
loaded values from the result of a query.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Bulk Loading of Tables
Another variation of INSERT is used for bulk-loading of several
tuples into tables
A new table T NEW can be created with the same attributes as T
and using LIKE and DATA in the syntax, it can be loaded with
entire data.
EXAMPLE:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
DELETE
Removes tuples from a relation
Includes a WHERE-clause to select the tuples to be deleted
Referential integrity should be enforced
Tuples are deleted from only one table at a time (unless
CASCADE is specified on a referential integrity constraint)
A missing WHERE-clause specifies that all tuples in the
relation are to be deleted; the table then becomes an empty table
The number of tuples deleted depends on the number of tuples
in the relation that satisfy the WHERE-clause
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The DELETE Command
Removes tuples from a relation
Includes a WHERE clause to select the tuples to be deleted. The
number of tuples deleted will vary.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
UPDATE (1 of 3)
Used to modify attribute values of one or more selected tuples
A WHERE-clause selects the tuples to be modified
An additional SET-clause specifies the attributes to be modified
and their new values
Each command modifies tuples in the same relation
Referential integrity specified as part of D D L specification is
enforced
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
UPDATE (2 of 3)
Example: Change the location and controlling department
number of project number 10 to ‘Bellaire’ and 5, respectively
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
UPDATE (3 of 3)
Example: Give all employees in the ‘Research’ department a
10% raise in salary.
In this request, the modified SALARY value depends on the
original SALARY value in each tuple
The reference to the SALARY attribute on the right of = refers
to the old SALARY value before modification
The reference to the SALARY attribute on the left of = refers to
the new SALARY value after modification
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
51
Additional Features of S Q L (1 of 2)
Techniques for specifying complex retrieval queries (see
Chapter 7)
Writing programs in various programming languages that
include S Q L statements: Embedded and dynamic S Q L, S Q
L/C L I (Call Level Interface) and its predecessor O D B C, S Q
L/P S M (Persistent Stored Module) (See Chapter 10)
Set of commands for specifying physical database design
parameters, file structures for relations, and access paths, e.g.,
CREATE INDEX
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Additional Features of S Q L (2 of 2)
Transaction control commands (Chapter 20)
Specifying the granting and revoking of privileges to users
(Chapter 30)
Constructs for creating triggers (Chapter 26)
Enhanced relational systems known as object-relational define
relations as classes. Abstract data types (called User Defined
Types- U D T s) are supported with CREATE TYPE
New technologies such as X M L (Chapter 13) and O L A P
(Chapter 29) are added to versions of S Q L
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Summary
S Q L
A Comprehensive language for relational database management
Data definition, queries, updates, constraint specification, and
view definition
Covered:
Data definition commands for creating tables
Commands for constraint specification
Simple retrieval queries
Database update commands
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Copyright
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
, , , , ,and
=<<=>>=<>
MGT 4337: Business Policy and Decision MakingModule 2
Analysis Artifacts Worksheet: Decision Years 11–12
Overview: Your submission must include evidence of the
analysis tools that your company used to make decisions in this
simulation. For the simulation rounds in this module, you will
submit a Driving Force Analysis, a Key Success Factor
Analysis, and a Five Force Analysis as your required artifacts.
Directions: Download and save a copy of this document so you
can edit the sections below. Complete this worksheet and submit
it as evidence of your analysis artifacts.
1. Driving Forces Analysis: The driving forces of any industry
are those forces that cause the most strategic change in that
industry. Firms must be aware of what changes are likely to
occur in the industry so they can 1) proactively prepare strategy
to counter these forces and 2) have a response strategy in place
for when they do happen.
To complete this analysis, address the following:
Identify 3–5 driving forces
1.
2.
3.
4.
5.
Do the driving forces act to boost or squeeze profit margins?
Explain.
Do the driving forces cause competition to be more or less
intense? Explain.
Assess whether the drivers of change are, on the whole, acting
to make the industry more or less attractive.
Determine two strategy changes needed to prepare for the
impact of the driving forces.
1.
2.
2. Key Success Factor Analysis: Every industry has certain
conditions that need to be met to be successful. For example,
UPS and FedEx have to have fast, on-time deliveries or they
will be out of business. Firms must understand what these
industry factors are and build competencies to meet them.
To complete this analysis, address the following:
Identify the basis on which buyers of the industry’s product or
service choose between the competing brands of sellers. That is,
what product or service attributes are crucial?
Given the nature of competitive rivalry and the competitive
forces prevailing in the marketplace, assess the resources and
competitive capabilities required for a company to be
competitively successful.
Evaluate which of the company’s shortcomings put them at a
significant competitive disadvantage.
To be a winner, a company’s strategy must compare favorably
with rivals on all industry KSFs and be competitively superior
on one, maybe two, of the industry’s KSFs. Which KSFs, if any,
is your company competitively superior? If none, what can you
do to obtain superiority over one of the industry’s KSFs?
3. Five Force Analysis: While every company differs from one
another in the way they are managed, every firm in any given
industry is affected in the same way by each of the five forces.
For example, rivalry may not be as intense in the bread-baking
industry as it is in the smartphone industry, but for the
companies in each respective industry, the intensity of the
rivalry is the same. Company managers must understand each of
these forces that affect the industry and to what degree their
industry is affected by each individual force in order to set
strategy to counter these factors. See Chapter 3 for more
information about this analysis tool.
To complete this analysis, address the following:
Force
Factors & Success Ratings
(List as many factors as you can for each force and assign a
strength rating of weak, moderate, or strong)
Intensity of Rivalry
Threat of New Entrants
Threat of Substitute Products
Buying Power of Buyer
Buying Power of Supplier
Finally, write one paragraph reflecting on the strongest forces
affecting your industry. How can you use this information to
formulate and implement strategy for your company?
Guidelines for Submission: To complete this assignment, submit
a saved copy of this completed worksheet.
Rubric
Instructor Feedback: This activity uses an integrated rubric in
Blackboard. Students can view instructor feedback in the Grade
Center.
Criteria
Exemplary (100%)
Needs Improvement (75%)
Incomplete (50%)
Not Evident (0%)
Value
Worksheet
Submitted a complete worksheet that demonstrates sincere
effort.
Submitted a mostly complete worksheet that demonstrates
sincere effort.
Submitted an incomplete worksheet.
Did not submit a worksheet.
100
Total
100%
1
Fundamentals of Database Systems
Seventh Edition
Chapter 8
The Relational Algebra and
The Relational Calculus
(plus Q B E- Appendix C)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Slides in this presentation contain hyperlinks. JAWS users
should be able to get a list of links by using INSERT+F7
If this PowerPoint presentation contains mathematical
equations, you may need to check that your computer has the
following installed:
1) MathType Plugin
2) Math Player (free versions available)
3) NVDA Reader (free versions available)
1
Chapter Outline
8.1 Relational Algebra
Unary Relational Operations
Relational Algebra Operations From Set Theory
Binary Relational Operations
Additional Relational Operations
Examples of Queries in Relational Algebra
8.2 Relational Calculus
Tuple Relational Calculus
Domain Relational Calculus
8.3 Example Database Application (COMPANY)
8.4 Overview of the Q.B E language (appendix D)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Overview (1 of 4)
Relational algebra is the basic set of operations for the
relational model
These operations enable a user to specify basic retrieval
requests (or queries)
The result of an operation is a new relation, which may have
been formed from one or more input relations
This property makes the algebra “closed” (all objects in
relational algebra are relations)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Overview (2 of 4)
The algebra operations thus produce new relations
These can be further manipulated using operations of the same
algebra
A sequence of relational algebra operations forms a relational
algebra expression
The result of a relational algebra expression is also a relation
that represents the result of a database query (or retrieval
request)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Brief History of Origins of Algebra
Muhammad ibn Musa al-Khwarizmi (800-847 C E) – from
Morocco wrote a book titled al-jabr about arithmetic of
variables
Book was translated into Latin.
Its title (al-jabr) gave Algebra its name.
Al-Khwarizmi called variables “shay”
“Shay” is Arabic for “thing”.
Spanish transliterated “shay” as “xay” (“x” was “sh” in Spain).
In time this word was abbreviated as x.
Where does the word Algorithm come from?
Algorithm originates from “al-Khwarizmi"
Reference: P B S
(http://www.pbs.org/empires/islam/innoalgebra.html)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Overview (3 of 4)
Relational Algebra consists of several groups of operations
Unary Relational Operations
SELECT
PROJECT
RENAME
Relational Algebra Operations From Set Theory
DIFFERENCE (or MINUS, − )
CARTESIAN PRODUCT ( x )
Binary Relational Operations
JOIN (several variations of JOIN exist)
DIVISIONs
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Overview (4 of 4)
Additional Relational Operations
OUTER JOINS, OUTER UNION
AGGREGATE FUNCTIONS (These compute summary of
information: for example, SUM, COUNT, AVG, MIN, MAX)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Database State for COMPANY
All examples discussed below refer to the Company database
shown here.
Figure 5.7 Referential integrity constraints displayed on the
COMPANY relational database schema.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: SELECT (1 of 4)
The SELECT operation (denoted by σ (sigma)) is used to select
a subset of the tuples from a relation based on a selection
condition.
The selection condition acts as a filter
Keeps only those tuples that satisfy the qualifying condition
Tuples satisfying the condition are selected whereas the other
tuples are discarded (filtered out)
Examples:
Select the EMPLOYEE tuples whose department number is 4:
Select the employee tuples whose salary is greater than
$30,000:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: SELECT (2 of 4)
In general, the select operation is denoted by
The symbol σ (sigma) is used to denote the select operator
The selection condition is a Boolean (conditional) expression
specified on the attributes of relation R
Tuples that make the condition true are selected
appear in the result of the operation
Tuples that make the condition false are filtered out
discarded from the result of the operation
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: SELECT (3 of 4)
SELECT Operation Properties
The SELECT operation
produces a
relation S that has the same schema (same attributes) as R
SELECT σ is commutative:
Because of commutativity property, a cascade (sequence) of
SELECT operations may be applied in any order:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: SELECT (4 of 4)
A cascade of SELECT operations may be replaced by a single
selection with a conjunction of all the conditions:
The number of tuples in the result of a SELECT is less than (or
equal to) the number of tuples in the input relation R
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
The Following Query Results Refer to This Database State
Figure 5.6 One possible database state for the COMPANY
relational database schema.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: Project (1 of 3)
PROJECT Operation is denoted by π (pi)
This operation keeps certain columns (attributes) from a
relation and discards the other columns.
PROJECT creates a vertical partitioning
The list of specified columns (attributes) is kept in each tuple
The other attributes in each tuple are discarded
Example: To list each employee’s first and last name and salary,
the following is used:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
14
Unary Relational Operations: Project (2 of 3)
The general form of the project operation is:
π (pi) is the symbol used to represent the project operation
<attribute list> is the desired list of attributes from relation R.
The project operation removes any duplicate tuples
This is because the result of the project operation must be a set
of tuples
Mathematical sets do not allow duplicate elements.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: Project (3 of 3)
PROJECT Operation Properties
The number of tuples in the result of projection
is always less or equal to the number of
tuples in R
If the list of attributes includes a key of R, then the number of
tuples in the result of PROJECT is equal to the number of tuples
in R
PROJECT is not commutative
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Examples of Applying Select and Project Operations
Figure 8.1 Results of SELECT and PROJECT operations.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Expressions
We may want to apply several relational algebra operations one
after the other
Either we can write the operations as a single relational algebra
expression by nesting the operations, or
We can apply one operation at a time and create intermedi ate
result relations.
In the latter case, we must give names to the relations that hold
the intermediate results.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Single Expression Versus Sequence of Relational Operations
(Example)
To retrieve the first name, last name, and salary of all
employees who work in department number 5, we must apply a
select and a project operation
We can write a single relational algebra expression as follows:
OR We can explicitly show the sequence of operations, giving a
name to each intermediate relation:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: RENAME (1 of 3)
The RENAME operator is denoted by
In some cases, we may want to rename the attributes of a
relation or the relation name or both
Useful when a query requires multiple operations
Necessary in some cases (see JOIN operation later)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: RENAME (2 of 3)
The general RENAME operation
can be expressed by any of the following forms:
the relation name to S, and
the column (attribute) names to
the relation name only to S
the column (attribute) names only to
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Unary Relational Operations: RENAME (3 of 3)
For convenience, we also use a shorthand for renaming
attributes in an intermediate relation:
If we write:
RESULT will have the same attribute names as DEP5_EMPS
(same attributes as EMPLOYEE)
If we write:
RESULT (F, M, L, S, B, A, SX, SAL, SU, DNO) ←
The 10 attributes of DEP5_EMPS are renamed to F, M, L, S, B,
A, SX, SAL, SU, DNO, respectively
Note: ← the symbol is an assignment operator
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
22
Example of Applying Multiple Operations and RENAME
Figure 8.2 Results of a sequence of operations.
(a)
(b) Using intermediate relations and renaming of attributes
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory: UNION (1 of
2)
UNION Operation
The result of
, is a relation that includes all tuples that are either in R or in S
or in both R and S
Duplicate tuples are eliminated
The two operand relations R and S must be “type compatible”
(or UNION compatible)
R and S must have same number of attributes
Each pair of corresponding attributes must be type compatible
(have same or compatible domains)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
24
Relational Algebra Operations from
Set Theory: Union (2 of 2)
Example:
To retrieve the social security numbers of all employees who
either work in department 5 (RESULT1 below) or directly
supervise an employee who works in department 5 (RESULT2
below)
We can use the UNION operation as follows:
The union operation produces the tuples that are in either
RESULT1 or RESULT2 or both
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.3 Result of the Union Operation RESULT ← RESULT1
union symbol RESULT2
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from
Set Theory
Type Compatibility of operands is required for the binary set
operation
see next slides)
are type compatible if:
they have the same number of attributes, and
the domains of corresponding attributes are type compatible
The resulting relation for
has the same attribute names as the first operand relation R1 (by
convention)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory:
INTERSECTION
INTERSECTION is denoted by
The result of the operation
, is a relation that includes all tuples that are in both R and S
The attribute names in the result will be the same as the
attribute names in R
The two operand relations R and S must be “type compatible”
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory: SET
DIFFERENCE
SET DIFFERENCE (also called MINUS or EXCEPT) is denoted
by −
The result of R − S, is a relation that includes all tuples that are
in R but not in S
The attribute names in the result will be the same as the
attribute names in R
The two operand relations R and S must be “type compatible”
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Example to Illustrate the Result of UNION, INTERSECT, and
DIFFERENCE
Figure 8.4 The set operations UNION, INTERSECTION, and
MINUS. (a) Two union-compatible relations. (b)
(c) (d) STUDENT –
INSTRUCTOR. (e) INSTRUCTOR – STUDENT.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Some Properties of UNION, INTERSECT, and DIFFERENCE
Notice that both union and intersection are commutative
operations; that is
Both union and intersection can be treated as n-ary operations
applicable to any number of relations as both are associative
operations; that is
The minus operation is not commutative; that is, in general
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory: CARTESIAN
PRODUCT (1 of 3)
CARTESIAN (or CROSS) PRODUCT Operation
This operation is used to combine tuples from two relations in a
combinatorial fashion.
Denoted by
Result is a relation Q with degree n + m attributes:
The resulting relation state has one tuple for each combination
of tuples—one from R and one from S.
Hence, if R has nR tuples
and S has nS tuples, then R × S will have nR * nS tuples.
The two operands do NOT have to be "type compatible”
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory: CARTESIAN
PRODUCT (2 of 3)
Generally, CROSS PRODUCT is not a meaningful operation
Can become meaningful when followed by other operations
Example (not meaningful):
EMP_DEPENDENTS will contain every combination of
EMPNAMES and DEPENDENT
whether or not they are actually related
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Relational Algebra Operations from Set Theory: CARTESIAN
PRODUCT (3 of 3)
To keep only combinations where the DEPENDENT is related to
the EMPLOYEE, we add a SELECT operation as follows
Example (meaningful):
RESULT will now contain the name of female employees and
their dependents
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.5 The Cartesian Product (CROSS PRODUCT)
Operation (1 of 3)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.5 The Cartesian Product (CROSS PRODUCT)
Operation (2 of 3)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.5 The Cartesian Product (CROSS PRODUCT)
Operation (3 of 3)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: JOIN (1 of 2)
JOIN Operation
The sequence of CARTESIAN PRODECT followed by SELECT
is used quite commonly to identify and select related tuples
from two relations
A special operation, called JOIN combines this sequence into a
single operation
This operation is very important for any relational database with
more than a single relation, because it allows us combine
related tuples from various relations
The general form of a join operation on two relations
where R and S can be any relations that result from general
relational algebra expressions.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: JOIN (2 of 2)
Example: Suppose that we want to retrieve the name of the
manager of each department.
To get the manager’s name, we need to combine each
DEPARTMENT tuple with the EMPLOYEE tuple whose SSN
value matches the MGRSSN value in the department tuple.
We do this by using the join
operation.
MGRSSN=SSN is the join condition
Combines each department record with the employee who
manages the department
The join condition can also be specified as
DEPARTMENT.MGRSSN= EMPLOYEE.SSN
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.6 Result of the JOIN Operation D E P T dash M G R
left arrow DEPARTMENT super absolute value of x sub start
expression m g r dash s s n = S s n end expression EMPLOYEE
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Some Properties of JOIN (1 of 2)
Consider the following JOIN operation:
Result is a relation Q with degree n + m attributes:
The resulting relation state has one tuple for each combination
of tuples—r from R and s from S, but only if they satisfy the
join condition
Hence, if R has nR tuples, and S has nS tuples, then the join
result will generally have less than nR * nS tuples.
Only related tuples (based on the join condition) will appear in
the result
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Some Properties of JOIN (2 of 2)
The general case of JOIN operation is called a Theta-join:
The join condition is called theta
Theta can be any general boolean expression on the attributes of
R and S; for example:
Most join conditions involve one or more equality conditions
“AND”ed together; for example:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: E Q U I JOIN
E Q U I JOIN Operation
The most common use of join involves join conditions with
equality comparisons only
Such a join, where the only comparison operator used is =, is
called an E Q U I JOIN.
In the result of an E Q U I JOIN we always have one or more
pairs of attributes (whose names need not be identical) that have
identical values in every tuple.
The JOIN seen in the previous example was an E Q U I JOIN.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: NATURAL JOIN Operation (1 of
2)
NATURAL JOIN Operation
Another variation of JOIN called NATURAL JOIN — denoted
by * — was created to get rid of the second (superfluous)
attribute in an EQUIJOIN condition.
because one of each pair of attributes with identical values is
superfluous
The standard definition of natural join requires that the two join
attributes, or each pair of corresponding join attributes, have
the same name in both relations
If this is not the case, a renaming operation is applied first.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: NATURAL JOIN Operation (2 of
2)
Example: To apply a natural join on the D NUMBER attributes
of DEPARTMENT and DEPT_LOCATIONS, it is sufficient to
write:
Only attribute with the same name is D NUMBER
An implicit join condition is created based on this attribute:
DEPARTMENT.DNUMBER=DEPT_LOCATIONS.DNUMBER
Another example:
The implicit join condition includes each pair of attributes with
the same name, “AND”ed together:
R.C=S.C AND R.D.S.D
Result keeps only one attribute of each such pair:
Q(A,B,C,D,E)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Example of NATURAL JOIN Operation
Figure 8.7 Results of two natural join operations.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Complete Set of Relational Operations
The set of operations including SELECT σ, PROJECT π ,
UNION∪ , DIFFERENCE −, RENAME
, and CARTESIAN PRODUCT X is called a complete set
because any other relational algebra expression can be
expressed by a combination of these five operations.
For example:
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Binary Relational Operations: DIVISION
DIVISION Operation
The division operation is applied to two relations
R(Z) ÷ S(X), where X subset Z. Let Y = Z − X (and hence Z = X
∪ Y); that is, let Y be the set of attributes of R that are not
attributes of S.
The result of DIVISION is a relation T(Y) that includes a
tuple t if tuples
and with
For a tuple t to appear in the result T of the DIVISION, the
values in t must appear in R in combination with every tuple in
S.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Example of DIVISION
Figure 8.8 The DIVISION operation. (a) Dividing SSN_P N O S
by SMITH_P N O S. (b) T ← R ÷ S.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Table 8.1 Operations of Relational Algebra (1 of
2)OperationPurpose Notation SELECT Selects all tuples that
satisfy the selection condition from a relation R.sigma sub start
expression less than sign selection condition greater than sign
left parenthesis R right parenthesis PROJECT Produces a new
relation with only some of the attributes of R, and removes
duplicate tuples.pi sub start expression less than sign attribute
list greater than sign end expression left parenthesis R right
parenthesisTHETA JOIN Produces all combinations of tuples
from R1 and R2 that satisfy the join condition.R sub 1 join start
expression less than sign join condition greater than sign end
expression R sub 2EQUIJOINProduces all the combinations of
tuples from R1 and R2 that satisfy a join condition with only
equality comparisons.R sub 1 join start expression less than
sign join condition greater than sign end expression R sub 2 OR
R sub 1 join sub start expression left parenthesis less than sign
join attributes 1 greater than sign right parenthesis comma left
parenthesis less than sign join attributes 2 greater than sign
right parenthesis end expression R sub 2 NATURAL JOIN Same
as EQUIJOIN except that the join attributes of R2 are not
included in the resulting relation; if the join attributes have the
same names, they do not have to be specified at all.R sub 1
asterisk start expression less than sign join condition greater
than sign end expression R sub 2 comma OR R sub 1 asterisk
sub start expression left parenthesis less that sign join attributes
1 greater than sign right parenthesis comma left parenthesis less
than sign join attributes 2 greater than sign right parenthesis
comma R sub 2 OR R sub 1 asterisk R sub 2.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
50
Table 8.1 Operations of Relational Algebra (2 of
2)OperationPurpose Notation UNION Produces a relation that
includes all the tuples in R1 or R2 or both R1 and R2; R1 and
R2 must be union compatible.R sub 1 union R sub
2INTERSECTION Produces a relation that includes all the
tuples in both R1 and R2; R1 and R2 must be union
compatible.R sub 1 inter section R sub 2DIFFERENCE
Produces a relation that includes all the tuples in R1 that are not
in R2; R1 and R2 must be union compatible.R sub 1 minus R
sub 2CARTESIAN PRODUCT Produces a relation that has the
attributes of R1 and R2 and includes as tuples all possible
combinations of tuples from R1 and R2.R sub 1 times R sub
2DIVISION Produces a relation R(X) that includes all tuples
t[X] in R1(Z) that appear in R1 in combination with every tuple
from R2(Y), where Z = X ∪ Y.R sub1 left parenthesis Z right
parenthesis divided R sub2 left parenthesis Y right parenthesis
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Query Tree Notation
Query Tree
An internal data structure to represent a query
Standard technique for estimating the work involved in
executing the query, the generation of intermediate results, and
the optimization of execution
Nodes stand for operations like selection, projection, join,
renaming, division, ….
Leaf nodes represent base relations
A tree gives a good visual feel of the complexity of the query
and the operations involved
Algebraic Query Optimization consists of rewriting the query or
modifying the query tree into an equivalent tree.
(see Chapter 15)
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Example of Query Tree
Figure 8.9 Query tree corresponding to the relational algebra
expression for Q2.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Additional Relational Operations: Aggregate Functions and
Grouping
A type of request that cannot be expressed in the basic
relational algebra is to specify mathematical aggregate
functions on collections of values from the database.
Examples of such functions include retrieving the average or
total salary of all employees or the total number of employee
tuples.
These functions are used in simple statistical queries that
summarize information from the database tuples.
Common functions applied to collections of numeric values
include
SUM, AVERAGE, MAXIMUM, and MINIMUM.
The COUNT function is used for counting tuples or values.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Aggregate Function Operation
Use of the Aggregate Functional operation Ƒ
retrieves the maximum salary value from the EMPLOYEE
relation
retrieves the minimum Salary value from the EMPLOYEE
relation
retrieves the sum of the Salary from the EMPLOYEE relation
computes the count (number) of employees and their average
salary
Note: count just counts the number of rows, without removing
duplicates
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Using Grouping With Aggregation
The previous examples all summarized one or more attributes
for a set of tuples
Maximum Salary or Count (number of) Ssn
Grouping can be combined with Aggregate Functions
Example: For each department, retrieve the D NO, COUNT
SSN, and AVERAGE SALARY
A variation of aggregate operation Ƒ allows this:
Grouping attribute placed to left of symbol
Aggregate functions to right of symbol
Above operation groups employees by DNO (department
number) and computes the count of employees and average
salary per department
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.10 the Aggregate Function Operation
(a)DnoNo_of_employeesAverage_sal543325043310001155000
(b)DnoCount_ssnAverage_salary54332 5043310001155000
(c)Count_ssnAverage_salary835125
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 7.1a Results of GROUP by and HAVING (in S Q L). Q24
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Additional Relational Operations (1 of 6)
Recursive Closure Operations
Another type of operation that, in general, cannot be specified
in the basic original relational algebra is recursive closure.
This operation is applied to a recursive relationship.
An example of a recursive operation is to retrieve all
SUPERVISEES of an EMPLOYEE e at all levels — that is, all
EMPLOYEE e’ directly supervised by e; all employees e’’
directly supervised by each employee e’; all employees e’’’
directly supervised by each employee e’’; and so on.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Additional Relational Operations (2 of 6)
Although it is possible to retrieve employees at each level and
then take their union, we cannot, in general, specify a query
such as “retrieve the supervisees of ‘James Borg’ at all levels”
without utilizing a looping mechanism.
The S Q L 3 standard includes syntax for recursive closure.
Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
Rights Reserved
Figure 8.11 A Two-Level Recursive Query

Más contenido relacionado

Similar a Fundamentals of Database SystemsSeventh EditionChapter 6Ba

Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
Jafar Nesargi
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
Jafar Nesargi
 
Relational database language
Relational database languageRelational database language
Relational database language
Jafar Nesargi
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
Jafar Nesargi
 

Similar a Fundamentals of Database SystemsSeventh EditionChapter 6Ba (20)

Chapter06.ppt
Chapter06.pptChapter06.ppt
Chapter06.ppt
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
 
Relational database language
Relational database languageRelational database language
Relational database language
 
Chapter 7 relation database language
Chapter 7 relation database languageChapter 7 relation database language
Chapter 7 relation database language
 
MIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome MeasuresMIS5101 WK10 Outcome Measures
MIS5101 WK10 Outcome Measures
 
ch4
ch4ch4
ch4
 
Bank mangement system
Bank mangement systemBank mangement system
Bank mangement system
 
Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013Dbms ii mca-ch4-relational model-2013
Dbms ii mca-ch4-relational model-2013
 
Database Programming using SQL
Database Programming using SQLDatabase Programming using SQL
Database Programming using SQL
 
Ch3
Ch3Ch3
Ch3
 
DBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQLDBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQL
 
Unit1
Unit1Unit1
Unit1
 
The Database Environment Chapter 7
The Database Environment Chapter 7The Database Environment Chapter 7
The Database Environment Chapter 7
 
Ch3
Ch3Ch3
Ch3
 
chapter9-SQL.pptx
chapter9-SQL.pptxchapter9-SQL.pptx
chapter9-SQL.pptx
 
Review of SQL
Review of SQLReview of SQL
Review of SQL
 
Database Management Lab -SQL Queries
Database Management Lab -SQL Queries Database Management Lab -SQL Queries
Database Management Lab -SQL Queries
 
ch3[1].ppt
ch3[1].pptch3[1].ppt
ch3[1].ppt
 
Training MS Access 2007
Training MS Access 2007Training MS Access 2007
Training MS Access 2007
 

Más de DustiBuckner14

Your new clientsThe Wagner’s – Scott and Ella are a young marri.docx
Your new clientsThe Wagner’s – Scott and Ella are a young marri.docxYour new clientsThe Wagner’s – Scott and Ella are a young marri.docx
Your new clientsThe Wagner’s – Scott and Ella are a young marri.docx
DustiBuckner14
 
Writing Conclusions for Research PapersWhat is the purpose.docx
Writing Conclusions for Research PapersWhat is the purpose.docxWriting Conclusions for Research PapersWhat is the purpose.docx
Writing Conclusions for Research PapersWhat is the purpose.docx
DustiBuckner14
 
What Is Septic TankSeptic or septic typically is used t.docx
What Is Septic TankSeptic or septic typically is used t.docxWhat Is Septic TankSeptic or septic typically is used t.docx
What Is Septic TankSeptic or septic typically is used t.docx
DustiBuckner14
 
· You should respond to at least two of your peers by extending, r.docx
· You should respond to at least two of your peers by extending, r.docx· You should respond to at least two of your peers by extending, r.docx
· You should respond to at least two of your peers by extending, r.docx
DustiBuckner14
 
[removed]THIS IEP INCLUDES FORMCHECKBOX Transitions.docx
[removed]THIS IEP INCLUDES     FORMCHECKBOX  Transitions.docx[removed]THIS IEP INCLUDES     FORMCHECKBOX  Transitions.docx
[removed]THIS IEP INCLUDES FORMCHECKBOX Transitions.docx
DustiBuckner14
 
What We Can Afford” Poem By Shavar X. Seabrooks L.docx
What We Can Afford” Poem By Shavar  X. Seabrooks L.docxWhat We Can Afford” Poem By Shavar  X. Seabrooks L.docx
What We Can Afford” Poem By Shavar X. Seabrooks L.docx
DustiBuckner14
 
University of the CumberlandsSchool of Computer & Information .docx
University of the CumberlandsSchool of Computer & Information .docxUniversity of the CumberlandsSchool of Computer & Information .docx
University of the CumberlandsSchool of Computer & Information .docx
DustiBuckner14
 
Unit VII 1. Suppose a firm uses sugar in a product tha.docx
Unit VII         1. Suppose a firm uses sugar in a product tha.docxUnit VII         1. Suppose a firm uses sugar in a product tha.docx
Unit VII 1. Suppose a firm uses sugar in a product tha.docx
DustiBuckner14
 
Title PageThis spreadsheet supports STUDENT analysis of the case .docx
Title PageThis spreadsheet supports STUDENT analysis of the case .docxTitle PageThis spreadsheet supports STUDENT analysis of the case .docx
Title PageThis spreadsheet supports STUDENT analysis of the case .docx
DustiBuckner14
 
ScenarioThe HIT Innovation Steering Committee of a large.docx
ScenarioThe HIT Innovation Steering Committee of a large.docxScenarioThe HIT Innovation Steering Committee of a large.docx
ScenarioThe HIT Innovation Steering Committee of a large.docx
DustiBuckner14
 
Space ... the final frontier.  So, as I am sure everyone knows, .docx
Space ... the final frontier.  So, as I am sure everyone knows, .docxSpace ... the final frontier.  So, as I am sure everyone knows, .docx
Space ... the final frontier.  So, as I am sure everyone knows, .docx
DustiBuckner14
 
The Internal EnvironmentInstitutionStudent’s name.docx
The Internal EnvironmentInstitutionStudent’s name.docxThe Internal EnvironmentInstitutionStudent’s name.docx
The Internal EnvironmentInstitutionStudent’s name.docx
DustiBuckner14
 
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docxTHE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
DustiBuckner14
 

Más de DustiBuckner14 (20)

Your new clientsThe Wagner’s – Scott and Ella are a young marri.docx
Your new clientsThe Wagner’s – Scott and Ella are a young marri.docxYour new clientsThe Wagner’s – Scott and Ella are a young marri.docx
Your new clientsThe Wagner’s – Scott and Ella are a young marri.docx
 
Writing Conclusions for Research PapersWhat is the purpose.docx
Writing Conclusions for Research PapersWhat is the purpose.docxWriting Conclusions for Research PapersWhat is the purpose.docx
Writing Conclusions for Research PapersWhat is the purpose.docx
 
What Is Septic TankSeptic or septic typically is used t.docx
What Is Septic TankSeptic or septic typically is used t.docxWhat Is Septic TankSeptic or septic typically is used t.docx
What Is Septic TankSeptic or septic typically is used t.docx
 
· You should respond to at least two of your peers by extending, r.docx
· You should respond to at least two of your peers by extending, r.docx· You should respond to at least two of your peers by extending, r.docx
· You should respond to at least two of your peers by extending, r.docx
 
You are a medical student working your way throughcollege and ar.docx
You are a medical student working your way throughcollege and ar.docxYou are a medical student working your way throughcollege and ar.docx
You are a medical student working your way throughcollege and ar.docx
 
[removed]THIS IEP INCLUDES FORMCHECKBOX Transitions.docx
[removed]THIS IEP INCLUDES     FORMCHECKBOX  Transitions.docx[removed]THIS IEP INCLUDES     FORMCHECKBOX  Transitions.docx
[removed]THIS IEP INCLUDES FORMCHECKBOX Transitions.docx
 
Using the Integrated Model of Work Motivation Figure 12.1 (Latham, 2.docx
Using the Integrated Model of Work Motivation Figure 12.1 (Latham, 2.docxUsing the Integrated Model of Work Motivation Figure 12.1 (Latham, 2.docx
Using the Integrated Model of Work Motivation Figure 12.1 (Latham, 2.docx
 
What We Can Afford” Poem By Shavar X. Seabrooks L.docx
What We Can Afford” Poem By Shavar  X. Seabrooks L.docxWhat We Can Afford” Poem By Shavar  X. Seabrooks L.docx
What We Can Afford” Poem By Shavar X. Seabrooks L.docx
 
What are the techniques in handling categorical attributesHow.docx
What are the techniques in handling categorical attributesHow.docxWhat are the techniques in handling categorical attributesHow.docx
What are the techniques in handling categorical attributesHow.docx
 
University of the CumberlandsSchool of Computer & Information .docx
University of the CumberlandsSchool of Computer & Information .docxUniversity of the CumberlandsSchool of Computer & Information .docx
University of the CumberlandsSchool of Computer & Information .docx
 
Theresa and Mike fully support creating a code of conduct for th.docx
Theresa and Mike fully support creating a code of conduct for th.docxTheresa and Mike fully support creating a code of conduct for th.docx
Theresa and Mike fully support creating a code of conduct for th.docx
 
Unit VII 1. Suppose a firm uses sugar in a product tha.docx
Unit VII         1. Suppose a firm uses sugar in a product tha.docxUnit VII         1. Suppose a firm uses sugar in a product tha.docx
Unit VII 1. Suppose a firm uses sugar in a product tha.docx
 
Title PageThis spreadsheet supports STUDENT analysis of the case .docx
Title PageThis spreadsheet supports STUDENT analysis of the case .docxTitle PageThis spreadsheet supports STUDENT analysis of the case .docx
Title PageThis spreadsheet supports STUDENT analysis of the case .docx
 
Title If a compensation system works well for one business, that .docx
Title If a compensation system works well for one business, that .docxTitle If a compensation system works well for one business, that .docx
Title If a compensation system works well for one business, that .docx
 
Review the Article Below Keller, J. G., Miller, C., LasDulce, C.docx
Review the Article Below Keller, J. G., Miller, C., LasDulce, C.docxReview the Article Below Keller, J. G., Miller, C., LasDulce, C.docx
Review the Article Below Keller, J. G., Miller, C., LasDulce, C.docx
 
Teachers reach diverse learners by scaffolding instruction in ways t.docx
Teachers reach diverse learners by scaffolding instruction in ways t.docxTeachers reach diverse learners by scaffolding instruction in ways t.docx
Teachers reach diverse learners by scaffolding instruction in ways t.docx
 
ScenarioThe HIT Innovation Steering Committee of a large.docx
ScenarioThe HIT Innovation Steering Committee of a large.docxScenarioThe HIT Innovation Steering Committee of a large.docx
ScenarioThe HIT Innovation Steering Committee of a large.docx
 
Space ... the final frontier.  So, as I am sure everyone knows, .docx
Space ... the final frontier.  So, as I am sure everyone knows, .docxSpace ... the final frontier.  So, as I am sure everyone knows, .docx
Space ... the final frontier.  So, as I am sure everyone knows, .docx
 
The Internal EnvironmentInstitutionStudent’s name.docx
The Internal EnvironmentInstitutionStudent’s name.docxThe Internal EnvironmentInstitutionStudent’s name.docx
The Internal EnvironmentInstitutionStudent’s name.docx
 
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docxTHE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
THE RESEARCH PROPOSAL BUS8100 8Chapter 2 - Literature ReviewTh.docx
 

Último

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Krashi Coaching
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 

Último (20)

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 

Fundamentals of Database SystemsSeventh EditionChapter 6Ba

  • 1. Fundamentals of Database Systems Seventh Edition Chapter 6 Basic S Q L Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved If this PowerPoint presentation contains mathematical equations, you may need to check that your computer has the following installed: 1) MathType Plugin 2) Math Player (free versions available) 3) NVDA Reader (free versions available) 1 Learning Objectives 6.1 S Q L Data Definition and Data Types 6.2 Specifying Constraints in S Q L 6.3 Basic Retrieval Queries in S Q L 6.4 INSERT, DELETE, and UPDATE Statements in S Q L 6.5 Additional Features of S Q L Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Basic S Q L S Q L language Considered one of the major reasons for the commercial success of relational databases S Q L The origin of S Q L is relational predicate calculus called tuple
  • 2. calculus (see Chapter 8) which was proposed initially as the language SQUARE. S Q L Actually comes from the word “SEQUEL” which was the original term used in the paper: “SEQUEL TO SQUARE” by Chamberlin and Boyce. I B M could not copyright that term, so they abbreviated to S Q L and copyrighted the term S Q L. Now popularly known as “Structured Query language”. S Q L is an informal or practical rendering of the relational data model with syntax Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved S Q L Data Definition, Data Types, Standards Terminology: Table, row, and column used for relational model terms relation, tuple, and attribute CREATE statement Main S Q L command for data definition The language has features for: Data definition, Data Manipulation, Transaction control (Transact-S Q L, Chapter 20), Indexing (Chapter 17), Security specification (Grant and Revoke- see Chapter 30), Active databases (Chapter 26), Multi- media (Chapter 26), Distributed databases (Chapter 23) etc. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved S Q L Standards S Q L has gone through many standards: starting with S Q L-86 or S Q L 1.A. S Q L-92 is referred to as S Q L-2. Later standards (from S Q L-1999) are divided into core specification and specialized extensions. The extensions are implemented for different applications – such as data mining, data warehousing, multimedia etc. S Q L-2006 added X M L features (Chapter 13); In 2008 they
  • 3. added Object-oriented features (Chapter 12). S Q L-3 is the current standard which started with S Q L-1999. It is not fully implemented in any R D B M S. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Schema and Catalog Concepts in S Q L (1 of 2) We cover the basic standard S Q L syntax – there are variations in existing R D B M S systems S Q L schema Identified by a schema name Includes an authorization identifier and descriptors for each element Schema elements include Tables, constraints, views, domains, and other constructs Each statement in S Q L ends with a semicolon Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Schema and Catalog Concepts in S Q L (2 of 2) CREATE SCHEMA statement CREATE SCHEMA COMPANY AUTHORIZATION ‘Jsmith’; Catalog Named collection of schemas in an S Q L environment S Q L also has the concept of a cluster of catalogs. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The CREATE TABLE Command in S Q L (1 of 3) Specifying a new relation Provide name of table Specify attributes, their types and initial constraints Can optionally specify schema:
  • 4. CREATE TABLE COMPANY.EMPLOYEE ... or CREATE TABLE EMPLOYEE ... Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The CREATE TABLE Command in S Q L (2 of 3) Base tables (base relations) Relation and its tuples are actually created and stored as a file by the D B M S Virtual relations (views) Created through the CREATE VIEW statement. Do not correspond to any physical file. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved COMPANY Relational Database Schema Figure 5.7 Referential integrity constraints displayed on the COMPANY relational database schema. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 5.6 One Possible Database State for the COMPANY Relational Database Schema (1 of 2) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 5.6 One Possible Database State for the COMPANY Relational Database Schema (2 of 2)
  • 5. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 6.1 S Q L CREATE TABLE Data Definition Statements for Defining the Company Schema from Figure 5.7 (1 of 2) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 6.1 S Q L CREATE TABLE Data Definition Statements for Defining the Company Schema from Figure 5.7 (2 of 2) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The CREATE TABLE Command in S Q L (3 of 3) Some foreign keys may cause errors Specified either via: Circular references Or because they refer to a table that has not yet been created D B A’s have ways to stop referential integrity enforcement to get around this problem. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Attribute Data Types and Domains in S Q L (1 of 4) Basic data types Numeric data types Integer numbers: INTEGER, INT, and SMALLINT Floating-point (real) numbers: FLOAT or REAL, and DOUBLE PRECISION Character-string data types
  • 6. Fixed length: CHAR(n), CHARACTER(n) Varying length: VARCHAR(n), CHAR VARYING(n), CHARACTER VARYING(n) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Attribute Data Types and Domains in S Q L (2 of 4) Bit-string data types Fixed length: BIT(n) Varying length: BIT VARYING(n) Boolean data type Values of TRUE or FALSE or NULL DATE data type Ten positions Components are YEAR, MONTH, and DAY in the form Y Y Y Y-M M-D D Multiple mapping functions available in R D B M S s to change date formats Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Attribute Data Types and Domains in S Q L (3 of 4) Additional data types Timestamp data type Includes the DATE and TIME fields Plus a minimum of six positions for decimal fractions of seconds Optional WITH TIME ZONE qualifier INTERVAL data type Specifies a relative value that can be used to increment or decrement an absolute value of a date, time, or timestamp DATE, TIME, Timestamp, INTERVAL data types can be cast or converted to string formats for comparison.
  • 7. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Attribute Data Types and Domains in S Q L (4 of 4) Domain Name used with the attribute specification Makes it easier to change the data type for a domain that is used by numerous attributes Improves schema readability Example: CREATE DOMAIN S S N_TYPE AS CHAR(9); TYPE User Defined Types (U D T s) are supported for object-oriented applications. (See Chapter 12) Uses the command: CREATE TYPE Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Specifying Constraints in S Q L Basic constraints: Relational Model has 3 basic constraint types that are supported in S Q L: Key constraint: A primary key value cannot be duplicated Entity Integrity Constraint: A primary key value cannot be null Referential integrity constraints: The “foreign key “ must have a value that is already present as a primary key, or may be null. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Specifying Attribute Constraints Other Restrictions on attribute domains: Default value of an attribute DEFAULT <value>
  • 8. NULL is not permitted for a particular attribute (NOT NULL) CHECK clause Dnumber INT NOT NULL CHECK (Dnumber > 0 AND Dnumber < 21); Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Specifying Key and Referential Integrity Constraints (1 of 2) PRIMARY KEY clause Specifies one or more attributes that make up the primary key of a relation Dnumber INT PRIMARY KEY; UNIQUE clause Specifies alternate (secondary) keys (called CANDIDATE keys in the relational model). Dname VARCHAR(15) UNIQUE; Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Specifying Key and Referential Integrity Constraints (2 of 2) FOREIGN KEY clause Default operation: reject update on violation Attach referential triggered action clause Options include SET NULL, CASCADE, and SET DEFAULT Action taken by the D B M S for SET NULL or SET DEFAULT is the same for both ON DELETE and ON UPDATE CASCADE option suitable for “relationship” relations Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Giving Names to Constraints Using the Keyword CONSTRAINT Name a constraint
  • 9. Useful for later altering Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 6.2 Default Attribute Values and Referential Integrity Triggered Action Specification Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Specifying Constraints on Tuples Using CHECK Additional Constraints on individual tuples within a relation are also possible using CHECK CHECK clauses at the end of a CREATE TABLE statement Apply to each tuple individually CHECK (Dept_create_date <= Mgr_start_date); Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Basic Retrieval Queries in S Q L SELECT statement One basic statement for retrieving information from a database S Q L allows a table to have two or more tuples that are identical in all their attribute values Unlike relational model (relational model is strictly set-theory based) Multiset or bag behavior Tuple-id may be used as a key Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The SELECT-FROM-WHERE Structure of Basic S Q L Queries
  • 10. (1 of 2) Basic form of the SELECT statement: where <attribute list> is a list of attribute names whose values are to be retrieved by the query. <table list> is a list of the relation names required to process the query. <condition> is a conditional (Boolean) expression that identifies the tuples to be retrieved by the query. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The SELECT-FROM-WHERE Structure of Basic S Q L Queries (2 of 2) Logical comparison operators Projection attributes Attributes whose values are to be retrieved Selection condition Boolean condition that must be true for any retrieved tuple. Selection conditions include join conditions (see Chapter 8) when multiple relations are involved. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Basic Retrieval Queries (1 of 2) (a)BdateAddress1965-01-09731Fondren, Houston, TX (b)FnameLnameAddressJohnSmith731 Fondren, Houston, TXFranklinWong638 Voss, Houston, TXRameshNarayan975 Fire Oak, Humble, TXJoyceEnglish5631 Rice, Houston, TX Query 0. Retrieve the birth date and address of the employee(s)
  • 11. whose name is ‘John B. Smith’. Query 1. Retrieve the name and address of all employees who work for the ‘Research’ department. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Basic Retrieval Queries (2 of 2) (c)PnumberDnumLnameAddressBdate104Wallace291Berry, Bellaire, TX1941-06-20304Wallace291Berry, Bellaire, TX1941- 06-20 Query 2. For every project located in ‘Stafford’, list the project number, the controlling department number, and the department manager’s last name, address, and birth date. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Ambiguous Attribute Names Same name can be used for two (or more) attributes in different relations As long as the attributes are in different relations Must qualify the attribute name with the relation name to prevent ambiguity Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Aliasing, Renaming and Tuple Variables (1 of 2) Aliases or tuple variables Declare alternative relation names E and S to refer to the EMPLOYEE relation twice in a query:
  • 12. Query 8. For each employee, retrieve the employee’s first and last name and the first and last name of his or her immediate supervisor. Recommended practice to abbreviate names and to prefix same or similar attribute from multiple tables. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Aliasing, Renaming and Tuple Variables (2 of 2) The attribute names can also be renamed Note that the relation EMPLOYEE now has a variable name E which corresponds to a tuple variable The “AS” may be dropped in most S Q L implementations Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unspecified WHERE Clause and Use of the Asterisk (1 of 2) Missing WHERE clause Indicates no condition on tuple selection Effect is a CROSS PRODUCT Result is all possible tuple combinations (or the Algebra operation of Cartesian Product– see Chapter 8) result Queries 9 and 10. Select all EMPLOYEE S s n s (Q9) and all combinations of EMPLOYEE S s n and DEPARTMENT D name (Q10) in the database. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unspecified WHERE Clause and Use of the Asterisk (2 of 2) Specify an asterisk (*)
  • 13. Retrieve all the attribute values of the selected tuples The * can be prefixed by the relation name; e.g., EMPLOYEE * Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Tables as Sets in S Q L (1 of 2) S Q L does not automatically eliminate duplicate tuples in query results For aggregate operations (See sec 7.1.7) duplicates must be accounted for Use the keyword DISTINCT in the SELECT clause Only distinct tuples should remain in the result Query 11. Retrieve the salary of every employee (Q11) and all distinct salary values (Q11A). Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Tables as Sets in S Q L (2 of 2) Set operations UNION, EXCEPT (difference), INTERSECT Corresponding multiset operations: UNION ALL, EXCEPT ALL, INTERSECT ALL) Type compatibility is needed for these operations to be valid Query 4. Make a list of all project numbers for projects that involve an employee whose last name is ‘Smith’, either as a worker or as a manager of the department that controls the project. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 14. Substring Pattern Matching and Arithmetic Operators LIKE comparison operator Used for string pattern matching % replaces an arbitrary number of zero or more characters underscore (_) replaces a single character Examples: WHERE Address LIKE ‘%Houston,TX%’; WHERE S s n LIKE ‘_ _ 1_ _ 8901’; BETWEEN comparison operator E.g., in Q14 : WHERE(Salary BETWEEN 30000 AND 40000) AND D n o = 5; Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Arithmetic Operations Standard arithmetic operators: Addition (+), subtraction (–), multiplication (*), and division (/) may be included as a part of SELECT Query 13. Show the resulting salaries if every employee working on the ‘ProductX’ project is given a 10 percent raise. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Ordering of Query Results Use ORDER BY clause Keyword D E S C to see result in a descending order of values Keyword A S C to specify ascending order explicitly Typically placed at the end of the query ORDER BY D.D name D E S C, E.L name A S C, E.F name A S C Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 15. Basic S Q L Retrieval Query Block Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved INSERT, DELETE, and UPDATE Statements in S Q L Three commands used to modify the database: INSERT, DELETE, and UPDATE INSERT typically inserts a tuple (row) in a relation (table) UPDATE may update a number of tuples (rows) in a relation (table) that satisfy the condition DELETE may also update a number of tuples (rows) in a relation (table) that satisfy the condition Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved INSERT In its simplest form, it is used to add one or more tuples to a relation Attribute values should be listed in the same order as the attributes were specified in the CREATE TABLE command Constraints on data types are observed automatically Any integrity constraints as a part of the D D L specification are enforced Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The INSERT Command Specify the relation name and a list of values for the tuple. All values including nulls are supplied. The variation below inserts multiple tuples where a new table is loaded values from the result of a query.
  • 16. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Bulk Loading of Tables Another variation of INSERT is used for bulk-loading of several tuples into tables A new table T NEW can be created with the same attributes as T and using LIKE and DATA in the syntax, it can be loaded with entire data. EXAMPLE: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved DELETE Removes tuples from a relation Includes a WHERE-clause to select the tuples to be deleted Referential integrity should be enforced Tuples are deleted from only one table at a time (unless CASCADE is specified on a referential integrity constraint) A missing WHERE-clause specifies that all tuples in the relation are to be deleted; the table then becomes an empty table The number of tuples deleted depends on the number of tuples in the relation that satisfy the WHERE-clause Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The DELETE Command Removes tuples from a relation Includes a WHERE clause to select the tuples to be deleted. The number of tuples deleted will vary.
  • 17. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved UPDATE (1 of 3) Used to modify attribute values of one or more selected tuples A WHERE-clause selects the tuples to be modified An additional SET-clause specifies the attributes to be modified and their new values Each command modifies tuples in the same relation Referential integrity specified as part of D D L specification is enforced Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved UPDATE (2 of 3) Example: Change the location and controlling department number of project number 10 to ‘Bellaire’ and 5, respectively Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved UPDATE (3 of 3) Example: Give all employees in the ‘Research’ department a 10% raise in salary. In this request, the modified SALARY value depends on the original SALARY value in each tuple The reference to the SALARY attribute on the right of = refers to the old SALARY value before modification The reference to the SALARY attribute on the left of = refers to the new SALARY value after modification Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
  • 18. Rights Reserved 51 Additional Features of S Q L (1 of 2) Techniques for specifying complex retrieval queries (see Chapter 7) Writing programs in various programming languages that include S Q L statements: Embedded and dynamic S Q L, S Q L/C L I (Call Level Interface) and its predecessor O D B C, S Q L/P S M (Persistent Stored Module) (See Chapter 10) Set of commands for specifying physical database design parameters, file structures for relations, and access paths, e.g., CREATE INDEX Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Additional Features of S Q L (2 of 2) Transaction control commands (Chapter 20) Specifying the granting and revoking of privileges to users (Chapter 30) Constructs for creating triggers (Chapter 26) Enhanced relational systems known as object-relational define relations as classes. Abstract data types (called User Defined Types- U D T s) are supported with CREATE TYPE New technologies such as X M L (Chapter 13) and O L A P (Chapter 29) are added to versions of S Q L Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Summary S Q L A Comprehensive language for relational database management
  • 19. Data definition, queries, updates, constraint specification, and view definition Covered: Data definition commands for creating tables Commands for constraint specification Simple retrieval queries Database update commands Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Copyright Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved , , , , ,and =<<=>>=<> MGT 4337: Business Policy and Decision MakingModule 2 Analysis Artifacts Worksheet: Decision Years 11–12 Overview: Your submission must include evidence of the analysis tools that your company used to make decisions in this simulation. For the simulation rounds in this module, you will submit a Driving Force Analysis, a Key Success Factor Analysis, and a Five Force Analysis as your required artifacts. Directions: Download and save a copy of this document so you can edit the sections below. Complete this worksheet and submit it as evidence of your analysis artifacts. 1. Driving Forces Analysis: The driving forces of any industry are those forces that cause the most strategic change in that industry. Firms must be aware of what changes are likely to occur in the industry so they can 1) proactively prepare strategy
  • 20. to counter these forces and 2) have a response strategy in place for when they do happen. To complete this analysis, address the following: Identify 3–5 driving forces 1. 2. 3. 4. 5. Do the driving forces act to boost or squeeze profit margins? Explain. Do the driving forces cause competition to be more or less intense? Explain. Assess whether the drivers of change are, on the whole, acting to make the industry more or less attractive. Determine two strategy changes needed to prepare for the impact of the driving forces. 1. 2. 2. Key Success Factor Analysis: Every industry has certain conditions that need to be met to be successful. For example, UPS and FedEx have to have fast, on-time deliveries or they will be out of business. Firms must understand what these industry factors are and build competencies to meet them. To complete this analysis, address the following:
  • 21. Identify the basis on which buyers of the industry’s product or service choose between the competing brands of sellers. That is, what product or service attributes are crucial? Given the nature of competitive rivalry and the competitive forces prevailing in the marketplace, assess the resources and competitive capabilities required for a company to be competitively successful. Evaluate which of the company’s shortcomings put them at a significant competitive disadvantage. To be a winner, a company’s strategy must compare favorably with rivals on all industry KSFs and be competitively superior on one, maybe two, of the industry’s KSFs. Which KSFs, if any, is your company competitively superior? If none, what can you do to obtain superiority over one of the industry’s KSFs? 3. Five Force Analysis: While every company differs from one another in the way they are managed, every firm in any given industry is affected in the same way by each of the five forces. For example, rivalry may not be as intense in the bread-baking industry as it is in the smartphone industry, but for the companies in each respective industry, the intensity of the rivalry is the same. Company managers must understand each of these forces that affect the industry and to what degree their industry is affected by each individual force in order to set strategy to counter these factors. See Chapter 3 for more information about this analysis tool. To complete this analysis, address the following: Force
  • 22. Factors & Success Ratings (List as many factors as you can for each force and assign a strength rating of weak, moderate, or strong) Intensity of Rivalry Threat of New Entrants Threat of Substitute Products Buying Power of Buyer Buying Power of Supplier Finally, write one paragraph reflecting on the strongest forces affecting your industry. How can you use this information to formulate and implement strategy for your company? Guidelines for Submission: To complete this assignment, submit a saved copy of this completed worksheet. Rubric Instructor Feedback: This activity uses an integrated rubric in Blackboard. Students can view instructor feedback in the Grade Center. Criteria Exemplary (100%)
  • 23. Needs Improvement (75%) Incomplete (50%) Not Evident (0%) Value Worksheet Submitted a complete worksheet that demonstrates sincere effort. Submitted a mostly complete worksheet that demonstrates sincere effort. Submitted an incomplete worksheet. Did not submit a worksheet. 100 Total 100% 1 Fundamentals of Database Systems Seventh Edition Chapter 8 The Relational Algebra and The Relational Calculus (plus Q B E- Appendix C) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Slides in this presentation contain hyperlinks. JAWS users should be able to get a list of links by using INSERT+F7 If this PowerPoint presentation contains mathematical equations, you may need to check that your computer has the following installed: 1) MathType Plugin
  • 24. 2) Math Player (free versions available) 3) NVDA Reader (free versions available) 1 Chapter Outline 8.1 Relational Algebra Unary Relational Operations Relational Algebra Operations From Set Theory Binary Relational Operations Additional Relational Operations Examples of Queries in Relational Algebra 8.2 Relational Calculus Tuple Relational Calculus Domain Relational Calculus 8.3 Example Database Application (COMPANY) 8.4 Overview of the Q.B E language (appendix D) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Overview (1 of 4) Relational algebra is the basic set of operations for the relational model These operations enable a user to specify basic retrieval requests (or queries) The result of an operation is a new relation, which may have been formed from one or more input relations This property makes the algebra “closed” (all objects in relational algebra are relations) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Overview (2 of 4) The algebra operations thus produce new relations These can be further manipulated using operations of the same
  • 25. algebra A sequence of relational algebra operations forms a relational algebra expression The result of a relational algebra expression is also a relation that represents the result of a database query (or retrieval request) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Brief History of Origins of Algebra Muhammad ibn Musa al-Khwarizmi (800-847 C E) – from Morocco wrote a book titled al-jabr about arithmetic of variables Book was translated into Latin. Its title (al-jabr) gave Algebra its name. Al-Khwarizmi called variables “shay” “Shay” is Arabic for “thing”. Spanish transliterated “shay” as “xay” (“x” was “sh” in Spain). In time this word was abbreviated as x. Where does the word Algorithm come from? Algorithm originates from “al-Khwarizmi" Reference: P B S (http://www.pbs.org/empires/islam/innoalgebra.html) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Overview (3 of 4) Relational Algebra consists of several groups of operations Unary Relational Operations SELECT PROJECT
  • 26. RENAME Relational Algebra Operations From Set Theory DIFFERENCE (or MINUS, − ) CARTESIAN PRODUCT ( x ) Binary Relational Operations JOIN (several variations of JOIN exist) DIVISIONs Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Overview (4 of 4) Additional Relational Operations OUTER JOINS, OUTER UNION AGGREGATE FUNCTIONS (These compute summary of information: for example, SUM, COUNT, AVG, MIN, MAX) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Database State for COMPANY All examples discussed below refer to the Company database shown here. Figure 5.7 Referential integrity constraints displayed on the COMPANY relational database schema. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 27. Unary Relational Operations: SELECT (1 of 4) The SELECT operation (denoted by σ (sigma)) is used to select a subset of the tuples from a relation based on a selection condition. The selection condition acts as a filter Keeps only those tuples that satisfy the qualifying condition Tuples satisfying the condition are selected whereas the other tuples are discarded (filtered out) Examples: Select the EMPLOYEE tuples whose department number is 4: Select the employee tuples whose salary is greater than $30,000: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: SELECT (2 of 4) In general, the select operation is denoted by The symbol σ (sigma) is used to denote the select operator The selection condition is a Boolean (conditional) expression specified on the attributes of relation R Tuples that make the condition true are selected appear in the result of the operation Tuples that make the condition false are filtered out discarded from the result of the operation Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: SELECT (3 of 4)
  • 28. SELECT Operation Properties The SELECT operation produces a relation S that has the same schema (same attributes) as R SELECT σ is commutative: Because of commutativity property, a cascade (sequence) of SELECT operations may be applied in any order: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: SELECT (4 of 4) A cascade of SELECT operations may be replaced by a single selection with a conjunction of all the conditions: The number of tuples in the result of a SELECT is less than (or equal to) the number of tuples in the input relation R Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved The Following Query Results Refer to This Database State Figure 5.6 One possible database state for the COMPANY relational database schema.
  • 29. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: Project (1 of 3) PROJECT Operation is denoted by π (pi) This operation keeps certain columns (attributes) from a relation and discards the other columns. PROJECT creates a vertical partitioning The list of specified columns (attributes) is kept in each tuple The other attributes in each tuple are discarded Example: To list each employee’s first and last name and salary, the following is used: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved 14 Unary Relational Operations: Project (2 of 3) The general form of the project operation is: π (pi) is the symbol used to represent the project operation <attribute list> is the desired list of attributes from relation R. The project operation removes any duplicate tuples This is because the result of the project operation must be a set of tuples Mathematical sets do not allow duplicate elements. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: Project (3 of 3)
  • 30. PROJECT Operation Properties The number of tuples in the result of projection is always less or equal to the number of tuples in R If the list of attributes includes a key of R, then the number of tuples in the result of PROJECT is equal to the number of tuples in R PROJECT is not commutative Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Examples of Applying Select and Project Operations Figure 8.1 Results of SELECT and PROJECT operations. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Expressions We may want to apply several relational algebra operations one after the other Either we can write the operations as a single relational algebra expression by nesting the operations, or We can apply one operation at a time and create intermedi ate result relations. In the latter case, we must give names to the relations that hold the intermediate results.
  • 31. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Single Expression Versus Sequence of Relational Operations (Example) To retrieve the first name, last name, and salary of all employees who work in department number 5, we must apply a select and a project operation We can write a single relational algebra expression as follows: OR We can explicitly show the sequence of operations, giving a name to each intermediate relation: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: RENAME (1 of 3) The RENAME operator is denoted by In some cases, we may want to rename the attributes of a relation or the relation name or both Useful when a query requires multiple operations Necessary in some cases (see JOIN operation later) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 32. Unary Relational Operations: RENAME (2 of 3) The general RENAME operation can be expressed by any of the following forms: the relation name to S, and the column (attribute) names to the relation name only to S the column (attribute) names only to Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Unary Relational Operations: RENAME (3 of 3) For convenience, we also use a shorthand for renaming attributes in an intermediate relation: If we write: RESULT will have the same attribute names as DEP5_EMPS (same attributes as EMPLOYEE) If we write: RESULT (F, M, L, S, B, A, SX, SAL, SU, DNO) ←
  • 33. The 10 attributes of DEP5_EMPS are renamed to F, M, L, S, B, A, SX, SAL, SU, DNO, respectively Note: ← the symbol is an assignment operator Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved 22 Example of Applying Multiple Operations and RENAME Figure 8.2 Results of a sequence of operations. (a) (b) Using intermediate relations and renaming of attributes Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from Set Theory: UNION (1 of 2) UNION Operation The result of , is a relation that includes all tuples that are either in R or in S or in both R and S Duplicate tuples are eliminated The two operand relations R and S must be “type compatible” (or UNION compatible)
  • 34. R and S must have same number of attributes Each pair of corresponding attributes must be type compatible (have same or compatible domains) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved 24 Relational Algebra Operations from Set Theory: Union (2 of 2) Example: To retrieve the social security numbers of all employees who either work in department 5 (RESULT1 below) or directly supervise an employee who works in department 5 (RESULT2 below) We can use the UNION operation as follows: The union operation produces the tuples that are in either RESULT1 or RESULT2 or both Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 8.3 Result of the Union Operation RESULT ← RESULT1 union symbol RESULT2 Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from
  • 35. Set Theory Type Compatibility of operands is required for the binary set operation see next slides) are type compatible if: they have the same number of attributes, and the domains of corresponding attributes are type compatible The resulting relation for has the same attribute names as the first operand relation R1 (by convention) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from Set Theory: INTERSECTION INTERSECTION is denoted by The result of the operation , is a relation that includes all tuples that are in both R and S The attribute names in the result will be the same as the attribute names in R The two operand relations R and S must be “type compatible” Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 36. Relational Algebra Operations from Set Theory: SET DIFFERENCE SET DIFFERENCE (also called MINUS or EXCEPT) is denoted by − The result of R − S, is a relation that includes all tuples that are in R but not in S The attribute names in the result will be the same as the attribute names in R The two operand relations R and S must be “type compatible” Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Example to Illustrate the Result of UNION, INTERSECT, and DIFFERENCE Figure 8.4 The set operations UNION, INTERSECTION, and MINUS. (a) Two union-compatible relations. (b) (c) (d) STUDENT – INSTRUCTOR. (e) INSTRUCTOR – STUDENT. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Some Properties of UNION, INTERSECT, and DIFFERENCE Notice that both union and intersection are commutative operations; that is Both union and intersection can be treated as n-ary operations
  • 37. applicable to any number of relations as both are associative operations; that is The minus operation is not commutative; that is, in general Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from Set Theory: CARTESIAN PRODUCT (1 of 3) CARTESIAN (or CROSS) PRODUCT Operation This operation is used to combine tuples from two relations in a combinatorial fashion. Denoted by Result is a relation Q with degree n + m attributes: The resulting relation state has one tuple for each combination of tuples—one from R and one from S. Hence, if R has nR tuples and S has nS tuples, then R × S will have nR * nS tuples. The two operands do NOT have to be "type compatible” Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from Set Theory: CARTESIAN
  • 38. PRODUCT (2 of 3) Generally, CROSS PRODUCT is not a meaningful operation Can become meaningful when followed by other operations Example (not meaningful): EMP_DEPENDENTS will contain every combination of EMPNAMES and DEPENDENT whether or not they are actually related Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Relational Algebra Operations from Set Theory: CARTESIAN PRODUCT (3 of 3) To keep only combinations where the DEPENDENT is related to the EMPLOYEE, we add a SELECT operation as follows Example (meaningful):
  • 39. RESULT will now contain the name of female employees and their dependents Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 8.5 The Cartesian Product (CROSS PRODUCT) Operation (1 of 3) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 8.5 The Cartesian Product (CROSS PRODUCT) Operation (2 of 3) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 8.5 The Cartesian Product (CROSS PRODUCT) Operation (3 of 3) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: JOIN (1 of 2) JOIN Operation The sequence of CARTESIAN PRODECT followed by SELECT is used quite commonly to identify and select related tuples
  • 40. from two relations A special operation, called JOIN combines this sequence into a single operation This operation is very important for any relational database with more than a single relation, because it allows us combine related tuples from various relations The general form of a join operation on two relations where R and S can be any relations that result from general relational algebra expressions. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: JOIN (2 of 2) Example: Suppose that we want to retrieve the name of the manager of each department. To get the manager’s name, we need to combine each DEPARTMENT tuple with the EMPLOYEE tuple whose SSN value matches the MGRSSN value in the department tuple. We do this by using the join operation. MGRSSN=SSN is the join condition Combines each department record with the employee who manages the department The join condition can also be specified as DEPARTMENT.MGRSSN= EMPLOYEE.SSN Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 41. Figure 8.6 Result of the JOIN Operation D E P T dash M G R left arrow DEPARTMENT super absolute value of x sub start expression m g r dash s s n = S s n end expression EMPLOYEE Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Some Properties of JOIN (1 of 2) Consider the following JOIN operation: Result is a relation Q with degree n + m attributes: The resulting relation state has one tuple for each combination of tuples—r from R and s from S, but only if they satisfy the join condition Hence, if R has nR tuples, and S has nS tuples, then the join result will generally have less than nR * nS tuples. Only related tuples (based on the join condition) will appear in the result Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Some Properties of JOIN (2 of 2) The general case of JOIN operation is called a Theta-join:
  • 42. The join condition is called theta Theta can be any general boolean expression on the attributes of R and S; for example: Most join conditions involve one or more equality conditions “AND”ed together; for example: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: E Q U I JOIN E Q U I JOIN Operation The most common use of join involves join conditions with equality comparisons only Such a join, where the only comparison operator used is =, is called an E Q U I JOIN. In the result of an E Q U I JOIN we always have one or more pairs of attributes (whose names need not be identical) that have identical values in every tuple. The JOIN seen in the previous example was an E Q U I JOIN. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: NATURAL JOIN Operation (1 of 2) NATURAL JOIN Operation Another variation of JOIN called NATURAL JOIN — denoted by * — was created to get rid of the second (superfluous) attribute in an EQUIJOIN condition. because one of each pair of attributes with identical values is superfluous
  • 43. The standard definition of natural join requires that the two join attributes, or each pair of corresponding join attributes, have the same name in both relations If this is not the case, a renaming operation is applied first. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: NATURAL JOIN Operation (2 of 2) Example: To apply a natural join on the D NUMBER attributes of DEPARTMENT and DEPT_LOCATIONS, it is sufficient to write: Only attribute with the same name is D NUMBER An implicit join condition is created based on this attribute: DEPARTMENT.DNUMBER=DEPT_LOCATIONS.DNUMBER Another example: The implicit join condition includes each pair of attributes with the same name, “AND”ed together: R.C=S.C AND R.D.S.D Result keeps only one attribute of each such pair: Q(A,B,C,D,E) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Example of NATURAL JOIN Operation Figure 8.7 Results of two natural join operations.
  • 44. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Complete Set of Relational Operations The set of operations including SELECT σ, PROJECT π , UNION∪ , DIFFERENCE −, RENAME , and CARTESIAN PRODUCT X is called a complete set because any other relational algebra expression can be expressed by a combination of these five operations. For example: Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Binary Relational Operations: DIVISION DIVISION Operation The division operation is applied to two relations R(Z) ÷ S(X), where X subset Z. Let Y = Z − X (and hence Z = X ∪ Y); that is, let Y be the set of attributes of R that are not attributes of S. The result of DIVISION is a relation T(Y) that includes a tuple t if tuples and with
  • 45. For a tuple t to appear in the result T of the DIVISION, the values in t must appear in R in combination with every tuple in S. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Example of DIVISION Figure 8.8 The DIVISION operation. (a) Dividing SSN_P N O S by SMITH_P N O S. (b) T ← R ÷ S. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Table 8.1 Operations of Relational Algebra (1 of 2)OperationPurpose Notation SELECT Selects all tuples that satisfy the selection condition from a relation R.sigma sub start expression less than sign selection condition greater than sign left parenthesis R right parenthesis PROJECT Produces a new relation with only some of the attributes of R, and removes duplicate tuples.pi sub start expression less than sign attribute list greater than sign end expression left parenthesis R right parenthesisTHETA JOIN Produces all combinations of tuples from R1 and R2 that satisfy the join condition.R sub 1 join start expression less than sign join condition greater than sign end expression R sub 2EQUIJOINProduces all the combinations of tuples from R1 and R2 that satisfy a join condition with only equality comparisons.R sub 1 join start expression less than sign join condition greater than sign end expression R sub 2 OR R sub 1 join sub start expression left parenthesis less than sign join attributes 1 greater than sign right parenthesis comma left parenthesis less than sign join attributes 2 greater than sign right parenthesis end expression R sub 2 NATURAL JOIN Same as EQUIJOIN except that the join attributes of R2 are not
  • 46. included in the resulting relation; if the join attributes have the same names, they do not have to be specified at all.R sub 1 asterisk start expression less than sign join condition greater than sign end expression R sub 2 comma OR R sub 1 asterisk sub start expression left parenthesis less that sign join attributes 1 greater than sign right parenthesis comma left parenthesis less than sign join attributes 2 greater than sign right parenthesis comma R sub 2 OR R sub 1 asterisk R sub 2. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved 50 Table 8.1 Operations of Relational Algebra (2 of 2)OperationPurpose Notation UNION Produces a relation that includes all the tuples in R1 or R2 or both R1 and R2; R1 and R2 must be union compatible.R sub 1 union R sub 2INTERSECTION Produces a relation that includes all the tuples in both R1 and R2; R1 and R2 must be union compatible.R sub 1 inter section R sub 2DIFFERENCE Produces a relation that includes all the tuples in R1 that are not in R2; R1 and R2 must be union compatible.R sub 1 minus R sub 2CARTESIAN PRODUCT Produces a relation that has the attributes of R1 and R2 and includes as tuples all possible
  • 47. combinations of tuples from R1 and R2.R sub 1 times R sub 2DIVISION Produces a relation R(X) that includes all tuples t[X] in R1(Z) that appear in R1 in combination with every tuple from R2(Y), where Z = X ∪ Y.R sub1 left parenthesis Z right parenthesis divided R sub2 left parenthesis Y right parenthesis Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Query Tree Notation Query Tree An internal data structure to represent a query Standard technique for estimating the work involved in executing the query, the generation of intermediate results, and the optimization of execution Nodes stand for operations like selection, projection, join, renaming, division, …. Leaf nodes represent base relations A tree gives a good visual feel of the complexity of the query and the operations involved Algebraic Query Optimization consists of rewriting the query or modifying the query tree into an equivalent tree. (see Chapter 15) Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 48. Example of Query Tree Figure 8.9 Query tree corresponding to the relational algebra expression for Q2. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Additional Relational Operations: Aggregate Functions and Grouping A type of request that cannot be expressed in the basic relational algebra is to specify mathematical aggregate functions on collections of values from the database. Examples of such functions include retrieving the average or total salary of all employees or the total number of employee tuples. These functions are used in simple statistical queries that summarize information from the database tuples. Common functions applied to collections of numeric values include SUM, AVERAGE, MAXIMUM, and MINIMUM. The COUNT function is used for counting tuples or values. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Aggregate Function Operation Use of the Aggregate Functional operation Ƒ retrieves the maximum salary value from the EMPLOYEE relation
  • 49. retrieves the minimum Salary value from the EMPLOYEE relation retrieves the sum of the Salary from the EMPLOYEE relation computes the count (number) of employees and their average salary Note: count just counts the number of rows, without removing duplicates Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Using Grouping With Aggregation The previous examples all summarized one or more attributes for a set of tuples Maximum Salary or Count (number of) Ssn Grouping can be combined with Aggregate Functions Example: For each department, retrieve the D NO, COUNT SSN, and AVERAGE SALARY A variation of aggregate operation Ƒ allows this: Grouping attribute placed to left of symbol Aggregate functions to right of symbol Above operation groups employees by DNO (department number) and computes the count of employees and average salary per department Copyright © 2016, 2011, 2007 Pearson Education, Inc. All
  • 50. Rights Reserved Figure 8.10 the Aggregate Function Operation (a)DnoNo_of_employeesAverage_sal543325043310001155000 (b)DnoCount_ssnAverage_salary54332 5043310001155000 (c)Count_ssnAverage_salary835125 Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 7.1a Results of GROUP by and HAVING (in S Q L). Q24 Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Additional Relational Operations (1 of 6) Recursive Closure Operations Another type of operation that, in general, cannot be specified in the basic original relational algebra is recursive closure. This operation is applied to a recursive relationship. An example of a recursive operation is to retrieve all SUPERVISEES of an EMPLOYEE e at all levels — that is, all EMPLOYEE e’ directly supervised by e; all employees e’’ directly supervised by each employee e’; all employees e’’’ directly supervised by each employee e’’; and so on. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved
  • 51. Additional Relational Operations (2 of 6) Although it is possible to retrieve employees at each level and then take their union, we cannot, in general, specify a query such as “retrieve the supervisees of ‘James Borg’ at all levels” without utilizing a looping mechanism. The S Q L 3 standard includes syntax for recursive closure. Copyright © 2016, 2011, 2007 Pearson Education, Inc. All Rights Reserved Figure 8.11 A Two-Level Recursive Query