Базы Данных 2009. Общее представление о БД База Данных (БД) структурированный организованный набор данных, описывающих характеристики каких-либо физических.

Презентация:



Advertisements
Похожие презентации
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
Advertisements

Функциональные зависимости Нормализация отношений.
Определения Банк данных (БнД) это система специальным образом организованных дан­ных - баз данных, программных, технических, языковых, организационно-
Нормализация таблиц реляционной базы данных © Панова И.В
Базы данных Лекция 7 Элементы теории реляционных баз данных: функциональные зависимости и декомпозиция без потерь.
Реляционная модель данных Определения Основные операции над отношениями (реляционная алгебра)
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Теория проектирования реляционных баз данных. Цели проектирования Понизить избыточность данных Повысить надежность и достоверность данных (т.е. устранить.
Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Модуль 1. Математические основы баз данных и знаний 1.
Базы данных Лекция 9 Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация.
Нормализация отношений "Сложная система, спроектированная наспех, никогда не работает, и исправить её, чтобы заставить работать, невозможно". Законы Мерфи.
Реляционная алгебра Презентация подготовлена зав. кафедрой ИБ, д.п.н., профессором З.В. Семеновой.
Реляционное исчисление. Общая характеристика Запрос – формула некоторой формально-логической теории; описывает свойства желаемого результата. Ответ –
Тема 3 Функциональные зависимости 1.Понятие функциональной зависимости в данных 2.Основные классы функциональных зависимостей 3.Аксиомы вывода функциональных.
1 БАЗЫ ДАННЫХ Функциональные зависимости и их использование в базах данных ЗАНЯТИЕ 4 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа.
Нормализация реляционной модели данных. Реляционная модель данных – это множество взаимосвязанных отношений. Простейший вариант реляционной модели – одно.
ПОСТРОЕНИЕ ДЕКОМПОЗИЦИИ, УДОВЛЕТВОРЯЮЩЕЙ ТРЕБОВАНИЯМ 3НФ Синтетический подход. Часть 1.
Нормализация реляционной модели данных По учебнику Семакин Н.Г., Хеннер Е.К. Информационные системы и модели © 2006 Медведев Л.Н.
Базы данных Реляционная база данных MS Access. Повторение База данных организованная совокупность данных из какой-либо предметной области, предназначенная.
Транксрипт:

Базы Данных 2009

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

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

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

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

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

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

Основные требования, предъявляемые к базам данных 1.Минимальная избыточность(полезная и вредная) 2.Целостность данных («правильность» и актуальности данных) 3.Безопасность и секретность 4.Независимость данных 5.Производительность 6.Гибкость и способность к расширению

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

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

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

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

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

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

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

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

Пример 2.2 Реализуем данные из этой предметной области в виде трех моделей. Реляционная: PPD( PN, PIM, ST, GOR, DN, DIM, CENA, KOL) p1 Ив. 80 МСК d1 болт p1 Ив. 80 МСК d2 гайка p2 Пет. 40 Самара d1 болт p2 Пет. 40 Самара d2 гайка p3 Сид. 100 СПб d2 гайка 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

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

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

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

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

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

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

Объединение

Вычитание

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

Проекция

+селекция

Пересечение

Деление

Θ-соединение R = A B C S = D E A B C D E

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

Функциональные зависимости атрибутов R=XY, т.е. r(R)= X Y Z a b 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 в полной ф/з от Х?

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

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

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

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

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

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

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

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

Пример. Пусть 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 π AC (r)=A B C = r(R) a b c d b e

Алгоритмы проверки соединения без потерь информации Теорема. Если 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 свойством соединения без потерь информации?

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

Свойство сохранения зависимостей. Алгоритмы: на основе алгоритма синтеза множества зависимостей; на основе расширенного множества зависимостей. Пример. Пусть R=ABCDEM и F={A->B,CD->A, CB->D, AE->M, CE- >D}. Декомпозиция r={R 1,R 2 }, где R 1 =AЕМ, R 2 =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}. Восстанавливаются ли зависимости?

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

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

Вторая нормальная форма 1НФ + каждый неключевой атрибут функционально полно зависит от любого возможного первичного ключа схемы отношений R. r(R 11 ) = PN ST GOR r(R 2 )= 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 F 1 ={PN->GOR, GOR->ST, PN->ST} F 2 ={(PN,DN)->KOL}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Правило 7 В случае М-сторонней связи необходимо сгенерировать М + 1 предварительное отношение – по одному отношению на каждую из М сущностей с ключами, совпадающими с ключами сущностей, и одно отношение для связи с составным ключом, составленным из первичных ключей связываемых сущностей. КП сущностей не имеют значения. R1 (Номер преподавателя,...) R2 (Название предмета,...) R3 (Номер_потока,...) R4 (Номер преподавателя, Название предмета, Номер_потока,...) =>R4 (Название предмета, Номер_потока, Номер преподавателя,...)

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

Примеры

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

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

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

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

Этап 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) В НФБК.

Пример 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)

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

Этап 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, …)

Этапы 4 и 5. Добавление неключевых отношений и анализ полученных отношений. Client (Code_cl, Name_cl, Adress_cl, Teleph_cl, Fax_cl, INN_cl) Worker (Code_w, F_w, N_w, O_w, Year_w, Raz_w, St_w) Car (Code_c, Code_tip, Marka_c, GN_c, Year_c, Dwig_c, Color_c) Tip (Code_tip, Tip) Car_Worker (Code_c, Code_w) Zakaz (Code_z, Code_cl, Date_z, Adrd_z) Zakaz_Car (Code_z, Code_c) Zakaz_Worker (Code_z, Code_w)