DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!

Criando e Alterando Tabelas no Oracle

Veja nesse artigo como criar tabelas no Oracle e também como fazer alterações na estrutura de uma tabela depois que e mesma já foi criada. Será mostrado aqui adição de restrições, como chave primária e chave estrangeiras, adição de novas colunas

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

É muito importante sabermos que, ao criar uma tabela no Oracle, precisamos definir qual o tipo de dados que cada coluna da tabela receberá. Isso é de suma importância para que na hora de inserir os dados na tabela você não tenha problemas, a seguir temos alguns tipos usados pelo Oracle.

  • CHAR(Comprimento): Armazena string de comprimento fixo. Exemplo: CHAR(2).
  • VARCHAR(Comprimento): Armazena string de comprimento variável. Exemplo: VARCHAR(20).
  • DATE: Armazena data e horas. Armazena o século, todos os 4 dígitos do ano, mês, dia, a hora no formato 24 horas. Pode variar entre as datas 1º de Janeiro de 4712 a.C e 31 de Dezembro de 4712 d.C.
  • INTEGER: Armazena valores inteiros. Exemplo: 1,2,10,55.
  • NUMBER(precisão, escala): Armazena valores de ponto flutuante, mas aceita números inteiros. Exemplo: Number(5,2) - R$ 1.22 -

Vamos aos comandos usados para criação de uma tabela, a Listagem1 mostra o código:

Listagem 1: Criando a Tabela Pessoa

CREATE TABLE PESSOA
(
  id_pessoa   integer,
  nome         varchar2(20),
  cpf            varchar2(14)  
);
Criando a Tabela Curso

Figura 1: Script de criação na tabela PESSOA no programa PL/SQL Developer

Listagem2: Criando a Tabela Curso

CREATE TABLE CURSO
(
  id_curso   integer,
  nome       varchar2(20)
);
Script de criação na tabela CURSO no programa PL/SQL Developer

Figura 2: Script de criação na tabela CURSO no programa PL/SQL Developer

Listagem 3: Criando a Tabela Mensalidade

CREATE TABLE MENSALIDADE
(
  id_curso      integer,
  id_Pessoa    integer,
  valor           number(5,2)  
);
Script de criação na tabela MENSALIDADE no programa PL/SQL Developer

Figura 3: Script de criação na tabela MENSALIDADE no programa PL/SQL Developer

Listagem 4: Inserindo dados na tabela Pessoa

Insert into Pessoa values(1,'Eliézio Mesquita','11109865424');
Insert into Pessoa values(2,'Maria Joaquina','93104465334');
Insert into Pessoa values(3,'José da Silva','14109835424');

Listagem 5: Inserindo dados na tabela Curso

Insert into curso values(1,'Sistemas');
Insert into curso values(2,'Administração');
Insert into curso values(3,'Filosofia');

Listagem 6: Inserindo dados na tabela Mensalidade

Insert into mensalidade values(1,1,345.45);
Insert into mensalidade values(2,3,500);
Insert into mensalidade values(3,2,831.28);

Listagem 7: Executando o comando SELECT para visualizar os dados inseridos na tabela Pessoa

select * from pessoa;
Select na tabela Pessoa no programa PL/SQL Developer

Figura 4: Select na tabela Pessoa no programa PL/SQL Developer

Listagem 8: Executando o comando SELECT para visualizar os dados inseridos na tabela Curso

select * from Curso;
Select na tabela Curso no programa PL/SQL Developer

Figura 5: Select na tabela Curso no programa PL/SQL Developer

Listagem 9: Executando o comando SELECT para visualizar os dados inseridos na tabela Mensalidade

select * from mensalidade
Select na tabela Mensalidade no programa PL/SQL Developer

Figura 6: Select na tabela Mensalidade no programa PL/SQL Developer

Durante a criação de nossas tabelas, em nenhum momento informamos qual das colunas seria a chave primária ou chave estrangeira e esse tipo de restrição é utilizado sempre que trabalhamos com banco de dados. Porém, isso aconteceu de forma proposital, pois iremos com isso ver a parte de alteração na estrutura de nossas tabelas, evitando que você precise excluir as tabelas e criá-las novamente.

Listagem 10: Executando o comando Alter Table para adicionar a chave primária na coluna Id_Pessoa da tabela pessoa

Alter table Pessoa add constraint ID_PESSOA_PK primary key (ID_PESSOA);

Quando criamos uma chave primaria temos que dar um nome para ela, no exemplo acima foi dado o nome ID_PESSOA_PK. Em seguida, temos entre parênteses o nome do campo que será a chave primária que, nesse caso, é ID_PESSOA. O mesmo raciocínio é aplicado para criar uma chave primária na tabela Curso, como vemos na Listagem 11.

Listagem 11: Executando o comando Alter Table para adicionar a chave primária na coluna Id_Curso da tabela Curso

Alter table Curso add constraint ID_CURSO_PK primary key (ID_CURSO);

A tabela Mensalidade é um pouco diferente das outras duas tabelas, pois nessa tabela não vou criar chave primária, mas vou ter no caso duas chave estrangeiras, aqui as chaves estrangeiras farão referencia as duas tabelas criadas, Pessoa e Curso.

Listagem 12: Executando o comando Alter Table para adicionar a chave estrangeira nas colunas Id_Pessoa e Id_Curso da tabela Mensalidade

alter table Mensalidade add constraints ID_PESSOA_FK FOREIGN KEY(Id_Pessoa) references Pessoa(Id_Pessoa);
alter table Mensalidade add constraints ID_CURSO_FK FOREIGN KEY(Id_Curso) references Curso(Id_Curso);

Nesse exemplo nos tivemos a opção references onde devemos indicar a tabela a que estamos nos referindo. A função da chave primaria é fazer o relacionamento entre tabelas, isso evita a redundância de informações.

Listagem 13: Abaixo temos o comando para adicionar uma nova coluna na tabela Pessoa

Alter table Pessoa add RG varchar2(14);

Listagem 14: Abaixo temos o comando para remover uma coluna da tabela Pessoa

Alter table Pessoa drop column RG;

Listagem 15: Abaixo temos o comando para modificar o nome de uma coluna da tabela Pessoa

ALTER TABLE Pessoa RENAME COLUMN CPF TO Num_CPF;

Listagem 16: Abaixo temos o comando para modificar o nome da tabela Pessoa

ALTER TABLE Pessoa RENAME TO Alunos;

Finalizamos por aqui esse artigo, até o próximo.

Abraço.


Eliézio Mesquita
Formado em Sistema de Informação, pela faculdade ESTACIO SEAMA. Atualmente trabalha na empresa Office Sistemas(www.officesistemas.com.br) como consultor de sistemas ERP e Instrutor de Oracle na Ka Solution. elieziomesquita@hotmail.com
O que você achou deste post?

    8 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Jeferson Zonta
Bom cara,

vc que manja de Oracle, o PL/SQL Permite usar comandos de programação com SQL, por exemplo: loops, conditions?
[há +1 ano] - Responder

 

[autor] Eliézio Mesquita
Fala Zonta tudo bem?

O PLS/SQL é justamente para suprir o que o SQL não poder atender, ele aceita Logica Condicional, Loops, Variaves, cursores dentre outros.
[há +1 ano] - Responder
 

Luis Carlos Godinho
Olá!

Muito bom artigo. Parabens!

Abs.!
[há +1 ano] - Responder

 

[autor] Eliézio Mesquita
Olá Luis,

Obrigado!
[há +1 ano] - Responder
 

Irá Almeida
Muito legal, parabéns!!
[há +1 ano] - Responder

 

[autor] Eliézio Mesquita
Muito obrigado, agora vamos ver o que podemos ter de novidades.
[há +1 ano] - Responder
 

Bruno Almeida De Mesquita
Parabéns pelo seu artigo meu parente distante rsrsrs!!!! Você soube explicar as funções básicas do Oracle de maneira clara e objetiva.
[há +1 mês] - Responder

 

[autor] Eliézio Mesquita
Olá Bruno tudo bem?
Obrigado por gostar do artigo, estou devendo vários artigos para a DevMedia, mas já está tudo no forno, logo teremos novidades. Acho que temos um parentesco.rs
Abraço!
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03