Upload
hevellyn-natasha
View
19
Download
0
Embed Size (px)
DESCRIPTION
Dicas para inicio em SQL Plus
Citation preview
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...