criação de tabelas - 1

Upload: hevellyn-natasha

Post on 10-Oct-2015

16 views

Category:

Documents


0 download

DESCRIPTION

Dicas para inicio em SQL Plus

TRANSCRIPT

  • 5/20/2018 Cria o de Tabelas - 1

    1/181

    Comandos SQLSQL-Plus*

    julio-lemos

  • 5/20/2018 Cria o de Tabelas - 1

    2/182

    Programao

    Criao de tabelas;

    Criao de restries nas tabelas;

  • 5/20/2018 Cria o de Tabelas - 1

    3/183

    Criando tabelas e estruturas no Oracle

    Para se criar uma tabela no Oracle, o programadordever especificar as seguintes informaes paracada uma das colunas (campos) da mesma:

    Tipo de dados; Tamanho; Restries

  • 5/20/2018 Cria o de Tabelas - 1

    4/184

    Criando tabelas e estruturas no Oracle

    O SQLPlus* utiliza os seguintes tipos de dados

  • 5/20/2018 Cria o de Tabelas - 1

    5/185

    Sintaxe dos comandos no Oracle

    Comando CREATE Tablespace Funo : Criar Tablespaces Origem : SQL Sintaxe:

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

  • 5/20/2018 Cria o de Tabelas - 1

    6/186

    Sintaxe dos comandos no Oracle

    Veja o exemplo a seguir:CREATE TABLESPACE PRODUCAODATAFILEc:\oracle\ora92\oradata\prod1.dbfsize 3000m;

    CREATE TABLESPACE PRODUCAODATAFILEc:\oracle\ora92\oradata\ind1.dbfsize 2000m;

  • 5/20/2018 Cria o de Tabelas - 1

    7/187

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

    ... )

  • 5/20/2018 Cria o de Tabelas - 1

    8/188

    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:

  • 5/20/2018 Cria o de Tabelas - 1

    9/189

    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

  • 5/20/2018 Cria o de Tabelas - 1

    10/1810

    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 ouainda ao final do comando.

    As restries, automaticamente recebem um nome, pormo usurio, por meio da opo CONSTRAINTS poder definiro mesmo.

    Dentre as restries, podemos citar:

  • 5/20/2018 Cria o de Tabelas - 1

    11/1811

    Sintaxe dos comandos no Oracle

    Restries Para definir uma chave primria, temos a restrio

    PRIMARY KEY. Observe o exemplo a seguir, definindo acoluna 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)

  • 5/20/2018 Cria o de Tabelas - 1

    12/1812

    Sintaxe dos comandos no Oracle

    Restries Outra forma, seria definir esta chave primria (restrio),

    nomeando a mesma e ao mesmo tempo ao final docomando.

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

  • 5/20/2018 Cria o de Tabelas - 1

    13/1813

    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 tero seu valor repetido em nenhuma das linhas de sua tabela.

    Imaginando que nossa tabela tivesse a coluna CPF e esta seriauma coluna de chave nica, ento teramos que construir nossatabela 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)

  • 5/20/2018 Cria o de Tabelas - 1

    14/1814

    Sintaxe dos comandos no Oracle

    Restries Temos tambm a oportunidade de tornar o

    preenchimento de uma coluna obrigatrio, atravsda 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)

  • 5/20/2018 Cria o de Tabelas - 1

    15/1815

    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, conformemostramos 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)

  • 5/20/2018 Cria o de Tabelas - 1

    16/18

    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 WHERETABLE_NAME=NOME DA TABELA

  • 5/20/2018 Cria o de Tabelas - 1

    17/18

    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 WHERETABLE_NAME=NOME DA TABELA

  • 5/20/2018 Cria o de Tabelas - 1

    18/18

    18

    ResumoLies aprendidas

    Criao de tabelas Criao de restries.

    Lembrem-se, no basta conhecer, temos quepraticar, 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 ascolunas que devem ser de preenchimento obrigatrio,que devam ser do tipo chave primria, etc...