Проектирование реляционных баз данных

Содержание

Слайд 2

Учебные вопросы.

1. Проектирование реляционных БД с использованием нормализации отношений
2. Проектирование реляционных БД

Учебные вопросы. 1. Проектирование реляционных БД с использованием нормализации отношений 2. Проектирование
на основе концептуальной модели

Слайд 3

Выделяют два подхода к проектированию реляционной базы данных.
Первый подход был предложен

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

Слайд 4

1. Проектирование реляционных БД с использованием нормализации отношений

Исходной информацией является представление предметной

1. Проектирование реляционных БД с использованием нормализации отношений Исходной информацией является представление
области в виде одного или нескольких отношений.
Одни и те же данные могут группироваться в таблицы-отношения различными способами.

Слайд 5

Фундаментальные свойства отношений

1. Отсутствие кортежей-дубликатов. Исходя из этого свойства, у каждого

Фундаментальные свойства отношений 1. Отсутствие кортежей-дубликатов. Исходя из этого свойства, у каждого
отношения должен быть первичный ключ.
2. Отсутствие упорядоченности кортежей. Дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных.
3. Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута.
4. Атомарность значений атрибутов. Это следует из определения домена как множества значений простого типа данных.

Слайд 6

Реляционная модель данных. Общие понятия

Составной ключ —
это ключ, содержащий более чем

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

Слайд 7

Типы отношений между сущностями

1. Связь «один к одному» (1:1) — такой

Типы отношений между сущностями 1. Связь «один к одному» (1:1) — такой
тип связи между типами сущностей А и В, когда каждому экземпляру сущности А соответствует один и только один экземпляр сущности В и наоборот.
2. Связь «один ко многим» (1:М) — одному экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В, однако каждому экземпляру сущности В соответствует только один экземпляр сущности А.
3. Связь «многие к одному» (М:1) — является обратной связи 1:М.
4. Связь «многие ко многим» (М:М) — каждому экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В и наоборот.

Слайд 8

Проектирование реляционных БД

В базе данных отражается информация об определенной предметной области.
Предметной

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

Слайд 9

Универсальное отношение

Универсальное отношение

Слайд 10

Недостатки универсального отношения

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

Недостатки универсального отношения Дублирование информации (избыточность). У студентов, обучающихся на одном факультете,
будет повторяться название факультета. Для разных факультетов будут повторяться специальности.
Потенциальная противоречивость (аномалии обновления). Если, например, изменится название специальности, то изменяя её в одном кортеже (у одного студента), необходимо изменять и во всех других кортежах, где она присутствует.
Потенциальная возможность потери сведений (аномалии удаления). При удалении информации о всех студентах, поступающих на определенную специальность, мы теряем все сведения об этой специальности.
Потенциальная возможность невключения информации в базу данных (аномалии включения). В базу данных сложно внести сведения о специальности, если на ней нет обучающихся студентов.

Слайд 11

Определенный набор отношений обладает лучшими свойствами при включении, модификации и удалении данных,

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

Слайд 12

Группировка атрибутов в отношении должна отвечать следующим требованиям:

выбранные для отношений первичные

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

Слайд 13

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

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

Слайд 14

Методы нормализации базируются на использовании понятий функциональной и транзитивной зависимости.
Функциональная зависимость. В

Методы нормализации базируются на использовании понятий функциональной и транзитивной зависимости. Функциональная зависимость.
отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y, т.е. R.X→R.Y.

Слайд 15

Функциональные зависимости
(зависимости между атрибутами отношения)
Пусть R(A1, A2, ..., An) – схема

Функциональные зависимости (зависимости между атрибутами отношения) Пусть R(A1, A2, ..., An) –
отношения,
а X и Y – подмножества {A1, A2, ..., An}.
Функциональная зависимость на отношении R – это утверждение вида:
"Если два кортежа R совпадают по атрибутам множества X (т.е. эти кортежи имеют в соответствующих друг другу компонентах одни и те же значения для каждого атрибута множества X ), то они должны совпадать и по атрибутам множества Y .
Формально эта зависимость записывается выражением X → Y, причем говорится, что X функционально определяет Y.

Слайд 16

Часто используется другое утверждение: X функционально определяет Y или Y функционально зависит

Часто используется другое утверждение: X функционально определяет Y или Y функционально зависит
от X тогда и только тогда, когда каждое значение множества X отношения R связано с одним значением множества Y отношения R. Иначе говоря, если два кортежа R совпадают по значению X, они совпадают и по значению Y.

Слайд 17

Полной функциональной зависимостью называется зависимость неключевого атрибута от всего составного ключа. Частичной функциональной

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

Слайд 18

Транзитивная функциональная зависимость. Функциональная зависимость R.X→R.Y называется транзитивной, если существует такой атрибут

Транзитивная функциональная зависимость. Функциональная зависимость R.X→R.Y называется транзитивной, если существует такой атрибут
Z, что имеются функциональные зависимости R.X→R.Z и R.Z→R.Y и отсутствует функциональная зависимость R.Z→R.X.

Слайд 19

Для решения перечисленных задач выполняется нормализация исходных схем отношений проекта БД.

Для решения перечисленных задач выполняется нормализация исходных схем отношений проекта БД.

Слайд 20

Последовательность нормальных форм реляционных баз данных:

первая нормальная форма (1NF);
вторая нормальная

Последовательность нормальных форм реляционных баз данных: первая нормальная форма (1NF); вторая нормальная
форма (2NF);
третья нормальная форма (3NF);
нормальная форма Бойса—Кодда (BCNF);
четвертая нормальная форма (4NF);
пятая нормальная форма или нормальная форма проекции-соединения (5NF или PJ/NF).

Слайд 21

ОДИН ФАКТ ХРАНИТСЯ ОДИН РАЗ!!!

ОДИН ФАКТ ХРАНИТСЯ ОДИН РАЗ!!!

Слайд 22

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

каждая следующая нормальная форма, в некотором смысле, лучше предыдущей

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

Слайд 23

Для реляционных БД необходимо, чтобы все отношения базы данных находились обязательно в

Для реляционных БД необходимо, чтобы все отношения базы данных находились обязательно в
1NF.
Нормальные формы более высокого уровня могут использоваться разработчиками по своему усмотрению.

Слайд 24

Отношение называется нормализованным или приведенным к первой нормальной форме (1NF), если все

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

Слайд 25

Пример. Информационная система «Преступные группировки».
Информация о членах преступных группировок:
фамилия, имя, отчество;
роль

Пример. Информационная система «Преступные группировки». Информация о членах преступных группировок: фамилия, имя,
в группировке (лидер, исполнитель, скупщик краденного и т.п.);
предыдущие судимости: статьи УК, сроки лишения свободы, даты освобождения;
адрес проживания;
особые приметы.

Слайд 26

Информация о группировках:
условный номер группировки;
район деятельности;
условный номер района (для связи с другими

Информация о группировках: условный номер группировки; район деятельности; условный номер района (для
БД);
сфера деятельности;
активность деятельности в данной сфере;
зафиксированная дата начала деятельности.

Слайд 27

В описании информационной системы неатомарными являются атрибуты «Фамилия, имя, отчество» и «Предыдущие

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

Слайд 28

База данных, приведенная к 1NF

База данных, приведенная к 1NF

Слайд 29

Для приведения отношения к 2NF необходимо:
определить ключевые атрибуты;
определить функциональные зависимости неключевых атрибутов

Для приведения отношения к 2NF необходимо: определить ключевые атрибуты; определить функциональные зависимости
от ключевых;
разделить атрибуты на группы по функциональным зависимостям так, чтобы каждый неключевой атрибут определялся полным набором ключевых атрибутов;

Слайд 30

определить связанные между собой группы атрибутов и типы отношений между ними;
для реализации

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

Слайд 31

При построении 2NF следует помнить следующие правила:
если ключ является простым, то требование

При построении 2NF следует помнить следующие правила: если ключ является простым, то
2NF для отношения автоматически выполняется;
если между отношениями А и В существует связь типа 1:M, то при организации связи отношение В дополняется ключевыми атрибутами отношения А;
если в отношении возможен альтернативный выбор атрибутов для организации связи, то следует выбирать атрибуты меньшей длины.

Слайд 32

В примере могут быть выделены четыре группы функциональных зависимостей:
 (1, 2, 3, 7)

В примере могут быть выделены четыре группы функциональных зависимостей: (1, 2, 3,
← (5, 6) (A)
(1, 2, 3) ← (4, 8, 9) (В)
(10, 13) ← (14) (С)
(10) ← (11, 12, 15) (D)
Стрелка направлена от неключевых элементов группы к ключевым.

Слайд 33

Между данными группами можно выделить следующие отношения:
В → A типа 1:M,
D →

Между данными группами можно выделить следующие отношения: В → A типа 1:M,
В типа 1:M,
D → C типа 1:M.
В этом случае для организации связи между атрибутами необходимо:
включить ключевые поля группы B в группу А;
включить ключевое поле группы D в группы B и C.

Слайд 34


База данных, приведенная к 2NF

База данных, приведенная к 2NF

Слайд 35

Для приведения к 3NF необходимо в каждом отношении
определить транзитивные зависимости между атрибутами;
разделить

Для приведения к 3NF необходимо в каждом отношении определить транзитивные зависимости между
атрибуты на группы по транзитивным зависимостям так, чтобы ни один неключевой атрибут в этих группах не определялся другим неключевым атрибутом;

Слайд 36

определить связанные между собой группы атрибутов и типы отношений между ними;
для реализации

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

Слайд 37

Организация связей осуществляется таким же образом, как и при построении 2NF.
Транзитивные зависимости

Организация связей осуществляется таким же образом, как и при построении 2NF. Транзитивные
имеются только в отношении D:
(10) ← (11) ← (12)
(10) ← (12) ← (11)
Устранение этих зависимостей может быть осуществлено разбиением на следующие группы атрибутов:
(10) ← (12,15) (E)
(12) ← (11) (F)
Для связи между группами элементов E и F использован элемент 12, как имеющий меньшую длину.

Слайд 38


База данных, приведенная к 3NF

База данных, приведенная к 3NF

Слайд 39

Нормальная форма Бойса-Кодда BCNF требует, чтобы в таблице был только один потенциальный

Нормальная форма Бойса-Кодда BCNF требует, чтобы в таблице был только один потенциальный
первичный ключ.
Если обнаружился второй столбец, позволяющий однозначно идентифицировать строку, то для приведения к нормальной форме Бойса-Кодда такие данные надо вынести в отдельную таблицу.

Слайд 40

Для приведения отношения к четвертой нормальной форме необходимо устранить имеющиеся в нем

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

Слайд 41

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

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

Слайд 42

Итого:
Рассмотренный декомпозиционный подход к проектированию схемы реляционной БД путем последовательной нормализации первоначальных

Итого: Рассмотренный декомпозиционный подход к проектированию схемы реляционной БД путем последовательной нормализации
отношений используется при условии небольшого числа атрибутов.
В случаях когда число атрибутов превышает 20, этот метод становится излишне громоздким.

Слайд 43

2. Проектирование реляционных БД на основе концептуальной модели

1. Инфологическое моделирование
Проектирование БД начинается

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

Слайд 44

Для каждого типа объектов фиксируется совокупность свойств, посредством которых будут описываться конкретные

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

Слайд 45

Инфологическая модель предметной области (ИЛМ) — это описание предметной области, выполненное без

Инфологическая модель предметной области (ИЛМ) — это описание предметной области, выполненное без
ориентации на используемые в дальнейшем программные и технические средства.
Описание инфологической модели называется схемой (концептуальной схемой).

Слайд 46

Основные требования к ИЛМ:
адекватное отображение предметной области;
непротиворечивость;
отсутствие неоднозначности трактовки;
возможность

Основные требования к ИЛМ: адекватное отображение предметной области; непротиворечивость; отсутствие неоднозначности трактовки;
легкой расширяемости, обеспечивающая ввод данных без изменения ранее определенных;
обеспечение возможности композиции и декомпозиции модели.

Слайд 47

На этом этапе используется модель «сущность-связь».
Основное ее назначение — семантическое описание предметной

На этом этапе используется модель «сущность-связь». Основное ее назначение — семантическое описание
области и представление информации для обоснования выбора видов моделей и структур данных, которые в дальнейшем будут использованы в системе.

Слайд 48

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

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

Слайд 49

Для удобства проектирования в отдельном локальном представлении желательно использовать шесть-семь типов сущностей.

Для удобства проектирования в отдельном локальном представлении желательно использовать шесть-семь типов сущностей.

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

Слайд 50

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

Пример. Пусть в некотором локальном представлении выполняется описание преступных группировок. Предполагается, что
член группировки может состоять только в одной группировке. При этом он может не иметь судимостей или иметь несколько. Преступная группировка может находиться в одном районе и иметь несколько сфер деятельности.

Слайд 52

С помощью данной графической диаграммы локального представления нельзя представить информации о членах

С помощью данной графической диаграммы локального представления нельзя представить информации о членах
группировки, не имеющих судимостей.
Для решения этой задачи необходимо ввести в модель сущность ЧЛЕН ГРУППИРОВКИ, назначить ей соответствующие атрибуты, связать с сущностью ПРЕСТУПНАЯ ГРУППИРОВКА, если это необходимо, и удалить избыточные элементы.

Слайд 54

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

Полученный вариант не представляет информацию о группировках, если их активность в какой
либо сфере деятельности не определена по разным причинам.
Чтобы такую информацию можно было представлять, необходимо ввести в модель сущность ДЕЯТЕЛЬНОСТЬ и выполнить аналогичные процедуры построения, как и для сущности ЧЛЕН ГРУППИРОВКИ.

Слайд 56

База данных, реализующая это представление, окажется более гибкой в обработке данных, будет

База данных, реализующая это представление, окажется более гибкой в обработке данных, будет
обладать большими возможностями по обработке произвольных запросов.
Следовательно, для данного локального представления целесообразно ввести такие сущности, как ЧЛЕН ГРУППИРОВКИ, ПРЕСТУПНАЯ ГРУППИРОВКА, ДЕЯТЕЛЬНОСТЬ.