É 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 Listagem 1 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.