Физическая модель базы данных — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Ключи)
м (rollbackEdits.php mass rollback)
 
(не показано 7 промежуточных версий 3 участников)
Строка 10: Строка 10:
 
** Представления
 
** Представления
 
** Хранимые процедуры
 
** Хранимые процедуры
 +
 +
Рассмотрим основные элементы схемы реляционной БД.
  
 
== Таблицы ==
 
== Таблицы ==
Строка 15: Строка 17:
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
'''Запись''' (строка таблицы) — набор полей, содержащий информацию о конкретном объекте.}}
+
'''Запись''' — набор полей, содержащий информацию о конкретном объекте. Записям соответствуют строки таблицы. }}
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
'''Поле''' (столбец таблицы) набор значений определенного типа, отвечающий за конкретную характеристику объекта.  
+
'''Поле''' — значение определенного типа, отражающее конкретную характеристику объекта. Столбец таблицы содержит поля записей, отвечающие за одну характеристику.  
 
}}
 
}}
 
Пример таблицы, содержащей информацию о студентах:
 
Пример таблицы, содержащей информацию о студентах:
Строка 56: Строка 58:
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
'''Внешним ключом''' (или '''ссылкой''', англ. ''foreign key'') называют набор столбцов, соответствующий (как правило, основному) ключу другой таблицы.}}
+
'''Внешним ключом''' (или '''ссылкой''', англ. ''foreign key'') называют набор столбцов, соответствующий (как правило, основному) ключу другой или той же самой таблицы.}}
 
[[Файл:БД_ссылка_Students_Groups.png|400px|thumb|right|Пример ссылки на другую таблицу]]
 
[[Файл:БД_ссылка_Students_Groups.png|400px|thumb|right|Пример ссылки на другую таблицу]]
 
Типы ссылок:
 
Типы ссылок:
 
* '''Простые''' (англ. ''simple'') {{---}} ссылки, состоящие из одного поля,
 
* '''Простые''' (англ. ''simple'') {{---}} ссылки, состоящие из одного поля,
 
* '''Составные''' (англ. ''composite'') {{---}} ссылки, состоящие из нескольких полей.
 
* '''Составные''' (англ. ''composite'') {{---}} ссылки, состоящие из нескольких полей.
 
 
 
 
  
 
== Графическая нотация ==
 
== Графическая нотация ==
Строка 99: Строка 97:
 
'''Замечания:'''
 
'''Замечания:'''
 
* Так как любое поле обладает либо свойством обязательности, либо свойством необязательности, будем считать поля необязательными по умолчанию, не указывая это свойство явно.
 
* Так как любое поле обладает либо свойством обязательности, либо свойством необязательности, будем считать поля необязательными по умолчанию, не указывая это свойство явно.
* Основной ключ можно выделить, подчеркнув его сплошной линией.
+
* Основной ключ можно выделить, подчеркнув поля, входящие в него, сплошной линией.
 
 
Внешний ключ обозначается стрелкой, над которой указывается уникальный идентификатор ключа $FKn$. Этим идентификатором также отмечаются поля, выступающие в роли ссылки.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
Внешний ключ обозначается стрелкой, над которой указывается уникальный идентификатор ключа $FKn$. Этим идентификатором также отмечаются поля, выступающие в роли ссылки. Когда имена полей в таблицах различаются, на ссылке можно указать соответствие между полями.
  
 
==Литература==
 
==Литература==
 
* Дейт К. Введение в системы баз данных (глава 14)
 
* Дейт К. Введение в системы баз данных (глава 14)
 
* Уидом Д., Ульман Д. Основы реляционных баз данных (глава 2)
 
* Уидом Д., Ульман Д. Основы реляционных баз данных (глава 2)

Текущая версия на 19:27, 4 сентября 2022

Определение:
Физическая модель базы данных — это модель данных, которая определяет, каким образом представляются данные, и содержит все детали, необходимые СУБД для создания базы данных.

Схема реляционной БД:

  • Основные элементы
    • Таблицы
    • Ссылки между таблицами
  • Дополнительные элементы
    • Триггеры
    • Представления
    • Хранимые процедуры

Рассмотрим основные элементы схемы реляционной БД.

Таблицы

Каждая таблица состоит из строк и столбцов и предназначена для хранения информации об однотипных объектах.

Определение:
Запись — набор полей, содержащий информацию о конкретном объекте. Записям соответствуют строки таблицы.


Определение:
Поле — значение определенного типа, отражающее конкретную характеристику объекта. Столбец таблицы содержит поля записей, отвечающие за одну характеристику.

Пример таблицы, содержащей информацию о студентах:

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) — ссылки, состоящие из нескольких полей.

Графическая нотация

Пример графической нотации для таблицы $Students$
Пример внешней ссылки

Таблицы обозначаются прямоугольниками. В заголовке указывается имя таблицы.

Таблица состоит из трех столбцов со следующим содержанием:

  • Имя поля
  • Тип поля
  • Свойства поля
Обозначение Свойство поля
M Обязательное (англ. mandatory)
O Необязательное (англ. optional)
PK Основной ключ (англ. primary key)
Kn Дополнительный ключ $n$ (англ. key)
FKn Внешний ключ $n$ (англ. foreign key)

Замечания:

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

Внешний ключ обозначается стрелкой, над которой указывается уникальный идентификатор ключа $FKn$. Этим идентификатором также отмечаются поля, выступающие в роли ссылки. Когда имена полей в таблицах различаются, на ссылке можно указать соответствие между полями.

Литература

  • Дейт К. Введение в системы баз данных (глава 14)
  • Уидом Д., Ульман Д. Основы реляционных баз данных (глава 2)