0% found this document useful (0 votes)
8 views

Lecture 04

Uploaded by

mmbagajaphet44
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Lecture 04

Uploaded by

mmbagajaphet44
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

LECTURE 04:

INTRODUCTION TO SQL

Modern Database Management

1
OBJECTIVES
 Define terms
 Define a database using SQL data
definition language
 Write single and multi- table queries
using SQL
 Establish referential integrity and
other constraints using SQL

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 2


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

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 3


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

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 4


A simplified schematic of a typical SQL environment, as
described by the SQL: 2008 standard

5
SQL DATA TYPES

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 6


DDL, DML, DCL, and the database development process

7
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
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 8
STEPS IN TABLE CREATION
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 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 9
General syntax for CREATE TABLE statement used in
data definition language

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 10


THE FOLLOWING SLIDES CREATE TABLES
FOR THIS ENTERPRISE DATA MODEL

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall


11
SQL database definition commands for Pine Valley Furniture Company
(Oracle 11g)

Overall table
definitions

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 12


Defining attributes and their data types

13
Non-nullable specification

Primary keys
can never have
NULL values

Identifying primary key


14
Non-nullable specifications

Primary key

Some primary keys are composite–


composed of multiple attributes

15
Controlling the values in attributes

Default value

Domain constraint

16
Identifying foreign keys and establishing relationships

Primary key of
parent table

Foreign key of dependent table

17
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

Chapter 6Inserts ofEducation,


© 2013 Pearson dependentInc. Publishingrecords
as Prentice Hall 18
Ensuring data integrity through updates

Referential
integrity is
enforced via
the primary-
key to foreign-
key match

19
CHANGING TABLES
 ALTER TABLE statement allows you to
change column specifications:

 Table Actions:

 Example (adding a new column with a default value) :

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 20


REMOVING TABLES

 DROP TABLE statement allows


you to remove tables from your
schema:

 DROP TABLE CUSTOMER_T

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 21


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

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 22


CREATING TABLES WITH IDENTITY COLUMNS

Introduced with SQL:2008

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);
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
23
DELETE STATEMENT
 Removes rows from a table
 Delete certain rows
 DELETE FROM CUSTOMER_T WHERE
CUSTOMERSTATE = ‘HI’;
 Delete all rows
 DELETE FROM CUSTOMER_T;

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 24


UPDATE STATEMENT

 Modifies data in existing rows

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 25


MERGE STATEMENT

Makes it easier to update a table…allows combination of


Insert and Update in one statement

Useful for updating master tables with new data


Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 26
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
Chapter
 ORDER 6 BY© 2013 Pearson Education, Inc. Publishing as Prentice Hall 27
SQL statement
processing
order (based
on van der
Lans, 2006
p.100)

28
SELECT EXAMPLE

 Find products with standard price less


than $275

Table 6-3: Comparison Operators in SQL

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 29


SELECT EXAMPLE USING ALIAS
 Alias is an alternative column or
table name

SELECT CUST.CUSTOMERNAME AS
NAME,
CUST.CUSTOMERADDRESS
FROM CUSTOMER_V CUST
WHERE NAME = ‘Home
Furnishings’;
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
30
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.

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 31


SELECT EXAMPLE–BOOLEAN OPERATORS
 AND, OR, and NOT Operators for customizing
conditions in WHERE clause

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 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 32
Boolean query A without use of parentheses

By default,
processing
order of
Boolean
operators is
NOT, then
AND, then OR

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall


33
SELECT EXAMPLE–BOOLEAN OPERATORS

 With parentheses…these override the normal


precedence of Boolean operators

With parentheses, you can override normal


precedence rules. In this case parentheses make the
OR take place before the AND.

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 34


Boolean query B with use of parentheses

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall


35
SORTING RESULTS WITH ORDER BY CLAUSE
 Sort the results first by STATE, and
within a state by the CUSTOMER NAME

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 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 36
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
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 37
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.
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 38
END OF LECTURE 04

Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 39

You might also like