18 – Databases: Structured Query Language

Slides:



Advertisements
Similar presentations
Mark Dixon Page 1 23 – Object Oriented Programming in PhP.
Advertisements

Mark Dixon Page 1 16 – Passing Data between pages: Forms, Sessions, & Query Strings.
Mark Dixon Page 1 05 – Database Design: Sub-forms.
Mark Dixon Page 1 04 – Database Design: Forms. Mark Dixon Page 2 Session Aims & Objectives Aims –To allow easier data entry using forms Objectives, by.
Mark Dixon, SoCCE SOFT 131Page 1 16 – Persistent data storage: relational databases and ADO.
Mark Dixon Page 1 17 – Persistent data storage: relational databases and ADO.
Mark Dixon, SoCCE SOFT 131Page 1 24 – Web applications: Writing data to Databases using ASP.
Mark Dixon, SoCCE SOFT 131Page 1 23 – Modular Design in ASP.
Mark Dixon Page 1 06 – Expression Builder. Mark Dixon Page 2 Session Aims & Objectives Aims –To use expressions to perform more complex calculations in.
Mark Dixon Page 1 03 – Database Design: Multiple Tables.
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
Mark Dixon, SoCCE SOFT 131Page 1 20 – Web applications: HTML and Client-side code.
Mark Dixon, SoCCE SOFT 131Page 1 17 – Persistent data storage: relational databases and ADO.
Mark Dixon, SoCCE SOFT 131Page 1 16 – Web applications: HTML and Client-side code.
Mark Dixon Page 1 SOFT – Module Introduction.
Mark Dixon Page 1 21 – Object Oriented Programming in ASP.
Mark Dixon, SoCCE SOFT 131Page 1 23 – Entity-relationship diagrams.
Mark Dixon, SoCCE SOFT 131Page 1 22 – Web applications: Writing data to Databases using ASP.
Mark Dixon, SoCCE SOFT 131Page 1 16 – Passing Data between pages: Sessions, Query Strings, & Self Posting.
Mark Dixon Page 1 18 – Persistent data storage: relational databases and ADO.
Mark Dixon Page 1 02 – Queries: Query by Example.
Mark Dixon Page 1 20 – Modular Design in ASP. Mark Dixon Page 2 Session Aims & Objectives Aims –Highlight modular design techniques in ASP Objectives,
Mark Dixon, SoCCE SOFT 131Page 1 18 – Structured Query Language.
Mark Dixon Page 1 20 – Web applications: Writing data to Databases using ASP.
Mark Dixon Page 1 15 – Web applications: Server-side code (ASP)
Mark Dixon, SoCCE SOFT 131Page 1 19 – Databases: Multiple Tables.
Mark Dixon, SoCCE SOFT 131Page 1 20 – Web applications: Writing data to Databases using ASP.
Mark Dixon Page 1 10 – Iterative Execution. Mark Dixon Page 2 Questions: Variables Write a line of code to declare a variable called h Write a line of.
Mark Dixon 1 20 – Persistent data storage: relational databases and ADO.
Mark Dixon Page 1 5 – Persistent data storage: relational databases.
M Dixon 1 Web-Application Development Workshop. M Dixon 2 Session Aims & Objectives Aims –to introduce the main concepts involved in creating web-applications.
Mark Dixon Page 1 23 – Web applications: Writing data to Databases using PhP.
Mark Dixon Page 1 24 – Object Oriented Programming in ASP.
Mark Dixon 1 22 – Web applications: Writing data to Databases using ASP.Net.
Mark Dixon Page 1 23 – Web applications: Writing data to Databases using ASP.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Mark Dixon Page 1 18 – Web applications: Server-side code (PhP)
Mark Dixon Page 1 21 – Persistent data storage: relational databases and MySQL.
Mark Dixon 1 05 – JSP Databases: Multiple Tables.
Mark Dixon 1 06 – JSP Databases: Multiple Tables.
Mark Dixon 1 09 – Java Servlets. Mark Dixon 2 Session Aims & Objectives Aims –To cover a range of web-application design techniques Objectives, by end.
Mark Dixon Page 1 Web-Application Development Workshop.
Mark Dixon Page 1 21 – Web applications: Writing data to Databases using ASP.
Mark Dixon 1 21 – Databases: Multiple Tables. Mark Dixon 2 Questions: Databases How many records are in the following table? How many fields does the.
M Dixon 1 Web-Application Development Workshop. M Dixon 2 Session Aims & Objectives Aims –to introduce the main concepts involved in creating web-applications.
Mark Dixon 1 21 – Databases: Multiple Tables and Writing Data.
Introduction to JavaScript CS101 Introduction to Computing.
Mark Dixon, SoCCE SOFT 131Page 1 02 – Dynamic HTML (client-side scripting)
M Dixon 1 Tech HTML. M Dixon 2 Admin Attendance Register: –log in to your profile.
Mark Dixon Page 1 Soft – HTML. Mark Dixon Page 2 Admin Attendance Register: –log in to your profile.
Mark Dixon Page 1 Tech – HTML. Mark Dixon Page 2 Admin Attendance Register: –log in to your profile.
Mark Dixon 1 9 – Case Study. Mark Dixon 2 Session Aims and Objectives Aims –To give an overview of the development of a web-page from initial idea to.
Mark Dixon, SoCCE SOFT 131Page 1 23 – Web applications: Databases & ASP.
Mark Dixon Page 1 15 – Web applications: Server-side code (ASP)
Mark Dixon 1 22 – Object Oriented Programming. Mark Dixon 2 Questions: Databases How many primary keys? How many foreign keys? 3 2.
Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component.
CSC 405: Web Application Engineering II Course Preliminaries Course Objectives Course Objectives Students’ Learning Outcomes Students’ Learning Outcomes.
Mark Dixon, SoCCE SOFT 131Page 1 12 – Databases: Structured Query Language.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 6: Accessing a database with PHP Rob Gleasure robgleasure.com.
Mark Dixon, SoCCE SOFT 131Page 1 14 – Databases: Multiple Tables.
Mark Dixon Page 1 09 – Iterative Execution. Mark Dixon Page 2 Questions: Variables Write a line of VBScript code to declare a variable called h Write.
Visual Basic Database Programming.
9 – Web applications: Server-side code (ASP)
21 – Web applications: Server-side code (ASP)
23 – Object Oriented Programming in ASP
PHP / MySQL Introduction
Chapter 6 Displaying Your Products
17 – Persistent data storage: relational databases and ADO
19 – Databases: Multiple Tables
Presentation transcript:

18 – Databases: Structured Query Language

Session Aims & Objectives To introduce the fundamental ideas involved in using Structured Query Language (SQL) Objectives, by end of this week’s sessions, you should be able to: Use SQL in your programs to create more complex record-sets

Example: People Database Person PersonID Surname Forenames Gender Phone eMail 1 Dixon Mark Yes 01752 232556 mark.dixon@plymouth.ac.uk 2 Smith John 01752 111111 john.smith@john.smith.ac.uk 3 Jones Sally No 01752 888888 sally.jones@sally.jones.com 4 Bloggs Fred 01752 123123 fred.bloggs@aaaaaa.com 5 Anderson Genny 01752 987987 genny@bbbb.cccc.com 6 Bob 01752 898898 bob.smith@bob-smith.com

Example: People v1 Display Surname of all people: <% Const cs = "…" <html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value & "<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html>

Example: People v2 Display Surname of Male people: <% <html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("Person", cs) Do Until rs.EOF() If rs.Fields("Gender").Value = True Then Response.Write(rs.Fields("Surname").Value & "<br>") End If rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> Display Surname of Male people:

Example: People v3 Display Surname of Male people: SQL statement <% <html> <head> <title></title> </head> <body> <% Const cs = "…" Dim rs rs = CreateObject("ADODB.Recordset") rs.Open("SELECT * FROM Person WHERE Gender = True", cs) Do Until rs.EOF() Response.Write(rs.Fields("Surname").Value & "<br>") rs.MoveNext() Loop rs.Close() rs = Nothing %> </body> </html> SQL statement

SQL: Queries main purpose of databases: Structured Query Language get information back out: searching Structured Query Language dedicated to interacting with databases 3rd Generation Language (such as VB, C++) code describes how to do task 4th Generation Language (such as SQL) code describes what to do (not how to do it)

SQL: SELECT statement SELECT statement used to get data can be embedded in VB, via rs.Open: rs.Open("Person", cs) rs.Open("SELECT * FROM [Person]", cs) all fields

SQL: WHERE & ORDER BY WHERE clause ORDER BY clause used to restrict data SELECT * FROM [People] WHERE [age]>=18; ORDER BY clause used to change order of data SELECT * FROM [People] ORDER BY [Surname];

SQL: strings (text data) Possible confusion: SELECT * FROM Person WHERE Surname = Smith this will look for field called Smith - gives error need single (SQL) quotes to signify literal text SELECT * FROM Person WHERE Surname = 'Smith'

SQL & MS access queries MS Access Queries: select data from database really SQL select statements can use queries to test SQL code MS Access: People.mdb

Example: Music Track Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness

Questions: SQL Track Create an SQL statement to extract Track Title of records by Aerosmith Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness SELECT [Track Title] FROM Track WHERE [Artist Name] = 'Aerosmith'; MS Access: Music.mdb

Questions: SQL Track Create an SQL statement to extract all fields of songs by Disturbed, ordered by track name Track Title Artist Name Country Paranoid Black Sabbath UK Falling in Love Aerosmith US Pink Love in an Elevator Smooth Criminal Alien Ant Farm Meaning of Life Disturbed The Game Voices Down with the Sickness SELECT * FROM Track WHERE [Artist Name] = 'Disturbed' ORDER BY [Track Title]; MS Access: Music.mdb

Example: People v4 User controls what is displayed:

SQL: DISTINCT records SELECT [Artist Name] FROM [Track]; Black Sabbath Aerosmith Alien Ant Farm Disturbed SELECT [Artist Name] FROM [Track]; SELECT DISTINCT [Artist Name] FROM [Track]; Artist Name Black Sabbath Aerosmith Alien Ant Farm Disturbed

Tutorial Exercise: People Task 1: Get the People (versions 1, 2, & 3) example (from the lecture) working. Use the database you created last week. Task 2: Modify your code to include the phone number and email address. Task 3: Get the People version 4 working. You will need to: Add a form to the page, and 3 submit buttons In your asp code, detect when a button has been pressed (have a look at previous weeks) Task 4: Modify your code so that the user can order the data by surname, or email address. You may want to use a Query String

Tutorial Exercise: Music Task 1: Create a web page to display the music database details. Task 2: Modify your code so that the user is presented with a list of artists, each of which is a link. When the user clicks an artist a list of tracks by that artist is displayed. (the list of artists must be generated dynamically from the database)