0% found this document useful (0 votes)
80 views12 pages

MIT1 264JF13 Lect 11 SQL

The document provides an overview of SQL and database concepts. It discusses building a database from a data model, common SQL clauses and statements like SELECT, INSERT, DELETE and UPDATE. Examples of sample tables are shown and SELECT queries are provided as exercises to retrieve data and aggregates. The exercises also cover inserting, deleting and updating records to manipulate the data.

Uploaded by

mohamed41988
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views12 pages

MIT1 264JF13 Lect 11 SQL

The document provides an overview of SQL and database concepts. It discusses building a database from a data model, common SQL clauses and statements like SELECT, INSERT, DELETE and UPDATE. Examples of sample tables are shown and SELECT queries are provided as exercises to retrieve data and aggregates. The exercises also cover inserting, deleting and updating records to manipulate the data.

Uploaded by

mohamed41988
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

1.

264 Lecture 11

SQL: Basics, SELECT

Please start SQL Server before each class


Download Lecture11CreateDB.sql from Web site; open it in SQL Svr Mgt Studio
This class: Upload your .sql file from the exercises after class
Next class: Murach chapter 7. Exercises due after class
Reminder: Solutions to exercises are posted in the evening after each class
1
Building a database

• When building a database by loading data based


on a data model:
– It may build well, which usually means you found the
real business rules
– It may build with some errors, which usually means you
have the real business rules but the data is sloppy
– It may build with many errors, which usually means that
you were told the business rules people wish to have or
think they have, not the ones they actually use
• It’s often useful to get some sample data and
browse it while building the data model

2
SQL
• Structured query language (SQL) used for
– Data definition (DDL): tables and views (virtual tables). These
are the basic operations to convert a data model to a database
– Data manipulation (DML): user or program can INSERT,
DELETE, UPDATE or retrieve (SELECT) data.
– Data integrity: referential integrity and transactions. Enforces
keys (primary and foreign)
– Access control: security
– Data sharing: by concurrent users
• Not a complete language like Java, Visual Basic or C++
– SQL is sub-language of about 30 statements
– Embedded in another language or tool for database access
– SQL has several inconsistencies; NULLs are problematic
– Portable across operating systems and somewhat among
vendors
– Declarative language, not procedural
3
Things that vary among SQL implementations

• Error codes
• Data types supported (dates/times, currency,
string/text variations)
• System tables, about the structure of the database
itself
• Interactive SQL
• Programming interface: no vendor follows the
standard
• Dynamic SQL, used for report writers and query
tools
• Implementer-defined variations within the standard
• Database initialization, opening and connection
• Whether case matters (upper, lower case)
4
SQL SELECT

• SELECT constructed of clauses to get columns


and rows from one or more tables or views.
Clauses must be in order:
– SELECT columns/attributes
– INTO new table
– FROM table or view
– WHERE specific rows or a join is created
– GROUP BY grouping conditions (columns)
– HAVING group-property (specific rows)
– ORDER BY ordering criterion ASC | DESC

5
Example tables
OrderNbr Cust Prod Qty Amt Disc
Orders 1 211 Bulldozer 7 $31,000.00 0.2
2 522 Riveter 2 $4,000.00 0.3
3 522 Crane 1 $500,000.00 0.4

CustNbr Company CustRep CreditLimit


211 Connor Co 89 $50,000.00
Customers 522 AmaratungaEnterprises 89 $40,000.00
890 Feni Fabricators 53 $1,000,000.00

RepNbr Name RepOffice Quota Sales


SalesReps
53 Bill Smith 1 $100,000.00 $0.00
89 Jen Jones 2 $50,000.00 $130,000.00
Offices
OfficeNbr City State Region Target Sales Phone
1 Denver CO West $3,000,000.00 $130,000.00 970.586.3341
2 New York NY East $200,000.00 $300,000.00 212.942.5574
57 Dallas TX West $0.00 $0.00 214.781.5342
6
Example data model

Offices SalesReps Customers Orders


OfficeNbr RepNbr CustNbr OrderNbr
City Name Company Prod
Region Quota CreditLimit Qty
Target Sales CustRep Amt
State RepOffice Disc
Phone Cust

Image by MIT OpenCourseWare.

Columns with the same meaning usually have the same


name in different tables. We give them different names here
so we don’t have to say tablename.columnname, e.g.
Orders.OrderNbr

7
Using SQL Server and Management Studio

• Your SQL Server database engine should start by


default when your system starts
• Start SQL Server Management Studio (SSMS)
from Start->Programs->MS SQL Server 2012
• Open Lecture11CreateDB.sql with SSMS in
Windows Explorer
– Download the .sql file from the web site first
• Select ‘Execute’ from toolbar
– Database MIT1264 will be created and data inserted for
exercises during this class
• Review Lecture11CreateDB.sql
– Creates tables, relationships, keys, inserts data
– IDENTITY means auto-number
8
Exercise 1 SQL queries: SELECT

• Click ‘New Query’ in SSMS; type these statements:


• List the sales reps
– SELECT Name, Sales, Quota FROM SalesReps
• Find the amount each rep is over or under quota
– SELECT Name, Sales, Quota, (Sales-Quota) FROM
SalesReps
• Find the slackers
– SELECT Name, Sales, Quota, (Sales-Quota) FROM
SalesReps WHERE Sales < Quota
RepNbr Name RepOffice Quota Sales
53 Bill Smith 1 $100,000.00 $0.00
89 Jen Jones 2 $50,000.00 $130,000.00

9
Exercise 2 SQL queries: insert, delete, update
• Find the average sale
– SELECT AVG(Amt) FROM Orders;
• Find the average sale for a customer
– SELECT AVG(Amt) FROM Orders WHERE Cust = 211;
• Add an office
– INSERT INTO Offices (OfficeNbr, City, State, Region, Target,
Sales, Phone) VALUES (‘55’, ‘Dallas’,‘TX’,‘West’, 200000, 0,
‘214.333.2222’);
• Delete a customer
– DELETE FROM Customers WHERE Company = ‘Connor Co’;
– (Syntax is valid but command will fail due to referential
integrity)
• Exercise: Create (insert) a new order and delete it
– Omit OrderNbr in INSERT because it’s auto-generated
• Raise a credit limit
– UPDATE Customers
SET CreditLimit = 75000 WHERE Company = ‘Amaratunga 10
Exercise 3: SELECT * and duplicates

• Select all columns (fields)


– SELECT * FROM Offices;
• Duplicate rows: query will get two instances of
‘West’
– SELECT Region FROM Offices;
• Select, but eliminate duplicates:
– SELECT DISTINCT Region FROM Offices;
• Exercise:
– Find the greatest positive difference between sales and
target

11
MIT OpenCourseWare
http://ocw.mit.edu

1.264J / ESD.264J Database, Internet, and Systems Integration Technologies


Fall 2013

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

You might also like