Quick Tips: Introdução ao SQL - Parte V

Iremos continuar vendo a definição das tabelas.

Assertivas

Uma assertiva é utilizada para estabelecer restrição no banco de dados com base em dados de uma ou mais tabelas. Dessa forma, você pode estabelecer como regra que a tabela CD sempre tenha mais de uma linha.

CREATE ASSERTION nome CHECK (expressão lógica); CREATE ASSERTION ha_CD CHECK (EXISTS Select codigo_cd from CD);

Alteração na estrutura da tabela

Para alterar a estrutura de uma tabela, utilizamos o comando ALTER TABLE. Dependendo do banco de dados, podemos:

Acrescentar novas colunas

O comando utilizando para acrescentar novas colunas é muito semelhante ao da criação de colunas em uma tabela:

ALTER TABLE cliente ADD email varchar(80) UNIQUE

Acrescentar novas constraints

O comando utilizado para acrescentar novas constraints é muito semelhante ao da criação de constraints em uma tabela:

ALTER TABLE cliente ADD PRIMARY KEY (CDCLIENTE)

Nesse caso, estamos alterando uma constraint de tabela. Note que a colocação dos parênteses após a cláusula ADD é opcional. Uma constraint de coluna deve ser alterada utilizando o comando a seguir, relacionado à própria coluna.

Modificar Colunas

Podemos modificar qualquer característica de uma coluna, seja o tipo de dado (alguns bancos de dados requerem ausência de conteúdo na coluna para fazer essa alteração), o tamanho (alguns só aceitam alterações para valores maiores que o definido) e as constraints:

ALTER TABLE cliente MODIFY email varchar(100) NOT NULL

Podemos especificar apenas o que estamos modificando; não é necessário repetir o que não será alterado. Assim, se quisermos apenas modificar o tipo de dado e seu tamanho, não é necessário especificar a constraint e vice-versa. De qualquer forma, devemos sempre especificar qual coluna está sofrendo a modificação.

Excluindo Elementos

Pelo padrão SQL, deveria excluir colunas ou constraints de uma tabela. Alguns bancos de dados não permitem a exclusão de colunas. No Oracle, a cláusula de exclusão é DROP e não DELETE, como definido desde a SQL-92.

  • Exemplo 1: Exclusão de coluna:

    ALTER TABLE cliente DELETE email
  • Exemplo 2: Exclusão de constraint de tabela:

    ALTER TABLE cliente DELETE primary key
  • Exemplo 3: Exclusão de constraint de coluna:

    ALTER TABLE cliente DELETE FOREIGN KEY pedido_cliente_fk

Note que a exclusão de constraint de coluna deve ser feita como uma alteração da coluna. Veja o exemplo anterior.

Trocar nome de elementos

Podemos trocar o nome de tabelas ou colunas (alguns bancos de dados não permitem essa operação):

  • Exemplo 1: Alteração de nome de tabela:

    ALTER TABLE cliente RENAME cli
  • Exemplo 2: Alteração de nome de coluna:

    ALTER TABLE cliente RENAME nome_cliente TO nmcliente

Eliminando uma tabela

Para eliminar uma tabela do banco de dados, utilizamos o comando DROP TABLE seguido do nome da tabela. Alguns bancos de dados somente permitirão a exclusão da tabela desde que esta não esteja relacionada a outras. Alguns deles podem conter cláusulas específicas para excluir a tabela, independentemente das constraints definidas (no Oracle, você pode especificar CASCADE após o nome da tabela). Exemplo:

DROP TABLE cliente

Leia todos artigos da série

Artigos relacionados