Банки и базы данных   

Тема 4. Логическое моделирование данных

назад | оглавление | вперёд

 

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

Реляционная модель данных – это такая модель данных, в которой данные представлены в виде таблиц.

Основные понятия реляционной МД.

Атомарное значение – неделимое значение.
Домен – множество атомарных значений одного и того же типа.
Если значения принадлежат одному и тому же домену, то имеет смысл их сравнение.
А1, А5, А7, Аi – атрибуты отношения, т.е. набор значений принадлежащих к одному и тому же домену.
Заголовок (схема отношений) – это набор его атрибутов.
Математическое определение отношений.
Если V1,V2…,Vi – это набор множеств именуемых доменами, тогда отношение R(V1, V2, .., Vi) представляет собой подмножество декартовых произведений доменов (V1*V2*…*Vi).
Каждому домену приписывается имя, в качестве отношения рассматривается отношение этих имён.
Элементом отношения является кортеж.
Кортеж – это множество пар имён атрибутов, значений атрибутов (это строка таблицы).
Мощность отношения – это число его кортежей.
Степень отношения - это число его атрибутов (число столбцов в таблице).
Возможный ключ отношения – это минимальный набор атрибутов, который однозначно определяет кортеж.
У ключа есть 2 свойства: уникальность и минимальность.
Уникальность: Значения ключевых атрибутов не могут повторяться.
Минимальность: Ни один из атрибутов не может быть исключён из набора без нарушения уникальности.

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

  1. Отношение имеет своё уникальное имя.
  2. Уникальность имён атрибутов.
  3. Отсутствие кортежей-дубликатов.
  4. Атомарность значений атрибутов.
  5. Отсутствие упорядоченности атрибутов и кортежей.

4.2. Основные операции реляционной алгебры.

В реляционной алгебре в качестве операндов используются отношения. В результате этих операций возникают новые отношения.
Условные обозначения:
X,Y – отношения-операнды.
R – отношение-результат.
Mx, My, Mr – мощности отношений X,Y,R.
А,B – подмножества схем отношений.

Все операции можно разбить на 2 группы:

  1. Теоретико-множественные.
  2. Операции, учитывающие структуру решений как модель данных.
  1. Объединение.
    R=X+Y
    Max(Mx,My) ≤ Mr ≤ Mx+My
    Схемы кортежей и операндов должны быть одинаковы.
  2. Разность.
    R=X-Y
    0 ≤Mr ≤ Mx
  3. Пересечение
    R=X Y=X-(X-Y)
    0 ≤ Mr ≤min(Mx,My)
  4. Декартово произведение.
    R=X*Y
    Mr=Mx*My

  5. X:

    A

    B

    15

    7

    8

    11

    Y:

    W

    Z

    6

    4

    2

    3

    R=X*Y:

    A

    B

    W

    Z

    15

    7

    6

    4

    8

    11

    6

    4

    15

    7

    2

    3

    8

    11

    2

    3

  6. Проекция (ограничение).
    R=X(A), где Aсхема X.
    Результатом проекции является отношение со схемой А, где каждый кортеж составлен из значений соответствующего кортежа Х.
    Пример:

  7. Х:

    Ф.И.О.

    Отдел

    должность

    Оклад

    Иванов

    ОГЭ

    Слесарь

    1000

    Петров

    ОГМ

    Электрик

    2000

    Сидоров

    ОГЭ

    Мастер

    3000

    R=X(Ф.И.О.)
    R:

    Ф.И.О.

    Иванов

    Петров

    Сидоров

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

  8. Селекция (выбор).
    R=X(A B), где А Х, В- множество констант,
    Нужно, чтобы А и В были сравнимы по смыслу с .
    Для всякого Ai,j Bi,j должно иметь смысл.
    Результатом операции селекции является отношение, состоящее из тех кортежей Х, которые удовлетворяют заданным условиям. Селекция часто используется в комбинации с проекцией.

  9. Деление.

R=X(B)Y; Bсхема Y

Результатом операции деления является минимальное множество кортежей таких, что декартово произведение этого множества с Y присутствует в X.
Y(B)X

Пример: Найти преподавателя, который проводит занятия по каждой дисциплине.

8.Соединение.

R=X(A B)Y Aсхема Х
Всхема Y, или множество констант.

Результатом операции соединения является селекция по заданному условию декартова произведения операндов.
R1=X*Y R=R1(A B)
Пример: соединить отношения Х и У по условию W>5:

                                             X(W>5)Y
R1:  W    Z    C    D          W   Z   C   D
        5   10   12   13          6   4    8   7
        6     4     8     7           6   4   12 13
        5   10     8     7
        6     4    12   13

9.Переименование.

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


4.3. Переход от ER-диаграмм к системе отношений (таблиц).

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

  1. Информация в таблицах не должна повторяться.
  2. Поля таблиц не должны принимать неопределённых (пустых) значений.

ШАГ 1

  1. Преобразование сущностей. Каждая простая сущность становится таблицей.
  2. Каждый атрибут сущности становится столбцом в таблице.
  3. Уникальный идентификатор сущности становится первичным ключом таблицы.
  4. Если в ER-диаграмме присутствовали подтипы сущностей, они выносятся в отдельные столбцы.

ШАГ 2

Переход от ER-диаграмм к системе отношений.

Значность связи

Членство

Число таблиц

1:1

Обязательная

1

Возможная

2

Необязательная

3

1:m

Обязательная

2

Возможная

2

Необязательная

3

m:m

Обязательная

3

Возможная

3

Необязательная

3

 


4.4. Понятие первичного и внешнего ключа.

Ключ – это минимальный набор атрибутов, который однозначно определяет кортеж.
Минимальность означает, что никакое подмножество атрибутов входящих в ключ не будет являться ключом.
Суперключ – это любой набор атрибутов, который однозначно определяет кортеж.
Составной ключ – это ключ, содержащий 2 или более атрибутов.
Возможных ключей может быть много, но только один из них выбирается в качестве первичного.
Первичный ключ – это ключ наиболее удобный для поиска строк таблицы.
Внешний ключ – это набор атрибутов одного отношения, который является ключом другого отношения или того же самого отношения.
Рекурсивный внешний ключ – это внешний ключ, который ссылается на своё собственное отношение.
Набор схем отношений с определёнными первичными и внешними ключами называется схемой данных.


4.5. Ограничительные условия, поддерживающие целостность.

Целостность – это согласованность данных в базе данных.
Ограничительные условия – это правила, которые определяют набор возможных значений в БД.

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


4.6. Аномалии хранения данных.

Аномалия обновления – это противоречивость данных, связанная с избыточностью и частичным обновлением.
Аномальное удаление – непреднамеренная потеря данных в связи с удалением других данных.
Аномалии ввода – это невозможность ввести данные в таблицу ввиду отсутствия других данных.
Декомпозиция – это разделение таблиц на 2 или несколько таблиц с целью устранения аномалий.
Подход создания БД с помощью декомпозиции называется аналитическим.
Синтетический способ – это способ, когда создаются таблицы сразу без аномалий.


4.7.Функциональная зависимость.

R(X,Y) ; X,Y схема R.
Если не может существовать более одного кортежа R, совпадающего по всем значениям из Х и отличающегося хотя бы по одному значению по Y, то зависимость называют функциональной зависимостью по Х.

Классификация функциональных зависимостей.

  1. Полная функциональная зависимость(ФЗ).
    Y зависит от Х, но не зависит от любого подмножества Х.
  2. Неполная ФЗ.
    Y зависит от Х и от какого-нибудь подмножества Х.
  3. Тривиальная ФЗ.
    Y является подмножеством Х.
  4. Транзитивная ФЗ.
    R(X,Y,Z); X,Y,Z R
    X Z, Z Y, X Y.
    В этом случае Х функционально определяет Z, Z определяет Y, когда Х не определяет функцию Y.
  5. Многозначная ФЗ.

Говорят, что в отношении R с наборами атрибутов X,Y,Z имеется многозначная ФЗ, если существует множество значений Z, соответствующее паре значений X и Y, которое зависит функционально от Y, но не зависит функционально от Z.

Правила вывода или аксиомы Армстронга.

Сформулируем правила вывода:

  1. Рефлексивность.
    X,Y схема R
    Если XY, то Y X.
  2. Присоединение.
    X,Y,Z
    W Z
    XZ=X Z
    Если X Y, то XZ YW.
  3. Транзитивность.
    X,Y,Z
    Если X Y и Y Z, то X Z
  4. Псевдотранзитивность.
    X,Y,Z,W
    X W=XW
    Y W=YW
    Если X Y, XW YW, YW Z, то YW Z
  5. Объединение.
    X,Y,Z
    Если X Y, X Z, то X YZ
  6. Декомпозиция.
    X,Y,Z
    Если X YZ, то X Y и X Z

4.8.Нормальные формы отношений.

Нормализация – это разбиение таблицы на 2 или несколько таблиц с целью улучшения её свойств при включении, добавлении или удалении данных.
Каждая таблица делится до тех пор, пока она не станет обладать некоторыми определёнными свойствами.

Свойства нормальных форм:

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

Первая нормальная форма (1НФ).

При первой нормальной форме значения всех её атрибутов атомарные.
Сотрудники – отделы – проекты.

№сотрудника

Зарплата

№отдела

№проекта

Задание

         

Ключом являются №сотрудника и №проекта
Функциональная зависимость (ФЗ):
№сотрудника зарплата (*)
№сотрудника, №проекта задание (**)
№сотрудника №отдела (***)
(*) и (***) – это неполные ФЗ.
Чтобы избежать аномалий, нужно данную таблицу разделить на 2 таблицы: удаляются все неполные ФЗ.

Вторая нормальная форма (2НФ).

Сотрудники – отделы

№сотрудника

Зарплата

№отдела

Сотрудники – проекты

№сотрудника

№проекта

Задание

     

ФЗ:
зарплата отдел
отдел зарплата
сотрудник зарплата

Третья нормальная форма (3НФ).

Сотрудники – отделы

№сотрудника

№отдела

   

Отдел – зарплата

№отдела

Зарплата

   

Отношение находится в 3НФ, когда удалены транзитивные ФЗ.

Нормальная форма Бойса-Кодда (НФБК).

№сотрудника

Имя сотрудника

№проекта

Задание

       

ФЗ:
№сотрудника имя сотрудника
№сотрудника, №проекта задание
№сотрудника №проекта
Имя сотрудника №проекта
Исходная таблица разделяется на 2 таблицы:

№сотрудника

Имя сотрудника

   

№сотрудника

№проекта

Задание

     

Отношение находится в НФБК, если любая нетривиальная зависимость в нём есть зависимость от ключа
№сотрудника, №проекта задание

Четвёртая нормальная форма (4НФ).

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

№сотрудника

№проекта

Задание

     

Исходная таблица разделяется на 2 таблицы:

№сотрудника

№проекта

   

№проекта

Задание

   

Пятая нормальная форма (5НФ).

Отношение находится в 5НФ тогда, когда в любой её полной декомпозиции все проекции содержат возможный ключ.

№сотрудника

№отдела

№проекта

     

Ключ: №сотрудника, №отдела, №проекта

№сотрудника

№отдела

   

№сотрудника

№проекта

   

№отдела

№проекта

   

Общие правила нормализации:

1.T(k1,k2,F), k2 F , где Т, Т1,Т2 – это таблицы, k1, k2 – ключи.

T1(k1, k2), T2(k2, F).
3.T(k,F1,F2), F1 F2

T1(k, F1), T2(k, F2).


назад | оглавление | вперёд