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

Database PDF

This document provides an overview of structured query language (SQL) including its basic command set and categories. It discusses SQL data definition language commands for creating database structures and tables. It also covers data manipulation language commands for inserting, selecting, updating, and deleting rows in tables. The document provides examples of SQL queries using conditional restrictions, arithmetic operators, logical operators, and special operators.

Uploaded by

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

Database PDF

This document provides an overview of structured query language (SQL) including its basic command set and categories. It discusses SQL data definition language commands for creating database structures and tables. It also covers data manipulation language commands for inserting, selecting, updating, and deleting rows in tables. The document provides examples of SQL queries using conditional restrictions, arithmetic operators, logical operators, and special operators.

Uploaded by

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

Review of Structured Query Language

(SQL)
Introduction to SQL

• SQL functions fit into two broad categories:


• Data definition language
• Data manipulation language
• Basic command set has vocabulary of fewer than 100
words
• American National Standards Institute (ANSI)
prescribes a standard SQL
• Several SQL dialects exist
Database Systems, 10th Edition 2
Database Systems, 10th Edition 3
Database Systems, 10th Edition 4
Data Definition Commands

• The database model


• In this chapter, a simple database with these tables is used
to illustrate commands:
• CUSTOMER
• INVOICE
• LINE
• PRODUCT
• VENDOR
• Focus on PRODUCT and VENDOR tables
Database Systems, 10th Edition 5
Database Systems, 10th Edition 6
Creating the Database

• Two tasks must be completed:


• Create database structure
• Create tables that will hold end-user data
• First task:
• RDBMS creates physical files that will hold database
• Differs substantially from one RDBMS to another

Database Systems, 10th Edition 7


Creating the Database (cont’d.)

• Authentication
• DBMS verifies that only registered users are able to access
database
• Log on to RDBMS using user ID and password created by
database administrator

Database Systems, 10th Edition 8


The Database Schema

• Schema
• Group of database objects that are related to each other
• CREATE SCHEMA AUTHORIZATION
{creator};
• Command is seldom used directly

Database Systems, 10th Edition 9


Data Types
• Data type selection is usually dictated by nature of data
and by intended use
• Supported data types:
• Number(L,D), Integer, Smallint, Decimal(L,D)
• Char(L), Varchar(L), Varchar2(L)
• Date, Time, Timestamp
• Real, Double, Float
• Interval day to hour
• Many other types
Database Systems, 10th Edition 10
Creating Table Structures

• Use one line per column (attribute) definition


• Use spaces to line up attribute characteristics and
constraints
• Table and attribute names are capitalized
• NOT NULL specification
• UNIQUE specification

Database Systems, 10th Edition 11


Creating Table Structures (cont’d.)

• Primary key attributes contain both a NOT NULL


and a UNIQUE specification
• RDBMS will automatically enforce referential
integrity for foreign keys
• Command sequence ends with semicolon

Database Systems, 10th Edition 12


SQL Constraints

• NOT NULL constraint


• Ensures that column does not accept nulls
• UNIQUE constraint
• Ensures that all values in column are unique
• DEFAULT constraint
• Assigns value to attribute when a new row is added to table
• CHECK constraint
• Validates data when attribute value is entered
Database Systems, 10th Edition 13
SQL Indexes

• When primary key is declared, DBMS automatically


creates unique index
• Often need additional indexes
• Using CREATE INDEX command, SQL indexes
can be created on basis of any selected attribute
• Composite index
• Index based on two or more attributes
• Often used to prevent data duplication
Database Systems, 10th Edition 14
Data Manipulation Commands

• INSERT
• SELECT
• COMMIT
• UPDATE
• ROLLBACK
• DELETE

Database Systems, 10th Edition 15


Adding Table Rows

• INSERT
• Used to enter data into table
• Syntax:
• INSERT INTO tablename (columnnames)
VALUES (value1, value2, … , valueN);

Database Systems, 10th Edition 16


Adding Table Rows (cont’d.)

• When entering values, notice that:


• Row contents are entered between parentheses
• Character and date values are entered between apostrophes
• Numerical entries are not enclosed in apostrophes
• Attribute entries are separated by commas
• A value is required for each column
• Use NULL for unknown values
Database Systems, 10th Edition 17
Saving Table Changes
• Changes made to table contents are not physically saved
on disk until:
• Database is closed
• Program is closed
• COMMIT command is used
• Syntax:
• COMMIT [WORK];
• Will permanently save any changes made to any table in
the database

Database Systems, 10th Edition 18


Listing Table Rows

• SELECT
• Used to list contents of table
• Syntax:
SELECT columnlist
FROM tablename;
• Columnlist represents one or more attributes, separated
by commas
• Asterisk can be used as wildcard character to list all
attributes
Database Systems, 10th Edition 19
Updating Table Rows

• UPDATE
• Modify data in a table
• Syntax:
UPDATE tablename
SET columnname = expression [, columnname = expression]
[WHERE conditionlist];

• If more than one attribute is to be updated in row,


separate corrections with commas
Database Systems, 10th Edition 20
Deleting Table Rows

• DELETE
• Deletes a table row
• Syntax:
DELETE FROM tablename
[WHERE conditionlist ];

• WHERE condition is optional


• If WHERE condition is not specified, all rows from
specified table will be deleted
Database Systems, 10th Edition 21
Inserting Table Rows with a
SELECT Subquery
• INSERT
• Inserts multiple rows from another table (source)
• Uses SELECT subquery
• Subquery: query embedded (or nested or inner) inside
another query
• Subquery executed first
• Syntax:
INSERT INTO tablename SELECT columnlist FROM
tablename;
Database Systems, 10th Edition 22
SELECT Queries

• Fine-tune SELECT command by adding restrictions


to search criteria using:
• Conditional restrictions
• Arithmetic operators
• Logical operators
• Special operators

Database Systems, 10th Edition 23


Selecting Rows with
Conditional Restrictions
• Select partial table contents by placing restrictions on
rows to be included in output
• Add conditional restrictions to SELECT statement, using
WHERE clause
• Syntax:
SELECT columnlist
FROM tablelist
[ WHERE conditionlist ] ;

Database Systems, 10th Edition 24


Database Systems, 10th Edition 25
Selecting Rows with
Conditional Restrictions (cont’d.)
• Using comparison operators on dates
• Date procedures are often more software-specific than
other SQL procedures
• Using computed columns and column aliases
• SQL accepts any valid expressions (or formulas) in the
computed columns
• Alias
• Alternate name given to a column or table in any SQL
statement
Database Systems, 10th Edition 26
Arithmetic Operators:
The Rule of Precedence
• Perform operations within parentheses
• Perform power operations
• Perform multiplications and divisions
• Perform additions and subtractions

Database Systems, 10th Edition 27


Logical Operators: AND, OR, and
NOT
• Searching data involves multiple conditions
• Logical operators: AND, OR, and NOT
• Can be combined
• Parentheses enforce precedence order
• Conditions in parentheses are always executed first
• Boolean algebra: mathematical field dedicated to use of
logical operators
• NOT negates result of conditional expression
Database Systems, 10th Edition 28
Special Operators

• BETWEEN: checks whether attribute value is within


a range
• IS NULL: checks whether attribute value is null
• LIKE: checks whether attribute value matches given
string pattern
• IN: checks whether attribute value matches any value
within a value list
• EXISTS: checks if subquery returns any rows
Database Systems, 10th Edition 29
Advanced Data Definition
Commands
• All changes in table structure are made by using ALTER
command
• Three options:
• ADD adds a column
• MODIFY changes column characteristics
• DROP deletes a column
• Can also be used to:
• Add table constraints
• Remove table constraints
Database Systems, 10th Edition 30
Changing a Column’s Data Type

• ALTER can be used to change data type


• Some RDBMSs do not permit changes to data types
unless column is empty

Database Systems, 10th Edition 31


Changing a Column’s Data
Characteristics
• Use ALTER to change data characteristics
• Changes in column’s characteristics are permitted if
changes do not alter the existing data type

Database Systems, 10th Edition 32


Adding a Column
Dropping a Column
• Use ALTER to add column
• Do not include the NOT NULL clause for new column
• Use ALTER to drop column
• Some RDBMSs impose restrictions on the deletion of an
attribute

Database Systems, 10th Edition 33


Advanced Data Updates

• UPDATE command updates only data in existing


rows
• If relationship between entries and existing columns,
can assign values to slots
• Arithmetic operators are useful in data updates
• In Oracle, ROLLBACK command undoes changes
made by last two UPDATE statements

Database Systems, 10th Edition 34


Adding Primary and Foreign Key
Designations
• When table is copied, integrity rules do not copy
• Primary and foreign keys are manually defined on new
table
• User ALTER TABLE command
• Syntax:
• ALTER TABLE tablename ADD PRIMARY
KEY(fieldname);
• For foreign key, use FOREIGN KEY in place of
PRIMARY KEY
Database Systems, 10th Edition 35
Deleting a Table from the Database

• DROP
• Deletes table from database
• Syntax:
• DROP TABLE tablename;
• Can drop a table only if it is not the “one” side of
any relationship
• Otherwise, RDBMS generates an error message
• Foreign key integrity violation
Database Systems, 10th Edition 36
Additional SELECT Query
Keywords
• Logical operators work well in the query environment
• SQL provides useful functions that:
• Count
• Find minimum and maximum values
• Calculate averages, etc.
• SQL allows user to limit queries to:
• Entries having no duplicates
• Entries whose duplicates may be grouped
Database Systems, 10th Edition 37
Ordering a Listing
• ORDER BY clause is useful when listing order is
important
• Syntax:
SELECT columnlist
FROM tablelist
[WHERE conditionlist]
[ORDER BY columnlist [ASC | DESC]];
• Ascending order by default
Database Systems, 10th Edition 38
Listing Unique Values

• DISTINCT clause produces list of only values that


are different from one another
• Example:
SELECT DISTINCT V_CODE
FROM PRODUCT;
• Access places nulls at the top of the list
• Oracle places it at the bottom
• Placement of nulls does not affect list contents
Database Systems, 10th Edition 39
Aggregate Functions
• COUNT function tallies number of non-null values of an
attribute
• Takes one parameter: usually a column name
• MAX and MIN find highest (lowest) value in a table
• Compute MAX value in inner query
• Compare to each value returned by the query
• SUM computes total sum for any specified attribute
• AVG function format is similar to MIN and MAX

Database Systems, 10th Edition 40


Grouping Data
• Frequency distributions created by GROUP BY clause
within SELECT statement
• Syntax:
SELECT columnlist
FROM tablelist
[WHERE conditionlist]
[GROUP BY columnlist]
[HAVING conditionlist]
[ORDER BY columnlist [ASC | DESC] ] ;

Database Systems, 10th Edition 41


Joining Database Tables

• Joining tables is the most important distinction between


relational database and other DBs
• Join is performed when data are retrieved from more than
one table at a time
• Equality comparison between foreign key and primary key of
related tables
• Join tables by listing tables in FROM clause of SELECT
statement
• DBMS creates Cartesian product of every table
Database Systems, 10th Edition 42
Joining Tables with an Alias

• Alias identifies the source table from which data are


taken
• Alias can be used to identify source table
• Any legal table name can be used as alias
• Add alias after table name in FROM clause
• FROM tablename alias

Database Systems, 10th Edition 43


Recursive Joins

• Alias is especially useful when a table must be joined


to itself
• Recursive query
• Use aliases to differentiate the table from itself

Database Systems, 10th Edition 44

You might also like