Перейти к содержанию

Первичные и внешние ключи

Программирование SQL Сложность 1/5

Начало урока

Первичные и внешние ключи

Как таблица различает строки и как две таблицы держатся за руки

Главная мысль: Первичный ключ — это столбец, который выдаёт каждой строке личную бирку, чтобы две строки нельзя было перепутать. Внешний ключ — это столбец одной таблицы, который указывает на первичный ключ другой таблицы, позволяя связать таблицы вместо того, чтобы снова и снова копировать одни и те же данные.
К концу урока вы сможете:
  • объяснить, что такое первичный ключ и зачем он нужен каждой строке,
  • поручить базе данных выдавать номера автоматически с помощью AUTO_INCREMENT,
  • объяснить, что обещает внешний ключ,
  • связать две таблицы и читать данные из обеих сразу,
  • сказать, почему один общий ключ лучше копирования одних и тех же данных.

1. Зачем каждой строке нужна бирка

Представьте класс, где трёх детей зовут Алекс. Если учитель крикнет: "Алекс, твоя очередь!", кто встанет? Непонятно. Людям нужно что-то по-настоящему своё, чтобы можно было указать ровно на одного человека.

У таблиц базы данных та же беда. Две строки могут выглядеть почти одинаково — одно имя, один возраст, один класс. Если нам понадобится сказать "измени эту строку" или "удали ту строку", нужно значение, которое принадлежит одной-единственной строке.

Этот особый столбец называется первичным ключом. Первичный ключ даёт два простых обещания:

  • Уникальность: две строки не могут иметь одно значение. Каждое значение встречается один раз.
  • Не пусто (NOT NULL): оно есть у каждой строки — бирка не может быть пустой.

Благодаря этим двум обещаниям первичный ключ всегда указывает ровно на одну строку, как номер места в кинотеатре или номер страницы в книге.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя