Sobes.tech
Junior

Hoe wijzig je de structuur van een tabel in een relationele database?

sobes.tech AI

Antwoord van AI

De structuur van een tabel in een relationele database wordt gewijzigd met behulp van SQL-commando's ALTER TABLE.

Belangrijkste acties:

  • Kolom toevoegen
  • Kolom verwijderen
  • Het datatype van een kolom wijzigen
  • Beperkingen toevoegen/verwijderen (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
  • Tabel hernoemen
  • Kolom hernoemen

Voorbeelden van ALTER TABLE-commando's:

-- Voeg een kolom 'email' van het type VARCHAR(255) met NOT NULL-beperking toe aan de tabel 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Verwijder de kolom 'phone' uit de tabel 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Wijzig het datatype van de kolom 'age' in de tabel 'users' naar INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Voeg een UNIQUE-beperking toe aan de kolom 'username' in de tabel 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Verwijder de Foreign Key-beperking genaamd 'fk_user_group' uit de tabel 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Hernoem de tabel 'customers' naar 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Hernoem de kolom 'first_name' naar 'given_name' in de tabel 'users' (de syntax kan variëren)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;

Belangrijke punten om te overwegen:

  • Bestaan van gegevens in de tabel: het wijzigen van het datatype of het verwijderen van een kolom kan leiden tot verlies of onjuiste gegevens.
  • Afhankelijkheden: het verwijderen van een kolom of het wijzigen van beperkingen kan de werking van gerelateerde tabellen verstoren (bijvoorbeeld door foreign keys).
  • Prestaties: complexe ALTER TABLE-bewerkingen op grote tabellen kunnen resource-intensief zijn en de toegang tot de tabel blokkeren tijdens de uitvoering.

Het wordt aanbevolen om dergelijke wijzigingen eerst in een testomgeving uit te voeren voordat ze in productie worden toegepast en back-ups van de gegevens te maken.