23
Brad Lloyd & Michelle Zukowski 1 Design and Design and Implementation Implementation CIS 400 Final Project CIS 400 Final Project Dr. Bruce Maxim Dr. Bruce Maxim SQL

Design and Implementation

Embed Size (px)

DESCRIPTION

SQL. Design and Implementation. CIS 400 Final Project Dr. Bruce Maxim. SQL. An Overview of SQL. SQL stands for S tructured Q uery L anguage. It is the most commonly used relational database language today. - PowerPoint PPT Presentation

Citation preview

Page 1: Design and Implementation

Brad Lloyd & Michelle Zukowski 1

Design and ImplementationDesign and ImplementationCIS 400 Final ProjectCIS 400 Final Project

Dr. Bruce MaximDr. Bruce Maxim

SQL

Page 2: Design and Implementation

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

Page 3: Design and Implementation

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

Page 4: Design and Implementation

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!

Page 5: Design and Implementation

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 changing Use one high-level language for structuring, querying, and changing info in the databaseinfo 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:

Page 6: Design and Implementation

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

Page 7: Design and Implementation

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

Page 8: Design and Implementation

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 publisherspub_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.

Page 9: Design and Implementation

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’

Page 10: Design and Implementation

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

Page 11: Design and Implementation

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

Page 12: Design and Implementation

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

Databa

se

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)

Page 13: Design and Implementation

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_nameDepending 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

Page 14: Design and Implementation

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)

Page 15: Design and Implementation

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 statementSELECT * FROM authors

INSERT INTO authorsvalues(‘000000001’, ‘John Smith’)

000000001 John Smith

Page 16: Design and Implementation

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 MI000000001 John Smith Taylor MI

auth_name auth_city

Jane Doe DearbornJohn Smith Taylor

If you only want to display the author’s name and city from the following table:

Page 17: Design and Implementation

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 MI000000001 John Smith Taylor MI

To delete data from a table, use the DELETE statement:

Page 18: Design and Implementation

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 MI000000001 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

Page 19: Design and Implementation

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 MI000000001 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

Page 20: Design and Implementation

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 MI000000001 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

.

.

Page 21: Design and Implementation

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 MI000000001 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

Page 22: Design and Implementation

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

Page 23: Design and Implementation

Brad Lloyd & Michelle Zukowski 23

References

• “The Practical SQL Handbook”, Third Edition, Bowman.