Você está na página 1de 2

Mentorizao DB2 DDL & SQL

Exerccios Parte 01
Para os exerccios a seguir, usar:
Subsystem: DSNA
Qualifier (creator): seu userid (DDSxxxx)
Database: DSN8D61P
1) Criar o tablespace TSEMPL, com 5 parties.
Usar o StorageGroup DSN8G610, e Bufferpool BP0.
2) Nesse tablespace, vamos criar a tabela EMPLOYEE.
A descrio da tabela encontra-se abaixo.
Nome da coluna

Descrio

Permitir nulos?

Default?

EMPNO

CHAR (6)

NO

NO

FIRSTNAME

VARCHAR (12)

NO

NO

MIDINIT

CHAR (1)

SIM

NO

LASTNAME

VARCHAR (20)

NO

NO

WORKDEPT

CHAR (3)

SIM

SIM

PHONENO

CHAR (4)

SIM

SIM

HIREDATE

DATE

SIM

SIM

JOB

CHAR (8)

SIM

SIM

EDLEVEL

SMALLINT

SIM

SIM

SEX

CHAR (1)

SIM

SIM

BIRTHDATE

DATE

SIM

SIM

SALARY

DECIMAL (9,2)

SIM

SIM

BONUS

DECIMAL (9,2)

SIM

SIM

COMM

DECIMAL (9,2)

SIM

SIM

A tabela deve ser particionada, tendo EMPNO com os limites mximos:


'099999' para a partio 1,
'199999' para a partio 2,
'299999' para a partio 3,
'499999' para a partio 4,
'999999' para a partio 5
A chave primria da tabela na coluna EMPNO.
A tabela deve checar se o PHONENO maior ou igual a '0000' e menor ou igual a '9999', seno a
inserao no deve ser permitida.
A tabela tambm deve checar se o SEX 'M' ou 'F', seno a insero no deve ser permitida.

3) Depois, vamos criar dois ndices para a tabela.


a) XEMP1, que ser a chave primria da tabela (cluster)
b) XEMP2, na coluna WORKDEPT.
4) Depois, criar o tablespace TSDEPT, segmentado, com 32 pginas por segmento.
Usar os mesmos storagegroups e bufferpools do tablespace TSMEPL.
5) Nesse tablespace, vamos criar a tabela DEPARTMENT.
A descrio da tabela encontra-se abaixo.
Nome da coluna

Descrio

Permitir nulos?

Default?

DEPTNO

CHAR (3)

NO

NO

DEPTNAME

VARCHAR (36)

NO

NO

MGRNO

CHAR (6)

SIM

SIM

ADMRDEPT

CHAR (3)

NO

NO

LOCATION

CHAR (16)

SIM

SIM

A chave primria da tabela na coluna DEPTNO.


6) DepoIs, vamos criar trs ndices para a tabela.
a) XDEPT1, que ser a chave primria da tabela.
b) XDEPT2, na coluna MGRNO.
c) XDEPT3, na coluna ADMRDEPT.
Agora vamos criar views para as tabelas acima.
7)A primeira view V1 ser na tabela Employee.
Use as colunas SALARY, FIRSTNAME, LASTNAME, SEX, EDLEVEL.
A primeira coluna dessa VIEW deve ser chamada SERIAL_NUMBER, e tem informaes da coluna
EMPNO.
A view deve conter apenas funcionrios com SALARY menor que 20000.
8) Agora, crie uma view V2 igual a V1, mas com CHECK OPTION.
9) Agora, crie uma view VDEPMG1, juntando as tabelas Department e Employee.
Use as colunas DEPTNO, DEPTNAME, MGRNO, FIRSTNAME, MIDINIT, LASTNAME, ADMRDEPT.
Para essa view, pegue apenas colunas onde EMPNO for igual ao MGRNO.
10) Criadas as views, vamos adicionar uma Foreign Key chamada WORKDEPT na tabela Employee.
A coluna WORKDEPT deve existir na tabela de Department (coluna DEPTNO), com DELETE CASCADE.