Sunteți pe pagina 1din 48

MAINFRAMES

DB2 – IBM Data Base


NAGARAJU DOMALA
DB2

“SQL-DDL “

Session 3

Nagaraju Domala
Session 3 - Objectives

On completion of this session the learner will be able to:

 Write DDL statements using SQL

Nagaraju Domala
Introduction to SQL

SQL
(Structure Query Language)

Nagaraju Domala
SQL PROGRAM VARIATIONS

ENVIRONMENT HOST LANGUAGE


 TSO COBOL, PL/I
 IMS/VS ASSEMBLER
 CICS/VS FORTRAN
 BATCH C

HANDLING OF SQL
 STATIC
 DYNAMIC

Nagaraju Domala
SQL

REQUESTS ARE MADE TO DB2 IN


STRUCTURED QUERY LANGUAGE
----- WHICH INCLUDES

DATA MANIPULATION LANGUAGE


DATA DEFINITION LANGUAGE
DATA CONTROL LANGUAGE

Nagaraju Domala
SQL - examples

DDL Ex.1. DML Ex. 1.

CREATE TABLE SELECT S#


CREATE VIEW FROM SP
CREATE INDEX WHERE P#=‘P2’;

DROP TABLE Ex. 2.


DROP VIEW
DROP INDEX UPDATE S
SET STATUS=‘2*STATUS’
WHERE CITY=‘London’;

Nagaraju Domala
BASIC OBJECTS & OPERATORS

1. Scalar Objects Numeric


2. Scalar Data Types String
Date /Time

3. Scalar Values.
4. Literals.
5. Scalar Operators.
6. Scalar Functions - Official.
7. Special Registers.
8. Scalar Expressions.
9. Data Types ‘Compatibility’.
10. Representation of Unknown Info.

Nagaraju Domala
LITERALS (EXAMPLES)
INTEGER :
4 -85 +3690 0
DECIMAL :
4 -57.9 +301.02 0.001
FLOAT : [xEy = x* (10**y)]
4E2 -49.5E5 +364E-5 0.2E1
CHARACTER STRING :
‘123 CRANBERRY ST. ‘
‘AUTO’
X’F1F2F340F5D4’
DATE :
‘1/18/1955’ ‘12/12/1994’
TIME :
‘10:00 AM’ ‘9:30PM’
TIMESTAMP :‘1990-4-28-12.00’

Nagaraju Domala
SCALAR OPERATORS AND
FUNCTIONS
NUMERIC OPERATORS : +, - , *, /

CONCATENATION : ||

CHAR MICROSOUND
DATE MINUTE
DAY MONTH
DAYS SECOND
DECIMAL SUBSTR
DIGITS TIME
FLOAT TIMESTAMP
HEX VALUE
INTEGER VARGRAPHIC
LENGTH YEAR

Nagaraju Domala
NUMERICAL DATA TYPES

INTEGER - signed four byte binary integer

SMALLINT - signed two byte binary integer

DECIMAL(p,q) - packed decimal integer ‘p’ digits and


sign(0<p<32) with assumed decimal point
‘q’ digits from the right (0<=q<=p)

FLOAT(p) - Floating point number n=f*(16**e)


where ‘f’ is a binary fraction of ‘p’ binary
digits precision(-1<f<+1,0<p<54) and
‘e’ is a binary integer exponent (-64<e<+64)
If p<22 - n is single precision - 4 bytes
If p>=22 - n is double precision - 8 bytes

Nagaraju Domala
STRING DATA TYPES

CHARACTER (n) - Fixed length string of exactly n 8-bit characters


(0<n<255)

VARCHAR (n) - Varying length string of up to n 8-bit characters


(0<n<page-size of table space)

GRAPHIC (n) - Fixed length string of exactly n 16-bit characters


(0<n<128)

VARGRAPHIC (n) - Varying length string of up to n 16-bit characters


(0<n< 1/2 page size of table space)

Nagaraju Domala
DATE/TIME DATA

DATE - 8 unsigned packed decimal digits


(yyyymmdd)

TIME - 6 unsigned packed decimal digits


(hhmmss)

TIMESTAMP - 20unsigned packed decimal digits


(yyyymmdd hhmmss nnnnnn)

Nagaraju Domala
ALTERNATIVE SPELLINGS
INT FOR INTEGER
DECIMAL(P) FOR DECIMAL(P,O)
DECIMAL FOR DECIMAL(5)
DEC FOR DECIMAL
NUMERIC FOR DECIMAL
FLOAT FOR FLOAT(53)
REAL FOR FLOAT(21)
DOUBLE
PRECISION FOR FLOAT(53)
CHARACTER FOR CHARACTER(1)
CHAR FOR CHARACTER
LONG
VARCHAR FOR VARCHAR(n)
GRAPHIC FOR GRAPHIC(1)
LONG
VARGRAPHIC FOR VARGRAPHIC(n)

Nagaraju Domala
DATA TYPES

 EVERY COLUMN IS ASSIGNED A SPECIFIC TYPE AND SIZE


OF DATA

 CATEGORIES OF DATA TYPES


 NUMERIC
 CHARACTER
 GRAPHICS
 DATE/TIME

Nagaraju Domala
NUMERIC FORMATS

SMALLINT --> + 32768 (2 BYTES) HALFWORD BINARY


INTEGER --> + 2GB (4 BYTES) FULLWORD BINARY

DECIMAL(X,Y)
REAL - SINGLE FLOAT
FLOAT - DOUBLE FLOAT

Nagaraju Domala
CHARACTER STRING FORMATS

CHAR (X)

VARCHAR (X)

LONG VARCHAR

Nagaraju Domala
GRAPHIC STRING FORMATS

GRAPHIC

VARGRAPHIC

LONG VARGRAPHIC

Nagaraju Domala
DATE/TIME FORMATS

DATE YYYYMMDD

TIME HHMMSS

TIMESTAMP YYYYMMDDHHMMSSNNNNNN

Nagaraju Domala
COMPATABILITY OF
DATA TYPES
Bin Dec Float char graphic Date Time TS
Bin Y Y Y N N N N N
Dec Y Y Y N N N N N
Float Y Y Y N N N N N

char N N N Y N * * *
Graphic N N N N Y N N N
Date N N N Y N
N * N
Time N N N * N N Y N
Time stamp N N N * N N N Y

* Compatibility of Date Time values is limited to


Assignments and comparisons.

Nagaraju Domala
DATA DEFINITION

BASE TABLES

CREATE (DEFINES A NEW OBJECT)


DROP (REMOVES AN OBJECT)
ALTER (CHANGES ITS DESCRIPTION)

INDEXES

CREATE
DROP
NO ROW ORDERING

COLUMN ORDERING - LEFT TO RIGHT

Nagaraju Domala
CREATE TABLE - FORMAT 1

CREATE TABLE table-name


(column_name column_type,
column_name column_type
. .
. .
[,PRIMARY KEY ( List_of_columns)]
[,FOREIGN KEY (List_of_columns)
REFERENCES table_name
ON DELETE CASCADE] )
in database_name tablespace_name;

where column_type takes the form


data_type [ NOT NULL [ WITH DEFAULT/UNIQUE]]

Nagaraju Domala
EXAMPLE FOR FORMAT 1

CREATE TABLE POLICY


( POLICY_NO CHAR(10) NOT NULL,
POLICY_TERM SMALLINT NOT NULL,
STATUS CHAR(01) NOT NULL,
INSURED_NAMECHAR(20) NOT NULL,
ADDRESS CHAR(40) NOT NULL,
PROCESS_DATE DATE NOT NULL
WITH DEFAULT,
PRIMARY KEY (POLICY_NO, POLICY_TERM) );

Nagaraju Domala
CREATE TABLE -
FORMAT 2
CREATE TABLE table_name
LIKE table_name
IN database_name, table_space_name;

Example
CREATE TABLE TRN_POLICY
LIKE POLICY
IN DINSSYS.SPOLSET;

* TRN_POLICY inherits only column definitions


and nothing else.
* It doesn’t inherit any primary, alternate or foreign key
definitions from POLICY_table.

Nagaraju Domala
ALTER
Format :

ALTER TABLE table_name


ADD column data_type [ NOT NULL WITH DEFAULT]

Example :
ALTER TABLE POLICY
ADD ENTRY_DATE DATE;
ALTER TABLE POLICY
ADD EFF_DATE DATE NOT NULL WITH DEFAULT;
* ALTER TABLE allows addition or deletion of primary
and foreign key (but not alternate key) specifications
for a given table
* Doesn’t support change to the width or data_type of an
existing column
* Doesn’t support removal of an existing column

Nagaraju Domala
DROP
DROP TABLE table_name;

Example :
1. DROP TABLE POLICY;

2. ALTER TABLE table_name


[ADD] primary_key_definition;

3. ALTER TABLE table_name


DROP PRIMARY KEY;

4. ALTER TABLE table_name1


ADD FOREIGN KEY K1(List_of_columns)
REFERENCES table_name2;

Nagaraju Domala
INDEXES

CREATE_INDEX-FORMAT :

CREATE[UNIQUE] INDEX index_name


ON table_name
(column[order][,column[order]]...)

Example :

CREATE INDEX POL X ON POLICY


(POLICY_NO ASC, POLICY_TERM DESC);

DROP INDEX index-name;

Nagaraju Domala
MAJOR STORAGE OBJECTS
OF DB2
View View View

TS Table Table Table


Catalog
Table
TS
.
TS ........ .
.
TS Table .
IS
Index
IS Index

User Database User Database Catalog Database

Storage group I Storage group 2

Nagaraju Domala
TABLE STRUCTURE - ROW

 ONE ROW FOR EVERY OCCURRENCE OF THE ENTITY


TABLE: EMP
EMP NO LAST NAME WORK DEPT JOB
-------------------------------------------------------------------------
-
250 SMITH D21 CLK
030 KWAN C01 MGR

EVERY ROW IN A TABLE HAS THE SAME COLUMNS

Nagaraju Domala
NAMES

 EVERY TABLE AND EVERY COLUMN MUST BE NAMED


FIRST CHARACTER : ALPHA
 OTHERS: ALPHANUMERIC

 MAXIMUM: 18 CHARACTERS
 TABLE NAME UNIQUE FOR OWNER

 COLUMN NAME UNIQUE FOR TABLE

Nagaraju Domala
TABLE NAMES
-Construction-

TABLE CREATOR ASSIGNED


NAME
PAYRL EMPL

FULL TABLE NAME


PAYRL.EMPL

Nagaraju Domala
COLUMN NAMES
-Construction-
TABLE NAME
ASSIGNED
NAME COLUMN NAME
EMPL NAME

QUALIFIED
COLUMN NAME
EMPL.NAME

Nagaraju Domala
NULLS

 EVERY COLUMN HAS A NULL CHARACTERSTIC ( RULE


FOR WHEN A VALUE IS NOT AVAILABLE )
 NOT NULL
 ALLOW NULL
 NOT NULL WITH DEFAULT

Nagaraju Domala
NULLS

A - - - NOT NULL
VALUE MUST BE GIVEN
B/C - ALLOW NULL
IF VALUE IS NOT GIVEN,
IT IS MARKED UNKNOWN
D - - - NOT NULL WITH DEFAULT
IF VALUE NOT GIVEN, DB2 FILLS IN
DEFAULT VALUE

Nagaraju Domala
NOT NULL WITH DEFAULT

WHEN NO VALUE IS PRESENT

NUMERIC BECOMES ZERO

FIXED BECOMES BLANKS

VARIABLE BECOMES ZERO LENGTH

Nagaraju Domala
NOT NULL WITH DEFAULT

WHEN NO VALUE IS INSERTED

DATE BECOMES CURRENT DATE

TIME BECOMES CURRENT TIME

TIMESTAMP BECOMES
CURRENT TIMESTAMP

Nagaraju Domala
PRIMARY KEY IDENTIFIER

 ONE OR MORE COLUMNS CAN QUALIFY A SPECIFIC ENTITY


OCCURRENCE (PRIMARY KEY)
TABLE: EMP
EMP NO LAST NAME WORK DEPT JOB
---------------------------------------------------------------------------------
----
250 SMITH D21 CLK
030 KWAN C01 MGR

UNIQUE VALUES

Nagaraju Domala
KEYS

• KEY IDENTIFIES A ROW OF DATA

• PRIMARY KEY IDENTIFIES ITS OWN ROW

• FOREIGN KEY IDENTIFIES A ROW OF RELATED DATA

Nagaraju Domala
RELATED TABLES

D DEPT NO DEPT NAME MGRNO . . .


E
P C01 INFO 030
T D21 ADMIN 070

PRIMARY KEY FOREIGN KEY

E EMP NO LAST NAME WORK DEPT JOB


M 250 SMITH D21 CLK
P 030 KWAN C01 MGR

Nagaraju Domala
ADDITIONAL TABLES

 ONE TABLE PER ENTITY

 MANY- TO - MANY RELATIONSHIPS NEEDS AN


ASSOCIATION TABLE

 REPEATING GROUP
NEEDS A SEPARATE TABLE

Nagaraju Domala
ASSOCIATION TABLE

 ONE TABLE PER MANY-TO-MANY ASSOCIATION

EMP ASSIGNMENT PROJ

EMP LAST EMP PROJ PROJ PROJ


NO NAME NO NO NO NAME
------------------------- ----------------------------- ------------------------
1 SMITH 1 C1 C1 SUPPORT
2 JONES 1 C3 C3 WORKSHOP
3 BOWN 1 C4 C4 DESIGN
2 C3
2 C3
5 C1
5 C3

Nagaraju Domala
ASSOCIATION TABLE

 AN ASSOCIATION TABLE IS A NORMAL DB2 TABLE

PRIMARY KEY -------------------

EMP PROJ PER


NO NO CENT
---------------------------------------------
1 C1 50
2 C3 40

FOREIGN KEYS
Nagaraju Domala
PRIMARY KEY
VALUES

 A PRIMARY KEY VALUE MUST BE UNIQUE


(AND CANNOT BE NULL)

Nagaraju Domala
FOREIGN KEY VALUES

 A FOREIGN KEY VALUE MUST MATCH


 A PRIMARY KEY VALUE ( OR BE NULL )

Nagaraju Domala
TERMS

REFERENTIAL CONSTRAINT
 THE LIMITING OF A SET OF FOREIGN KEY VALUES TO
A SET OF PRIMARY KEY VALUES

REFERENTIAL INTEGRITY
 THE AUTOMATIC ENFORCEMENT OF REFERENTIAL
CONSTRAINTS

Nagaraju Domala
PROCESSING RULES

REFERENTIAL INTEGRITY MAINTAINS DATA VALIDITY


BY ENFORCING RULES DURING PROCESSING , SO
THAT

- EVERY PRIMARY KEY VALUE IS UNIQUE (AND


NOT NULL)

- EVERY FOREIGN KEY VALUE MATCHES A


PRIMARY KEY

Nagaraju Domala
DELETE RULES

WHEN A ROW WITH A PRIMARY KEY IS DELETED---

WHAT SHOULD BE DONE ABOUT THE ROWS WITH


MATCHING FOREIGN KEYS ?

DESIGNER CHOOSES ONE OF:


- CASCADE
- SET NULL
- RESTRICT

Nagaraju Domala
DATA MANAGEMENT OBJECTS

 EVERY TABLE RESIDES IN A TABLE SPACE


 EVERY TABLE SPACE (AND ITS CONTENTS) BELONGS TO
SOME DATABASE
 A DATABASE IS A GROUPING OF TABLES AND THE SPACES
THEY OCCUPY

Nagaraju Domala

S-ar putea să vă placă și