Sobes.tech
Junior

Ako zmeniť štruktúru tabuľky v relačnej databáze?

sobes.tech AI

Odpoveď od AI

Štruktúra tabuľky v relačnej databáze sa mení pomocou SQL príkazov ALTER TABLE.

Hlavné akcie:

  • Pridanie stĺpca
  • Odstránenie stĺpca
  • Zmena dátového typu stĺpca
  • Pridanie/odstránenie obmedzení (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
  • Premenovanie tabuľky
  • Premenovanie stĺpca

Príklady príkazov ALTER TABLE:

-- Pridanie stĺpca 'email' typu VARCHAR(255) s obmedzením NOT NULL do tabuľky 'users'
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Odstránenie stĺpca 'phone' z tabuľky 'users'
ALTER TABLE users
DROP COLUMN phone;
-- Zmena dátového typu stĺpca 'age' v tabuľke 'users' na INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Pridanie obmedzenia UNIQUE na stĺpec 'username' v tabuľke 'users'
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Odstránenie obmedzenia Foreign Key s názvom 'fk_user_group' z tabuľky 'user_groups'
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Premenovanie tabuľky 'customers' na 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Premenovanie stĺpca 'first_name' na 'given_name' v tabuľke 'users' (sintax sa môže líšiť)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;

Dôležité:

  • Prítomnosť dát v tabuľke: zmena dátového typu alebo odstránenie stĺpca môže viesť ku strate alebo nesprávnym dátam.
  • Závislosti: odstránenie stĺpca alebo zmena obmedzení môže narušiť fungovanie súvisiacich tabuliek (napríklad kvôli cudzím kľúčom).
  • Výkon: zložité operácie ALTER TABLE na veľkých tabuľkách môžu byť náročné na zdroje a môžu blokovať prístup k tabuľke počas vykonávania.

Odporúča sa tieto zmeny najskôr vykonať v testovacom prostredí pred nasadením do produkcie a vytvoriť záložné kópie dát.