1 © Prentice Hall, 2002 Chapter 7: SQL Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.

Slides:



Advertisements
Similar presentations
Chapter 4 5 6_ SQL SQL Is: Structured Query Language
Advertisements

DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-1 David M. Kroenke Database Processing Chapter 2 Structured Query Language.
Chapter 7: Introduction to SQL
Introduction to Structured Query Language (SQL)
1 SQL-Structured Query Language SQL is the most common language used for creating and querying relational databases. Many users can access a database applications.
1 IS 4420 Database Fundamentals Chapter 7: Introduction to SQL Leon Chen.
Introduction to Structured Query Language (SQL)
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.
Oracle Data Definition Language (DDL)
Chapter 6: Introduction to SQL
Database Technical Session By: Prof. Adarsh Patel.
Database System SQL November 1st, 2009 Software Park, Bangkok Thailand Pree Thiengburanathum College of Arts and Media Chiang Mai University.
1 Chapter 7 Introduction to SQL. 2 Objectives Definition of terms Interpret history and role of SQL Define a database using SQL data definition language.
© 2007 by Prentice Hall (Hoffer, Prescott & McFadden) 1 Introduction to SQL.
CHAPTER 6: INTRODUCTION TO SQL © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition Jeffrey A. Hoffer,
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 UNIT 6: Chapter 7: Introduction to SQL Modern Database Management 9 th Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 6: Introduction to SQL Modern Database Management 10 th Edition Jeffrey A. Hoffer,
Guofeng Cao CyberInfrastructure and Geospatial Information Laboratory Department of Geography National Center for Supercomputing Applications (NCSA) University.
© 2007 by Prentice Hall 1 Chapter 7: Introduction to SQL Modern Database Management 8 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
SQL SQL Server : Overview SQL : Overview Types of SQL Database : Creation Tables : Creation & Manipulation Data : Creation & Manipulation Data : Retrieving.
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi.
1 SQL Tarek El-Shishtawy Professor Ass. Of Computer Engineering.
Dr. Chen, Data Base Management Chapter 6: Introduction to SQL Jason C. H. Chen, Ph.D. Professor of MIS School of Business Administration Gonzaga University.
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 6: Introduction to SQL Modern Database Management 11 th Edition Jeffrey A.
CHAPTER 6: INTRODUCTION TO SQL Copyright © 2014 Pearson Education, Inc. 1 Essentials of Database Management Jeffrey A. Hoffer, Heikki Topi, V. Ramesh.
1 © Prentice Hall, 2002 Chapter 8: Advanced SQL Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 7 Introduction to Structured.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 7 (Part a): Introduction to SQL Modern Database Management 9 th Edition Jeffrey A.
Lec 3- B Database Integrity 1. Overview Define a database using SQL data definition language Work with Views Write single table queries Establish referential.
1 © Prentice Hall, 2002 Chapter 5: Logical Database Design and the Relational Model Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
© 2005 by Prentice Hall 1 Chapter 7: Introduction to SQL Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Chapter 7: Introduction to SQL
SQL Fundamentals  SQL: Structured Query Language is a simple and powerful language used to create, access, and manipulate data and structure in the database.
CHAPTER 6: INTRODUCTION TO SQL © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition Jeffrey A. Hoffer,
© 2011 Pearson Education 1 Chapter 6: Basic SQL Modern Database Management 10 th Edition, International Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Chapter 6: Introduction to SQL
Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi.
Week 8-9 SQL-1. SQL Components: DDL, DCL, & DML SQL is a very large and powerful language, but every type of SQL statement falls within one of three main.
SQL Overview Structured Query Language
1 © Prentice Hall, 2002 Chapter 7: SQL Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Relational Database Management System(RDBMS) Structured Query Language(SQL)
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 5 (Part a): Logical Database Design and the Relational Model Modern Database Management.
© 2007 by Prentice Hall (Hoffer, Prescott & McFadden) 1 Querying Single Tables with 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.
CS263 Information Modeling Course tutor: Tony Browne Some diagrams in these notes are small when printed 6.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
SQL: Structured Query Language It enables to create and operate on relational databases, which are sets of related information stored in tables. It is.
CSC314 DAY 8 Introduction to SQL 1. Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SQL OVERVIEW  Structured Query Language  The.
Lecture # 24 Introduction to SQL Muhammad Emran Database Systems.
1 Database Fundamentals Introduction to SQL. 2 SQL Overview Structured Query Language The standard for relational database management systems (RDBMS)
Copyright © 2016 Pearson Education, Inc. Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman, Heikki Topi CHAPTER 6: INTRODUCTION.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 7: Introduction to SQL Modern Database Management 9 th Edition Jeffrey A. Hoffer,
Copyright © 2016 Pearson Education, Inc. Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman, Heikki Topi CHAPTER 6: INTRODUCTION.
CHAPTER 6: INTRODUCTION TO SQL © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition Jeffrey A. Hoffer,
CSC314 DAY 9 Intermediate SQL 1. Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall USING AND DEFINING VIEWS  Views provide users controlled.
1 Introduction to SQL. 2 Objectives Definition of terms Definition of terms Discuss advantages of standardized SQL Discuss advantages of standardized.
SQL Query Getting to the data ……..
Introduction to SQL Karolina muszyńska
LIS569 – Database Systems Dr
CHAPTER 6: INTRODUCTION TO SQL
Chapter 6: Introduction to SQL
SQL-1 Week 8-9.
Session - 6 Sequence - 1 SQL: The Structured Query Language:
Contents Preface I Introduction Lesson Objectives I-2
SQL (Structured Query Language)
Presentation transcript:

1 © Prentice Hall, 2002 Chapter 7: SQL Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

Chapter 7 2 © Prentice Hall, 2002 SQL Is: Structured Query Language The standard for relational database management systems (RDBMS) SQL-92 Standard -- Purpose: – Specify syntax/semantics for data definition and manipulation – Define data structures & operation for design, access, control, and protect SQL database. – Enable portability of DB definition & app module – Specify minimal (level 1) and complete (level 2) standards – Allow for later growth/enhancement to standard (SQL- 92 does not handles referential integrity, transaction …)

Chapter 7 3 © Prentice Hall, 2002 Benefits of a Standardized Relational Language Reduced training costs (one language) Productivity Application portability Application longevity (remain long time) Reduced dependence on a single vendor Cross-system communication

Chapter 7 4 © Prentice Hall, 2002 SQL Environment Catalog – a set of schemas that constitute the description of a database Schema – The structure that contains descriptions of objects created by a user (base tables, views, constraints) Data Definition Language (DDL): – Commands that define a database, including creating, altering, and dropping tables and establishing constraints Data Manipulation Language (DML) – Commands that maintain and query a database Data Control Language (DCL) – Commands that control a database, including administering privileges and committing data. Grant access & transaction.

Chapter 7 5 © Prentice Hall, 2002 Figure 7-1: A simplified schematic of a typical SQL environment, as described by the SQL-92 standard

Chapter 7 6 © Prentice Hall, 2002 SQL Data types (from Oracle8) String types – CHAR(n) – fixed-length character data, n characters long Maximum length = 2000 bytes – VARCHAR2(n) – variable length character data, maximum 4000 bytes – LONG – variable-length character data, up to 4GB. Maximum 1 per table Numeric types – NUMBER(p,q) – general purpose numeric data type – INTEGER(p) – signed integer, p digits wide – FLOAT(p) – floating point in scientific notation with p binary digits precision Date/time type – DATE – fixed-length date/time in dd-mm-yy form

Chapter 7 7 © Prentice Hall, 2002 Figure 7-4: DDL, DML, DCL, and the database development process

Chapter 7 8 © Prentice Hall, 2002 SQL Database Definition Data Definition Language (DDL) Major CREATE statements: – CREATE SCHEMA – defines a portion of the database owned by a particular user – CREATE TABLE – defines a table and its columns – CREATE VIEW – defines a logical table from one or more views Other CREATE statements: CHARACTER SET, COLLATION, TRANSLATION, ASSERTION, DOMAIN

Chapter 7 9 © Prentice Hall, 2002 Table Creation Figure 7-5: General syntax for CREATE TABLE Steps in table creation: 1.Identify data types for attributes 2.Identify columns that can and cannot be null 3.Identify columns that must be unique (candidate keys) 4.Identify primary key- foreign key mates 5.Determine default values 6.Identify constraints on columns (domain specifications) 7.Create the table and associated indexes

Chapter 7 10 © Prentice Hall, 2002 Figure 7-3: Sample Pine Valley Furniture data customers orders order lines products

Chapter 7 11 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture

Chapter 7 12 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Defining attributes and their data types

Chapter 7 13 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Non-nullable specifications Note: primary keys should not be null

Chapter 7 14 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Identifying primary keys This is a composite primary key

Chapter 7 15 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Identifying foreign keys and establishing relationships

Chapter 7 16 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Default values and domain constraints

Chapter 7 17 © Prentice Hall, 2002 Figure 7-6: SQL database definition commands for Pine Valley Furniture Overall table definitions

Chapter 7 18 © Prentice Hall, 2002 Using and Defining Views Views provide users controlled access to tables Advantages of views: – Simplify query commands – Provide data security – Enhance programming productivity CREATE VIEW command

Chapter 7 19 © Prentice Hall, 2002 View Terminology Base Table – A table containing the raw data Dynamic View – A “virtual table” created dynamically upon request by a user. – No data actually stored; instead data from base table made available to user – Based on SQL SELECT statement on base tables or other views Materialized View – Copy or replication of data – Data actually stored – Must be refreshed periodically to match the corresponding base tables

Chapter 7 20 © Prentice Hall, 2002 Sample CREATE VIEW CREATE VIEW EXPENSIVE_STUFF_V AS SELECT PRODUCT_ID, PRODUCT_NAME, UNIT_PRICE FROM PRODUCT_T WHERE UNIT_PRICE >300 WITH CHECK_OPTION; View has a name View is based on a SELECT statement CHECK_OPTION works only for updateable views and prevents updates that would create rows not included in the view

Chapter 7 21 © Prentice Hall, 2002 Table 7-2: Pros and Cons of Using Dynamic Views

Chapter 7 22 © Prentice Hall, 2002 Data Integrity Controls Referential integrity – constraint that ensures that foreign key values of a table must match primary key values of a related table in 1:M relationships Restricting: – Deletes of primary records – Updates of primary records – Inserts of dependent records

Chapter 7 23 © Prentice Hall, 2002 Figure 7-7: Ensuring data integrity through updates

Chapter 7 24 © Prentice Hall, 2002 Changing and Removing Tables ALTER TABLE statement allows you to change column specifications: – ALTER TABLE CUSTOMER_T ADD (TYPE VARCHAR(2)) DROP TABLE statement allows you to remove tables from your schema: – DROP TABLE CUSTOMER_T

Chapter 7 25 © Prentice Hall, 2002 Schema Definition Control processing/storage efficiency: – Choice of indexes – File organizations for base tables – File organizations for indexes – Data clustering – Statistics maintenance Creating indexes – Speed up random/sequential access to base table data – Example CREATE INDEX NAME_IDX ON CUSTOMER_T(CUSTOMER_NAME) This makes an index for the CUSTOMER_NAME field of the CUSTOMER_T table

Chapter 7 26 © Prentice Hall, 2002 Insert Statement Adds data to a table Inserting into a table – INSERT INTO CUSTOMER_T VALUES (001, ‘CONTEMPORARY Casuals’, 1355 S. Himes Blvd.’, ‘Gainesville’, ‘FL’, 32601); Inserting a record that has some null attributes requires identifying the fields that actually get data – INSERT INTO PRODUCT_T (PRODUCT_ID, PRODUCT_DESCRIPTION,PRODUCT_FINISH, STANDARD_PRICE, PRODUCT_ON_HAND) VALUES (1, ‘End Table’, ‘Cherry’, 175, 8); Inserting from another table – INSERT INTO CA_CUSTOMER_T SELECT * FROM CUSTOMER_T WHERE STATE = ‘CA’;

Chapter 7 27 © Prentice Hall, 2002 Delete Statement Removes rows from a table Delete certain rows – DELETE FROM CUSTOMER_T WHERE STATE = ‘HI’; Delete all rows – DELETE FROM CUSTOMER_T;

Chapter 7 28 © Prentice Hall, 2002 Update Statement Modifies data in existing rows UPDATE PRODUCT_T SET UNIT_PRICE = 775 WHERE PRODUCT_ID = 7;

Chapter 7 29 © Prentice Hall, 2002 The SELECT Statement Used for queries on single or multiple tables Clauses of the SELECT statement: – SELECT List the columns (and expressions) that should be returned from the query – FROM Indicate the table(s) or view(s) from which data will be obtained – WHERE Indicate the conditions under which a row will be included in the result – GROUP BY Indicate categorization of results – HAVING Indicate the conditions under which a category (group) will be included – ORDER BY Sorts the result according to specified criteria

Chapter 7 30 © Prentice Hall, 2002 Figure 7-8: SQL statement processing order (adapted from van der Lans, p.100)

Chapter 7 31 © Prentice Hall, 2002 SELECT Example Find products with standard price less than $275 SELECT PRODUCT_NAME, STANDARD_PRICE FROM PRODUCT_V WHERE STANDARD_PRICE < 275 Table 7-3: Comparison Operators in SQL

Chapter 7 32 © Prentice Hall, 2002 SELECT Example with ALIAS Alias is an alternative column or table name SELECT CUST.CUSTOMER AS NAME, CUST.CUSTOMER_ADDRESS FROM CUSTOMER_V CUST WHERE NAME = ‘Home Furnishings’;

Chapter 7 33 © Prentice Hall, 2002 SELECT Example Using a Function Using the COUNT aggregate function to find totals SELECT COUNT(*) FROM ORDER_LINE_V WHERE ORDER_ID = 1004; Note: with aggregate functions you can’t have single- valued columns included in the SELECT clause

Chapter 7 34 © Prentice Hall, 2002 SELECT Example – Boolean Operators AND, OR, and NOT Operators for customizing conditions in WHERE clause SELECT PRODUCT_DESCRIPTION, PRODUCT_FINISH, STANDARD_PRICE FROM PRODUCT_V WHERE (PRODUCT_DESCRIPTION LIKE ‘%Desk’ OR PRODUCT_DESCRIPTION LIKE ‘%Table’) AND UNIT_PRICE > 300; Note: the LIKE operator allows you to compare strings using wildcards. For example, the % wildcard in ‘%Desk’ indicates that all strings that have any number of characters preceding the word “Desk” will be allowed

Chapter 7 35 © Prentice Hall, 2002 SELECT Example – Sorting Results with the ORDER BY Clause Sort the results first by STATE, and within a state by CUSTOMER_NAME SELECT CUSTOMER_NAME, CITY, STATE FROM CUSTOMER_V WHERE STATE IN (‘FL’, ‘TX’, ‘CA’, ‘HI’) ORDER BY STATE, CUSTOMER_NAME; Note: the IN operator in this example allows you to include rows whose STATE value is either FL, TX, CA, or HI. It is more efficient than separate OR conditions

Chapter 7 36 © Prentice Hall, 2002 SELECT Example – Categorizing Results Using the GROUP BY Clause For use with aggregate functions – Scalar aggregate: single value returned from SQL query with aggregate function – Vector aggregate: multiple values returned from SQL query with aggregate function (via GROUP BY) SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE; Note: you can use single-value fields with aggregate functions if they are included in the GROUP BY clause

Chapter 7 37 © Prentice Hall, 2002 SELECT Example – Qualifying Results by Categories Using the HAVING Clause For use with GROUP BY SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE HAVING COUNT(STATE) > 1; Like a WHERE clause, but it operates on groups (categories), not on individual rows. Here, only those groups with total numbers greater than 1 will be included in final result