Junior
Como alterar a estrutura de uma tabela numa base de dados relacional?
sobes.tech IA
Resposta da IA
A estrutura de uma tabela numa base de dados relacional é alterada usando comandos SQL ALTER TABLE.
Ações principais:
- Adicionar coluna
- Eliminar coluna
- Alterar o tipo de dados de uma coluna
- Adicionar/eliminar restrições (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
- Renomear a tabela
- Renomear a coluna
Exemplos de comandos ALTER TABLE:
-- Adicionar coluna 'email' do tipo VARCHAR(255) com restrição NOT NULL à tabela 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Eliminar a coluna 'phone' da tabela 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Alterar o tipo de dados da coluna 'age' na tabela 'users' para INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Adicionar restrição UNIQUE à coluna 'username' na tabela 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Eliminar a restrição Foreign Key chamada 'fk_user_group' da tabela 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Renomear a tabela 'customers' para 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Renomear a coluna 'first_name' para 'given_name' na tabela 'users' (a sintaxe pode variar)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;
É importante considerar:
- A existência de dados na tabela: alterar o tipo de dados ou eliminar uma coluna pode levar à perda ou dados incorretos.
- Dependências: eliminar uma coluna ou alterar restrições pode afetar o funcionamento de tabelas relacionadas (por exemplo, devido a chaves externas).
- Performance: operações complexas
ALTER TABLEem tabelas grandes podem ser intensivas em recursos e bloquear o acesso à tabela durante a sua execução.
Recomenda-se realizar essas alterações em um ambiente de teste antes de aplicá-las em produção e fazer backups dos dados.