1 Announcements Read 6.7 – 6.10 for Friday Homework 6, due Friday 10/29 Research paper –List of sources - due 10/29 Department Seminar –The Role of Experimentation.

Slides:



Advertisements
Similar presentations
Advanced SQL (part 1) CS263 Lecture 7.
Advertisements

TURKISH STATISTICAL INSTITUTE 1 /34 SQL FUNDEMANTALS (Muscat, Oman)
1 Constraints, Triggers and Active Databases Chapter 9.
Virtual training week 4 structured query language (SQL)
Database Systems: Design, Implementation, and Management Tenth Edition
Introduction to Structured Query Language (SQL)
SQL. Components of SQL Data definition language (DDL) –To create database structures –To enforce constraints etc. Data manipulation language (DML) –To.
A Guide to SQL, Seventh Edition. Objectives Create a new table from an existing table Change data using the UPDATE command Add new data using the INSERT.
Introduction to Structured Query Language (SQL)
Chapter 3: Using SQL Queries to Insert, Update, Delete, and View Data
Introduction to Structured Query Language (SQL)
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 7 Introduction to Structured Query Language (SQL)
Concepts of Database Management Sixth Edition
©Silberschatz, Korth and Sudarshan3.1Database System Concepts - 6 th Edition SQL Schema Changes and table updates instructor teaches.
Introduction to SQL J.-S. Chou Assistant Professor.
PL / SQL P rocedural L anguage / S tructured Q uery L anguage Chapter 7 in Lab Reference.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 3: Introduction.
15 Structured Query Language (SQL). 2 Objectives After completing this section, you should be able to: Understand Structured Query Language (SQL) and.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor Ms. Arwa.
ITBIS373 Database Development
Announcements Read 6.7 – 6.10 for Wednesday Homework 6, due Friday 10/29 Project Step 4, due today Research paper –List of sources - due 10/29.
BACS--485 SQL 11 BACS 485 Structured Query Language.
1 Single Table Queries. 2 Objectives  SELECT, WHERE  AND / OR / NOT conditions  Computed columns  LIKE, IN, BETWEEN operators  ORDER BY, GROUP BY,
1 TAC2000/ Protocol Engineering and Application Research Laboratory (PEARL) Structured Query Language Introduction to SQL Structured Query Language.
SQL (DDL & DML Commands)
Wednesday, January 14,  Proposed by E.F.Codd in his 1970 paper  Used in System R, IBM’s research relational database in early 1970s-D.D. Chamberlin.
SQL SQL Server : Overview SQL : Overview Types of SQL Database : Creation Tables : Creation & Manipulation Data : Creation & Manipulation Data : Retrieving.
Using Special Operators (LIKE and IN)
Concepts of Database Management Seventh Edition
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
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.
Topic 1: Introduction to SQL. SQL stands for Structured Query Language. SQL is a standard computer language for accessing and manipulating databases SQL.
BACS 287 Structured Query Language 1. BACS 287 Visual Basic Table Access Visual Basic provides 2 mechanisms to access data in tables: – Record-at-a-time.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
Database Management COP4540, SCS, FIU Structured Query Language (Chapter 8)
Advanced SQL: Triggers & Assertions
Announcements Reading for Monday –4.6 Homework 3 – Due 9/29.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Concepts of Database Management Seventh Edition Chapter 3 The Relational Model 2: SQL.
 CS 405G: Introduction to Database Systems Lecture 6: Relational Algebra Instructor: Chen Qian.
CMPT 258 Database Systems The Relationship Model (Chapter 3)
SqlExam1Review.ppt EXAM - 1. SQL stands for -- Structured Query Language Putting a manual database on a computer ensures? Data is more current Data is.
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
1 Announcements Reading for next week: Chapter 4 Your first homework will be assigned as soon as your database accounts have been set up.  Expect an .
A Guide to SQL, Eighth Edition Chapter Six Updating Data.
Relational Database Management System(RDBMS) Structured Query Language(SQL)
A Guide to MySQL 6. 2 Objectives Create a new table from an existing table Change data using the UPDATE command Add new data using the INSERT command.
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.
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
 CONACT UC:  Magnific training   
Copyright © 2004 Pearson Education, Inc.. Chapter 24 Enhanced Data Models for Advanced Applications.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
SQL Query Getting to the data ……..
Structured Query Language
Tables and Triggers.
CS 480: Database Systems Lecture 13 February 13,2013.
Active Database Concepts
SQL: Advanced Options, Updates and Views Lecturer: Dr Pavle Mogin
Chapter # 7 Introduction to Structured Query Language (SQL) Part II.
Database systems Lecture 3 – SQL + CRUD
Chapter 7 Introduction to Structured Query Language (SQL)
Contents Preface I Introduction Lesson Objectives I-2
Chapter 8 Advanced SQL.
CSC 453 Database Systems Lecture
Structured Query Language – The Basics
Presentation transcript:

1 Announcements Read 6.7 – 6.10 for Friday Homework 6, due Friday 10/29 Research paper –List of sources - due 10/29 Department Seminar –The Role of Experimentation in Computer Science by Marvin Zelkowitz today 3:00 pm in MH 040

2 SQL Database Manipulation Language Lecture 16

3 DELETE Operator DELETE FROMtablename WHEREpredicate; Used for deleting existing records from database Can delete zero, one, many, or all records Operation may not work if referential integrity would be lost Can use a sub-query to target records to be deleted If you delete all records from a table, its structure still remains, and you can insert into it later

4 SELECT Statement SELECT [DISTINCT] col-name [AS newname], [,col-name..]… FROMtable-name [alias] [,table-name]… [WHEREpredicate] [GROUP BY col-name [,col-name]…[HAVING predicate] or [ORDER BY col-name [,col-name]…]; Powerful command – equivalent to relational algebra’s SELECT, PROJECT, JOIN and more… Can be applied to one or more tables or views Can display one or more columns (renaming if desired) Predicate is optional, and may include usual operators and connectives Can put results in order by one or more columns Can also group together records with the same value for column(s) Can also use predefined functions

5 Example – Simple Retrieval with Condition Get names, IDs, and number of credits of all Math majors

6 Example – Use of Asterisk Notation for “all columns” Get all information about CSC Faculty

7 Example – Retrieval without Condition Get the course number of courses in which students are enrolled Eliminate duplicates

8 Example – Use of “ORDERED BY” and “AS” Get names and IDs of all Faculty members, arranged in alphabetical order by name. Call the resulting columns FacultyName and FacultyNumber

9 Example – Use of Multiple Conditions Get names of all math majors who have more than 30 credits standard comparison operators: =, <>,, >= standard logical operators: AND, OR, and NOT

10 Example – Natural Join Find IDS and names of all students taking ART103A

11 Example – Natural Join with Ordering Find stuId and grade of all students taking any course taught by the Faculty member whose facId is F110. Arrange in order by stuId.

12 Example – Use of Aliases Get a list of all courses that meet in the same room, with their schedules and room numbers

13 Example – Natural Join of Three Tables Find course numbers and the names and majors of all students enrolled in the courses taught by Faculty member F110

14 Example – Join without Equality Condition Find all combinations of students and Faculty where the student’s major is different from the Faculty member’s department

15 Examples – Using a subquery with Equality Find the numbers of all the courses taught by Byrne of the math department

16 Example – Subquery Using ‘IN’ Find the names and IDS of all Faculty members who teach a class in Room H221

17 Example – Nest Subqueries Get an alphabetical list of names and IDs of all students in any class taught by F110

18 Example – Using EXISTS Find the names of all students enrolled in CSC201A

19 Example – Query Using NOT EXIST Find the names of all students who are not enrolled in CSC201A

20 Example – Query Using UNION Get IDs of all Faculty who are assigned to the history department or who teach in Room H221

21 Example – Using Functions Find the total number of students enrolled in ART103A COUNTreturns the number of values in the column SUMreturns the sum of the values in the column AVGreturns the mean of the values in the column MAXreturns the largest value in the column MINreturns the smallest value in the column

22 Example – Using Functions Find the number of departments that have Faculty in them. Find the average number of credits student have.

23 Examples – Using Functions Find the student with the largest number of credits.

24 Examples – Using Functions Find the ID of the student(s) with the highest grade in any course Find names and IDs of students who have less than the average number of credits

25 Example – Using an Expression and a String Constant Assuming each course is three credits list, for each student, the number of courses he or she has completed

26 Example – Use of GROUP BY For each course, show the number of students enrolled GROUP BY allows us to put together all records with a single value in the specified field

27 Example – Use of HAVING Find all courses in which fewer than three students are enrolled HAVING is used to determine which groups have a quality, just as WHERE is used with tuples to determine which records have some quality.

28 Example – Use of LIKE Get details of all MTH courses % The percent character stands for any sequence of characters of any length >= 0 _ The underscore character stands for any single character.

29 Example – Use of NULL Find the stuId and classNumber of all students whose grades in that course are missing

30 Example – Inserting multiple records Create and fill a new table that shows each course and the number of students enrolled in it

31 Example – Updating with a Query Change the room to B220 for all courses taught by Tanaka

32 Example – Delete with a subquery Erase all enrollment records for Owen McCarthy

33 Active Databases-Constraints DBMS monitors database to prevent illegal states, using constraints and triggers Constraints –can be specified when table is created, or later –IMMEDIATE MODE: constraint checked when each INSERT, DELETE, UPDATE is performed –DEFERRED MODE: postpones constraint checking to end of transaction – write SET CONSTRAINT name DEFERRED –Can use DISABLE CONSTRAINT name, and later ENABLE CONSTRAINT name

34 Triggers More flexible than constraints Must have three parts: –event, some change made to the database –condition, a logical predicate (can be empty) –action, a procedure done when the event occurs and the condition is true, also called firing the trigger Can be fired before or after insert, update, delete Trigger can access values it needs as :OLD. and :NEW. –prefix :OLD refers to values in a tuple deleted or to the values replaced in an update –prefix :NEW refers to the values in a tuple just inserted or to the new values in an update. Can specify whether trigger fires just once for each triggering statement, or for each row that is changed by the statement

35 Trigger Syntax CREATE OR REPLACE TRIGGER trigger_name [BEFORE/AFTER] [INSERT/UPDATE/DELETE] ON table_name [FOR EACH ROW] [WHEN condition] BEGIN trigger body END; Can disable triggers using ALTER TRIGGER name DISABLE; Later write ALTER TRIGGER name ENABLE; Can drop triggers using DROP TRIGGER name;

36 Trigger for Student Enrolling in a Class CREATE TRIGGER ADDENROLL AFTER INSERT ON RevEnroll FOR EACH ROW BEGIN UPDATE RevClass SET currentEnroll = currentEnroll + 1 WHERE RevClass.classNumber = :NEW.classNumber; END;

37 Trigger for Student Dropping a Class CREATE TRIGGER DROPENROLL AFTER DELETE ON RevEnroll FOR EACH ROW BEGIN UPDATE RevClass SET currentEnroll = currentEnroll – 1 WHERE RevClass.classNumber = :OLD.classNumber; END;

38 Trigger for Student Changing Classes CREATE TRIGGER SWITCHENROLL AFTER UPDATE OF classNumber ON RevEnroll FOR EACH ROW BEGIN UPDATE RevClass SET currentEnroll = currentEnroll + 1 WHERE RevClass.classNumber = :NEW.classNumber; UPDATE RevClass SET currentEnroll = currentEnroll – 1 WHERE RevClass.classNumber = :OLD.classNumber; END;

39 Trigger for Checking for Over- enrollment Before Enrolling Student CREATE TRIGGER ENROLL_REQUEST BEFORE INSERT OR UPDATE OF classNumber ON RevEnroll FOR EACH ROW DECLARE numStu number; maxStu number; BEGIN setmaxEnroll into maxStu fromRevClass whereRevClass.classNumber = :NEW.classNumber; setcurrentEnroll + 1 into numStu fromRevClass whereRevClass.classNumber = :NEW.classNumber; if numStu > maxStu RequestClosedCoursePermission(:NEW.stuId, :NEW.classNumber, RevClass.currentEnroll, RevClass.maxEnroll); end if; END;

40 Example Trigger Prevent students from enrolling in two classes that meet at the same time

41 Ending Transactions COMMIT makes permanent changes in the current transaction ROLLBACK undoes changes made by the current transaction