brad lloyd & michelle zukowski 1 design and implementation cis 400 final project dr. bruce maxim...
TRANSCRIPT
Brad Lloyd & Michelle Zukowski 1
Design and ImplementationDesign and ImplementationCIS 400 Final ProjectCIS 400 Final Project
Dr. Bruce MaximDr. Bruce Maxim
SQL
Brad Lloyd & Michelle Zukowski 2
An Overview of An Overview of SQLSQL
• SQL stands for SQL stands for SStructured tructured QQuery uery LLanguage.anguage.
• It is the most commonly used relational It is the most commonly used relational database language today.database language today.
• SQL works with a variety of different fourth-SQL works with a variety of different fourth-generation (4GL) programming languages, generation (4GL) programming languages, such as Visual Basic.such as Visual Basic.
SQL
Brad Lloyd & Michelle Zukowski 3
SQL is used for:SQL is used for:
• Data ManipulationData Manipulation
• Data DefinitionData Definition
• Data AdministrationData Administration
• All are expressed as an SQL statement All are expressed as an SQL statement or command.or command.
SQL
Brad Lloyd & Michelle Zukowski 4
SQL SQL RequirementsRequirements
• SQL Must be embedded in a programming SQL Must be embedded in a programming language, or used with a 4GL like VBlanguage, or used with a 4GL like VB
• SQL is a free form language so there is no SQL is a free form language so there is no limit to the the number of words per line or limit to the the number of words per line or fixed line break.fixed line break.
• Syntax statements, words or phrases are Syntax statements, words or phrases are always in lower case; keywords are in always in lower case; keywords are in uppercase.uppercase.
SQL
Not all versions are case sensitive!Not all versions are case sensitive!
Brad Lloyd & Michelle Zukowski 5
SQL is a Relational DatabaseSQL is a Relational Database
• Represent all info in database as tablesRepresent all info in database as tables
• Keep logical representation of data independent from its physical Keep logical representation of data independent from its physical storage characteristicsstorage characteristics
• Use one high-level language for structuring, querying, and Use one high-level language for structuring, querying, and changing info in the databasechanging info in the database
• Support the main relational operationsSupport the main relational operations
• Support alternate ways of looking at data in tablesSupport alternate ways of looking at data in tables
• Provide a method for differentiating between unknown values and Provide a method for differentiating between unknown values and nulls (zero or blank)nulls (zero or blank)
• Support Mechanisms for integrity, authorization, transactions, and Support Mechanisms for integrity, authorization, transactions, and recoveryrecovery
A Fully Relational Database Management System must:A Fully Relational Database Management System must:
Brad Lloyd & Michelle Zukowski 6
DesignDesign
• SQL represents all information in the form of tables
• Supports three relational operations: selection, projection, and join. These are for specifying exactly what data you want to display or use
• SQL is used for data manipulation, definition and administration
SQL
Brad Lloyd & Michelle Zukowski 7
Rows describe the
Occurrence of an Entity
Table DesignTable DesignSQL
Name Address
Jane Doe 123 Main Street
John Smith 456 Second Street
Mary Poe 789 Third Ave
Columns describe one characteristic of the entity
Brad Lloyd & Michelle Zukowski 8
Data Retrieval (Queries)Data Retrieval (Queries)
• Queries search the database, fetch info, Queries search the database, fetch info, and display it. This is done using the and display it. This is done using the keywordkeyword SELECT
SELECT * FROM publishersSELECT * FROM publishers
pub_id pub_name address state
0736 New Age Books 1 1st Street MA
0987 Binnet & Hardley 2 2nd Street DC
1120 Algodata Infosys 3 3rd Street CA
•The The ** Operator asks for every column in Operator asks for every column in
the table.the table.
Brad Lloyd & Michelle Zukowski 9
Data Retrieval (Queries)Data Retrieval (Queries)• Queries can be more specific with a few Queries can be more specific with a few
more linesmore lines
pub_id pub_name address state
0736 New Age Books 1 1st Street MA
0987 Binnet & Hardley 2 2nd Street DC
1120 Algodata Infosys 3 3rd Street CA
• Only publishers in CA are displayedOnly publishers in CA are displayed
SELECT *SELECT *from publishersfrom publisherswhere state = ‘CA’where state = ‘CA’
Brad Lloyd & Michelle Zukowski 10
Data InputData Input• Putting data into a table is accomplished Putting data into a table is accomplished
using the keyword using the keyword INSERT
pub_id pub_name address state
0736 New Age Books 1 1st Street MA
0987 Binnet & Hardley 2 2nd Street DC
1120 Algodata Infosys 3 3rd Street CA
• Table is updated with new informationTable is updated with new information
INSERT INTO publishersINSERT INTO publishersVALUES (‘0010’, ‘pragmatics’, ‘4 4VALUES (‘0010’, ‘pragmatics’, ‘4 4thth Ln’, ‘chicago’, ‘il’) Ln’, ‘chicago’, ‘il’)
pub_id pub_name address state
0010 Pragmatics 4 4th Ln IL
0736 New Age Books 1 1st Street MA
0987 Binnet & Hardley 2 2nd Street DC
1120 Algodata Infosys 3 3rd Street CA
Keyword
Variable
Brad Lloyd & Michelle Zukowski 11
Types of TablesTypes of Tables
• User Tables: User Tables: contain information that is contain information that is the database management systemthe database management system
• System Tables: System Tables: contain the database contain the database description, kept up to date by DBMS description, kept up to date by DBMS itselfitself
There are two types of tables which make up There are two types of tables which make up a relational database in SQLa relational database in SQL
Relation Table
Tuple Row
Attribute Column
Brad Lloyd & Michelle Zukowski 12
Using SQLUsing SQL
SQL statements can be embedded into a program SQL statements can be embedded into a program (cgi or perl script, Visual Basic, MS Access)(cgi or perl script, Visual Basic, MS Access)
OROR
SQL
Datab
ase
SQL statements can be entered directly at the SQL statements can be entered directly at the command prompt of the SQL software being command prompt of the SQL software being used (such as mySQL)used (such as mySQL)
Brad Lloyd & Michelle Zukowski 13
Using SQLUsing SQL
To begin, you must first CREATE a database To begin, you must first CREATE a database using the following SQL statement:using the following SQL statement:
CREATE DATABASE database_nameCREATE DATABASE database_name
Depending on the version of SQL being used Depending on the version of SQL being used the following statement is needed to begin the following statement is needed to begin using the database:using the database:
USE database_nameUSE database_name
Brad Lloyd & Michelle Zukowski 14
Using SQLUsing SQL
• To create a table in the current database, use the CREATE TABLE keyword
CREATE TABLE authorsCREATE TABLE authors(auth_id int(9) not null,(auth_id int(9) not null,auth_name char(40) not null)auth_name char(40) not null)
auth_id auth_name
(9 digit int) (40 char string)
Brad Lloyd & Michelle Zukowski 15
Using SQLUsing SQL
• To insert data in the current table, use the keyword INSERT INTO
auth_id auth_name
• Then issue the statement
SELECT * FROM authors
INSERT INTO authorsvalues(‘000000001’, ‘John Smith’)
000000001 John Smith
Brad Lloyd & Michelle Zukowski 16
Using SQLUsing SQL
SELECT auth_name, auth_citySELECT auth_name, auth_cityFROM publishersFROM publishers
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
auth_name auth_city
Jane Doe Dearborn
John Smith Taylor
If you only want to display the author’s name and city from the following table:
Brad Lloyd & Michelle Zukowski 17
Using SQLUsing SQL
DELETE from authorsDELETE from authorsWHERE auth_name=‘John Smith’WHERE auth_name=‘John Smith’
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
To delete data from a table, use the DELETE statement:
Brad Lloyd & Michelle Zukowski 18
Using SQLUsing SQL
UPDATE authorsUPDATE authorsSET auth_name=‘hello’SET auth_name=‘hello’
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
To Update information in a database use the UPDATE keyword
Hello
Hello
Sets all auth_name fields to helloSets all auth_name fields to hello
Brad Lloyd & Michelle Zukowski 19
Using SQLUsing SQL
ALTER TABLE authorsALTER TABLE authorsADD birth_date datetime nullADD birth_date datetime null
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
To change a table in a database use ALTER TABLE. ADD adds a characteristic.
ADD puts a new column in the table called birth_date
birth_date
.
.
Type Initializer
Brad Lloyd & Michelle Zukowski 20
Using SQLUsing SQL
ALTER TABLE authorsALTER TABLE authorsDROP birth_dateDROP birth_date
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
To delete a column or row, use the keyword DROP
DROP removed the birth_date characteristic from the table
auth_state
.
.
Brad Lloyd & Michelle Zukowski 21
Using SQLUsing SQL
DROP DATABASE authorsDROP DATABASE authors
auth_id auth_name auth_city auth_state
123456789 Jane Doe Dearborn MI
000000001 John Smith Taylor MI
The DROP statement is also used to delete an entire database.
DROP removed the database and returned the memory to system
Brad Lloyd & Michelle Zukowski 22
Conclusion
• SQL is a versatile language that can integrate with numerous 4GL languages and applications
• SQL simplifies data manipulation by reducing the amount of code required.
• More reliable than creating a database using files with linked-list implementation
Brad Lloyd & Michelle Zukowski 23
References
• “The Practical SQL Handbook”, Third Edition, Bowman.