P
pro·school.ru
Каталог школ

Реляционные базы данных: ключи и связи

💻 Информатика · 9 класс

Что такое реляционная база данных

База данных — это организованное хранилище взаимосвязанной информации. В самой распространённой, реляционной, модели данные хранятся в виде таблиц. Слово «реляционная» происходит от понятия «отношение» — так в этой модели называют таблицу.

Таблица, запись и поле

Каждая таблица состоит из строк и столбцов. Запись (строка) описывает один объект — например, одного ученика. Поле (столбец) хранит одну характеристику всех объектов — например, фамилию. У каждого поля есть имя и тип данных: текст, число, дата, логическое значение.

КодФамилияКлассГод рождения
1Иванов2010
2Петрова2011
3Сидоров2010

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

Первичный ключ — это поле (или набор полей), которое однозначно определяет каждую запись. В таблице выше первичный ключ — поле «Код»: оно не повторяется и не бывает пустым. По ключу можно безошибочно найти нужную строку, даже если у двух учеников совпадают фамилии.

Связи между таблицами

Хранить всё в одной огромной таблице неудобно: данные повторяются и их сложно изменять. Поэтому информацию разбивают на несколько связанных таблиц. Связь создаётся через внешний ключ — поле одной таблицы, которое ссылается на первичный ключ другой. Например, таблица «Оценки» содержит поле «Код ученика», которое связывает оценку с конкретным учеником из таблицы «Ученики».

Схема связи: Ученики(Код, Фамилия) <-- Оценки(Код_ученика, Предмет, Балл). Поле Код_ученика — внешний ключ, ссылается на Код в таблице Ученики.

Типы полей

Чтобы база работала правильно, для каждого поля заранее задают тип данных. Тип определяет, какие значения можно хранить и какие действия с ними допустимы. Поле числового типа участвует в вычислениях, поле даты позволяет сравнивать события по времени, а текстовое поле хранит произвольные строки.

Тип поляПример значения
ТекстовыйИванов
Числовой2010
Дата01.09.2024
Логическийда / нет

Зачем разделять данные

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

Частые ошибки. Первичный ключ не должен повторяться и не может быть пустым. Внешний ключ должен ссылаться на существующую запись главной таблицы. Не путайте запись (строку-объект) и поле (столбец-характеристику).

Кратко о главном

  • Реляционная база данных хранит информацию в виде связанных таблиц.
  • Запись — это строка (один объект), поле — столбец (одна характеристика).
  • Первичный ключ однозначно определяет каждую запись.
  • Внешний ключ связывает таблицы, ссылаясь на первичный ключ другой таблицы.
  • Разделение на связанные таблицы убирает повторы и упрощает изменение данных.