SQL: связь между различными строками двух таблиц - PullRequest
0 голосов
/ 27 апреля 2018

Я создаю эр-диаграмму для базы данных "Аэропорт". И мне достались палки со столами «Полет» и «Аэропорт». В таблице «Полет» у меня есть 2 столбца: «Место отправления» и «Место прибытия». Оба они должны быть связаны со значениями в таблице «Аэропорт». Итак, как я могу сделать это надлежащим образом на ER-диаграмме и на SQL?

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2018

Я думаю, что вы ищете внешние ключи . Вот учебник для этого:

https://www.w3schools.com/sql/sql_foreignkey.asp

В вашем случае сначала создайте таблицы:

create table flight(
  idFlight int primary key,
  idDeparturePlace int,
  idArrivalPlace int);

create table airport(
  idAirport int primary key);

Теперь вам нужно добавить внешние ключи для буксировки. Один для idDepaturePlace и один для idArrivalPlace.

Следуйте этому синтаксису:

ALTER TABLE <child table> ADD FOREIGN KEY (<col in child table>) REFERENCES <master table>(<col in master table>);

В вашем случае вы должны добавить оба этих ключа в таблицу полетов:

ALTER TABLE flight ADD FOREIGN KEY (idDepaturePlace) REFERENCES airport(idAirport);

ALTER TABLE flight ADD FOREIGN KEY (idArrivalPlace) REFERENCES airport(idAirport);
...