Presentation is loading. Please wait.

Presentation is loading. Please wait.

3 3 Chapter 3 Structured Query Language (SQL) Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.

Similar presentations


Presentation on theme: "3 3 Chapter 3 Structured Query Language (SQL) Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel."— Presentation transcript:

1 3 3 Chapter 3 Structured Query Language (SQL) Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel

2 3 3 Introduction to SQL 4SQL meets ideal database language requirements: u SQL coverage fits into two categories: l Data definition l Data manipulation u SQL is relatively easy to learn. u ANSI prescribes a standard SQL.

3 3 3 Data Definition Commands 4The Database Model u Simple Database -- PRODUCT and VENDOR tables l Each product is supplied by only a single vendor. l A vendor may supply many products. Figure 3.1

4 3 3 Data Definition Commands 4The Tables and Their Components u The VENDOR table contains vendors who are not referenced in the PRODUCT table. PRODUCT is optional to VENDOR. u Existing V_CODE values in the PRODUCT table must have a match in the VENDOR table. u A few products are supplied factory-direct, a few are made in-house, and a few may have been bought in a special warehouse sale. That is, a product is not necessarily supplied by a vendor. VENDOR is optional to PRODUCT.

5 3 3

6 3 3 Data Definition Commands 4Creating the Database Structure CREATE SCHEMA AUTHORIZATION ;  Example: CREATE SCHEMA AUTHORIZATION JONES; CREATE DATABASE ;  Example: CREATE DATABASE CH3;

7 3 3 A Data Dictionary for the CH3 Database Table 3.1

8 3 3 Some Common SQL Data Types NumericNUMBER(L,D) INTEGER SMALLINT DECIMAL(L,D) CharacterCHAR(L) VARCHAR(L) DateDATE Data TypeFormat

9 3 3 Data Definition Commands 4Creating Table Structures CREATE TABLE ( );

10 3 3 Data Definition Commands CREATE TABLE VENDOR (V_CODEFCHAR(5)NOT NULLUNIQUE, V_NAMEVCHAR(35)NOT NULL, V_CONTACTVCHAR(15)NOT NULL, V_AREACODEFCHAR(3)NOT NULL, V_PHONEFCHAR(3)NOT NULL, V_STATEFCHAR(2)NOT NULL, V_ORDERFCHAR(1)NOT NULL, PRIMARY KEY (V_CODE));

11 3 3 Data Definition Commands CREATE TABLE PRODUCT( P_CODEVCHAR(10)NOT NULLUNIQUE, P_DESCRIPTVCHAR(35)NOT NULL, P_INDATEDATENOT NULL, P_ONHANDSMALLINTNOT NULL, P_MINSMALLINTNOT NULL, P_PRICEDECIMAL(8,2)NOT NULL, P_DISCOUNTDECIMAL(4,1)NOT NULL, V_CODESMALLINT, PRIMARY KEY (P_CODE), FOREIGN KEY (V_CODE) REFERENCES VENDOR ON DELETE RESTRICT ON UPDATE CASCADE);

12 3 3 Data Definition Commands 4SQL Integrity Constraints u Entity Integrity l PRIMARY KEY l NOT NULL and UNIQUE u Referential Integrity l FOREIGN KEY l ON DELETE l ON UPDATE

13 3 3 SQL Command Coverage Table 3.3

14 3 3 Basic Data Management 4Data Entry INSERT INTO VALUES (attribute 1 value, attribute 2 value, … etc.); INSERT INTO VENDOR VALUES(‘21225, ’Bryson, Inc.’, ’Smithson’, ’615’,’223-3234’, ’TN’, ’Y’); INSERT INTO PRODUCT VALUES(‘11 QER/31’, ’Power painter, 15 psi., 3-nozzle’, ’07/02/1999’, 8.5, 109.99, 0.00, 25595);

15 3 3 Figure 3.3 A Data View and Entry Screen

16 3 3 Basic Data Management 4Saving the Table Contents COMMIT ; COMMIT PRODUCT; 4Listing the Table Contents SELECT * FROM PRODUCT; SELECT P_CODE, P_DESCRIPT, P_INDATE, P_ONHAND, P_MIN, P-PRICE, P_DISCOUNT, V_CODE FROM PRODUCT;

17 3 3 Figure 3.4 The Contents of the PRODUCT Table

18 3 3 Basic Data Management 4Making a Correction UPDATE PRODUCT SET P_INDATE = ‘12/11/96’ WHERE P_CODE = ‘13-Q2/P2’; UPDATE PRODUCT SET P_INDATE = ‘12/11/96’, P_PRICE = 15.99, P_MIN=10 WHERE P_CODE = ‘13-Q2/P2’; 4Restoring the Table Contents ROLLBACK

19 3 3 Basic Data Management 4Deleting Table Rows DELETE FROM PRODUCT WHERE P_CODE = ‘2238/QPD’; DELETE FROM PRODUCT WHERE P_MIN = 5;

20 3 3 Queries 4Partial Listing of Table Contents SELECT FROM WHERE ; SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE V_CODE = 21344; Figure 3.5

21 3 3 Figure 3.6 The Microsoft Access QBE and Its SQL

22 3 3 Mathematical Operators Table 3.4 Queries

23 3 3 SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE V_CODE <> 21344; Figure 3.7 Queries

24 3 3 SELECT P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE FROM PRODUCT WHERE P_PRICE <= 10; Figure 3.8 Queries

25 3 3 4Using Mathematical Operators on Character Attributes SELECT P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE FROM PRODUCT WHERE P_CODE < ‘1558-QWI’; Figure 3.9 Queries

26 3 3 4Using Mathematical Operators on Dates SELECT P_DESCRIPT, P_ONHAND, P_MIN, P_PRICE, P_INDATE FROM PRODUCT WHERE P_INDATE >= ‘08/15/1999’; Figure 3.10 Queries

27 3 3 4Logical Operators: AND, OR, and NOT SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE V_CODE = 21344 OR V_CODE = 24288; Figure 3.11 Queries

28 3 3 SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE P_PRICE ‘07/15/1999’; Figure 3.12 Queries

29 3 3 SELECT P_DESCRIPT, P_INDATE, P_PRICE, V_CODE FROM PRODUCT WHERE (P_PRICE ‘07/15/1999’) OR V_CODE = 24288; Figure 3.13 Queries

30 3 3 4Special Operators u BETWEEN - used to define range limits. u IS NULL - used to check whether an attribute value is null u LIKE - used to check for similar character strings. u IN - used to check whether an attribute value matches a value contained within a (sub)set of listed values. u EXISTS - used to check whether an attribute has a value. In effect, EXISTS is the opposite of IS NULL.

31 3 3 4Special Operators BETWEEN is used to define range limits. SELECT * FROM PRODUCT WHERE P_PRICE BETWEEN 50.00 AND 100.00; SELECT * FROM PRODUCT WHERE P_PRICE > 50.00 AND P_PRICE < 100.00; Queries

32 3 3 4Special Operators IS NULL is used to check whether an attribute value is null. SELECT P_CODE, P_DESCRIPT FROM PRODUCT WHERE P_MIN IS NULL; SELECT P_CODE, P_DESCRIPT FROM PRODUCT WHERE P_INDATE IS NULL; Queries

33 3 3 4Special Operators LIKE is used to check for similar character strings. SELECT * FROM VENDOR WHERE V_CONTACT LIKE ‘Smith%’; SELECT * FROM VENDOR WHERE V_CONTACT LIKE ‘SMITH%’; Queries

34 3 3 4Special Operators IN is used to check whether an attribute value matches a value contained within a (sub)set of listed values. SELECT * FROM PRODUCT WHERE V_CODE IN (21344, 24288); EXISTS is used to check whether an attribute has value. DELETE FROM PRODUCT WHERE P_CODE EXISTS; SELECT * FROM PRODUCT WHERE V_CODE EXISTS; Queries

35 3 3 Advanced Data Management Commands 4Changing Table Structures ALTER TABLE MODIFY ( ); ALTER TABLE ADD ( );

36 3 3 4Changing a Column’s Data Type ALTER TABLE PRODUCT MODIFY (V_CODE CHAR(5)); 4Changing Attribute Characteristics ALTER TABLE PRODUCT MODIFY (P_PRICE DECIMAL(9,2)); 4Adding a New Column to the Table ALTER TABLE PRODUCT ADD (P_SALECODE CHAR(1)); Advanced Data Management Commands

37 3 3 UPDATE PRODUCT SET P_SALECODE = ‘2’ WHERE P_CODE = ‘1546-QQ2’; Figure 3.14 Selected PRODUCT Table Attributes: Multiple Data Entry Advanced Data Management Commands

38 3 3 UPDATE PRODUCT SET P_SALECODE = ‘1’ WHERE P_CODE IN (‘2232/QWE’, ‘2232/QTY’); Figure 3.15 Selected PRODUCT Table Attributes: Multiple Data Entry Advanced Data Management Commands

39 3 3 UPDATE PRODUCT SET P_SALECODE = ‘2’ WHERE P_INDATE < ‘07/10/1999’; UPDATE PRODUCT SET P_SALECODE = ‘1’ WHERE P_INDATE >= ‘08/15/1999’ AND P_INDATE < ‘08/20/1999’; Advanced Data Management Commands

40 3 3 Selected PRODUCT Table Attributes: Multiple Update Effect Figure 3.16 Advanced Data Management Commands

41 3 3 The Arithmetic Operators Table 3.5

42 3 3 4Copying Parts of Tables CREATE TABLE PART PART_CODECHAR(8) NOT NULL UNIQUE, PART_DESCRIPTCHAR(35), PART_PRICEDECIMAL(8,2), PRIMARY KEY(PART_CODE)); INSERT INTO PART (PART_CODE, PART_DESCRIPT, PART_PRICE) SELECT P_CODE, P_DESCRIPT, P_PRICE FROM PRODUCT; Advanced Data Management Commands

43 3 3 The Part Attributes Copied from the PRODUCT Table Figure 3.17

44 3 3 4Deleting a Table from the Database u DROP TABLE ; DROP TABLE PART; Advanced Data Management Commands

45 3 3 4Primary and Foreign Key Designation ALTER TABLE PRODUCT ADD PRIMARY KEY (P_CODE); ALTER TABLE PRODUCT ADD FOREIGN KEY (V_CODE) REFERENCES VENDOR; ALTER TABLE PRODUCT ADD PRIMARY KEY (P_CODE) ADD FOREIGN KEY (V_CODE) REFERENCES VENDOR; Advanced Data Management Commands


Download ppt "3 3 Chapter 3 Structured Query Language (SQL) Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel."

Similar presentations


Ads by Google