Olá pessoal nesta Quick iremos continuar com falando sobre SQL, 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:
1. 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
2. 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.
3. 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.
4. 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 tabela:
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.
5. 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
6. 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
Vou ficando por aqui, veja na próxima Quick veremos a criação de Índices.
Um abraço
Rubens Antunes