Физическая модель базы данных
Содержание
Таблицы
Каждая таблица состоит из строк и столбцов и предназначена для хранения информации об однотипных объектах (например, о студентах или преподавателях).
Определение: |
Запись (строка таблицы) — набор полей, содержащий информацию о конкретном объекте. |
Определение: |
Поле (столбец таблицы) — набор значений определенного типа, отвечающий за конкретную характеристику объекта. |
Ключи
Определение: |
Ключом называется набор полей, уникально идентифицирующий запись. |
Выделяют следующие виды ключей:
- По структуре ключа:
- Простые (англ. simple) — состоящие из одного поля,
- Составные (англ. composite) — состоящие из нескольких полей.
- По "естественности":
- Естественные (англ. natural) — приходят из реальных данных,
- Суррогатные (англ. surrogate) — генерируются СУБД или придумываются специально для идентификации записи. Использование суррогатного ключа может быть обусловлено тем, что естественный ключ является длинным, составным или вовсе отсутствует.
- По "приоритету":
- Основной (англ. primary) — ключ, используемый для того, чтобы ссылаться на таблицу. Использование различных ключей для ссылок считается плохой практикой.
- Дополнительные (англ. secondary) — ключи, позволяющие поддерживать уникальность поля или набора полей. Их не следует использовать для ссылок на таблицу.
Так, например, идентификатор студента будет простым суррогатным ключом, а серия и номер паспорта — составным естественным ключом.
Ссылки
Определение: |
Внешним ключом (или ссылкой, англ. foreign key) называют набор столбцов, соответствующий (как правило, основному) ключу другой таблицы. |
Типы ссылок:
- Простые (англ. simple) — ссылки, состоящие из одного поля,
- Составные (англ. composite) — ссылки, состоящие из нескольких полей.
Графическая нотация
Таблицы обозначаются прямоугольниками. В заголовке указывается имя таблицы.
Таблица состоит из трех столбцов со следующим содержанием:
- Имя поля
- Тип поля
- Свойства поля
Обозначение | Свойство поля |
---|---|
M | Обязательное (англ. mandatory) |
O | Необязательное (англ. optional) |
PK | Основной ключ (англ. primary key) |
Kn | Дополнительный ключ $n$ (англ. key) |
Так как любое поле обладает либо свойством обязательности, либо свойством необязательности, будем считать поля необязательными по умолчанию. Основной ключ можно выделить, подчеркнув его сплошной линией.