Você está na página 1de 18

1

Comandos SQL SQL-Plus*


julio-lemos
2
Programao

Criao de tabelas;

Criao de restries nas tabelas;

3
Criando tabelas e estruturas no Oracle
Para se criar uma tabela no Oracle, o programador
dever especificar as seguintes informaes para
cada uma das colunas (campos) da mesma:

Tipo de dados;
Tamanho;
Restries


4
Criando tabelas e estruturas no Oracle
O SQLPlus* utiliza os seguintes tipos de dados
5
Sintaxe dos comandos no Oracle
Comando CREATE Tablespace
Funo : Criar Tablespaces
Origem : SQL
Sintaxe:

CREATE TABLESPACE nome_da_tablespace
( datafile drive:\caminho\arquivo.dbf size 9999m;
)

6
Sintaxe dos comandos no Oracle
Veja o exemplo a seguir:

CREATE TABLESPACE PRODUCAO
DATAFILE c:\oracle\ora92\oradata\prod1.dbf size 3000m;

CREATE TABLESPACE PRODUCAO
DATAFILE c:\oracle\ora92\oradata\ind1.dbf size 2000m;



7
Sintaxe dos comandos no Oracle
Comando CREATE TABLE
Funo : Criar tabelas
Origem : SQL
Sintaxe:

CREATE TABLE nome_da_tabela
( coluna tipo_do_dado_da_coluna(tamanho) [restries],
coluna tipo_do_dado_da_coluna(tamanho) [restries],
...
...
)

8
Sintaxe dos comandos no Oracle
Veja o exemplo a seguir:

CREATE TABLE CLIENTE
(cd_cliente number(8),
Nome char(50),
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date)

Ir produzir a seguinte tabela:
9
Sintaxe dos comandos no Oracle
Comando DESC (describe)
Funo : listar a estrutura de uma tabela
Origem : SQL*PLUS
Sintaxe:

DESC NOME_DA_TABELA

Exemplo:

DESC CLIENTE


10
Sintaxe dos comandos no Oracle
Restries
As restries devem ser definidas ao final da especificao
da coluna, ou seja, depois de seu nome, tipo e tamanho ou
ainda ao final do comando.
As restries, automaticamente recebem um nome, porm
o usurio, por meio da opo CONSTRAINTS poder definir
o mesmo.
Dentre as restries, podemos citar:

11
Sintaxe dos comandos no Oracle
Restries
Para definir uma chave primria, temos a restrio
PRIMARY KEY. Observe o exemplo a seguir, definindo a
coluna cdigo do cliente como uma primary key:

CREATE TABLE CLIENTE (
cd_cliente number(8) PRIMARY KEY,
Nome char(50),
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date)

12
Sintaxe dos comandos no Oracle
Restries
Outra forma, seria definir esta chave primria (restrio),
nomeando a mesma e ao mesmo tempo ao final do
comando.

CREATE TABLE CLIENTE
(cd_cliente number(8),
Nome char(50),
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date,
CONSTRAINT COD_CP PRIMARY KEY (cd_cliente))



13
Sintaxe dos comandos no Oracle
Restries
Para definir uma chave nica, temos a restrio UNIQUE. Uma
chave nica nada mais do que uma coluna que no poder ter
o seu valor repetido em nenhuma das linhas de sua tabela.
Imaginando que nossa tabela tivesse a coluna CPF e esta seria
uma coluna de chave nica, ento teramos que construir nossa
tabela da forma que segue:

CREATE TABLE CLIENTE (
cd_cliente number(8) PRIMARY KEY,
Nome char(50),
CPF char(11) CONSTRAINT CPF_UN UNIQUE,
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date)


14
Sintaxe dos comandos no Oracle
Restries
Temos tambm a oportunidade de tornar o
preenchimento de uma coluna obrigatrio, atravs
da declarao NOT NULL:


CREATE TABLE CLIENTE (
cd_cliente number(8),
Nome char(50) NOT NULL,
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date)


15
Sintaxe dos comandos no Oracle
Restries
Imaginando que no exemplo acima, tivssemos a coluna
(campo) SEXO, e apenas seriam aceitos os valores F ou M,
neste caso, deveremos usar a declarao CHECK, conforme
mostramos no exemplo a seguir:

CREATE TABLE CLIENTE (
cd_cliente number(8),
Nome char(50),
Sexo char(1) CHECK (Sexo in (F,M),
Endereco char(50),
Cidade char(20),
Estado char(2),
CEP char(9),
Data_nascimento date)

16
Sintaxe dos comandos no Oracle
Restries
Quando criamos restries, possvel recuperar
as informaes sobre as mesmas, para isso, so
armazenadas no que chamamos de tabela de
controle ( USER_CONSTRAINTS), que
atualizada automaticamente. Para isso, poderemos
utilizar o comando que segue:

SELECT * FROM USER_CONSTRAINTS WHERE
TABLE_NAME=NOME DA TABELA
17
Sintaxe dos comandos no Oracle
Restries
Quando criamos restries, possvel recuperar
as informaes sobre as mesmas, para isso, so
armazenadas no que chamamos de tabela de
controle ( USER_CONSTRAINTS), que
atualizada automaticamente. Para isso, poderemos
utilizar o comando que segue:

SELECT * FROM USER_CONSTRAINTS WHERE
TABLE_NAME=NOME DA TABELA
18
Resumo Lies aprendidas
Criao de tabelas
Criao de restries.


Lembrem-se, no basta conhecer, temos que
praticar, portanto...
Como exerccio, crie uma tabela que ir receber os dados
cadastrais de um aluno, onde alm dos dados pessoais,
teremos dados profissionais e contatos, verifique as
colunas que devem ser de preenchimento obrigatrio,
que devam ser do tipo chave primria, etc...

Você também pode gostar