logo

Како додати страни кључ у СКЛ

У овом чланку ћемо научити како да додате страни кључ у колону у табели наше СКЛ базе података.

Тхе СТРАНИ КЉУЧ у СКЛ-у се користи за спајање записа две табеле у бази података. Колона дефинисана као СТРАНИ КЉУЧ у једној табели мора бити ПРИМАРНИ КЉУЧ у другој табели у истој бази података.

Страни кључ можемо лако додати у колону на следећа два начина:

  1. Додајте страни кључ користећи наредбу Креирај табелу
  2. Додајте страни кључ користећи наредбу Алтер Табле

Ако желите да додате СТРАНИ КЉУЧ у колону у СКЛ табелу, морате да следите доле наведене кораке у датом редоследу:

  1. Креирајте базу података у систему.
  2. Направите две табеле у истој бази података.
  3. Погледајте структуру табеле пре додавања страног кључа.
  4. Додајте страни кључ у табелу.
  5. Погледајте структуру табеле.

Сада ћемо објаснити горе наведене кораке на примеру:

Корак 1: Креирајте базу података

У језику структурираних упита, креирање базе података је први корак за складиштење структурираних табела у бази података.

Користите следећу СКЛ синтаксу да креирате базу података:

 CREATE DATABASE Database_Name; 

Претпоставимо да желите да креирате Возила база података. За ово морате да откуцате следећу команду у језику структурираних упита:

 CREATE DATABASE Vehicles; 

Корак 2: Направите две табеле у бази података

Сада морате да користите следећу СКЛ синтаксу за креирање табела у вашој бази података:

 CREATE TABLE table_name ( column_Name_1 data type (size of the column_1), column_Name_2 data type (size of the column_2), column_Name_3 data type (size of the column_3), ... column_Name_N data type (size of the column_1) ); 

Следећи СКЛ упит креира Царс_Детаилс сто у Возила база података.

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), ); 

Следећи упит креира Аутомобили_Детаљи_цене сто у Возила база података:

 CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL ); 

Корак 3: Прегледајте структуру табеле пре додавања страног кључа

Након креирања табеле и уметања података, можете видети структуру обе табеле тако што ћете откуцати следећи упит у вашој СКЛ апликацији:

 DESC Cars or DESCRIBE Cars ; 

Поље Тип НУЛА Кључ Уобичајено Ектра
Цар_Нумбер ИНТ НЕ АТ НУЛА ауто_инцремент
Модел ИНТ да - НУЛА -
Цар_Наме Варцхар(20) да - НУЛА
Боја Варцхар(20) да - НУЛА -

 DESC Cars_Price_Details; 

Поље Тип НУЛА Кључ Уобичајено Ектра
Цар_Модел ИНТ Не АТ НУЛА -
Цар_Прице ИНТ Не - НУЛА

Корак 4: Додајте страни кључ у колону у табели

Ако желите да додате страни кључ у време креирања табеле, онда морате да користите следећу ЦРЕАТЕ ТАБЛЕ синтаксу у СКЛ-у:

 CREATE TABLE table_name1 ( Column_Name_1 data type (size of the column_1), Column_Name_2 data type (size of the column_2), ......, Column_Name_N data type (size of the column_N) FOREIGN KEY REFERENCES Table_Name2 (Column_Name) ) ; 

Пример

Следећи упит додаје СТРАНИ КЉУЧ у колону „Модел“ у табели Царс_Детаилс:

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT, Model INT FOREIGN KEY REFERENCES Cars_Price_Details (Car_Model), Cars_Name VARCHAR (20), Color VARCHAR (20) UNIQUE, Price INT NOT NULL ) ; 

Овај упит у СКЛ-у се спаја тхе Царс_Детаилс сто са Аутомобили_Детаљи_цене табела уз помоћ страног кључа.

Корак 5: Прегледајте структуру табеле након додавања страног кључа

Да бисте проверили резултат упита извршеног у 4тхКорак, морате да укуцате следећу ДЕСЦ команду у СКЛ-у:

 DESC Cars_Details; 

Поље Тип НУЛА Кључ Уобичајено Ектра
Цар_Нумбер ИНТ да ПРИМАРНА НУЛА ауто_инцремент
Модел ИНТ Не СТРАНИ НУЛА -
Цар_Наме Варцхар(20) да - НУЛА -
Боја Варцхар(20) да - НУЛА -
Цена ИНТ НЕ - НУЛА -
Просек ИНТ НЕ - 0 -

Као што је приказано у горњем излазу, колона Модел је креирана као страни кључ.

Додајте страни кључ у постојећу табелу

Ако желите да додате страни кључ у постојећу табелу, морате да користите следећу АЛТЕР синтаксу у СКЛ-у:

 ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name); 

Следећи упит додаје СТРАНИ КЉУЧ у колону Модел када табела Царс_Детаилс већ постоји у систему базе података:

 ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model); 

Овај АЛТЕР упит у СКЛ-у се придружује тхе Царс_Детаилс сто са Аутомобили_Детаљи_цене табела уз помоћ страног кључа.

Избришите страни кључ из табеле

Ако желите да избришете страни кључ из колоне табеле, морате да користите следеће АЛТЕР синтакса у СКЛ-у:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Следећи упит брише креирани СТРАНИ КЉУЧ из колоне Модел табеле Царс_Детаилс:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;