Базы Данных

Содержание

Слайд 2

Общее представление о БД

База Данных (БД) — структурированный организованный набор данных, описывающих

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

Слайд 3

Общее представление о БД

Пример 1.1. Предметная область ВУЗ. Сущность Студент, атрибуты НОМЕР_СТУДЕНТА,

Общее представление о БД Пример 1.1. Предметная область ВУЗ. Сущность Студент, атрибуты
ФИО, ГРУППА, АДРЕС
1 Иванов И.В. 478 Институтский пер.
2 Петров А.Ю. 789 Суворовский пер.
3 Иванов И.В. 278 Институтский пер.
4 Сидоров А.К. 789 Институтский пер.
…………………………………………..

Слайд 4

Общее представление о БД

Связи – ассоциации, описывающие взаимоотношения между сущностями предметной области.
имя
полнота

Общее представление о БД Связи – ассоциации, описывающие взаимоотношения между сущностями предметной
(возможная, обязательная, условная …)
однозначность

Слайд 5

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

Локальное представление
пользователя А ?
Концептуальное пред. ?

Уровни представления данных в информационной системе Локальное представление пользователя А ? Концептуальное
Физическое пред.
Локальное представление
пользователя В ?
Внешний | Глобальный |
Логический уровень Физический уровень

Слайд 6

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

Пример 1.2. ВУЗ, сущность Студент. Декан, которого

Уровни представления данных в информационной системе Пример 1.2. ВУЗ, сущность Студент. Декан,
интересует успеваемость. Ректорат, который может оказать материальную помощь студенту.
Интеграция локального представления в единое концептуальное: Схема=подсхема1 U подсхема2= {ФИО, Номер_группы, успеваемость,адрес,семейное положение, доход}

Слайд 7

Интегрированная база данных

Сокращение избыточности данных;
Централизаванное управление со стороны администратора базы данных;
Устранение(до некоторой

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

Слайд 8

Основные требования, предъявляемые к базам данных

Минимальная избыточность(полезная и вредная)
Целостность данных («правильность» и

Основные требования, предъявляемые к базам данных Минимальная избыточность(полезная и вредная) Целостность данных
актуальности данных)
Безопасность и секретность
Независимость данных
Производительность
Гибкость и способность к расширению

Слайд 9

2. Проблемы проектирования интегрированных баз данных. 2.1 Этапы проектирования.

2. Проблемы проектирования интегрированных баз данных. 2.1 Этапы проектирования.

Слайд 10

2. Проблемы проектирования интегрированных БД. 2.2 Проектирование СУБД-независимого концептуального представления данных.

Выбрать сущности

2. Проблемы проектирования интегрированных БД. 2.2 Проектирование СУБД-независимого концептуального представления данных. Выбрать
предметной области
Описать локальные представления пользователей
Выполнить интеграцию локальных предсталений пользователей
Окончательно определить сущности и атрибуты
Сложности:
-выделение сущностей. «Назначение» - как сзязь в
ПРОЕКТ ---СЛУЖАЩИЙ
Как сущность НАЗНАЧЕНИЕ(ПРОЕКТ,СЛУЖАЩИЙ)
Как атрибут ПРОЕКТ(НАЗНАЧЕННЫЕ СЛУЖАЩИЕ)
СЛУЖАЩИЙ( НАЗНАЧЕННЫЙ_НА_ПРОЕКТ)

Слайд 11

2. Проблемы проектирования интегрированных БД. 2.2 Проектирование СУБД-независимого концептуального предcтавления данных.
Рекомендации:
Использовать ту

2. Проблемы проектирования интегрированных БД. 2.2 Проектирование СУБД-независимого концептуального предcтавления данных. Рекомендации:
конструкцию, которая кажется более естественной
Избегать избыточности в использовании конструкции
7+/-2
Каждой сущности точное, а не расплывчатое именование
Три концепции интеграции пользователей: Идентичность, Агрегация(целое из частей), Обобщение(связано только с целыми).

Слайд 12

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь
М:М. Спроектируем базу данных для трех пользователей. Результат – СУБД независимое концептуальное представление данных.
Подсхемы пользователей:
(PN,GOR,ST,DN)
(DN,DIM,CENA,KOL)
(PIM,ZN,GOR,DIM)

Слайд 13

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь
М:М. Спроектируем базу данных для трех пользователей. Результат – СУБД независимое концептуальное представление данных.
Интеграция пользовательских представлений

Слайд 14

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь
М:М. Спроектируем базу данных для трех пользователей. Результат – СУБД независимое концептуальное представление данных.
Концептуальная схема

Слайд 15

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь

Пример 2.1. имеем две сущности: ПОСТАВЩИК и ДЕТАЛЬ, между которыми существует связь
М:М. Спроектируем базу данных для трех пользователей. Результат – СУБД независимое концептуальное представление данных.
Права доступа пользователей к данным базы.

Слайд 16

2.3 Проблемы проектирования СУБД-ориентированной реализации концептуального представления данных

Логический уровень:
Сетевая;
Иерархическая;
Реляционная. Отдел Начальник Сотрудник
Отдел

2.3 Проблемы проектирования СУБД-ориентированной реализации концептуального представления данных Логический уровень: Сетевая; Иерархическая;
Начальник Предприятие

Слайд 17

Пример 2.2<…>Реализуем данные из этой предметной области в виде трех моделей.
Реляционная:
PPD( PN,

Пример 2.2 Реализуем данные из этой предметной области в виде трех моделей.
PIM, ST, GOR, DN, DIM, CENA, KOL)
p1 Ив. 80 МСК d1 болт 80 100
p1 Ив. 80 МСК d2 гайка 100 150
p2 Пет. 40 Самара d1 болт 80 50
p2 Пет. 40 Самара d2 гайка 100 100
p3 Сид. 100 СПб d2 гайка 100 200
Post(PN, PIM, ST, GOR) Det(DN,DIM,CENA) PD(PN,DN,KOL)
p1 Ив. 80 МСК d1 болт 80 p1 d1 100
p2 Пет. 40 Самара d2 гайка 100 p1 d2 150
p3 Кротов100 СПб p2 d1 50
p2 d2 100
p3 d2 200

Слайд 18

Пример 2.2<…>Реализуем данные из этой предметной области в виде трех моделей.
Иерархическая:
d1 болт

Пример 2.2 Реализуем данные из этой предметной области в виде трех моделей.
80 d2 гайка 100
| |
p1 Ив. 80 МСК 100 p1 Ив. 80 МСК 150
p2 Пет. 40 Самара 50 p2 Пет. 40 Самара 100
p3 Кротов 100 СПб 200

Слайд 19

Пример 2.2<…>Реализуем данные из этой предметной области в виде трех моделей.
Сетевая:

Пример 2.2 Реализуем данные из этой предметной области в виде трех моделей. Сетевая:

Слайд 20

Сравнение моделей

Критерии:
способ реализации симметричных запросов
DN? - PN=“p2”;
PN? – DN=“d1”
трудности,

Сравнение моделей Критерии: способ реализации симметричных запросов DN? - PN=“p2”; PN? –
возникающие при совершении основных операции(добавление, удаление…)
Поставщик(“p4”,”Зотов”,100,”СПб”)

Слайд 21

Часть 3. Теория проектирования реляционной реализации

Часть 3. Теория проектирования реляционной реализации

Слайд 22

Определение отношения

Определение отношения

Слайд 23

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

Объединение
Вычитание
Декартово про-ние
Проекция
Селекция
Пересечение
Деление
Θ-соединение
Естественное

Основные операции реляционной алгебры Объединение Вычитание Декартово про-ние Проекция Селекция Пересечение Деление Θ-соединение Естественное

Слайд 24

Объединение

Объединение

Слайд 25

Вычитание

Вычитание

Слайд 26

Декартово произведение

Декартово произведение

Слайд 27

Проекция

Проекция

Слайд 28

+селекция

+селекция

Слайд 29

Пересечение

Пересечение

Слайд 30

Деление

Деление

Слайд 31

Θ-соединение

R = A B C S = D E
1 2 3

Θ-соединение R = A B C S = D E 1 2
3 1
4 5 6 6 2
7 8 9
A B C D E
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2

Слайд 32

Естественное соединение

Операция выполняется как эквисоединение отношений по общим атрибутам.

Естественное соединение Операция выполняется как эквисоединение отношений по общим атрибутам.

Слайд 33

Функциональные зависимости атрибутов

R=XY, т.е.
r(R)= X Y Z
a b

Функциональные зависимости атрибутов R=XY, т.е. r(R)= X Y Z a b c
c
m b b
a b d
Полная функциональная зависимость
r(R)= PN, DN, KOL, GOR
p1 d1 100 Москва
p2 d2 150 Москва
p2 d1 50 Самара
p2 d2 100 Самара
p3 d2 200 Москва
Пусть X={PN,DN}, Y={Kol}. Y в полной ф/з от Х?

Слайд 34

Аксиомы и правила вывода функциональных зависимостей

А1. Рефлексивности ,то
X={A,B} ,Y={A}:
А2. Пополнения

Аксиомы и правила вывода функциональных зависимостей А1. Рефлексивности ,то X={A,B} ,Y={A}: А2.
,то
А3. Транзитивности ,то
А4. Коммутативности ,то
А5. Свертка ,то
Правило объединения:
Пр. псевдотранзитивности:
Правило декомпозиции.

Слайд 35

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

Пример. Пусть схемой базы данных является график вылета самолетов из аэропорта, задаваемый
в виде отношения со схемой ГРАФИК(ПИЛОТ, РЕЙС,ДАТА_ВЫЛЕТА, ВРЕМЯ_ВЫЛЕТА)
R(ГРАФИК)= ПИЛОТ, РЕЙС, ДАТА, ВРЕМЯ
Иванов 83 10.08 10:15
Петров 281 10.08 15:30
Иванов 301 10.08 18:10
Петров 83 11.08 10:15
Поиск зависимостей перебором.

Слайд 36

Вычисление замыканий

Два вида замыканий:
Замыкание множества функциональных зависимостей на
заданном множестве атрибутов.

Вычисление замыканий Два вида замыканий: Замыкание множества функциональных зависимостей на заданном множестве
Множество зависимостей ,каждая либо принадлежит F, либо следует из F, включая и тривиальные зависимости.
-полное
Замыкание набора атрибутов относительно множества функциональных зависимостей .
Множество атрибутов A, зависимости от X(X →A) логически следуют из F.

Слайд 37

Алгоритм нахождения замыкания атрибутов X+ относительно F.
Исходные данные:
Множество функ. зависимостей.
Исходный набор атрибутов.
Суть:

Алгоритм нахождения замыкания атрибутов X+ относительно F. Исходные данные: Множество функ. зависимостей.
итерационно вычисление приближений:
По следующим правилам:
1. начальное X(0) задается как X;
2. приближение X(j+1) - как результат предыдущей итерации X(j) , к которой добавлены атрибуты , при кототорых в множестве F существуют зависимости вида
3. Остановка X(s) =X(s+1)
Пример. Пусть U={A,B,C,D,E,H,G} и F={A-D,AB-DE,CE-G,E-H}. Вычислить замыкание X=AB

Слайд 38

Алгоритмы нахождения первичного ключа

Алгоритм исключения: Пример. Найдем первичный ключ отношения R=ABCDE, на котором

Алгоритмы нахождения первичного ключа Алгоритм исключения: Пример. Найдем первичный ключ отношения R=ABCDE,
определено множество функциональных зависимостей F={A-C,B-C,C-D, DE-C, CE-A}. Алгоритм переборный. Последовательный анализ претенднтов на ключ – одиночных атрибутов, наборов из двух, трех… При этом, если: 1) для какой-либо пары атрибутов AiAj верно:
то AiAj – первичный ключ схемы отношений.
2) для некоторого , AiAj – первичный ключ схемы отношений;
3) для некоторого , то AiAjAs – первичный ключ схемы отношений
4)….

Слайд 39

Эквивалентность множеств функциональных зависимостей атрибутов

Случаи, когда может использовать:
Разные разработчики проектировали, получали разные

Эквивалентность множеств функциональных зависимостей атрибутов Случаи, когда может использовать: Разные разработчики проектировали,
множества функциональных зависимостей.
Полученное множество по каким-либо причинам не устраивает разработчиков.
Множества эквиваленты, если равно их замыкания.
Проверка:
каждую зависимость проверяют на принадлежность замыканию G+.
и наоборот.
Пример. Проверить эквивалентность: F={A-BC,A-D,CD-E}, G={A-BCE, A-BD, CD-E}

Слайд 40

Декомпозиция схем отношений


Декомпозицией схемы отношений называется замена ее
Совокупностью возможно пересекающихся

Декомпозиция схем отношений Декомпозицией схемы отношений называется замена ее Совокупностью возможно пересекающихся
подмножеств , j=1…n, таких что .
Каждое множество называется декомпозиционной подсхемой.

Слайд 41

Недостатки

PPD( PN, PIM, ST, GOR, DN, DIM, CENA, KOL)
p1 Ив. 80

Недостатки PPD( PN, PIM, ST, GOR, DN, DIM, CENA, KOL) p1 Ив.
МСК d1 болт 80 100
p1 Ив. 80 МСК d2 гайка 100 150
p2 Пет. 40 Самара d1 болт 80 50
p2 Пет. 40 Самара d2 гайка 100 100
p3 Сид. 100 СПб d2 гайка 100 200
Недостатки:
Потенциальная избыточность.
Потенциальная противоречивость.
Аномалии включения.
Аномалии удаления.

Слайд 42

Декомпозиция схем отношений

Свойства:
Соединение без потерь информации относительно заданного множества функциональных зависимостей. (Если

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

Слайд 43

Пример. Пусть R=ABC-схема отношений, на которой определено множество функциональных зависимостей F={A->B}. Проверим

Пример. Пусть R=ABC-схема отношений, на которой определено множество функциональных зависимостей F={A->B}. Проверим
свойство соединения без потерь.

r={AB,AC} – обладает свойством соединения без потерь, покажем на произвольном выбранном экземпляре:
r(R)=A B C πAB(r)= A B πAC(r)= A C
a b c a b a c
d b e d b d e
πAB(r)* πAC(r)= πAB(r).A B πAC(r).A C
a b a c
a b d e
d b a c
d b d e
πAB(r)> a b c
d b e

Слайд 44

Алгоритмы проверки соединения без потерь информации

Теорема. Если r={R1,R2}-декомпозиция схемы отношения R на

Алгоритмы проверки соединения без потерь информации Теорема. Если r={R1,R2}-декомпозиция схемы отношения R
две подсхемы, F-мно-во функциональных зависимостей, определенных на R, то декомпозиция обладает свойством соединения без потерь информации относительно F, если и только если справедлива хотя бы одна из зависимостей:
или
Пример. Пусть R=ABC и F={A->B}
Обладают ли декомпозиции r={AB,AC}, r={AB,BC} свойством соединения без потерь
Теорема для декомпозиции, состоящей более чем из двух декомпазиционных подсхем…
Пример. Пусть R=ABCDEFPS и F={B->C, D->EF, B->PS, A->CDPS,AP-S}. Выяснить обладает ли декомпозиция r={AB, ACDPS, BCPS, DEF} схемы отношения R свойством соединения без потерь информации?
Пример. Пусть R=ABCDEKM и F={A->BC, A->D, D->EK, AD->M,M->AK}. Выяснить обладает ли декомпозиция r={ADME, EKC, ACE, DEB} схемы отношения R свойством соединения без потерь информации?

Слайд 45

Свойство сохранения зависимостей.

Проекцией множества функциональных зависимостей F на множество атрибутов , обозначается

Свойство сохранения зависимостей. Проекцией множества функциональных зависимостей F на множество атрибутов ,
как πZ(R), называется такое множество зависимостей , для которых .
Пример. U={A,B,C} и F={A->B, B->C} и проекции nAB(F)={A->B}, nAC(F)={A->C}.
Декомпозиция схемы отношений R сохраняет множество функциональных зависимостей F, определенное на R, если из объединения всех зависимостей, принадлежащих проекциям F на декомпозиционные подсхемы Ri, i=1,2…k, логически следует все зависимости из F:
Пример. U={A,B,C} и F={A->B, B->C}. Декомпозиция r={AB,BC} –сохраняет фз, r={AB,AC} – не сохраняет.

Слайд 46

Свойство сохранения зависимостей.

Алгоритмы:
на основе алгоритма синтеза множества зависимостей;
на основе расширенного множества зависимостей.
Пример.

Свойство сохранения зависимостей. Алгоритмы: на основе алгоритма синтеза множества зависимостей; на основе
Пусть R=ABCDEM и F={A->B,CD->A, CB->D, AE->M, CE->D}. Декомпозиция r={R1,R2}, где R1=AЕМ, R2=ABCDE. Найдем проекции. Восстанавливаются ли зависимости?
Пример. Пусть R=ABCDEKX и F={A->BC,A->D, C->B, D->EK, AD->X, X->AK, E->K,A->K}. Декомпозиции r={ADEX, EKC,ACEK,DEBC}. Восстанавливаются ли зависимости?

Слайд 47

Нормальные формы.

Нормальные формы.

Слайд 48

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

Отношение со схемой F и множеством функциональных зависимостей F находится

Первая нормальная форма Отношение со схемой F и множеством функциональных зависимостей F
в 1НФ, если любой экземпляр схемы R удовлетворяет следующим условиям:
каждый атрибут имеет уникальное имя,
элементы кортежа с одним и тем же именем определены на одном и том же домене,
элементы должны быть атомарны;
каждый элемент кортежа должен иметь одно значение;
в отношении не должно быть повторяющихся картежей.
Ненормальзованное Нормальзованное
PPD( PN, ST, GOR DN KOL ) PPD( PN, ST, GOR DN KOL )
p1 80 МСК d1 100 p1 80 МСК d1 100
- - - d2 100 p1 80 МСК d2 100
p2 40 Самара d1 300 p2 40 Самара d1 300
- - - d2 40 p1 80 МСК d2 40
p3 80 МСК d2 200 p3 80 МСК d2 200
p3 100 СпБ d2 150 p3 100 СпБ d2 150
Недостатки 1НФ:
Информационная избыточность
Аномалии обработки данных(добавление, удаление, корректировка)

Слайд 49

Вторая нормальная форма

1НФ + каждый неключевой атрибут функционально полно зависит от любого

Вторая нормальная форма 1НФ + каждый неключевой атрибут функционально полно зависит от
возможного первичного ключа схемы отношений R.
r(R11) = PN ST GOR r(R2)= PN DN KOL
p1 80 МСК p1 d1 100
p2 40 Самара p1 d2 100
p3 80 МСК p2 d1 300
p3 80 МСК p2 d1 40
p3 d2 200
p4 d2 150
F1={PN->GOR, GOR->ST, PN->ST}
F2={(PN,DN)->KOL}

Слайд 50

Третья нормальная форма

2НФ + каждый неключевой атрибут прямо, а не транзитивно зависит

Третья нормальная форма 2НФ + каждый неключевой атрибут прямо, а не транзитивно
от любого функционально полно зависит от любого возможного первичного ключа схемы отношений R, а также все неключевые атрибуты отношения взаимно независимы (если они есть вообще).
r(R11) = PN GOR r(R12)= GOR ST
p1 МСК МСК 80
p2 Самара Самара 40
p3 МСК СПб 100
p4 Спб

Слайд 51

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

Отношение R с множеством зависимостей F находиться в НФБК, если

Нормальная форма Бойса-Кодда(НФБК) Отношение R с множеством зависимостей F находиться в НФБК,
левая часть каждой зависимости(X->A) из F, где A не из F, есть возможный (потенциальный, альтернативный) первичный ключ.

Слайд 52

НФ более высоких порядков

НФ4. + для каждой многозначной зависимости, либо МЗ тривиальна,

НФ более высоких порядков НФ4. + для каждой многозначной зависимости, либо МЗ
либо суперключ.
НФ5. + любая зависимость по соединению в нем определяется только его возможными ключами

Слайд 53

Методы проектирования реляционной
реализации концептуальной схемы

Методы проектирования реляционной реализации концептуальной схемы

Слайд 54

Методы проектирования

Метод декомпозиции
Метод синтеза
Метод ER-диаграмм
Комбинация методов

Методы проектирования Метод декомпозиции Метод синтеза Метод ER-диаграмм Комбинация методов

Слайд 55

Метод ER-диаграмм. Условные обозначения.

При проектировании методом ER - диаграмм обычно использует два

Метод ER-диаграмм. Условные обозначения. При проектировании методом ER - диаграмм обычно использует
вида диаграмм:
диаграммы ER – экземпляров;
диаграммы ER – типа, или просто ER – диаграммы.

Слайд 56

Метод ER-диаграмм. Этапы проектирования

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

Метод ER-диаграмм. Этапы проектирования Выбор предметной области, выделение в ней сущностей с
первичных ключей и связей между сущностями. Иногда сначала задают атрибуты сущностей, а затем на их основе определяют сами сущности.
Построение диаграмм ER–типа
Формирование набора предварительных отношений с указанием первичного ключа для каждого отношения. Это делается на основе восьми правил.
Добавление неключевых атрибутов в отношения.
Анализ предварительных отношений на предмет “сильных” нормальных форм. Если отношения не находятся в “сильной” нормальной форме, то проведение дальнейшей нормализации и получение окончательного набора отношений, находящихся в “сильной” нормальной форме.
Проверка выполнимости свойства соединения без потерь информации для окончательного набора отношений.

Слайд 57

Правило1. тип связи между парой сущностей 1 : 1 и КП: О –

Правило1. тип связи между парой сущностей 1 : 1 и КП: О – О
О

Слайд 58

Правило2. тип связи между парой сущностей 1 : 1 и КП: О

Правило2. тип связи между парой сущностей 1 : 1 и КП: О
– Н или Н – О.

Слайд 59

Правило3. тип связи между парой сущностей 1 : 1 и КП: Н

Правило3. тип связи между парой сущностей 1 : 1 и КП: Н – Н
– Н

Слайд 60

Правило3. тип связи между парой сущностей 1 : 1 и КП: Н

Правило3. тип связи между парой сущностей 1 : 1 и КП: Н – Н
– Н

Слайд 61

Правило 4. Тип связи между парой сущностей 1 : М или М :

Правило 4. Тип связи между парой сущностей 1 : М или М
1 и тип связи - О для М – сущности

формируются два отношения (по одному на каждую сущность) со своими первичными ключами. А далее первичный ключ 1-связной сущности добавляется как простой атрибут в отношение М-связной сущности.
Пусть С1 – М-сущность с первичным ключом К1 и класс принадлежности которой (КП) – обязательный (О), а С2 – 1-связная сущность с ключом К2, КП которой может быть любым. Тогда согласно правилу 4 будут сформированы следующие отношения:
R1(К1, К2, . . .)
R2(К2, . . .)

Слайд 62

Правило 5. Тип связи между парой сущностей 1 : М или М :

Правило 5. Тип связи между парой сущностей 1 : М или М
1 тип связи: Н для М – сущности

Например, пусть С1 – 1-связная сущность с первичным ключом К1 , класс принадлежности которой (КП) может быть любым, а С2 – М-сущность с ключом К2, КП которой– необязательный (Н). Тогда:
R1(К1, . . .)
R2(К2, . . .)
R3(К2, К1, . . .)

Слайд 63

Правило 6. Тип связи между парой сущностей М : М

Всегда

Правило 6. Тип связи между парой сущностей М : М Всегда формируются
формируются три отношения. Два отношения будут соответствовать связываемым сущностям со своими первичными ключами, а третье – для связи. Первичный ключ отношения-связи будет составлен из первичных ключей обеих сущностей (составной первичный ключ).

Слайд 64

М-сторонняя связи

R1 (Номер преподавателя, . . .)
R2 (Название предмета, . .

М-сторонняя связи R1 (Номер преподавателя, . . .) R2 (Название предмета, .
.)
R3 (Номер_потока , . . .)
R4 (Номер преподавателя, Название предмета, Номер_потока , . . .)

Слайд 65

Правило 7

В случае М-сторонней связи необходимо сгенерировать М + 1 предварительное отношение

Правило 7 В случае М-сторонней связи необходимо сгенерировать М + 1 предварительное
– по одному отношению на каждую из М сущностей с ключами, совпадающими с ключами сущностей, и одно отношение для связи с составным ключом, составленным из первичных ключей связываемых сущностей. КП сущностей не имеют значения.

R1 (Номер преподавателя, . . .)
R2 (Название предмета, . . .)
R3 (Номер_потока , . . .)
R4 (Номер преподавателя, Название предмета, Номер_потока , . . .)
=>R4 (Название предмета, Номер_потока, Номер преподавателя, . . .)

Слайд 66

Правила 8.

Исходная сущность, порождающая роли, является источником одного предварительного отношения, причем ключ

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

Слайд 67

Примеры

Примеры

Слайд 68

Этап 1.
Выберем предметную область ПОСТАВКА_ДЕТАЛЕЙ. Определим сущности и укажем первичный ключ

Этап 1. Выберем предметную область ПОСТАВКА_ДЕТАЛЕЙ. Определим сущности и укажем первичный ключ
для каждой сущности:
ПОСТАВЩИК (PN, . . .)
ДЕТАЛЬ (DN, . . .)
ГОРОД (GOR, . . .)
СТАТУС (ST, . . .)
Определим связи между парами сущностей:
ПОСТАВЩИК поставляет ДЕТАЛЬ
ПОСТАВЩИК проживает_в ГОРОДЕ
ПОСТАВЩИКУ ставится_в_соответствие СТАТУС
ГОРОД имеет СТАТУС

Слайд 69

Этап 2.
ПОСТАВЩИК (М, Н) поставляет (М, Н) ДЕТАЛЬ (правило 6)
ПОСТАВЩИК (М, О) проживает_в (1,Н)

Этап 2. ПОСТАВЩИК (М, Н) поставляет (М, Н) ДЕТАЛЬ (правило 6) ПОСТАВЩИК
ГОРОДЕ (правило 4)
ПОСТАВЩИКУ (М, О) ставится_в_соответствие (1, Н) СТАТУС (правило 4)
ГОРОД (М, О) имеет (1, Н) СТАТУС (правило 4)

Слайд 70

Этап 3.
Для связи поставляет (правило 6):
Поставщик (PN, . . .)
Деталь (DN, .

Этап 3. Для связи поставляет (правило 6): Поставщик (PN, . . .)
. .)
Поставщик_Деталь (PN, DN, . . .)
Для связи проживает_в (правило 4):
Поставщик (PN, GOR, . . .). Здесь GOR добавлен по правилу 4 как простой атрибут.
Город (GOR, . . .)
Для связи имеет (правило 4):
Город (GOR, ST, . . .). Здесь ST добавлен по правилу 4 как простой атрибут.
Статус (ST, . . .)
Для связи ставится_в_соответствие (правило 4):
Поставщик (PN, GOR, ST, . . .) .
Атрибут GOR уже был добавлен в связи проживает, а еще добавляется и ST как простой атрибут
Статус (ST, . . .)

Слайд 71

Этап 4. Добавляем в полученные предварительные отношения неключевые атрибуты.

Поставщик (PN, PIM, GOR,

Этап 4. Добавляем в полученные предварительные отношения неключевые атрибуты. Поставщик (PN, PIM,
ST), где PIM – имя поставщика
Деталь (DN, DIM, CENA), где DIM – имя и CENA – цена детали
Поставщик_Деталь (PN, DN, KOL), где KOL – количество поставляемых деталей
Город (GOR, ST)
Статус (ST)

Слайд 72

Этап 5. Рассмотрим отношение Поставщик.
Для этого отношения справедливы следующие зависимости:

Этап 5. Рассмотрим отношение Поставщик. Для этого отношения справедливы следующие зависимости: Поставщик
Поставщик = {PN → PIM, PN → GOR, PN → ST, GOR → ST}. Видно, зависимость PN → ST транзитивно следует из зависимостей PN → GOR и GOR → ST.
Тогда отношение Поставщик не в 3НФ. Что делать?
Декомпозиция на Поставщик (PN, PIM, GOR) и Город (GOR, ST).
Проверь на сохранение функ. зависимостей и св-во соединением без
потерь информации.
В итоге:
Поставщик (PN, PIM, GOR)
Деталь (DN, DIM, CENA)
Поставляет (PN, DN, KOL)
Город (GOR, ST)
В НФБК.

Слайд 73

Пример 5.
Этап 1. Определение предметной области и выделение сущностей и связей между

Пример 5. Этап 1. Определение предметной области и выделение сущностей и связей
ними.
Предметная область: АВТОПРЕДПРИЯТИЕ.
Сущности: КЛИЕНТ (Client), ЗАКАЗ (Zakaz), ТЕХНИКА (Car), РАБОТНИКИ (Worker), ТИП (Tip).
Атрибуты: код клиента (Code_cl), название фирмы (Name_cl), адрес фирмы (Adress_cl), телефон фирмы (Teleph_cl), факс фирмы (Fax_cl), ИНН фирмы (INN_cl), код работника (Code_w), фамилия работника (F_w), имя работника (N_w), отчество работника (O_w), год рождения работника (Year_w), разряд работника (Raz_w), стаж работника (St_w), код техники (Code_c), марка техники (Marka_c), государственный номер машины (GN_c), год выпуска (Year_c), номер двигателя машины (Dwig_c), цвет машины (Color_c), код типа (Code_tip), тип (Tip), код заказа (Code_z), дата заказа (Date_z), адрес доставки заказа (Adrd_z).
Client (Code_cl, …)
Car (Code_c, …)
Worker (Code_w, …)
Tip (Code_tip, …)
Zakaz (Code_z, …)
Клиент (1, Н) делает (М, О) заказ (правило 4)
Техника (М, О) имеет (1,О) тип (правило 4)
Техника (М, Н) выполняет1 (М, О) заказ (правило 6)
Персонал (М, Н) выполняет2 (М, О) заказ (правило 6)
Персонал (М, О) работает (М, О) техника (правило 6)

Слайд 74

Этап 2. Построение ER-диаграмм типа с учетом всех сущностей и связей между

Этап 2. Построение ER-диаграмм типа с учетом всех сущностей и связей между ними.
ними.

Слайд 75

Этап 3. Формирование набора предварительных отношений с указанием первичных ключей для них.
Для

Этап 3. Формирование набора предварительных отношений с указанием первичных ключей для них.
связи делает (правило 4) – два отношения:
Client (Code_cl, …)
Zakaz (Code_z, Code_cl, …)
Для связи имеет (правило 4) – два отношения:
Tip (Code_tip, …)
Car (Code_c, Code_tip, …)
Для связи выполняет1 (правило 6) – три отношения:
Car (Code_c, Code_tip, …)
Zakaz (Code_z, Code_cl, …)
Zakaz_Car (Code_z, Code_c, …)
Для связи выполняет2 (правило 6) – три отношения:
Worker (Code_w, …)
Zakaz (Code_z, Code_cl, …)
Zakaz_Worker (Code_z, Code_w, …)
Для связи работает (правило 6) – три отношения:
Worker (Code_w, …)
Car (Code_c, Code_tip, …)
Car_Worker (Code_c, Code_w, …)
Имя файла: Базы-Данных.pptx
Количество просмотров: 163
Количество скачиваний: 0