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 NULLPodemos 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
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo