Физическая модель базы данных
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Определение: |
Физическая модель базы данных — это модель данных, которая определяет, каким образом представляются данные, и содержит все детали, необходимые СУБД для создания базы данных. |
Схема реляционной БД:
- Основные элементы
- Таблицы
- Ссылки между таблицами
- Дополнительные элементы
- Триггеры
- Представления
- Хранимые процедуры
Рассмотрим основные элементы схемы реляционной БД.
Таблицы
Каждая таблица состоит из строк и столбцов и предназначена для хранения информации об однотипных объектах.
Определение: |
Запись — набор полей, содержащий информацию о конкретном объекте. Записям соответствуют строки таблицы. |
Определение: |
Поле — значение определенного типа, отражающее конкретную характеристику объекта. Столбец таблицы содержит поля записей, отвечающие за одну характеристику. |
Пример таблицы, содержащей информацию о студентах:
StudentId: int | Name: varchar(60) | Birth: Date |
---|---|---|
1 | Иван Иванов | 01.01.1998 |
2 | Петр Петров | 02.02.1999 |
Ключи
Определение: |
Ключом называется набор полей, уникально идентифицирующий запись. |
Выделяют следующие виды ключей:
- По структуре ключа:
- Простые (англ. simple) — состоящие из одного поля,
- Составные (англ. composite) — состоящие из нескольких полей.
- По «естественности»:
- Естественные (англ. natural) — приходят из реальных данных,
- Суррогатные (англ. surrogate) — генерируются СУБД или придумываются специально для идентификации записи. Использование суррогатного ключа может быть обусловлено тем, что естественный ключ является длинным, составным или вовсе отсутствует.
- По «приоритету»:
- Основной (англ. primary) — ключ, используемый для того, чтобы ссылаться на таблицу. Использование различных ключей для ссылок считается плохой практикой.
- Дополнительные (англ. secondary) — ключи, позволяющие поддерживать уникальность поля или набора полей. Их не следует использовать для ссылок на таблицу.
Так, например, идентификатор студента будет простым суррогатным ключом, а серия и номер паспорта — составным естественным ключом.
Ссылки
Определение: |
Внешним ключом (или ссылкой, англ. foreign key) называют набор столбцов, соответствующий (как правило, основному) ключу другой или той же самой таблицы. |
Типы ссылок:
- Простые (англ. simple) — ссылки, состоящие из одного поля,
- Составные (англ. composite) — ссылки, состоящие из нескольких полей.
Графическая нотация
Таблицы обозначаются прямоугольниками. В заголовке указывается имя таблицы.
Таблица состоит из трех столбцов со следующим содержанием:
- Имя поля
- Тип поля
- Свойства поля
Обозначение | Свойство поля |
---|---|
M | Обязательное (англ. mandatory) |
O | Необязательное (англ. optional) |
PK | Основной ключ (англ. primary key) |
Kn | Дополнительный ключ $n$ (англ. key) |
FKn | Внешний ключ $n$ (англ. foreign key) |
Замечания:
- Так как любое поле обладает либо свойством обязательности, либо свойством необязательности, будем считать поля необязательными по умолчанию, не указывая это свойство явно.
- Основной ключ можно выделить, подчеркнув поля, входящие в него, сплошной линией.
Внешний ключ обозначается стрелкой, над которой указывается уникальный идентификатор ключа $FKn$. Этим идентификатором также отмечаются поля, выступающие в роли ссылки. Когда имена полей в таблицах различаются, на ссылке можно указать соответствие между полями.
Литература
- Дейт К. Введение в системы баз данных (глава 14)
- Уидом Д., Ульман Д. Основы реляционных баз данных (глава 2)