Você está na página 1de 18

Comandos SQL SQL-Plus*

julio-lemos

Programao

Criao de tabelas; Criao de restries nas tabelas;

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

Criando tabelas e estruturas no Oracle

O SQLPlus* utiliza os seguintes tipos de dados

Sintaxe dos comandos no Oracle

Funo : Criar Tablespaces Origem : SQL Sintaxe:

Comando CREATE Tablespace

CREATE TABLESPACE nome_da_tablespace

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

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;

Sintaxe dos comandos no Oracle

Funo : Criar tabelas Origem : SQL Sintaxe:

Comando CREATE TABLE

CREATE TABLE nome_da_tabela

( coluna tipo_do_dado_da_coluna(tamanho) [restries], coluna tipo_do_dado_da_coluna(tamanho) [restries], ... ... )

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:

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

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:

10

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)
11

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))
12

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)
13

Sintaxe dos comandos no Oracle

Temos tambm a oportunidade de tornar o preenchimento de uma coluna obrigatrio, atravs da declarao NOT NULL:

Restries

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)
14

Sintaxe dos comandos no Oracle

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:

Restries

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)
15

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

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

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

18

Você também pode gostar