Реляционные базы данных: ключи и связи
💻 Информатика · 9 класс
Что такое реляционная база данных
База данных — это организованное хранилище взаимосвязанной информации. В самой распространённой, реляционной, модели данные хранятся в виде таблиц. Слово «реляционная» происходит от понятия «отношение» — так в этой модели называют таблицу.
Таблица, запись и поле
Каждая таблица состоит из строк и столбцов. Запись (строка) описывает один объект — например, одного ученика. Поле (столбец) хранит одну характеристику всех объектов — например, фамилию. У каждого поля есть имя и тип данных: текст, число, дата, логическое значение.
| Код | Фамилия | Класс | Год рождения |
|---|---|---|---|
| 1 | Иванов | 9А | 2010 |
| 2 | Петрова | 9Б | 2011 |
| 3 | Сидоров | 9А | 2010 |
Первичный ключ
Первичный ключ — это поле (или набор полей), которое однозначно определяет каждую запись. В таблице выше первичный ключ — поле «Код»: оно не повторяется и не бывает пустым. По ключу можно безошибочно найти нужную строку, даже если у двух учеников совпадают фамилии.
Связи между таблицами
Хранить всё в одной огромной таблице неудобно: данные повторяются и их сложно изменять. Поэтому информацию разбивают на несколько связанных таблиц. Связь создаётся через внешний ключ — поле одной таблицы, которое ссылается на первичный ключ другой. Например, таблица «Оценки» содержит поле «Код ученика», которое связывает оценку с конкретным учеником из таблицы «Ученики».
Схема связи: Ученики(Код, Фамилия) <-- Оценки(Код_ученика, Предмет, Балл). Поле Код_ученика — внешний ключ, ссылается на Код в таблице Ученики.Типы полей
Чтобы база работала правильно, для каждого поля заранее задают тип данных. Тип определяет, какие значения можно хранить и какие действия с ними допустимы. Поле числового типа участвует в вычислениях, поле даты позволяет сравнивать события по времени, а текстовое поле хранит произвольные строки.
| Тип поля | Пример значения |
|---|---|
| Текстовый | Иванов |
| Числовой | 2010 |
| Дата | 01.09.2024 |
| Логический | да / нет |
Зачем разделять данные
Разбиение на связанные таблицы избавляет от лишних повторов — это называют нормализацией. Если фамилия ученика изменится, её достаточно поправить в одной таблице, а все оценки останутся связанными по ключу. Так уменьшается объём данных и снижается риск ошибок. Кроме того, разделение упрощает поиск: чтобы вывести все оценки одного ученика, достаточно отобрать записи с нужным значением внешнего ключа.
Частые ошибки. Первичный ключ не должен повторяться и не может быть пустым. Внешний ключ должен ссылаться на существующую запись главной таблицы. Не путайте запись (строку-объект) и поле (столбец-характеристику).
Кратко о главном
- Реляционная база данных хранит информацию в виде связанных таблиц.
- Запись — это строка (один объект), поле — столбец (одна характеристика).
- Первичный ключ однозначно определяет каждую запись.
- Внешний ключ связывает таблицы, ссылаясь на первичный ключ другой таблицы.
- Разделение на связанные таблицы убирает повторы и упрощает изменение данных.