SQL Overview
CIS-182
Structured Query Language
• Language used to work with databases
• Used in „back end‟
– Typically not part of user interface (don‟t expect users
to type in a query…)
SEQEL to SQL
• Structured English Query Language developed
by IBM
• Other companies developed similar products
• ANSI set standards in 1986
– Standards are „open‟
– Different vendors have different levels of
conformance
SQL
• Most languages are procedural
– Describe how to perform a task
• SQL is non-procedural (declarative)
– Code describes results
– Includes some procedural components
• If … Then, Loops
• Database apps typically use both types of
languages
– Procedural languages manage interface, data requests
– SQL manages data storage and retrieval
Types of SQL Statements
• Data Definition Language (DDL): Create/edit
objects
– CREATE, ALTER
• Data Control Language (DCL): Specify access
and permissions
– GRANT, REVOKE
• Data Manipulation Language (DML): Work with
data
– SELECT * FROM Employees
– INSERT INTO Students
Logical Organization
• Catalogs: group of schemas
• Schema: group of related tables, views
• Implementation is up to vendor
– Some vendors use catalogs, some don‟t
– Vendors have different levels of support for schemas
Databases
• „Database‟ is not an ANSI specification
• Most vendors have a database object
• In practice, schema and database tend to be
viewed interchangeably
– Schema defines the contents of a database
– May have sub-schemas to reflect application needs
(include only a portion of the database)
Coding
• One command may extend across several lines
– [Enter] doesn‟t represent the end of a statement
– SQL uses ; (semi-colon) to identify statement end
• ; is optional in SQL Server
• Keywords are capitalized
– CREATE DATABASE MyNewDatabase
• No standard conventions for naming
– Typically use Pascal case naming with each new
word capitalized
Naming Requirements
• Object names are not typically case sensitive
– Delimited identifiers wrap names in double quotes
and ARE case sensitive
– “MyNewTable” uses double quotes to identify the
object name
– Single quotes identify strings (text)
• Can use letters, numbers, underscore
– Can‟t use spaces, punctuation
Qualified Names
• A qualified name defines explicitly how to find
an object
– „.‟ is used as separator
• SQL Server uses
ServerName.DatabaseName.OwnerName.ObjectName
OR
ServerName.DatabaseName.SchemaName.ObjectName
Coding Reference
• SQL Server uses special characters to identify
different parts of commands
• End of statement: ;
– Optional in SQL Server
• Placeholder: <>
• Placeholder Definition: ::=
• Optional Parameter(s): [ ]
• Specific Parameter Values: { }
• Value Separator: |
• List Separator: ,
Placeholder Example
• Basic command definition:
ON UPDATE <referential action>
<referential action> ::= CASCADE|SET NULL
<referential action> is placeholder
CASCADE|SET NULL is placeholder definition
(placeholder value must be one of these choices)
Management Studio
• Microsoft GUI for most SQL Server operations
– Additional applications manage overall server
security, business intelligence
• Separate application from SQL Server
– Uses a connection to send commands and capture
results
– SQL Server is not something we‟ll work with directly

3 sql overview

  • 1.
  • 2.
    Structured Query Language •Language used to work with databases • Used in „back end‟ – Typically not part of user interface (don‟t expect users to type in a query…)
  • 3.
    SEQEL to SQL •Structured English Query Language developed by IBM • Other companies developed similar products • ANSI set standards in 1986 – Standards are „open‟ – Different vendors have different levels of conformance
  • 4.
    SQL • Most languagesare procedural – Describe how to perform a task • SQL is non-procedural (declarative) – Code describes results – Includes some procedural components • If … Then, Loops • Database apps typically use both types of languages – Procedural languages manage interface, data requests – SQL manages data storage and retrieval
  • 5.
    Types of SQLStatements • Data Definition Language (DDL): Create/edit objects – CREATE, ALTER • Data Control Language (DCL): Specify access and permissions – GRANT, REVOKE • Data Manipulation Language (DML): Work with data – SELECT * FROM Employees – INSERT INTO Students
  • 6.
    Logical Organization • Catalogs:group of schemas • Schema: group of related tables, views • Implementation is up to vendor – Some vendors use catalogs, some don‟t – Vendors have different levels of support for schemas
  • 7.
    Databases • „Database‟ isnot an ANSI specification • Most vendors have a database object • In practice, schema and database tend to be viewed interchangeably – Schema defines the contents of a database – May have sub-schemas to reflect application needs (include only a portion of the database)
  • 8.
    Coding • One commandmay extend across several lines – [Enter] doesn‟t represent the end of a statement – SQL uses ; (semi-colon) to identify statement end • ; is optional in SQL Server • Keywords are capitalized – CREATE DATABASE MyNewDatabase • No standard conventions for naming – Typically use Pascal case naming with each new word capitalized
  • 9.
    Naming Requirements • Objectnames are not typically case sensitive – Delimited identifiers wrap names in double quotes and ARE case sensitive – “MyNewTable” uses double quotes to identify the object name – Single quotes identify strings (text) • Can use letters, numbers, underscore – Can‟t use spaces, punctuation
  • 10.
    Qualified Names • Aqualified name defines explicitly how to find an object – „.‟ is used as separator • SQL Server uses ServerName.DatabaseName.OwnerName.ObjectName OR ServerName.DatabaseName.SchemaName.ObjectName
  • 11.
    Coding Reference • SQLServer uses special characters to identify different parts of commands • End of statement: ; – Optional in SQL Server • Placeholder: <> • Placeholder Definition: ::= • Optional Parameter(s): [ ] • Specific Parameter Values: { } • Value Separator: | • List Separator: ,
  • 12.
    Placeholder Example • Basiccommand definition: ON UPDATE <referential action> <referential action> ::= CASCADE|SET NULL <referential action> is placeholder CASCADE|SET NULL is placeholder definition (placeholder value must be one of these choices)
  • 13.
    Management Studio • MicrosoftGUI for most SQL Server operations – Additional applications manage overall server security, business intelligence • Separate application from SQL Server – Uses a connection to send commands and capture results – SQL Server is not something we‟ll work with directly