STRUCTURED QUERY LANGUAGE Chandra S. Amaravadi 1.

Slides:



Advertisements
Similar presentations
Creating Tables. 2 home back first prev next last What Will I Learn? List and provide an example of each of the number, character, and date data types.
Advertisements

SQL Rohit Khokher.
BACS 485—Database Management Advanced SQL Overview Advanced DDL, DML, and DCL Commands.
The Relational Model and Relational Algebra Nothing is so practical as a good theory Kurt Lewin, 1945.
Basic SQL Introduction Presented by: Madhuri Bhogadi.
Virtual training week 4 structured query language (SQL)
Introduction To SQL Lynnwood Brown President System Managers LLC Copyright System Managers LLC 2003 all rights reserved.
Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
Introduction to Structured Query Language (SQL)
Fundamentals, Design, and Implementation, 9/e COS 346 Day 11.
Introduction to Structured Query Language (SQL)
Fundamentals, Design, and Implementation, 9/e Chapter 6 Introduction to Structured Query Language (SQL)
Structured Query Language Chapter Three (Excerpts) DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Database Systems More SQL Database Design -- More SQL1.
Introduction to Structured Query Language (SQL)
Structured Query Language Chapter Three DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
DATABASES AND SQL. Introduction Relation: Relation means table(data is arranged in rows and columns) Domain : A domain is a pool of values appearing in.
Introduction to Databases Chapter 6: Understanding the SQL Language.
o At the end of this lesson, you will be able to:  Describe the life-cycle development phases  Discuss the theoretical and physical aspects of a relational.
Database A collection of related data. Database Applications Banking: all transactions Airlines: reservations, schedules Universities: registration, grades.
Oracle Database Administration Lecture 3  Transactions  SQL Language: Additional information  SQL Language: Analytic Functions.
Fundamentals, Design, and Implementation, 9/e CPE 481 Database Processing Chapter 6 Structured Query Language (SQL) Instructor:Suthep Madarasmi, Ph.D.
SQL (DDL & DML Commands)
ACTION QUERIES (SQL COMMANDS ) STRUCTURED QUERY LANGUAGE.
1 Information Retrieval and Use (IRU) CE An Introduction To SQL Part 1.
SQL FUNDAMENTALS SQL ( Structured Query Language )
Nitin Singh/AAO RTI ALLAHABAD 1 SQL Nitin Singh/AAO RTI ALLAHABAD 2 OBJECTIVES §What is SQL? §Types of SQL commands and their function §Query §Index.
Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 6/1 Copyright © 2004 Please……. No Food Or Drink in the class.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Session 2: SQL (A): Parts 1 and 2 Original materials supplied by the Oracle Academic Initiative (OAI). Edited for classroom use by Professor Laku Chidambaram.
Chapter 3 Selected Single-Row Functions and Advanced DML & DDL.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Management COP4540, SCS, FIU Structured Query Language (Chapter 8)
SQL SeQueL -Structured Query Language SQL SQL better support for Algebraic operations SQL Post-Relational row and column types,
D R. E.F.C ODD ’ S R ULES FOR RDBMS Dr. E.F.Codd is an IBM researcher who first developed the relational data model in 1970.Dr. Codd published a list.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
1 SQL SQL (Structured Query Language) : is a database language that is used to create, modify and update database design and data. Good Example of DBMS’s.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
1/18/00CSE 711 data mining1 What is SQL? Query language for structural databases (esp. RDB) Structured Query Language Originated from Sequel 2 by Chamberlin.
An Introduction To SQL Part 2 (Special thanks to Geoff Leese)
1 Information Retrieval and Use (IRU) An Introduction To SQL Part 2.
9-1 © Prentice Hall, 2007 Topic 9: Physical Database Design Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
© 2002 by Prentice Hall 1 Structured Query Language David M. Kroenke Database Concepts 1e Chapter 3 3.
Relational Database Management System(RDBMS) Structured Query Language(SQL)
SQL. Originally developed by IBM Standardized in 80’s by ANSI and ISO Language to access relational database and English-like non-procedural Predominant.
Chapter 3: Relational Databases
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
Constraints and Views Chap. 3-5 continued (7 th ed. 5-7)
SQL: Structured Query Language It enables to create and operate on relational databases, which are sets of related information stored in tables. It is.
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
 CONACT UC:  Magnific training   
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
Big Data Yuan Xue CS 292 Special topics on.
SQL SQL Ayshah I. Almugahwi Maryam J. Alkhalifa
Fundamentals of DBMS Notes-1.
SQL Query Getting to the data ……..
Prepared by : Moshira M. Ali CS490 Coordinator Arab Open University
Chapter 4 Basic SQL.
PL/SQL LANGUAGE MULITPLE CHOICE QUESTION SET-1
STRUCTURED QUERY LANGUAGE Chandra S. Amaravadi.
Database solutions Database environment Marzena Nowakowska Faculty of Management and Computer Modelling Kielce University of Technology rooms: 3.21 C,
Database systems Lecture 3 – SQL + CRUD
SQL-1 Week 8-9.
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Index Note: A bolded number or letter refers to an entire lesson or appendix. A Adding Data Through a View ADD_MONTHS Function 03-22, 03-23,
Contents Preface I Introduction Lesson Objectives I-2
ISC321 Database Systems I Chapter 4: SQL: Data definition, Constraints, and Basic Queries and Updates Fall 2015 Dr. Abdullah Almutairi.
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Presentation transcript:

STRUCTURED QUERY LANGUAGE Chandra S. Amaravadi 1

IN THIS PRESENTATION Codd’s rules for relational systems Types of SQL DDL and DML Examples 2

CODD’S RULES AND TYPES OF SQL 3

CODD’S RULES FOR RDBMSs Information representation Guaranteed access Dynamic on-line catalog Comprehensive data sub-language View updating Note: Codd was a research fellow at IBM in the ’70s Codd has written a paper in which he outlined the rules for relational systems. These are as follows: 4

High-level insert, update and delete Physical data independence Logical data independence Integrity independence Distribution independence Non-subversion CODD’S RULES FOR RDBMSs.. 5

CODD’S RULES FOR RDBMSs Information representation -- all information should be represented as atomic values in tables. Guaranteed access -- given a row, column and table name we should be able to access values in the table. Online catalog -- the system catalog (data dictionary) should be online and accessible by the system. Comp. data lang. -- there should be a language for data definition and data manipulation. View updating -- the system must be able to automatically update views based on a base table. 6

CODD’S RULES FOR RDBMSs High level insertion, update.. -- insertion, deletion and update should operate on a table. Physical data independence -- should be able to change internal storage structures without affecting application programs. Logical data independence -- should be able to change logical scheama without affecting application programs. Integrity independence -- integrity controls must be independent of appln. prog. Distribution independence -- the users/appln. programs should not be affected by where the data is physically stored. Non subversion -- should not be able to bypass integrity rules by using the data sub language. 7

based on relational calculus (uses select, project, join etc.) standardized in ’82,’95, ‘05 Embedded SQL a standard in ‘89 Two major types and three other types DDL, DML SQL/T, SQL/I, DCL Embedded SQL STRUCTURED QUERY LANGUAGE Structured Query Language originated from SEQEL (early 1980’s). SQL (is/was): 8

There are five types of SQL as follows: DDL- Creating / modifying tables, views and indexes DML - Retrieving / inserting / updating information SQL/T - Transaction boundaries SQL/I - Integrity constraints DCL. - To authorize access to the database objects STRUCTURED QUERY LANGUAGE 9

DATA DEFINITION LANGUAGE 10

DATA DEFINITION LANGUAGE Create/Open Database (not discussed) Create Schema Employee; Create/Alter/Drop Table Create/Drop View Create/Drop Index DDL is the language used to define/modify the database Schema. 11

DATA DEFINITION LANGUAGE.. Action DatabaseComponent ComponentName… TYPICAL FORMAT Create Drop Table View Index Cust….. Emp….. ………… 12 AlterTableEmp…..

CREATE TABLE Table name (attribute attr. type, attribute attr.type..) [CONSTRAINT Constr name TYPE attr]; ALTER TABLE Table name ADD attr. attr. type, attr. attr. type; DATA DEFINITION LANGUAGE.. Command used to create tables Command used to change attributes in tables Command used to delete table definitions DROP TABLE Table name ; 13

CREATE TABLE Dept. d_no d_name d_mgr_ssn d_phone CREATE TABLE DEPT. ( d_no Integer, d_name VarChar(15), d_mgr_SSN Char(9), d_phone Char(12)); Creates a table (schema) 14

ALTER, DROP TABLE Dept. d_no d_name d_mgr_ssn d_phone no_of_emp ALTER TABLE DEPT. ADD no_of_emp Integer; DROP TABLE Dept.; Alter table adds/drops attributes; Drop table drops the entire table. 15 ALTER TABLE DEPT. DROP no_of_emp;

CREATE VIEW Viewname AS SELECT... CREATE VIEW Command used to create VIEWS A view is the way a user looks at the data. Views are subsets of the data in the database. A view could include data from more than one table. All application programs access data via views. Views provide logical data independence. Reports can be created from views (as well as from tables) 16

CREATE VIEW.. Emp. e_ssn e_name e_title CREATE VIEW Analysts AS SELECT e_name, e_title FROM Emp. WHERE e_title = “analyst”; Create a view of employees who are analysts Creates a query; AS is an “alias” or name 17 DROP VIEW ANALYSTS;

18 CREATE/DROP INDEX CREATE INDEX TI_INDEX ON EMP(e_title); DROP INDEX TI_INDEX; An index is an example of file organization used to facilitate retrieval

DATA MANIPULATION LANGUAGE 19

DATA MANIPULATION LANGUAGE INSERT insert a record UPDATE change values DELETE delete records SELECT choose record DML is the language used to create/modify and delete data in the database. 20

THE INSERT COMMAND.. INSERT INTO TABLENAME VALUES (attr1 value, attr2 value….); FORMAT Inserts a record into a table with name TABLENAME. 21

THE INSERT COMMAND.. INSERT INTO EMP VALUES (‘ ’, ‘Sullivan’, ‘developer’); Insert employee record EMP. e_ssn e_name e_title e_ssne_namee_title Sullivandeveloper 22

THE UPDATE COMMAND EMP. e_ssn e_name e_title UPDATE EMP SET e_title = ‘analyst’ WHERE e_name = ‘Sullivan’; Update employee title to ‘analyst’ /* table name */ /* new values */ /* condition */ e_ssne_namee_title Sullivananalyst EMP. 23

THE DELETE COMMAND DELETE FROM EMP. WHERE e_name = ‘Sullivan’; Delete Employee record e_ssne_namee_title EMP. e_ssne_namee_title Sullivananalyst What if you were to issue, DELETE FROM EMP? EMP. 24

THE SELECT STATEMENT 25

THE SELECT STATEMENT SELECT FROM [WHERE AND/OR ] [GROUP BY ] [HAVING ] [ORDER BY DESC/ASC]; Group by is used to organize data into groups and provide summary information. Having is used for the group condition. 26

ADDITIONAL NOTES ON SELECT The Select part can include literals (“The number of..”) Some functions can be included in SELECT part or WHERE part More than one table and one condition can be specified Conditions are connected by logical operators -- and/or etc. When GROUP BY is used, the WHERE clause is not used. Instead the group condition is specified by HAVING. ORDER BY is optional and used if sorting is required. Notes on the select statement 27

DISCUSSION The output of a SELECT statement is: a) an attribute ? b) a single record ? c) table ? 28

FUNCTIONS IN SQL Logical Arithmetic String Date IN WHICH PART OF THE QUERY ARE FUNCTIONS USED? Operators to carry out different types of calculations 29

LOGICAL OPERATORS “=“, “>“, “<“ “>=“, “<=“ “<>“ OR “!=“ (NOT) BETWEEN X1 AND X2 (inclusive) LIKE “_” or “%” IN (NOT) NULL Finance Financial Records Logical operators are generally used to carry out comparison (Select….Where D_Name like “%fin%”) 30 d_named_phone Finance Sales Marketing Fin. records Dept.

LOGICAL OPERATORS.. Select cust.cust# From cust Where cust.zip in (61455, 60601….) Select emp#, emp name From emp Where income between and 90000; To select customers in Macomb, Chicago or Bloomington To select employees between certain income range 31 cust#zip Cust.

BUILT-IN ARITHMETIC FUNCTIONS ABS ROUND TRUNC COUNT SUM AVG MAX MIN Select count(emp_name)… Select max(emp_salary)….. Arithmetic functions are used to carry out math operations 32

STRING FUNCTIONS LENGTH(string) SUBSTR(string, start, no of ch.) LOWER UPPER Select substr(prob_descr, 0, 10) ……… String functions are used to carry out string manipulation Prob_descr = “I am unable to log in…” 33

DATE FUNCTIONS ADD_MONTHS(1/1/15, 5) = 6/1/15 MONTHS_BETWEEN (sysdate, hiredate) NEXT_DAY(hiredate, ‘Friday’) TO_DATE(string, picture) TO_DATE(“12/09/14”, ‘DY th MM, YYYY’) = 9 th DEC, 2014 Next_day(2/20/14, ‘Friday’) = 2/21/14 Date functions are used to carry out date arithmetic 34

SIMPLE RETRIEVALS EMP. e_ssn e_name e_title SELECT e_name FROM EMP WHERE e_title = ‘analyst’; Select employees who are analysts 35

EMPLOYEE SIMPLE RETRIEVALS.. e_ssne_namee_titlee_salary Smithdeveloper$35, Johnsonanalyst$27, Weintraubdeveloper$60, Dicksonmanager$64, Ferrelanalyst$47, Raoanalyst$71, McDonaldmanager $85,000 36

SIMPLE RETRIEVALS.. SELECT e_name FROM EMP WHERE e_name like ‘%son’ Select employees whose name ends with ‘son’ EMP. e_ssn e_name e_title 37

SIMPLE RETRIEVALS.. SELECT e_name FROM EMP WHERE e_name not like ‘a%’ Select employees whose name does not begin with ‘a’ EMP. e_ssn e_name e_title 38

RETRIEVALS WITH AGGREGATES.. SELECT COUNT(e_name) FROM EMP WHERE e_title = ‘developer’ Count the number of developers EMP. e_ssn e_name e_title 39

SELECT “Average Salary=“, Avg(e_salary) From EMP Where e_title = ‘developer’ or e_title = ‘analyst’ ; EMP. e_ssn e_name e_title e_salary RETRIEVALS WITH AGGREGATES.. What does this query do? 40

RETRIEVALS WITH EXPRESSIONS.. List employees and their witholdings (calculated as 8% of salary). EMP. e_ssn e_name e_title e_salary 41 SELECT e_name, e_salary * 0.08 AS Withholdings FROM EMP

RETRIEVALS WITH GROUP BY.. SELECT e_title, COUNT(e_name) FROM EMP GROUP BY e_title List all job titles and the number of emps in each EMP. e_ssn e_name e_title 42

GROUP BY.. EMPLOYEE 43 e_ssne_namee_titlee_salary Smithdeveloper$35, Johnsonanalyst$27, Weintraubdeveloper$60, Dicksonmanager$64, Ferrelanalyst$47, Raoanalyst$71, McDonaldmanager $85,000

RETRIEVALS WITH HAVING.. List the number of employees in each job category with salary > $50,000 SELECT “Number of: “, e_title, “=“, COUNT(e_name) FROM EMP GROUP BY e_title HAVING e_salary > EMP. e_ssn e_name e_title e_salary 44

RETRIEVALS WITH HAVING.. EMP. 45 e_ssne_namee_titlee_salary Smithdeveloper$35, Johnsonanalyst$27, Weintraubdeveloper$60, Dicksonmanager$64, Ferrelanalyst$47, Raoanalyst$71, McDonaldmanager $85,000

RETRIEVAL FROM MULTIPLE TABLES Sharing of information a key concept Normalization process leads to multiple tables When data is retrieved from > 1 table, need to link tables together This is done by equating FK values with PK values for each set of tables that need to be linked Emp. emp#, emp name, dept# Dept. dept#, dept name, mgr 46

RETRIEVAL FROM MULTIPLE TABLES Dept. d_name d_no d_mgr_ssn d_phone SELECT Emp.e_name, Dept.d_name FROM EMP, dept. WHERE EMP.e_ssn = dept.d_mgr_ssn EMP. e_ssn e_name e_title 47

RETRIEVAL FROM MULTIPLE TABLES.. DEPARTMENT EMPLOYEE d_named_nod_mgr_ssnd_phone Manugistics IMS Pilot InfoSec e_ssne_namee_titlee_salary Smithdeveloper$35, Johnsonanalyst$27, Weintraubdeveloper$60, Dicksonmanager$64, Ferrelanalyst$47, Raoanalyst$71, McDonaldmanager $85,000

DISCUSSION Write SQL queries for the following: 1. Create Emp table with E_SSN, E_Name, E_title as attr. -- assume data types. 2. Add E_salary to the Employee table. 3. Create an index, “Ti_ndx” on E_title. 4. Insert Bob White with SS# as an analyst 5. List employees and job titles in order of title. 6. List employees other than developers. 7. Create a view “hi_flier” listing developers with salary > $100K. 8. Count the #. of employees who are managers. 49

50