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:
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...