SlideShare a Scribd company logo
CHAPTER 6:
INTRODUCTION TO SQL
Copyright © 2014 Pearson Education, Inc.
1
Essentials of Database Management
Jeffrey A. Hoffer, Heikki Topi, V. Ramesh
Chapter 6 Copyright © 2014 Pearson Education, Inc.
OBJECTIVES
 Define terms
 Interpret history and role of SQL
 Define a database using SQL data
definition language
 Write single table queries using SQL
 Establish referential integrity using SQL
 Discuss SQL:1999 and SQL:2008
standards
2
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SQL OVERVIEW
 Structured Query Language
 The standard for relational database
management systems (RDBMS)
 RDBMS: A database management system
that manages data as a collection of tables in
which all relationships are represented by
common values in related tables
3
Chapter 6 Copyright © 2014 Pearson Education, Inc.
HISTORY OF SQL
 1970–E. F. Codd develops relational database concept
 1974-1979–System R with Sequel (later SQL) created at
IBM Research Lab
 1979–Oracle markets first relational DB with SQL
 1981 – SQL/DS first available RDBMS system on
DOS/VSE
 Others followed: INGRES (1981), IDM (1982), DG/SGL
(1984), Sybase (1986)
 1986–ANSI SQL standard released
 1989, 1992, 1999, 2003, 2006, 2008–Major ANSI
standard updates
 Current–SQL is supported by most major database
vendors
4
Chapter 6 Copyright © 2014 Pearson Education, Inc.
PURPOSE OF SQL STANDARD
 Specify syntax/semantics for data definition
and manipulation
 Define data structures and basic operations
 Enable portability of database definition and
application modules
 Specify minimal (level 1) and complete (level
2) standards
 Allow for later growth/enhancement to
standard (referential integrity, transaction
management, user-defined functions,
extended join operations, national character
sets)
5
Chapter 6 Copyright © 2014 Pearson Education, Inc.
BENEFITS OF A STANDARDIZED
RELATIONAL LANGUAGE
 Reduced training costs
 Productivity
 Application portability
 Application longevity
 Reduced dependence on a single
vendor
 Cross-system communication
6
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SQL ENVIRONMENT
 Catalog
 A set of schemas that constitute the description of a database
 Schema
 The structure that contains descriptions of objects created by a user
(base tables, views, constraints)
 Data Definition Language (DDL)
 Commands that define a database, including creating, altering, and
dropping tables and establishing constraints
 Data Manipulation Language (DML)
 Commands that maintain and query a database
 Data Control Language (DCL)
 Commands that control a database, including administering
privileges and committing data
7
8
Figure 6-1
A simplified schematic of a typical SQL environment, as
described by the SQL: 2008 standard
8
Chapter 6 Copyright © 2014 Pearson Education, Inc.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SQL DATA TYPES
9
10
Figure 6-4
DDL, DML, DCL, and the database development process
10
Chapter 6 Copyright © 2014 Pearson Education, Inc.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SQL DATABASE DEFINITION
 Data Definition Language (DDL)
 Major CREATE statements:
 CREATE SCHEMA–defines a portion of the
database owned by a particular user
 CREATE TABLE–defines a new table and its
columns
 CREATE VIEW–defines a logical table from one
or more tables or views
 Other CREATE statements: CHARACTER
SET, COLLATION, TRANSLATION, ASSERTION,
DOMAIN
11
Chapter 6 Copyright © 2014 Pearson Education, Inc.
STEPS IN TABLE CREATION
12
1. Identify data types for attributes
2. Identify columns that can and cannot be null
3. Identify columns that must be unique (candidate
keys)
4. Identify primary key–foreign key mates
5. Determine default values
6. Identify constraints on columns (domain
specifications)
7. Create the table and associated indexes
Chapter 6 Copyright © 2014 Pearson Education, Inc.
13
Figure 6-5 General syntax for CREATE TABLE
statement used in data definition language
Chapter 6 Copyright © 2014 Pearson Education, Inc.
THE FOLLOWING SLIDES CREATE TABLES
FOR THIS ENTERPRISE DATA MODEL
14
(from Chapter 1, Figure 1-3)
Chapter 6 Copyright © 2014 Pearson Education, Inc.
15
Figure 6-6 SQL database definition commands for Pine Valley Furniture
Company (Oracle 11g)
Overall table
definitions
16
Defining attributes and their data types
16
Chapter 6 Copyright © 2014 Pearson Education, Inc.
17
Non-nullable specification
Identifying primary key
Primary keys
can never have
NULL values
17
Chapter 6 Copyright © 2014 Pearson Education, Inc.
18
Non-nullable specifications
Primary key
Some primary keys are composite–
composed of multiple attributes
18
Chapter 6 Copyright © 2014 Pearson Education, Inc.
19
Default value
Domain constraint
Controlling the values in attributes
19
Chapter 6 Copyright © 2014 Pearson Education, Inc.
20
Primary key of
parent table
Identifying foreign keys and establishing relationships
Foreign key of dependent table
20
Chapter 6 Copyright © 2014 Pearson Education, Inc.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
DATA INTEGRITY CONTROLS
 Referential integrity–constraint that
ensures that foreign key values of a
table must match primary key
values of a related table in 1:M
relationships
 Restricting:
Deletes of primary records
Updates of primary records
Inserts of dependent records
21
Chapter 6 Copyright © 2014 Pearson Education, Inc.
CHANGING TABLES
 ALTER TABLE statement allows you to
change column specifications:
 Table Actions:
 Example (adding a new column with a default value):
22
Chapter 6 Copyright © 2014 Pearson Education, Inc.
REMOVING TABLES
DROP TABLE statement allows you
to remove tables from your schema:
DROP TABLE CUSTOMER_T
23
Chapter 6 Copyright © 2014 Pearson Education, Inc.
INSERT STATEMENT
 Adds one or more rows to a table
 Inserting into a table
 Inserting a record that has some null attributes
requires identifying the fields that actually get data
 Inserting from another table
24
Chapter 6 Copyright © 2014 Pearson Education, Inc.
CREATING TABLES WITH IDENTITY COLUMNS
25
Inserting into a table does not require explicit customer ID entry or
field list
INSERT INTO CUSTOMER_T VALUES ( ‘Contemporary Casuals’,
‘1355 S. Himes Blvd.’, ‘Gainesville’, ‘FL’, 32601);
Introduced with SQL:2008
Chapter 6 Copyright © 2014 Pearson Education, Inc.
DELETE STATEMENT
 Removes rows from a table
 Delete certain rows
DELETE FROM CUSTOMER_T WHERE
CUSTOMERSTATE = ‘HI’;
 Delete all rows
DELETE FROM CUSTOMER_T;
26
Chapter 6 Copyright © 2014 Pearson Education, Inc.
UPDATE STATEMENT
 Modifies data in existing rows
27
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SCHEMA DEFINITION
 Control processing/storage efficiency:
 Choice of indexes
 File organizations for base tables
 File organizations for indexes
 Data clustering
 Statistics maintenance
 Creating indexes
 Speed up random/sequential access to base table data
 Example
 CREATE INDEX NAME_IDX ON
CUSTOMER_T(CUSTOMERNAME)
 This makes an index for the CUSTOMERNAME field of the
CUSTOMER_T table
28
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT STATEMENT
 Used for queries on single or multiple tables
 Clauses of the SELECT statement:
 SELECT
 List the columns (and expressions) to be returned from the query
 FROM
 Indicate the table(s) or view(s) from which data will be obtained
 WHERE
 Indicate the conditions under which a row will be included in the
result
 GROUP BY
 Indicate categorization of results
 HAVING
 Indicate the conditions under which a category (group) will be
included
 ORDER BY
 Sorts the result according to specified criteria 29
30
Figure 6-9
SQL statement
processing
order (based
on van der
Lans, 2006
p.100)
30
Chapter 6 Copyright © 2014 Pearson Education, Inc.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT EXAMPLE
 Find products with standard price less than
$275
31
Table 6-3: Comparison Operators in SQL
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT EXAMPLE USING ALIAS
 Alias is an alternative column or table
name
 Here, CUST is a table alias and Name is a
column alias
32
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT EXAMPLE USING A FUNCTION
 Using the COUNT aggregate function to find
totals
SELECT COUNT(*) FROM ORDERLINE_T
WHERE ORDERID = 1004;
Note: with aggregate functions you can’t have
single-valued columns included in the SELECT
clause, unless they are included in the GROUP
BY clause.
33
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT EXAMPLE–BOOLEAN OPERATORS
 AND, OR, and NOT Operators for customizing
conditions in WHERE clause
34
Note: the LIKE operator allows you to compare strings using
wildcards. For example, the % wildcard in ‘%Desk’ indicates
that all strings that have any number of characters preceding
the word “Desk” will be allowed.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
35
Figure 6-7 Boolean query A without use of parentheses
By default,
processing order
of Boolean
operators is
NOT, then AND,
then OR
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SELECT EXAMPLE–BOOLEAN OPERATORS
 With parentheses…these override the normal
precedence of Boolean operators
36
With parentheses, you can override normal precedence rules.
In this case parentheses make the OR take place before the
AND.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
37
Figure 6-8 Boolean query B with use of parentheses
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SORTING RESULTS WITH ORDER BY CLAUSE
 Sort the results first by STATE, and within a
state by the CUSTOMER NAME
38
Note: the IN operator in this example allows you to include rows
whose CustomerState value is either FL, TX, CA, or HI. It is
more efficient than separate OR conditions.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
CATEGORIZING RESULTS USING GROUP
BY CLAUSE
 For use with aggregate functions
 Scalar aggregate: single value returned from SQL query
with aggregate function
 Vector aggregate: multiple values returned from SQL query
with aggregate function (via GROUP BY)
You can use single-value fields with aggregate
functions if they are included in the GROUP BY
clause. 39
Chapter 6 Copyright © 2014 Pearson Education, Inc.
QUALIFYING RESULTS BY CATEGORIES
USING THE HAVING CLAUSE
 For use with GROUP BY
Like a WHERE clause, but it operates on
groups (categories), not on individual rows.
Here, only those groups with total numbers
greater than 1 will be included in final result.
40
Chapter 6 Copyright © 2014 Pearson Education, Inc.
USING AND DEFINING VIEWS
 Views provide users controlled access to tables
 Base Table–table containing the raw data
 Virtual Table–constructed automatically as needed;
not maintained as real data
 Dynamic View
 A “virtual table” created dynamically upon request by a user
 No data actually stored; instead data from base table made
available to user
 Based on SQL SELECT statement on base tables or other views
 Contents materialized as a result of a query
41
Chapter 6 Copyright © 2014 Pearson Education, Inc.
SAMPLE CREATE VIEW
42
Query: What are the data elements necessary
to create an invoice for a customer?
Save this query as a view named Invoice_V.
Chapter 6 Copyright © 2014 Pearson Education, Inc.
ADVANTAGES OF VIEWS
 Simplify query commands
 Assist with data security (but don't rely on
views for security, there are more
important security measures)
 Enhance programming productivity
 Contain most current base table data
 Use little storage space
 Provide customized view for user
 Establish physical data independence
43
Chapter 6 Copyright © 2014 Pearson Education, Inc.
DISADVANTAGES OF VIEWS
 Use processing time each time view
is referenced
 May or may not be directly
updateable
44
45
All rights reserved. No part of this publication may be reproduced, stored in a
retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior written
permission of the publisher. Printed in the United States of America.
Copyright © 2014 Pearson Education, Inc.

More Related Content

PPT
SQL.ppt
ManishKumarSamal
 
PPT
SQL.pptkarim pfe rabatkarim pfe rabatkarim pfe rabat
Keeyvikyv
 
PPT
Intoduction to SQL Chapter 7 Lessons.ppt
AdrianSanJuanCayao
 
DOCX
Fundamentals of Database SystemsSeventh EditionChapter 6Ba
DustiBuckner14
 
PPT
The Database Environment Chapter 7
Jeanie Arnoco
 
PDF
MIS5101 WK10 Outcome Measures
Steven Johnson
 
PPT
Chapter06.ppt
yashodhaHR2
 
PPT
Review of SQL
Information Technology
 
SQL.pptkarim pfe rabatkarim pfe rabatkarim pfe rabat
Keeyvikyv
 
Intoduction to SQL Chapter 7 Lessons.ppt
AdrianSanJuanCayao
 
Fundamentals of Database SystemsSeventh EditionChapter 6Ba
DustiBuckner14
 
The Database Environment Chapter 7
Jeanie Arnoco
 
MIS5101 WK10 Outcome Measures
Steven Johnson
 
Chapter06.ppt
yashodhaHR2
 
Review of SQL
Information Technology
 

Similar to hoffer_edm_pp_ch06.ppt (20)

PPTX
Chapter 7 relation database language
Jafar Nesargi
 
PPTX
Relational database language
Jafar Nesargi
 
PPTX
Chapter 7 relation database language
Jafar Nesargi
 
PPTX
Chapter 7 relation database language
Jafar Nesargi
 
PDF
SQL Complete Tutorial. All Topics Covered
Danish Mehraj
 
PPT
Fg d
Taha Khan
 
PPTX
chapter9-SQL.pptx
Yaser52
 
PPTX
7. SQL.pptx
chaitanya149090
 
PPTX
structured query language elmarsi and navathe edition 7th SQL Chapter06.pptx
SuryaBasnet3
 
PPT
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
PPT
Chap 7
Karan Patil
 
PPT
Eo gaddis java_chapter_16_5e
Gina Bullock
 
PPT
chap 7.ppt(sql).ppt
arjun431527
 
PPT
Ch 9 S Q L
guest8fdbdd
 
PDF
lab14444444444444444444444444444444444444444
227567
 
PDF
Sql tutorial
Rumman Ansari
 
PPTX
MS SQL - Database Programming Concepts by RSolutions
RSolutions
 
PDF
Oracle SQL Part1
Gurpreet singh
 
PPT
Database management system chapter seven
cscmalligawad
 
PPTX
Sql basics
Genesis Omo
 
Chapter 7 relation database language
Jafar Nesargi
 
Relational database language
Jafar Nesargi
 
Chapter 7 relation database language
Jafar Nesargi
 
Chapter 7 relation database language
Jafar Nesargi
 
SQL Complete Tutorial. All Topics Covered
Danish Mehraj
 
Fg d
Taha Khan
 
chapter9-SQL.pptx
Yaser52
 
7. SQL.pptx
chaitanya149090
 
structured query language elmarsi and navathe edition 7th SQL Chapter06.pptx
SuryaBasnet3
 
SQL Inteoduction to SQL manipulating of data
Vibrant Technologies & Computers
 
Chap 7
Karan Patil
 
Eo gaddis java_chapter_16_5e
Gina Bullock
 
chap 7.ppt(sql).ppt
arjun431527
 
Ch 9 S Q L
guest8fdbdd
 
lab14444444444444444444444444444444444444444
227567
 
Sql tutorial
Rumman Ansari
 
MS SQL - Database Programming Concepts by RSolutions
RSolutions
 
Oracle SQL Part1
Gurpreet singh
 
Database management system chapter seven
cscmalligawad
 
Sql basics
Genesis Omo
 
Ad

More from akamkhalidmohammed (20)

PPT
Diabetes.ppt
akamkhalidmohammed
 
PPT
1540385591 - العــائلـة البقوليــة محاضرة 5 (1).ppt
akamkhalidmohammed
 
PPT
hs_fast_food_powerpoint_7_29_11.ppt
akamkhalidmohammed
 
PPTX
scoring_moderation.pptx
akamkhalidmohammed
 
PPTX
fy11_sh-22318-11_Mod_5_Tractors.pptx
akamkhalidmohammed
 
PPTX
سیمینار لەسەر بازاڕ (1)(1).pptx
akamkhalidmohammed
 
PPTX
1.-Guide-to-the-detection-of-PD-Diseases.pptx
akamkhalidmohammed
 
PPT
Sheetal Bapat.ppt
akamkhalidmohammed
 
PPT
Know-Your-Health-PPT.5.21.09-1.ppt
akamkhalidmohammed
 
PPT
the_global_media_communications_and_cultures_of.ppt
akamkhalidmohammed
 
PPT
Know-Your-Health-PPT.5.21.09-1.ppt
akamkhalidmohammed
 
PPT
2_2020_07_09!12_00_08_AM.ppt
akamkhalidmohammed
 
PPT
principles_of_oncology.ppt
akamkhalidmohammed
 
PPT
Day1EtiquetteandBehavior.ppt
akamkhalidmohammed
 
PPTX
Being-Critical.pptx
akamkhalidmohammed
 
PPT
1166_stomach_Dr.-Ravi.ppt
akamkhalidmohammed
 
PPT
COMMUNICATION_AND_ITS_FORMS(1).ppt
akamkhalidmohammed
 
PPT
pre-launchpresentation_WDR_2019.ppt
akamkhalidmohammed
 
PPT
13-chap-24-lecture.ppt
akamkhalidmohammed
 
PPT
chapter 12 pp.ppt
akamkhalidmohammed
 
Diabetes.ppt
akamkhalidmohammed
 
1540385591 - العــائلـة البقوليــة محاضرة 5 (1).ppt
akamkhalidmohammed
 
hs_fast_food_powerpoint_7_29_11.ppt
akamkhalidmohammed
 
scoring_moderation.pptx
akamkhalidmohammed
 
fy11_sh-22318-11_Mod_5_Tractors.pptx
akamkhalidmohammed
 
سیمینار لەسەر بازاڕ (1)(1).pptx
akamkhalidmohammed
 
1.-Guide-to-the-detection-of-PD-Diseases.pptx
akamkhalidmohammed
 
Sheetal Bapat.ppt
akamkhalidmohammed
 
Know-Your-Health-PPT.5.21.09-1.ppt
akamkhalidmohammed
 
the_global_media_communications_and_cultures_of.ppt
akamkhalidmohammed
 
Know-Your-Health-PPT.5.21.09-1.ppt
akamkhalidmohammed
 
2_2020_07_09!12_00_08_AM.ppt
akamkhalidmohammed
 
principles_of_oncology.ppt
akamkhalidmohammed
 
Day1EtiquetteandBehavior.ppt
akamkhalidmohammed
 
Being-Critical.pptx
akamkhalidmohammed
 
1166_stomach_Dr.-Ravi.ppt
akamkhalidmohammed
 
COMMUNICATION_AND_ITS_FORMS(1).ppt
akamkhalidmohammed
 
pre-launchpresentation_WDR_2019.ppt
akamkhalidmohammed
 
13-chap-24-lecture.ppt
akamkhalidmohammed
 
chapter 12 pp.ppt
akamkhalidmohammed
 
Ad

Recently uploaded (20)

PPTX
Distributed Systems (3rd Edition)Introduction
saadabinibrahim
 
PPTX
MEASURING-TOOLS FOR GRADE 8 AUTOMOTIVE SERVICING
RosalieUsmanLegaspi
 
PPTX
Presentation1.pptxiiiiiiiiiiiiiiiiiiiiiiii
gillprabhjot1212
 
PDF
Transform Your Lexus for the Trails with Expert Off-Road Customization Services
MW4 Outfitters
 
PPTX
LIGHT-HUMAN EYE AND THE COLOURFUL WORLD.ppt.pptx
atharvawafgaonkar
 
PPTX
INTRODUCTION TO HUMAN RESOURCE MANAGEMEN
FahadBinImtiaz
 
PDF
How Howard Wilner of Sudbury, MA Helps Leaders Align Personal Values with Pro...
jimcarns
 
PPT
Lecture14-Probability of default and imp
icuphamid
 
PDF
TD-9H KOMATSU BULLDOZER PARTS MANUAL P045501-P046274
Heavy Equipment Manual
 
PPTX
Have 10 Thousand Dollars Lying Around? You Can Buy Any One Of These Project Cars
jennifermiller8137
 
PDF
PC110R-1 Komatsu Hydraulic Excavator Parts Manual SN 2265010170-Up
Heavy Equipment Manual
 
PDF
NCHRP Report 672 Roundabouts: An Informational Guide
Forklift Trucks in Minnesota
 
PDF
PC450LC-8R KOMATSU HYDRAULIC EXCAVATOR PARTS MANUAL SN 75001-UP
Heavy Equipment Manual
 
PPTX
What is the most common reason for check engine light on Mercedes
Protech Automotive Services
 
PPTX
STRATEGIC HRM.pptxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
khushigulati2325
 
PPT
Operational Risk and its importance an d
icuphamid
 
PDF
PC160LC-7K-KA KOMATSU CRAWLER EXCAVATOR PARTS MANUAL SN K40001-UP
Heavy Equipment Manual
 
PPTX
Detroit Business Travel Made Easy with Detroit DTW Cars
Detroit DTW Car
 
PPTX
My analysis on GM_History_Presentation.pptx
savithrir7
 
PPTX
oA final ppt parmar vishal bca sem 1 .pptx
parmarvishal6790
 
Distributed Systems (3rd Edition)Introduction
saadabinibrahim
 
MEASURING-TOOLS FOR GRADE 8 AUTOMOTIVE SERVICING
RosalieUsmanLegaspi
 
Presentation1.pptxiiiiiiiiiiiiiiiiiiiiiiii
gillprabhjot1212
 
Transform Your Lexus for the Trails with Expert Off-Road Customization Services
MW4 Outfitters
 
LIGHT-HUMAN EYE AND THE COLOURFUL WORLD.ppt.pptx
atharvawafgaonkar
 
INTRODUCTION TO HUMAN RESOURCE MANAGEMEN
FahadBinImtiaz
 
How Howard Wilner of Sudbury, MA Helps Leaders Align Personal Values with Pro...
jimcarns
 
Lecture14-Probability of default and imp
icuphamid
 
TD-9H KOMATSU BULLDOZER PARTS MANUAL P045501-P046274
Heavy Equipment Manual
 
Have 10 Thousand Dollars Lying Around? You Can Buy Any One Of These Project Cars
jennifermiller8137
 
PC110R-1 Komatsu Hydraulic Excavator Parts Manual SN 2265010170-Up
Heavy Equipment Manual
 
NCHRP Report 672 Roundabouts: An Informational Guide
Forklift Trucks in Minnesota
 
PC450LC-8R KOMATSU HYDRAULIC EXCAVATOR PARTS MANUAL SN 75001-UP
Heavy Equipment Manual
 
What is the most common reason for check engine light on Mercedes
Protech Automotive Services
 
STRATEGIC HRM.pptxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
khushigulati2325
 
Operational Risk and its importance an d
icuphamid
 
PC160LC-7K-KA KOMATSU CRAWLER EXCAVATOR PARTS MANUAL SN K40001-UP
Heavy Equipment Manual
 
Detroit Business Travel Made Easy with Detroit DTW Cars
Detroit DTW Car
 
My analysis on GM_History_Presentation.pptx
savithrir7
 
oA final ppt parmar vishal bca sem 1 .pptx
parmarvishal6790
 

hoffer_edm_pp_ch06.ppt

  • 1. CHAPTER 6: INTRODUCTION TO SQL Copyright © 2014 Pearson Education, Inc. 1 Essentials of Database Management Jeffrey A. Hoffer, Heikki Topi, V. Ramesh
  • 2. Chapter 6 Copyright © 2014 Pearson Education, Inc. OBJECTIVES  Define terms  Interpret history and role of SQL  Define a database using SQL data definition language  Write single table queries using SQL  Establish referential integrity using SQL  Discuss SQL:1999 and SQL:2008 standards 2
  • 3. Chapter 6 Copyright © 2014 Pearson Education, Inc. SQL OVERVIEW  Structured Query Language  The standard for relational database management systems (RDBMS)  RDBMS: A database management system that manages data as a collection of tables in which all relationships are represented by common values in related tables 3
  • 4. Chapter 6 Copyright © 2014 Pearson Education, Inc. HISTORY OF SQL  1970–E. F. Codd develops relational database concept  1974-1979–System R with Sequel (later SQL) created at IBM Research Lab  1979–Oracle markets first relational DB with SQL  1981 – SQL/DS first available RDBMS system on DOS/VSE  Others followed: INGRES (1981), IDM (1982), DG/SGL (1984), Sybase (1986)  1986–ANSI SQL standard released  1989, 1992, 1999, 2003, 2006, 2008–Major ANSI standard updates  Current–SQL is supported by most major database vendors 4
  • 5. Chapter 6 Copyright © 2014 Pearson Education, Inc. PURPOSE OF SQL STANDARD  Specify syntax/semantics for data definition and manipulation  Define data structures and basic operations  Enable portability of database definition and application modules  Specify minimal (level 1) and complete (level 2) standards  Allow for later growth/enhancement to standard (referential integrity, transaction management, user-defined functions, extended join operations, national character sets) 5
  • 6. Chapter 6 Copyright © 2014 Pearson Education, Inc. BENEFITS OF A STANDARDIZED RELATIONAL LANGUAGE  Reduced training costs  Productivity  Application portability  Application longevity  Reduced dependence on a single vendor  Cross-system communication 6
  • 7. Chapter 6 Copyright © 2014 Pearson Education, Inc. SQL ENVIRONMENT  Catalog  A set of schemas that constitute the description of a database  Schema  The structure that contains descriptions of objects created by a user (base tables, views, constraints)  Data Definition Language (DDL)  Commands that define a database, including creating, altering, and dropping tables and establishing constraints  Data Manipulation Language (DML)  Commands that maintain and query a database  Data Control Language (DCL)  Commands that control a database, including administering privileges and committing data 7
  • 8. 8 Figure 6-1 A simplified schematic of a typical SQL environment, as described by the SQL: 2008 standard 8 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 9. Chapter 6 Copyright © 2014 Pearson Education, Inc. SQL DATA TYPES 9
  • 10. 10 Figure 6-4 DDL, DML, DCL, and the database development process 10 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 11. Chapter 6 Copyright © 2014 Pearson Education, Inc. SQL DATABASE DEFINITION  Data Definition Language (DDL)  Major CREATE statements:  CREATE SCHEMA–defines a portion of the database owned by a particular user  CREATE TABLE–defines a new table and its columns  CREATE VIEW–defines a logical table from one or more tables or views  Other CREATE statements: CHARACTER SET, COLLATION, TRANSLATION, ASSERTION, DOMAIN 11
  • 12. Chapter 6 Copyright © 2014 Pearson Education, Inc. STEPS IN TABLE CREATION 12 1. Identify data types for attributes 2. Identify columns that can and cannot be null 3. Identify columns that must be unique (candidate keys) 4. Identify primary key–foreign key mates 5. Determine default values 6. Identify constraints on columns (domain specifications) 7. Create the table and associated indexes
  • 13. Chapter 6 Copyright © 2014 Pearson Education, Inc. 13 Figure 6-5 General syntax for CREATE TABLE statement used in data definition language
  • 14. Chapter 6 Copyright © 2014 Pearson Education, Inc. THE FOLLOWING SLIDES CREATE TABLES FOR THIS ENTERPRISE DATA MODEL 14 (from Chapter 1, Figure 1-3)
  • 15. Chapter 6 Copyright © 2014 Pearson Education, Inc. 15 Figure 6-6 SQL database definition commands for Pine Valley Furniture Company (Oracle 11g) Overall table definitions
  • 16. 16 Defining attributes and their data types 16 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 17. 17 Non-nullable specification Identifying primary key Primary keys can never have NULL values 17 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 18. 18 Non-nullable specifications Primary key Some primary keys are composite– composed of multiple attributes 18 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 19. 19 Default value Domain constraint Controlling the values in attributes 19 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 20. 20 Primary key of parent table Identifying foreign keys and establishing relationships Foreign key of dependent table 20 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 21. Chapter 6 Copyright © 2014 Pearson Education, Inc. DATA INTEGRITY CONTROLS  Referential integrity–constraint that ensures that foreign key values of a table must match primary key values of a related table in 1:M relationships  Restricting: Deletes of primary records Updates of primary records Inserts of dependent records 21
  • 22. Chapter 6 Copyright © 2014 Pearson Education, Inc. CHANGING TABLES  ALTER TABLE statement allows you to change column specifications:  Table Actions:  Example (adding a new column with a default value): 22
  • 23. Chapter 6 Copyright © 2014 Pearson Education, Inc. REMOVING TABLES DROP TABLE statement allows you to remove tables from your schema: DROP TABLE CUSTOMER_T 23
  • 24. Chapter 6 Copyright © 2014 Pearson Education, Inc. INSERT STATEMENT  Adds one or more rows to a table  Inserting into a table  Inserting a record that has some null attributes requires identifying the fields that actually get data  Inserting from another table 24
  • 25. Chapter 6 Copyright © 2014 Pearson Education, Inc. CREATING TABLES WITH IDENTITY COLUMNS 25 Inserting into a table does not require explicit customer ID entry or field list INSERT INTO CUSTOMER_T VALUES ( ‘Contemporary Casuals’, ‘1355 S. Himes Blvd.’, ‘Gainesville’, ‘FL’, 32601); Introduced with SQL:2008
  • 26. Chapter 6 Copyright © 2014 Pearson Education, Inc. DELETE STATEMENT  Removes rows from a table  Delete certain rows DELETE FROM CUSTOMER_T WHERE CUSTOMERSTATE = ‘HI’;  Delete all rows DELETE FROM CUSTOMER_T; 26
  • 27. Chapter 6 Copyright © 2014 Pearson Education, Inc. UPDATE STATEMENT  Modifies data in existing rows 27
  • 28. Chapter 6 Copyright © 2014 Pearson Education, Inc. SCHEMA DEFINITION  Control processing/storage efficiency:  Choice of indexes  File organizations for base tables  File organizations for indexes  Data clustering  Statistics maintenance  Creating indexes  Speed up random/sequential access to base table data  Example  CREATE INDEX NAME_IDX ON CUSTOMER_T(CUSTOMERNAME)  This makes an index for the CUSTOMERNAME field of the CUSTOMER_T table 28
  • 29. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT STATEMENT  Used for queries on single or multiple tables  Clauses of the SELECT statement:  SELECT  List the columns (and expressions) to be returned from the query  FROM  Indicate the table(s) or view(s) from which data will be obtained  WHERE  Indicate the conditions under which a row will be included in the result  GROUP BY  Indicate categorization of results  HAVING  Indicate the conditions under which a category (group) will be included  ORDER BY  Sorts the result according to specified criteria 29
  • 30. 30 Figure 6-9 SQL statement processing order (based on van der Lans, 2006 p.100) 30 Chapter 6 Copyright © 2014 Pearson Education, Inc.
  • 31. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT EXAMPLE  Find products with standard price less than $275 31 Table 6-3: Comparison Operators in SQL
  • 32. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT EXAMPLE USING ALIAS  Alias is an alternative column or table name  Here, CUST is a table alias and Name is a column alias 32
  • 33. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT EXAMPLE USING A FUNCTION  Using the COUNT aggregate function to find totals SELECT COUNT(*) FROM ORDERLINE_T WHERE ORDERID = 1004; Note: with aggregate functions you can’t have single-valued columns included in the SELECT clause, unless they are included in the GROUP BY clause. 33
  • 34. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT EXAMPLE–BOOLEAN OPERATORS  AND, OR, and NOT Operators for customizing conditions in WHERE clause 34 Note: the LIKE operator allows you to compare strings using wildcards. For example, the % wildcard in ‘%Desk’ indicates that all strings that have any number of characters preceding the word “Desk” will be allowed.
  • 35. Chapter 6 Copyright © 2014 Pearson Education, Inc. 35 Figure 6-7 Boolean query A without use of parentheses By default, processing order of Boolean operators is NOT, then AND, then OR
  • 36. Chapter 6 Copyright © 2014 Pearson Education, Inc. SELECT EXAMPLE–BOOLEAN OPERATORS  With parentheses…these override the normal precedence of Boolean operators 36 With parentheses, you can override normal precedence rules. In this case parentheses make the OR take place before the AND.
  • 37. Chapter 6 Copyright © 2014 Pearson Education, Inc. 37 Figure 6-8 Boolean query B with use of parentheses
  • 38. Chapter 6 Copyright © 2014 Pearson Education, Inc. SORTING RESULTS WITH ORDER BY CLAUSE  Sort the results first by STATE, and within a state by the CUSTOMER NAME 38 Note: the IN operator in this example allows you to include rows whose CustomerState value is either FL, TX, CA, or HI. It is more efficient than separate OR conditions.
  • 39. Chapter 6 Copyright © 2014 Pearson Education, Inc. CATEGORIZING RESULTS USING GROUP BY CLAUSE  For use with aggregate functions  Scalar aggregate: single value returned from SQL query with aggregate function  Vector aggregate: multiple values returned from SQL query with aggregate function (via GROUP BY) You can use single-value fields with aggregate functions if they are included in the GROUP BY clause. 39
  • 40. Chapter 6 Copyright © 2014 Pearson Education, Inc. QUALIFYING RESULTS BY CATEGORIES USING THE HAVING CLAUSE  For use with GROUP BY Like a WHERE clause, but it operates on groups (categories), not on individual rows. Here, only those groups with total numbers greater than 1 will be included in final result. 40
  • 41. Chapter 6 Copyright © 2014 Pearson Education, Inc. USING AND DEFINING VIEWS  Views provide users controlled access to tables  Base Table–table containing the raw data  Virtual Table–constructed automatically as needed; not maintained as real data  Dynamic View  A “virtual table” created dynamically upon request by a user  No data actually stored; instead data from base table made available to user  Based on SQL SELECT statement on base tables or other views  Contents materialized as a result of a query 41
  • 42. Chapter 6 Copyright © 2014 Pearson Education, Inc. SAMPLE CREATE VIEW 42 Query: What are the data elements necessary to create an invoice for a customer? Save this query as a view named Invoice_V.
  • 43. Chapter 6 Copyright © 2014 Pearson Education, Inc. ADVANTAGES OF VIEWS  Simplify query commands  Assist with data security (but don't rely on views for security, there are more important security measures)  Enhance programming productivity  Contain most current base table data  Use little storage space  Provide customized view for user  Establish physical data independence 43
  • 44. Chapter 6 Copyright © 2014 Pearson Education, Inc. DISADVANTAGES OF VIEWS  Use processing time each time view is referenced  May or may not be directly updateable 44
  • 45. 45 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2014 Pearson Education, Inc.