chap on derivative
Transcript of chap on derivative
![Page 1: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/1.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 1/42
1
IS 4420Database Fundamentals
Chapter 7:Introduction to SQL
Leon Chen
![Page 2: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/2.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 2/42
2
Systems DevelopmentLife Cycle
Project Identificationand Selection
Project Initiation
and Planning Analysis
Physical Design
Implementation
Maintenance
Logical Design
Enterprise modeling
Conceptual data modeling
Logical database design
Physical database designand definition
Database implementation
Database maintenance
DatabaseDevelopment Process
![Page 3: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/3.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 3/42
3
Part Four: Implementation
Chapter 7 – Introduction to SQLChapter 8 – Advanced SQLChapter 9 – Client/Server EnvironmentChapter 10 – Internet
Chapter 11 – Data Warehousing
![Page 4: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/4.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 4/42
4
Overview
Define a database using SQL datadefinition languageWork with ViewsWrite single table queriesEstablish referential integrity
![Page 5: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/5.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 5/42
5
SQL OverviewStructured Query LanguageThe standard for relational databasemanagement systems (RDBMS)SQL-92 and SQL-99 Standards – Purpose:
Specify syntax/semantics for data definition andmanipulationDefine data structuresEnable portabilitySpecify minimal (level 1) and complete (level 2)standards
Allow for later growth/enhancement to standard
![Page 6: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/6.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 6/42
6
![Page 7: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/7.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 7/42
7
SQL EnvironmentCatalog
A set of schemas that constitute the description of adatabase
SchemaThe structure that contains descriptions of objectscreated by a user (base tables, views, constraints)
Data Definition Language (DDL)Commands that define a database, including creating,altering, and dropping tables and establishingconstraints
Data Manipulation Language (DML)Commands that maintain and query a database
Data Control Language (DCL)Commands that control a database, includingadministering privileges and committing data
![Page 8: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/8.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 8/42
![Page 9: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/9.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 9/42
9
![Page 10: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/10.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 10/42
10
SQL Database DefinitionData Definition Language (DDL)Major CREATE statements:
CREATE SCHEMA – defines a portion of thedatabase owned by a particular userCREATE TABLE – defines a table and its columnsCREATE VIEW – defines a logical table from oneor more views
Other CREATE statements: CHARACTER SET,COLLATION, TRANSLATION, ASSERTION,DOMAIN
![Page 11: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/11.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 11/42
11
The following slides create tables forthis enterprise data model
![Page 12: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/12.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 12/42
![Page 13: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/13.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 13/42
13
Non-nullable specification
Identifying primary key
Primary keyscan never have
NULL values
Create PRODUCT table
![Page 14: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/14.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 14/42
14
Non-nullable specifications
Primary key
Some primary keys are composite – composed of multiple attributes
![Page 15: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/15.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 15/42
15
Default value
Domain constraint
Controlling the values in attributes
![Page 16: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/16.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 16/42
16
Primary key of parent table
Identifying foreign keys and establishing relationships
Foreign key ofdependent table
![Page 17: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/17.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 17/42
17
Data Integrity ControlsReferential integrity – constraint thatensures that foreign key values of atable must match primary key values of
a related table in 1:M relationshipsRestricting:Deletes of primary recordsUpdates of primary recordsInserts of dependent records
![Page 18: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/18.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 18/42
18
![Page 19: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/19.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 19/42
19
Using and Defining Views Views provide users controlled access to tables
Base Table – table containing the raw dataDynamic View
A “virtual table” created dynamically upon request by a userNo data actually stored; instead data from base table madeavailable to userBased on SQL SELECT statement on base tables or otherviews
Materialized ViewCopy or replication of dataData actually storedMust be refreshed periodically to match the correspondingbase tables
![Page 20: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/20.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 20/42
![Page 21: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/21.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 21/42
21
Advantages of ViewsSimplify query commands
Assist with data security (but don't rely on viewsfor security, there are more important securitymeasures)Enhance programming productivityContain most current base table dataUse little storage space
Provide customized view for userEstablish physical data independence
![Page 22: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/22.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 22/42
22
Disadvantages of ViewsUse processing time each time view isreferencedMay or may not be directly updateable
![Page 23: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/23.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 23/42
23
Create Four ViewsCREATE VIEW CUSTOMER_V AS SELECT * FROM CUSTOMER_T;
CREATE VIEW ORDER_V AS SELECT * FROM ORDER_T;
CREATE VIEW ORDER_LINE_V AS SELECT * FROM ORDER_LINE_T;
CREATE VIEW PRODUCT_V AS SELECT * FROM PRODUCT_T;
„* is the wildcard
![Page 24: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/24.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 24/42
![Page 25: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/25.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 25/42
25
Schema DefinitionControl processing/storage efficiency:
Choice of indexesFile organizations for base tablesFile organizations for indexesData clustering
Statistics maintenanceCreating indexes
Speed up random/sequential access to base tabledata
ExampleCREATE INDEX NAME_IDX ONCUSTOMER_T(CUSTOMER_NAME)This makes an index for the CUSTOMER_NAME field ofthe CUSTOMER_T table
![Page 26: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/26.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 26/42
26
Insert Statement
Adds data to a tableInserting a record with all fieldsINSERT INTO CUSTOMER_T VALUES (001, „ContemporaryCasuals , 1355 S. Himes Blvd. , „Gainesville , „FL , 32601);
Inserting a record with specified fieldsINSERT INTO PRODUCT_T (PRODUCT_ID, PRODUCT_DESCRIPTION,PRODUCT_FINISH, STANDARD_PRICE, PRODUCT_ON_HAND) VALUES(1, „End Table , „Cherry , 175, 8);
Inserting records from another tableINSERT INTO CA_CUSTOMER_T SELECT * FROM CUSTOMER_T WHERESTATE = „CA ;
![Page 27: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/27.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 27/42
![Page 28: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/28.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 28/42
28
![Page 29: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/29.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 29/42
29
![Page 30: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/30.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 30/42
30
![Page 31: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/31.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 31/42
31
Delete Statement
Removes rows from a tableDelete certain rows
DELETE FROM CUSTOMER_T WHERE STATE= „HI ;
Delete all rowsDELETE FROM CUSTOMER_T;
![Page 32: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/32.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 32/42
![Page 33: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/33.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 33/42
33
SELECT StatementUsed for queries on single or multiple tablesClauses of the SELECT statement:
SELECTList the columns (and expressions) that should be returned from the query
FROMIndicate the table (s) or view(s) from which data will be obtained
WHEREIndicate the conditions under which a row will be included in the result
GROUP BYIndicate columns to group the results
HAVINGIndicate the conditions under which a group will be included
ORDER BYSorts the result according to specified columns
![Page 34: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/34.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 34/42
34
Figure 7-8: SQL statementprocessing order
![Page 35: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/35.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 35/42
![Page 36: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/36.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 36/42
36
![Page 37: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/37.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 37/42
37
SELECT Example using Alias
Alias is an alternative column or table name
SELECTCUST.CUSTOMER ASNAME,CUST.CUSTOMER_ADDRESS
FROM CUSTOMER_VCUSTWHERE NAME = „Home Furnishings ;
![Page 38: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/38.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 38/42
![Page 39: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/39.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 39/42
SELECT E l
![Page 40: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/40.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 40/42
40
SELECT Example – Sorting Results with the ORDER BY Clause
Sort the results first by STATE, and within astate by CUSTOMER_NAME
SELECT CUSTOMER_NAME, CITY, STATEFROM CUSTOMER_VWHERE STATE IN („FL , „TX , „CA , „HI ) ORDER BY STATE, CUSTOMER_NAME;
Note: the IN operator in this example allows you to include rows whoseSTATE value is either FL, TX, CA, or HI. It is more efficient than separateOR conditions
SELECT E l
![Page 41: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/41.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 41/42
41
SELECT Example – Categorizing Results Using the GROUP BY Clause
SELECT STATE, COUNT(STATE)FROM CUSTOMER_VGROUP BY STATE;
Note: you can use single-value fields withaggregate functions if they are included in the
GROUP BY clause
Customer table
l
![Page 42: chap on derivative](https://reader031.fdocuments.in/reader031/viewer/2022021405/577cc4b31a28aba7119a2700/html5/thumbnails/42.jpg)
8/11/2019 chap on derivative
http://slidepdf.com/reader/full/chap-on-derivative 42/42
SELECT Example – Qualifying Results by Categories
Using the HAVING Clause
For use with GROUP BY
SELECT STATE, COUNT(STATE)FROM CUSTOMER_VGROUP BY STATEHAVING COUNT(STATE) > 1;
Like a WHERE clause, but it operates on groups (categories),not on individual rows. Here, only those groups with totalnumbers greater than 1 will be included in final result