Слайд 1ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
Дисциплина:
Основы проектирования
баз данных
Слайд 3ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
1. Информационно-логическое (инфологическое) проектирование → анализ и построение
модели предметной области (ПО).
2. Определение требований к платформе:
выбор аппаратной платформы и операционной системы;
выбор СУБД и архитектуры, в которой она будет работать.
3. Логическое проектирование БД (даталогическое):
преобразование схемы предметной области в схему базы данных;
создание схем отношений;
нормализация отношений.
4. Физическое проектирование БД:
реализация схемы БД на DDL-языке выбранной СУБД;
создание дополнительных объектов БД (индексов, представлений, триггеров и др.).
Слайд 4ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Инфологическая модель ПО включает описание:
структуры и динамики ПО,
характера информационных потребностей пользователей.
Описание выполняется в терминах, понятных пользователю и независимых от реализации
системы.
Инфологическая модель ПО не должна зависеть от модели данных, которая будет использована при создании БД.
1. Определение границ предметной области.
2. Анализ предметной области.
Слайд 5ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Методы анализа:
функциональный,
предметный;
метод сущность-связь (entity-relation method, ER-метод)
Модель "сущность-связь"
была предложена в 1976 г. Питером Пин-Шэн Ченом
Слайд 6ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Функциональный подход – применяется тогда, когда заранее известны функции некоторой
группы лиц и комплексы задач, для обслуживания которых создается эта БД, т.е. четко выделяется минимальный необходимый набор объектов предметной области под описание.
Предметный подход – когда информационные потребности заказчиков БД четко не фиксируются и могут быть многоаспектными и динамичными. В описание предметной области включаются такие объекты и взаимосвязи, которые наиболее характерны и существенны для нее. При этом БД становится предметной, и подходит для решения множества задач.
Слайд 7МЕТОД СУЩНОСТЬ-СВЯЗЬ
Сущность - некоторый обособленный объект или событие, информацию о котором
необходимо сохранять в базе данных, имеющий определенный набор свойств - атрибутов.
Сущности могут быть:
физические (реально существующие объекты: например, СТУДЕНТ, атрибуты - № зачетной книжки, фамилия, имя, отчество, специальность, № группы и т.д.),
абстрактные (например, ЭКЗАМЕН, атрибуты - дисциплина, дата, преподаватель, аудитория и пр.).
Для сущностей различают ее тип и экземпляр. Тип характеризуется именем и списком свойств, а экземпляр - конкретными значениями свойств.
Слайд 8АТРИБУТЫ СУЩНОСТЕЙ
Атрибуты представляют собой свойства, характеризующие сущность.
Атрибуты сущности бывают:
Идентифицирующие и
описательные.
Идентифицирующие позволяют отличить один экземпляр сущности от другого.
Описательные заключают в себе интересующие нас свойства сущности.
Простые и составные.
Простой атрибут имеет неделимое значение.
Составной атрибут является комбинацией нескольких элементов, возможно, принадлежащих разным типам данных
Однозначные и многозначные - могут иметь соответственно одно или много значений для каждого экземпляра сущности.
Основные и производные. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов.
Спецификация атрибута состоит из его названия, указания типа данных и описания ограничений целостности - множества значений, которые может принимать данный атрибут.
Слайд 10ПОСТРОЕНИЕ ER-ДИАГРАММЫ
В процессе построения диаграммы можно выделить следующие этапы:
Идентификация представляющих интерес
сущностей и связей.
Идентификация семантической информации в наборах связей (например, является ли некоторый набор связей отображением 1:n).
Определение кардинальности связей.
Определение атрибутов и наборов их значений (доменов).
Организация данных в
виде отношений
"сущность-связь".
Слайд 11ER- диаграммы
Каждая сущность в модели изображается в виде прямоугольника с наименованием:
Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели.
Экземпляр сущности - это конкретный представитель данной
сущности.
Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.
Атрибуты изображаются в пределах прямоугольника,
определяющего сущность:
Слайд 12ER- диаграммы
Ключ сущности - это неизбыточный набор атрибутов, значения которых в
совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа нарушается его уникальность.
Ключевые атрибуты изображаются на диаграмме
подчеркиванием:
Связь - это некоторая ассоциация между двумя сущностями.
Графически связь изображается линией, соединяющей
две сущности:
Слайд 13МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ
Совокупность типов сущностей и типов связей между ними характеризует
структуру предметной области.
Собственно данные представлены экземплярами сущностей и связей между ними. Данные экземпляров сущностей и связей хранятся в БД информационной системы, включая метаданные - описание типов сущностей и связей.
Модель данных должна содержать три компоненты:
структуру данных - точка зрения пользователя на представление данных.
набор допустимых операций
ограничения целостности - механизм поддержания соответствия данных предметной области на основе формально описанных правил.
В базе данных ограничения целостности накладываются на атрибуты сущностей, типы сущностей, типы связей и/или их экземпляры.
Имеется три типа ограничений на значения:
ограничения на допустимые значения в наборе значений (домене);
ограничения на разрешенные значения для каждого атрибута;
ограничения на существующие значения в базе данных.
Слайд 14РЕЗУЛЬТАТЫ ИНФОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ
Концептуальная инфологическая модель ПО (ER-диаграмма).
Правила (ограничения) целостности, которым должны
удовлетворять сущности, атрибуты сущностей и связи между ними.
Перечень групп пользователей системы.
Внешние спецификации функций (процессов), которые будет выполнять ИС.
Слайд 15ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К ПЛАТФОРМЕ
Выбор платформы:
оценка требований к вычислительным ресурсам, необходимым для
функционирования системы, выбор типа и конфигурации ЭВМ, выбор типа и версии операционной системы (ОС).
Выбор СУБД:
тип модели данных, которую поддерживает данная СУБД характеристики производительности СУБД;
степень оснащённости СУБД инструментарием для персонала администрирования данными, возможность развития ИС
удобство и надежность СУБД в эксплуатации;
наличие специалистов по работе с конкретной СУБД;
стоимость СУБД и дополнительного
программного обеспечения.
Слайд 16ДАТАЛОГИЧЕСКОЕ (ЛОГИЧЕСКОЕ) ПРОЕКТИРОВАНИЕ
Даталогическое проектирование - описание БД в терминах принятой даталогической
модели данных.
В реляционных БД даталогическое проектирование приводит к разработке схемы БД, т.е. совокупности схем отношений, которые адекватно моделируют объекты предметной области
И семантические связи между
объектами.
Основой анализа
корректности схемы
являются функциональные
зависимости между
атрибутами БД.
Слайд 17ДАТАЛОГИЧЕСКОЕ (ЛОГИЧЕСКОЕ) ПРОЕКТИРОВАНИЕ
В результате выполнения этапа даталогического проектирования должны быть получены
следующие результирующие документы:
Описание концептуальной схемы БД в терминах выбранной СУБД.
Описание внешних моделей в терминах выбранной СУБД.
Описание декларативных правил поддержки целостности БД.
Разработка процедур поддержки семантической целостности БД.
Слайд 18ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
Физическое проектирование заключается в увязке логической структуры БД и физической
среды хранения с целью наиболее эффективного размещения данных, т.е. отображение логической структуры БД в структуру хранения. Решение вопросов:
размещение хранимых данных в пространстве памяти;
выбор эффективных методов доступа к различным компонентам «физической» БД;
обеспечение безопасности и сохранности данных;
реализация ограничений, имеющихся в логической модели данных.
Слайд 19НОРМАЛИЗАЦИЯ
Переход от инфологического проектирования к даталогическому производится с учетом выбора СУБД.
Основой
анализа корректности схемы являются так называемые функциональные зависимости между атрибутами БД.
Обычно различают следующие проблемы:
избыточность данных;
аномалии обновления;
аномалии удаления;
аномалии ввода.
Избыточность данных характеризуется наличием в кортежах отношений повторяющейся информации. Многократное дублирование данных приводит к неоправданному увеличению занимаемого объема внешней памяти.
Слайд 20НОРМАЛИЗАЦИЯ
Аномалии обновления связанны с избыточностью данных, что приводит к проблемам при
их изменении. При изменении повторяющихся данных придется многократно изменять их значения, однако, если изменения будут внесены не во все кортежи, возникнет несоответствие информации, которое называется аномалией обновления.
Аномалии удаления могут возникать при удалении записей из ненормализованных таблиц и характеризуются вероятностью удаления не всех дублированных кортежей.
Аномалии ввода возникают при добавлении в таблицу новых записей, обычно в поля с ограничениями NOT NULL (не пустые). Кода в отношение на данный момент времени невозможно ввести однозначную информацию.
Слайд 21НОРМАЛЬНЫЕ ФОРМЫ
Теория нормализации основана на концепции нормальных форм.
Каждой нормальной форме
соответствует набор ограничений.
Отношение находится в нормальной форме, ели оно удовлетворяет свойственному данной форме набору ограничений.
В теории реляционных БД обычно выделяется следующая последовательность нормальных форм:
первая нормальная форма (1НФ);
вторая нормальная форма (2НФ);
третья нормальная форма (3НФ);
нормальная форма Бойса-Кодда (БКНФ);
четвертая нормальная форма (4НФ);
пятая нормальная форма, или нормальная форма проекции- соединения (5НФ или ПС/НФ).
Слайд 22НОРМАЛЬНЫЕ ФОРМЫ
Основные свойства нормальных форм:
каждая следующая нормальная форма улучшает свойства
предыдущей;
при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
Определение 1НФ.
Отношение находится в первой нормальной форме тогда и только тогда, когда каждый его атрибут содержит атомарные значения и отношение не содержит повторяющихся групп.
1НФ
Слайд 23НОРМАЛЬНЫЕ ФОРМЫ
Определение 2НФ.
Отношение находится во второй нормальной форме тогда и только
тогда, когда оно находится в первой нормальной форме и каждый не ключевой атрибут функционально зависим от атрибутов первичного ключа.
Функционально зависимым считается атрибут, значение которого однозначно определяется значением другого атрибута, т.е. значение одного атрибута зависит от значения другого.
1НФ
Слайд 24НОРМАЛЬНЫЕ ФОРМЫ
Приведение к 2НФ происходит путем декомпозиции (разбиение на две таблицы).
1НФ
2НФ
Слайд 25НОРМАЛЬНЫЕ ФОРМЫ
Определение 3НФ
Отношение находится в третьей нормальной форме тогда и только
тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей между не ключевыми атрибутами.
В отношении существуют следующие функциональные зависимости: Модель → Магазин, Магазин → Телефон, Модель → Телефон.
Зависимость Модель → Телефон является транзитивной.
Слайд 26НОРМАЛЬНЫЕ ФОРМЫ
3НФ
2НФ
Задание (Учебник, стр.57).