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 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
5. 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
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‟ 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)
8. 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
9. 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
10. 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
11. 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: ,
12. 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)
13. 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