Mostrando postagens com marcador Desenvolvimento de Banco de dados. Mostrar todas as postagens
Mostrando postagens com marcador Desenvolvimento de Banco de dados. Mostrar todas as postagens

Alterando estrutura da tabela - Alter Table

Nesta postagem iremos apresentar ao leitor o comando ALTER TABLE do SGBD Oracle. Enquadrada na categoria de Data Definition Language (DDL), o comando alter table é usado quando é necessário realizar alguma alteração na estrutura das tabelas já criadas na base de dados. Basicamente o comando se resumirá ao exemplo abaixo:


ALTER TABLE <nome_da_tabela>  CLÁUSULA  (colunas/especificações);

As diversas clausulas realizadas pelo comando serão discutidas na sequencia:


Modificando uma coluna na tabela (MODIFY):

Para modificar a estrutura de uma coluna (já criada), devemos utilizar a clausula MODIFY do comando alter table conforme sintaxe abaixo:

ALTER TABLE <nome_da_tabela>  MODIFY (colunas tipo_do_dado [restrições],..... );

Na figura 1, iremos mostrar um exemplo do comando onde o campo NOME_CLI terá o tamanho de sua variável alterado de 20 para 25 posições. No exemplo o comando describe é utilizado antes e depois do comando ALTER TABLE mostrando a mudança realizada após a execução do comando.
Figura 1. Comando alterando do tamanho da variável nome_cli;

Adicionando uma coluna a tabela (ADD):

Quando é necessário adicionar um novo atributo (coluna) a uma tabela já existente a seguinte sintaxe deve ser usada:


ALTER TABLE <nome_da_tabela>  ADD (colunas tipo_do_dado);

Na figura 2 é possível ver a inclusão do campo CPF a tabela cliente.
Figura 2. Inclusão do campo CPF a tabela ciente.
Com um único comando é possível incluir mais de um campo numa tabela já existente.
Também traves do ADD é possível incluir atributos com restrições, na figura 3 é possível ver a inclusão dos campos logradouro e complemento onde o campo logradouro possui uma restrição não nomeada NOT NULL.
Figura 3.  Inclusão de dois campos (Logradouro, complemento) na tabela cliente.

A clausula ADD também pode ser usada para adicionar uma restrição (Constraint) à um campo já existente conforme a sintaxe abaixo:

ALTER TABLE  nome_da_tabela ADD  CONSTRAINT restrição tipo (coluna);

Usando como base a sintaxe acima, na figura 4 é possível ver como a restrição de chave primaria foi adicionada ao campo COD_CLI da  tabela cliente.
Figura 4. Inclusão de restrição de chave primeira (Primary Key) ao campo COD_CLI usando ALTER TABLE.


Excluindo uma coluna a tabela (DROP COLUMN):

A cláusula que elimina um atribuoda tabela é o DROP COLUMN cuja sintaxe pode ser verificada abaixo:

ALTER TABLE  nome_da_tabela DROP COLUMN nome_da_coluna;

Na figura 5 é possível ver o comando sendo utilizado para excluir o atributo ID_SEXO. O comando describe é utilizado para mostrar o sucesso da alteração.
Figura 5. Excluindo uma coluna usando DROP COLUMN.

Não esqueça que quando a coluna é excluída, todos os dados armazenados nessa coluna serão excluídos também!!!!!


Renomeando uma coluna a tabela (RENAME COLUMN):

Finalizando nossa postagem veremos a cláusula RENAME COLUMN que é responsavel por renomear uma coluna. Abaixo é possível ver a sintaxe do comando:

ALTER TABLE  nome_da_tabela RENAME COLUMN nome_da_coluna TO  novo_ nome_da_coluna ;

Na figura 6 é possível ver um exemplo onde a coluna COMPLEMENTO da tabela cliente foi alterada para COMPL.
Figura 6. Renomeando colunas com clausula RENAME COLUMN.



Criação de tabelas - Oracle

Nesta primeira postagem sobre desenvolvimento SQL iremos abordar a criação de tabelas no Oracle. Para instalar o Banco de Dados Oracle de maneira gratuita, acesse nossa postagem sobre o Oracle Database Express Edition 11g e/ou Oracle - SQL Developer e faça o download do banco de dados.
Voltando ao assunto de nossa postagem, o comando para criação de tabelas é o CREATE e sua sintaxe pode ser observada abaixo:



Como o esquema e as restrições(Constraint) serão abordadas em outra postagem e como utilizar a opção DEFAULT foi explicada em outra postagem que pode ser acessada clicando aqui. Como as três opções citadas acima serão discutidas em outra postagemvamos "enxugar" um pouco o comando acima facilitando assim a explicação, logo a sintaxe simplificada do comando será:   

        CREATE TABLE nome_tabela (
         atributo_1 tipo_do_dado_1,
         atributo_2 tipo_do_dado_2,
          ...,
         atributo_n tipo_do_dado_N );

No comando acima precisaremos somente definir o nome da tabela, os atributos que formarão a tabela e o tipo do dados desses atributos. Para exemplificar o comando de criação de tabela, vamos criar uma tabela que irá armazenar informações sobre clientes de uma empresa usando a estrutura apresentada na Tabela I.
Tabela I. Estrutura simplificada da tabela cliente
Para a criação da tabela clientes baseando-se na tabela I teremos:

        CREATE TABLE CLIENTE (
         COD_CLI        NUMBER(5),
         NOME_CLI     VARCHAR2(20),
         CPF                 NUMBER(11),
         DT_NASC       DATE,
         ID_SEXO        CHAR(1) 
         );

Caso tudo corra bem, o ORACLE irá apresentar uma mensagem informando que a tabela foi criada com sucesso conforme Figura 1.

Figura 1. Criação de tabela usando o ORACLE 11g Express.

É comum que principiantes esqueçam alguns detalhes nas primeiras vezes que forem programar, logo, para evitar eventuais erros vamos deixar aqui alguns lembretes:

 - Os atributos devem ser separados por virgula;
 - Não esquecer de definir o tamanho da variável criada (exceto na variável DATE);
 - Todo comando deve acabar com " ; ";

Após a criação da tabela o desenvolvedor poderá verificar a estrutura criada através do comando DESCRIBE ou DESC, o resultado da consulta deverá ser similar ao apresentado na figura 2.

Figura 2. Descrição da tabela CLIENTE usando o ORACLE 11g Express.

Espero que essa postagem tenha sido útil, qualquer duvida deixei uma mensagem para nós aqui embaixo. Não esqueça de curtir nossas redes sociais (Facebook e G+).