Standard Query Language (SQL) Hamid Zarrabi-Zadeh Web Programming – Fall 2013 2 Outline

Standard Query Language (SQL) Hamid Zarrabi-Zadeh Web Programming – Fall 2013 2 Outline

Standard Query Language (SQL) Hamid Zarrabi-Zadeh Web Programming – Fall 2013 2 Outline • Introduction • Local Storage Options Cookies Web Storage • Standard Query Language (SQL) Database Commands Queries • Summary 3 Introduction • Any (web) application needs persistence storage • There are three general storage strategies: server-side storage client-side storage a hybrid strategy 4 Client-Side Storage • Client-side data is stored locally within the user's browser • A web page can only access data stored by itself • For a long time, cookies were the only option to store data locally • HTML5 introduced several new web storage options 5 Server-Side Storage • Server-side data is usually stored within a file or a database system • For large data, database systems are preferable over plain files • Database Management Systems (DBMSs) provide an efficient way to store and retrieve data Cookies 7 Cookies • A cookie is a piece of information stored on a user's browser • Each time the browser requests a page, it also sends the related cookies to the server • The most common use of cookies is to identify a particular user amongst a set of users 8 Cookies Structure • Each cookie has: • a name • a value (a 4000 character string) • expiration date (optional) • path and domain (optional) • if no expiration date is specified, the cookie is considered as a session cookie • Session cookies are deleted when the browser session ends (the browser is closed by the user) 9 Set/Get Cookies • In JavaScript, cookies can be accessed via the document.cookie pseudo-variable • Set cookie: document.cookie = "name=value; expires=date; path=/; domain=ce.sharif.edu" • Read all cookies: var pairs = document.cookie.split(';'); 10 jQuery.Cookie • A simple jQuery plugin for reading, writing and deleting cookies • Read cookie $.cookie(); // all cookies as a dictionary $.cookie('the_cookie'); • Set cookie $.cookie('the_cookie', 'the_value'); $.cookie('the_cookie', 'the_value', {expires: 7, path: '/'}); • Remove cookie $.removeCookie('the_cookie'); Web Storage 12 Web Storage • HTML5 introduces new local storages, which are more secure and faster than cookies they are not included with every server request they can store large amounts of data efficiently • Two new objects for storing data localStorage – stores data with no expiration date sessionStorage – stores data for one session 13 Web Storage Example • Here is an example: if (typeof (Storage) !== 'undefined') { localStorage.student = 'Ali', localStorage.grade = 19.5; } • Note: values are always stored as strings • Use JSON.stringify() to convert objects to string before storing, and use JSON.parse() to retrieve 14 Local Databases • HTML5 has two standard interfaces for supporting local databases: Web SQL Database Indexed Database • Web SQL defines a rational database that can be queried using SQL • IndexedDB is a NoSQL database which uses object stores rather than the typical rational database implementation Standard Query Language (SQL) 16 What is SQL? • SQL is a standard language for accessing and manipulating rational databases • SQL is an ANSI (American National Standards Institute) standard, though there are slightly different versions of the SQL language • Examples of SQL database systems are Oracle MS SQL Server IBM DB 2 MySQL, SQLight, … 17 Rational Databases • Components: databases tables rows fields (corresponds to table columns) • Operations create/drop databases or tables insert/update/delete table rows query/fetch a set of rows 18 SQL Commands • Most database systems provide a command-line tool for issue SQL commands or queries • There are also some GUI tools built upon command-line tools providing a more comfortable user interface • Most databases are configured to be case- insensitive, especially on database commands • Most command-line programs require a trailing semicolon (;) to terminate a SQL statement SELECT * from table_name; 19 Database Operations • Creating a Database CREATE DATABASE test; GRANT ALL ON test.* to user(s); • Using a Database USE test; • Dropping a Database DROP DATABASE test; 20 Table Operations • Creating a Table CREATE TABLE users (name VARCHAR(30), userid INT, groupid INT); • Dropping a Table DROP TABLE users; • Cleaning a Table TRUNCATE TABLE users; 21 Row Operations • Inserting a Row INSERT INTO users VALUES('Ali', 110, 1); • Updating a Row UPDATE users SET groupid=4 WHERE groupid=1; • Deleting a Row DELETE FROM users WHERE groupid=4; SQL Queries 23 SQL Select • The SELECT statement is used to select data from a database • The result is stored in a result table, called the result-set SELECT column_name,column_name FROM table_name; SELECT * FROM table_name; SELECT DISTINCT column_name,column_name FROM table_name; 24 Conditional Select • The WHERE clause is used to extract only those records that fulfill a specified criterion SELECT column_name, column_name FROM table_name WHERE column_name operator value; • Operators: =, <>, >, >=, <, <=, BETWEEN, LIKE, IN, IS, IS NOT AND, OR SELECT name, userid FROM users Where userid > 10 AND groupid <= 4 25 Order Results • The ORDER BY keyword is used to sort the result- set by one or more columns SELECT column_name, column_name FROM table_name ORDER BY column_name,column_name ASC|DESC; • The ORDER BY keyword sorts the records in ascending order by default. • To sort the records in a descending order, you can use the DESC keyword. 26 SQL Functions • SQL has many built-in functions for performing calculations on data • Sample aggregate function: SELECT AVG(column_name) FROM table_name • Sample scalar function: SELECT UCASE(name), userid FROM users; • Combined: SELECT UCASE(name) FROM users WHERE grade > (SELECT AVG(grade) FROM users); 27 Aggregate Functions • SQL aggregate functions return a single value, calculated from values in a column • Useful aggregate functions: AVG() - Returns the average value COUNT() - Returns the number of rows FIRST() - Returns the first value LAST() - Returns the last value MAX() - Returns the largest value MIN() - Returns the smallest value SUM() - Returns the sum 28 Scalar Functions • SQL scalar functions return a single value, based on the input value. • Useful scalar functions: UCASE() - Converts a field to upper case LCASE() - Converts a field to lower case MID() - Extract characters from a text field LEN() - Returns the length of a text field ROUND() - Rounds to the number of decimals specified NOW() - Returns the current system date and time FORMAT() - Formats how a field is to be displayed 29 Summary • There are three general options for storing data on client side: Cookies Web Storage Web SQL / Indexed DB • Most server-side storage systems use rational databases to store data • SQL is a standard language for accessing and manipulating rational databases 30 References • W3Schools http://www.w3schools.com/sql • Core Python Applications Programming By Wesley J. Chun • Internet Programming by Pat Morin http://cg.scs.carleton.ca/~morin/teaching/2405.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us