Изменения

Перейти к: навигация, поиск

Физическая модель базы данных

3750 байт добавлено, 11:55, 27 декабря 2020
Ссылки
{{Определение
|definition =
'''Физическая модель базы данных''' — это модель данных, которая определяет, каким образом представляются данные, и содержит все детали, необходимые СУБД для создания базы данных.}}
'''Схема реляционной БД:'''
* Основные элементы
** Таблицы
** Ссылки между таблицами
* Дополнительные элементы
** Триггеры
** Представления
** Хранимые процедуры
 
== Таблицы ==
Каждая таблица состоит из строк и столбцов и предназначена для хранения информации об однотипных объектах (например, о студентах или преподавателях).
{{Определение
|definition =
'''Запись''' (строка таблицы) — набор полей, содержащий информацию о конкретном объекте.}}
 
{{Определение
|definition =
'''Поле''' (столбец таблицы) — набор значений определенного типа, отвечающий за конкретную характеристику объекта.
}}
Пример таблицы, содержащей информацию о студентах:
{| class="wikitable" style="background-color:#FFF; text-align:center; padding:1000px"
!'''StudentId: int'''
!'''Name: varchar(60)'''
!'''Birth: Date'''
|-
|1
|Иван Иванов
|01.01.1998
|-
|2
|Петр Петров
|02.02.1999
|}
== Ключи ==
** '''Простые''' (англ. ''simple'') {{---}} состоящие из одного поля,
** '''Составные''' (англ. ''composite'') {{---}} состоящие из нескольких полей.
* По "естественности"«естественности»:
** '''Естественные''' (англ. ''natural'') {{---}} приходят из реальных данных,
** '''Суррогатные''' (англ. ''surrogate'') {{---}} генерируются СУБД или придумываются специально для идентификации записи. Использование суррогатного ключа может быть обусловлено тем, что естественный ключ является длинным, составным или вовсе отсутствует.
* По "приоритету"«приоритету»:
** '''Основной''' (англ. ''primary'') {{---}} ключ, используемый для того, чтобы ссылаться на таблицу. Использование различных ключей для ссылок считается плохой практикой.
** '''Дополнительные''' (англ. ''secondary'') {{---}} ключи, позволяющие поддерживать уникальность поля или набора полей. Их не следует использовать для ссылок на таблицу.
== Ссылки ==
 
{{Определение
|definition =
'''Внешним ключом''' (или '''ссылкой''', англ. ''foreign key'') называют набор столбцов, соответствующий (как правило, основному) ключу другой или той же самой таблицы.}}
[[Файл:БД_ссылка_Students_Groups.png|400px|thumb|right|Пример ссылки на другую таблицу]]
Типы ссылок:
* '''Простые''' (англ. ''simple'') {{---}} ссылки, состоящие из одного поля,
* '''Составные''' (англ. ''composite'') {{---}} ссылки, состоящие из нескольких полей.
== Графическая нотация ==
[[Файл:ФМ_графическая_нотация.png|400px|thumb|right|Пример графической нотации для таблицы $Students$]]
[[Файл:FK Student Group.png|400px|thumb|right|Пример внешней ссылки]]
 
Таблицы обозначаются прямоугольниками. В заголовке указывается имя таблицы.
 
Таблица состоит из трех столбцов со следующим содержанием:
* Имя поля
* Тип поля
* Свойства поля
 
{| class="wikitable" style="background-color:#FFF; text-align:center"
! style="background-color:#F0F8FF;" |Обозначение
! style="background-color:#F0F8FF;" |Свойство поля
|-
|'''M'''
|Обязательное (англ. ''mandatory'')
|-
|'''O'''
|Необязательное (англ. ''optional'')
|-
|'''PK'''
|Основной ключ (англ. ''primary key'')
|-
|'''Kn'''
|Дополнительный ключ $n$ (англ. ''key'')
|-
|'''FKn'''
|Внешний ключ $n$ (англ. ''foreign key'')
|}
 
'''Замечания:'''
* Так как любое поле обладает либо свойством обязательности, либо свойством необязательности, будем считать поля необязательными по умолчанию, не указывая это свойство явно.
* Основной ключ можно выделить, подчеркнув его сплошной линией.
 
Внешний ключ обозначается стрелкой, над которой указывается уникальный идентификатор ключа $FKn$. Этим идентификатором также отмечаются поля, выступающие в роли ссылки.
 
 
 
 
 
 
 
 
 
 
==Литература==
* Дейт К. Введение в системы баз данных (глава 14)
* Уидом Д., Ульман Д. Основы реляционных баз данных (глава 2)
Анонимный участник

Навигация