Sobes.tech
Junior

Ինչպես փոխել ռելացիոն տվյալների բազայի աղյուսակի կառուցվածքը?

sobes.tech AI

Պատասխան AI-ից

Հարաբերական տվյալների բազայի աղյուսակի կառուցվածքը փոխվում է SQL հրամանների ALTER TABLE միջոցով:

Հիմնական գործողություններ՝

  • Սյունակ ավելացնել
  • Սյունակ հեռացնել
  • Սյունակի տվյալների տիպը փոխել
  • Հատկություններ ավելացնել/հեռացնել (PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT)
  • Աղյուսակի անունը փոխել
  • Սյունակի անունը փոխել

ALTER TABLE հրամանների օրինակներ՝

-- 'users' աղյուսակին ավելացնել 'email' սյունակ VARCHAR(255) տիպով և NOT NULL սահմանափակմամբ
ALTER TABLE users
ADD COLUMN email VARCHAR(255) NOT NULL;
-- Հեռացնել 'phone' սյունակը 'users' աղյուսակից
ALTER TABLE users
DROP COLUMN phone;
-- Փոխել 'age' սյունակի տվյալների տիպը 'users' աղյուսակում՝ INTEGER
ALTER TABLE users
ALTER COLUMN age TYPE INTEGER;
-- Ավելացնել UNIQUE սահմանափակումը 'username' սյունակին 'users' աղյուսակում
ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);
-- Հեռացնել 'fk_user_group' անունով Foreign Key սահմանափակումը 'user_groups' աղյուսակից
ALTER TABLE user_groups
DROP CONSTRAINT fk_user_group;
-- Աղյուսակի անունը փոխել 'customers'-ից՝ 'clients'
ALTER TABLE customers
RENAME TO clients;
-- Սյունակի անունը փոխել 'first_name'-ից՝ 'given_name'՝ 'users' աղյուսակում (սինտաքսը կարող է տարբեր լինել)
ALTER TABLE users
RENAME COLUMN first_name TO given_name;

Կարևոր է՝

  • Տվյալների առկայությունը աղյուսակում՝ տվյալների տիպը փոխել կամ սյունակ հեռացնելը կարող է հանգեցնել տվյալների կորուստի կամ սխալ տվյալների:
  • Զբաղվածություններ՝ սյունակ հեռացնելը կամ սահմանափակումներ փոխելն ազդել կարող է կապված աղյուսակների աշխատանքի վրա (օրինակ՝ արտաքին բանալիների պատճառով):
  • Գործողության արդյունավետությունը՝ մեծ աղյուսակների վրա ALTER TABLE բարդ գործողությունները կարող են ռեսուրսներ պահանջել և ժամանակավորապես փակել աղյուսակին մուտքը:

Նշվում է, որ նման փոփոխությունները խորհուրդ է տրվում կատարել փորձնական միջավայրում՝ նախքան արտադրական միջավայրում կիրառելը և տվյալների բեմական պատճեններ ստեղծել։