Слайд 1Проектирование БД
Кафедра прикладной информатики в экономике и управлении
Разработчик: Панова Н.Ф.
Слайд 2 Проектирование БД
1 Жизненный цикл
приложения БД
2 Этапы проектирования БД:
2.1 Инфологическое моделирование;
2.2 Логическое проектирование:
2.2.1 Логическое проектирование реляционных БД;
2.2.2 Проектирование БД с использованием нормализациии;
2.3 Проектирование внутреннего уровня БД:
2.3.1 Индексные файлы;
2.3.2 Странично - сегментная организация данных
Слайд 32 Этапы проектирования БД
инфологическое моделирование
выбор СУБД
даталогическое проектирование
(логическое проектирование)
физическое проектирование
Слайд 42.1 Инфологическое моделирование
методика Ричарда Баркера
Сущность – это класс объектов, представляющий
интерес для данной организации.
Атрибут сущности – это характеристика сущности.
Связь
– это двусторонняя значимая ассоциация между двумя сущностями или между одним экземпляром сущности и другим экземпляром той же самой сущности.
Имя - описывает правило, связывающее сущности. Например, “обучается в” или “обучает”.
Опциональность - правило, указывающее, должна ли связь су-ществовать для каждого экземпляра сущности или этого не требуется.
Мощность - правило указывающее, сколько таких связей может иметь место. Существуют следующие типы связей:
cвязь “один - к – одному” (1 : 1);
связь “один – ко – многим” (1 : М);
связь “многие – ко – многим” (М : М).
Слайд 5Обозначения связей в нотации Ричарда Баркера
Слайд 6Уникальный идентификатор (UID) сущности – это комбинация атрибутов или связей,
используемая для идентификации экземпляра сущности. Если невозможно определить уникальный идентификатор,
то, возможно, сущности вообще не существует.
СЧЕТ
#* номер счета
БАНК
#* номер банка
UID счета + UID банка
Пример уникального идентификатора, включающего связь
ЗАДАНИЕ
*дата назначения
* продолжительность
СЛУЖАЮЩИЙ
#* табельный номер
* ФИО
ПРОЕКТ
#* номер
* название
получено
получает
входит в
включает
Пример уникального идентификатора, включающего несколько связей
Слайд 7Супертип – это сущность, которая делится на взаимоисключающие подгруппы меньшего
размера. Супертип может иметь собственные атрибуты или просто использоваться как
имя группы.
Подтип – это сущность, представляющая разбитую группу в рамках супертипа, как показано на рисунке
самолет
вертолет
планер
летательный аппарат
Пример супертипа
Пример подтипов, имеющих собственные атрибуты
наименование
БАНК
#* номер
* наименование
поставляет
может поставлять
Связь M :
N между сущностями ТОВАР и ПОСТАВЩИК
Разрешение связи M : N
Слайд 9Методологией проектирования называется структурированный подход, предусматривающий использование специализированных процедур, технических
приемов, инструментов, документации и нацеленный на поддержку и упрощение процесса
проектирования.
Инфологическая модель включает в себя следующие этапы:
1 этап. Определение сущностей.
2 этап. Определение связей.
3 этап. Определение атрибутов.
4 этап. Определение доменов атрибутов.
5 этап. Определение UID.
6 этап. Создание ER – диаграммы.
7 этап. Обсуждение ее с пользователями.
8 этап. Документирование.
Документирование ER – диаграммы включает документирование сущностей, связей, доменов и атрибутов.
Слайд 11 2.2 Логическое проектирование баз данных
Логическая (даталогическая) модель
БД создается на основе выбранной модели организации данных целевой СУБД.
На этом этапе должно быть известно, какая СУБД будет использоваться в дальнейшем – реляционная, сетевая или объектно-ориентированная. Однако все остальные особенности выбранной СУБД – такие, как особенности физической организации структур хранения данных и построения индексов, во внимание не принимаются.
Слайд 122.2.1 Логическое проектирование реляционных баз
данных
Этапы преобразования ER-дианраммы в реляционную модель:
- каждая
сущность становится отношением. Атрибуты сущности становятся атрибутами отношений;
- разрешение связей:
а) разрешение связей 1:1;
б) разрешение связей 1:М;
в) разрешение рекурсивных связей 1:М;
преобразование супертипов;
а) супертип преобразуется в одно отношение;
б) создается несколько отношений.
Слайд 132.2.2 Проектирование баз данных с использованием правил нормализации
В
теории реляционных баз известны 6 нормальных форм отношений:
- 1НФ;
- 2НФ;
-
3НФ;
- нормальная форма Бойса-Кодда (БКНФ);
- 4НФ;
- 5НФ.
Одним из основных понятий нормализации является понятие функциональной зависимости. Функциональная зависимость является смысловым свойством отношения, она описывает, как указывает, как связаны между собой атрибуты отношения. Существует несколько видов таких зависимостей.
Слайд 14В отношении R атрибут Y функционально зависит от атрибута X
в том и только том случае, если каждому значению X
соответствует в точности одно значение Y.
Обозначается данная зависимость X-->Y.
Пример - зависимость между атрибутами: “ название поставщика” -- > “адрес поставщика”.
Существует также полная функциональная зависимость.
Полная (неприводимая) зависимость между атрибутами имеет место, если выполняются следующие утверждения:
- правая (зависимая) часть функциональной зависимости содержит один атрибут;
- левая часть является неприводимой, т.е. ни один атрибут не может быть опущен без утраты некоторого смысла функциональной зависимости.
Пример: название поставщика + наименование товара ---> цена
Помимо описанных выше зависимостей, между атрибутами может существовать и транзитивная зависимость.
Функциональная зависимость X--> Y называется транзитивной, если существует такой атрибут Z, что имеются зависимости X-->Z и Z-->Y.
Например: директор--->номер кабинета---> телефон.
Слайд 15Отношение находится в 1НФ, если все его атрибуты атомарны (неделимы).
Отношение
находится в 2НФ, если оно находится в 1НФ и все
его неключевые атрибуты находятся в полной функциональной зависимости от ключа.
Отношение находится в 3НФ, если оно находится в 2НФ и в нем не существует транзитивных зависимостей.
Если в отношении существует несколько функциональных зависимостей, то каждый атрибут или набор атрибутов, от которого зависят другие атрибуты, называется детерминантом.
Отношение находится в нормальной форме Бойса-Кодда, если оно находится в номер НФ и каждый его детерминант является потенциальным ключом.
Слайд 16 Рассмотрим следующую схему
отношений:
Рейс (номер рейса, капитан, дата отплытия, дата прибытия, порт назначения,
страховая компания, адрес страховой компании, название судна, вместимость судна, количество пассажиров рейса).
Определить следующее семантическое утверждение:
- страховая компания страхует несколько судов, но каждое судно может быть застраховано только одной страховой компанией.
Отношение Рейс:
Отношение Отплытие:
Далее определяем функциональные зависимости от частей ставного ключа.
От части ключа номер рейса зависят атрибуты: судно, вместимость, страховая компания, адрес страховой компании, капитан. После выполнения проекции на эти атрибуты получим отношение Рейс, представленное в следующей таблице:
Слайд 18Это отношение находится в 2НФ. Находится ли оно в 3НФ?
Ответ
“нет”, так как в нем существуют транзитивные зависимости:
Судно—>страховая компания—>адрес страховой
компании;
№рейса—>судно—>вместимость судна.
Выполняем проекцию исходного отношения, вычеркнув атрибут адрес страховой компании. Получим отношение, заданное таблицей Рейс1.
Затем выполним проекцию на атрибуты страховая компания и адрес страховой компании. Аналогично исключаем транзитивную зависимость между атрибутами №рейса—>судно—>вместимость судна. Полученные отношения заданы таблицами следующими таблицами:
Слайд 19Отношение Страховая компания
Отношение Рейс
Отношение Судно
Слайд 20Таким образом, исходное отношение разбито на несколько отношений, каждое из
которых находится в 3НФ:
Отплытие(№рейса, дата отплытия, дата прибытия, кол-во пассажиров);
Рейс(№рейса,
порт,название судна, страховая компания);
Судно(название судна, капитан, вместимость);
Страховая компания(страховая компания, адрес страховой компании);
Слайд 21
Вопросы:
1. Перечислите основные этапы проектирования БД?
2. Что такое сущность?
3. К основным типам связи относят?
4. Дать
определение UID?
5. Сколько этапов включает в себя инфологическая модель?
6. Перечислить 6 нормальных форм отношений?
7. На какие группы делятся индексные файлы