Определяем ключевые столбцы
Для каждой таблицы требуется ключевой столбец. Термин «ключевой» означает, что значения этого столбца уникальны в пределах таблицы. Значения в ключевых столбцах представляют собой идентификаторы, по которым осуществляется поиск подходящей строки таблицы.
Ключевой столбец называется также столбцом первичного ключа, или просто первичным ключом. Значения в ячейках этого столбца — идентификаторы строк.
Синтаксически первичный ключ определяется как PRIMARY KEY. Чаще всего значения первичного ключа определяются условными целочисленными значениями — 1.2.3 и так далее. Чтобы пользователям не потребовалось следить за нумерацией и исключать появление ошибок при вставке значений первичного ключа, используется специальный признак автоматического приращения значения AUTOINCREMENT.
Общепринятое название | Синтаксис SQL | Назначение ограничения |
Первичный ключ | PRIMARY KEY | Определяет первичный ключ таблицы |
Автоинкремент | AUTOINCREMENT | При добавлении новой строки СУБД автоматически подставит следующее значение ключа, равное значению ключа последней строки, прибавив единицу. |
Таблица 3. Ограничение первичного ключа и автоприращение
Определяем связи между таблицами
Чтобы разобраться с различными вариантами связи между таблицами базы данных, рассмотрим примеры отношений реального мира.
Отношение «один к одному»
У каждого совершеннолетнего ученика есть паспорт, но не может быть нескольких действующих паспортов одновременно — имеется в виду гражданство одной страны. В то же время этот паспорт не принадлежит нескольким ученикам. В этом случае мы получим связь «один к одному» между учеником и его паспортом.
Диаграмма 1. Отношение «один к одному»
Связь «один к одному» — каждому экземпляру сущности А соответствует один и только один экземпляр сущности Б и, наоборот, каждому экземпляру сущности Б соответствует один и только один экземпляр сущности А.