Sobes.tech
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 TABLE em 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.