1.2 Нормальные формы Flashcards

1
Q

Реляционная модель данных

A

Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики, как теория множеств и логика первого порядка.

Аспекты (составляющие) РМД:
1) Структурный — данные в базе данных представляют собой набор отношений.

2) Целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.

3) Обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).
Мы будем рассматривать именно структурный аспект.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Атрибут

A

Свойство некоторой сущности. Часто называется полем таблицы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Домен атрибута

A

Множество допустимых значений, которые может принимать атрибут (тип данных)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Кортеж

A

Конечное множество взаимосвязанных допустимых значений атрибутов, которые вместе описывают некоторую сущность (строка таблицы).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Отношение

A

Конечное множество кортежей (таблица).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Степень (-арность) отношения

A

тоже самое, что и количество столбцов таблицы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Мощность отношения

A

Количество строк таблицы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Свойства отношения

A

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

Кортежи не упорядочены (сверху вниз). Причина та же - тело отношения есть множество, а множество не упорядочено. Одно и то же отношение может быть изображено разными таблицами, в которых строки идут в различном порядке. При этом в таблицах у нас в любом случае есть какой-то порядок – вне зависимости от того, указываем мы явную сортировку строк или нет, физически данные будут расположены в определенном порядке.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Свойства атрибутов

A

Атрибуты отношения не упорядочены (слева направо). Т.к. каждый атрибут имеет уникальное имя в пределах отношения, то порядок атрибутов не имеет значения. Одно и то же отношение может быть изображено разными таблицами, в которых столбцы идут в различном порядке.

Все значения атрибутов атомарны. Это следует из того, что лежащие в их основе атрибуты имеют атомарные значения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Первая нормальная форма

A

Отношение находится в первой нормальной форме (1НФ) тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.

Если говорить проще: все кортежи в отдельном атрибуте должны иметь значения одного домена, и эти значения не должны являться группой/массивом данных, т.е. должны быть атомарны

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Потенциальный ключ, критерии выбора

A

Подмножество атрибутов отношения будем называть потенциальным ключом, если оно обладает следующими свойствами:

1) Свойство уникальности – в отношении не может быть двух различных кортежей с одинаковым значением ключа.

2) Свойство неизбыточности - никакое подмножество не обладает свойством уникальности.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Первичный/альтернативный и простой/составной ключ

A

Потенциальный ключ, состоящий из одного атрибута, называется простым. Потенциальный ключ, состоящий из нескольких атрибутов, называется составным.

Отношение может иметь несколько потенциальных ключей. Традиционно, один из потенциальных ключей объявляется первичным, а остальные - альтернативными.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ключи-идентификаторы

A

Также, в современных СУБД повсеместно используются ключи-идентификаторы – некоторый специальный, суррогатный (искусственный) уникальный ключ. Распространенный пример такого ключа – инкрементальный, т.е. содержащий числовой идентификатор, который монотонно увеличивается для каждой новой строки.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Аномалии

A
  • Аномалия вставки. В отношение нельзя вставить данные о преподавателе, который пока не участвует ни в одном блоке.
  • Аномалия удаления. Если по курсу временно прекращены лекции, то при удалении данных о лекции по этому курсу будут удалены и данные о самом курсе. При этом, если был преподаватель, который работал только над этим курсом, то будут потеряны и данные об этом сотруднике.
  • Аномалия обновления. Если необходимо изменить какую-либо информацию о преподавателе, то придётся изменять значения атрибутов во всех записях.
    Часть этих аномалий нам поможет решить вторая нормальная форма.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

2НФ

A

Отношение находится во второй нормальной форме (сокращённо 2НФ) тогда и только тогда, когда оно находится в первой нормальной форме и каждый его неключевой атрибут неприводимо зависим от первичного ключа.

Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость. Для неприводимой функциональной зависимости часто используется эквивалентное понятие «полная функциональная зависимость».

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

3НФ

A

Отношение находится в третьей нормальной форме (3НФ), когда находится во 2НФ и каждый неключевой атрибут нетранзитивно (напрямую) зависит от первичного ключа.

Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы.

17
Q

Сравнение первых трёх нормальных форм

A

Слабая/сильная нормализация
Критерий Отношения слабо нормализованы (1НФ, 2НФ) Отношения сильно нормализованы (3НФ)
Адекватность базы данных предметной области ХУЖЕ (-) ЛУЧШЕ (+)
Легкость разработки и сопровождения базы данных СЛОЖНЕЕ (-) ЛЕГЧЕ (+)
Скорость выполнения вставки, обновления, удаления МЕДЛЕННЕЕ (-) БЫСТРЕЕ (+)
Скорость выполнения выборки данных БЫСТРЕЕ (+) МЕДЛЕННЕЕ (-)

По большинству критериев более сильная нормализация превосходит слабую. Однако, если нам необходимо производить выборку, то менее нормализованные данные в этом случае подходят лучше, так как требуют меньше ресурсов для выполнения запроса.

Слабо нормализованные данные используются в последних слоях, куда обращаются аналитики данных.

18
Q

Определения 1НФ, 2НФ и 3НФ

A

Первая нормальная форма (1НФ) – это обычное отношение. Отношение в 1НФ обладает следующими свойствами: в отношении нет одинаковых кортежей; кортежи не упорядочены; атрибуты не упорядочены; все значения атрибутов атомарны.

Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа.

Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы.

Однако, чтобы не запоминать определения, можно воспользоваться следующим «шпаргалкой»:

Данные зависят от ключа [1НФ], всего ключа [2НФ] и ничего, кроме ключа [3НФ].

Как проще запомнить суть первых трёх нормальных форм

19
Q

Темпоральные (хронологические) базы данных

A

Хронологическая база данных может быть неформально определена как база, которая содержит исторические данные наряду с текущими данными или вместо них.

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

В таблице добавляется столбец, например, Время фиксации факта, и тем самым таблица становится темпоральной:

20
Q

6НФ

A

Переменная отношения находится в 6НФ тогда и только тогда, когда она удовлетворяет всем нетривиальным зависимостям соединения. Из определения следует, что переменная находится в 6НФ тогда и только тогда, когда она неприводима, то есть не может быть подвергнута дальнейшей декомпозиции без потерь.

21
Q

Entity-Relationship

A

Схема «сущность-связь» (также ERD или ER-диаграмма) — это разновидность блок-схемы, где показано, как разные «сущности» (люди, объекты, концепции и так далее) связаны между собой внутри системы

Эти диаграммы устроены по тому же принципу, что и грамматические структуры: сущности выполняют роль существительных, а связи — глаголов.

Существует множество нотаций этой диаграммы:
1) Нотация IDEF1X
2) Нотация Чена
3) UML
4) Нотация Мартина

Entity
Сущность – это предмет, который существует назависимо от другого предмета.

Relation
Связь – это отношение между экземплярами двух (и более) разных сущностей.

Связи в нотации Мартина:
* Один

  • Много
  • Один (и только один)
  • Ноль или один
  • Один или много
  • Ноль или много