Arti-Jack
@Arti-Jack

Как можно разобрать данный SQL запрос?

Доброго времени суток.

Хочу сразу сказать, что в SQL я дальше базовых вещей (таких как SELECT, MAKE TABLE, WHERE, соединение таблиц и т.д) не знаю.

Но всё же, имеется следующее задание:
Атрибут FAKULTY является внешним ключом таблицы FACULTIES, с первичным ключом ID. Восстановите порядок установки внешнего ключа.
CREATE TABLE STUDENTS
( ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
NAME TEXT NOT NULL,
 COURSE INTEGER NOT NULL, 
FAKULTY INTEGER NOT NULL, 
//установка внешнего ключа)

KEY, (ID), REFERENCE, FACULTIES, FOREIGN, (FACULTY)


Ну и нужно дописать запрос.

Ответ то я знаю: FOREIGN KEY (FAKULTY) REFERENCES FACULTIES (ID), но вот проблема в том, что я не понимаю что этот кусочек кода делает. Буду очень благодарен вам, если вы объясните мне.

Заранее извиняюсь за такой нубский вопрос)
  • Вопрос задан
  • 807 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Black_Tulip
Делается это очень просто:
CREATE TABLE STUDENTS
( ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
NAME TEXT NOT NULL,
 COURSE INTEGER NOT NULL, 
FAKULTY INTEGER NOT NULL, 
CONSTRAINT FK_FacultyStudent FOREIGN KEY (FAKULTY)
    REFERENCES FACULTIES (ID)

Теперь разберемся с этим куском кода:
CONSTRAINT FK_FacultyStudent FOREIGN KEY (FAKULTY)
    REFERENCES FACULTIES (ID)

CONTRAINT FK_FacultyStudent - создаем ограничение на конкретное поле
FOREIGN KEY (FAKULTY) - название самого ограничения, в данном случаи вторичный ключ, в скобках указывается поле, которое в текущей таблицы будет использоваться для соединения со второй таблицей . Такое поле лучше всего называть вот так FakultyID, для лучшего понимания и уточнение,что это вторичный ключ
REFERENCES FACULTIES (ID) - говорим, что поле FAKULTY будет связывается с полем ID в таблице FACULTIES
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы