3_01 - МиСПИСТ (ПБД Основы проектирования БД)

Page 1

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

Инструментально-программный методический комплекс

Проектирование баз данных Часть 1. Основы проектирования баз данных


Что такое проектирование базы данных ? это процесс разработки структуры (схемы) базы данных (БД) в соответствии с требованиями пользователей

2


1.1. Основные требования при проектировании базы данных

3


Общие требования к базе данных

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

4


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

5


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

6


Общие требования к базе данных Установка защиты базы данных от несанкционированного доступа

7


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

8


1.2. Основы классической методологии проектирования базы данных

9


10


Результаты проектирования базы данных 1. Полная структура базы данных (концептуальная, логическая и внутренняя модели).

2. Руководства для администраторов базы данных и прикладных программистов. 11


1.3. Жизненный цикл системы баз данных

12


Фаза анализа и проектирования 1. Формулирование и анализ требований 2. Концептуальное проектирование 3. Проектирование реализации 4. Физическое проектирование

Фаза реализации и функционирования базы данных 1. Реализация базы данных 2. Анализ функционирования и поддержка 3. Модификация

13


1.4. Основные этапы проектирования баз данных

14


Общие информационные требования

Требования к обработке Этап 1. Формулировка и анализ требований Спецификации требований

Этап 2. Концептуальное проектирование

Характеристики СУБД

Информационная структура Этап 3. Проектирование реализации Логическая структура базы данных (СУБД-ориентированная) и спецификации прикладных программ Этап 4. Физическое проектирование Физическая структура базы данных

Характеристики операционной системы и аппаратно-технических средств

15


Фаза анализа и проектирования Этап 1. Формулирование и анализ требований Этап 2. Концептуальное проектирование

Этап 3. Проектирование реализации Этап 4. Физическое проектирование 16


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

17


Результат Техническое задание (ТЗ), которое содержит: – назначение, – требования, – ограничения, – возможности, – бизнес-процессы (функции), – объем, – смету затрат, – сроки, – показатели экономической эффективности, – исполнители. 18


Подходы к проектированию: • Функциональный: реализует принцип движения «от задач» и применяется тогда, когда заранее известны функции некоторой группы лиц и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая БД.

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

19


Общие требования при проектировании базы данных: • • • • • • • • • • • • • • • • •

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

20


Методы сбора требований пользователей: • изучение существующих форм документов, отчетов, файлов, баз данных, программного обеспечения;

• интервьюирование персонала различных уровней, специалистов организации. 21


Содержание исходной информации: •

имя и описание объекта данных;

элементы данных;

продолжительность хранения

условия перевода в архив.

22


Пример содержания исходной информации

23


Пример функционального моделирования (SADT-модель, начальный уровень модели)

24


Пример функционального моделирования (SADT-модели, первый уровень декомпозиции модели)

25


Фаза анализа и проектирования Этап 1. Формулирование и анализ требований Этап 2. Концептуальное проектирование

Этап 3. Проектирование реализации Этап 4. Физическое проектирование 26


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

Результат Концептуальная модель.

27


Пример концептуального моделирования (ER-диаграммы)

28


Метод выполнения : 1. Моделирование частных представлений пользователей с использованием диаграмм «сущность - связь» (Entity-Relationship Diagrams, ER-диаграмм): • определение сущностей; • определение атрибутов сущностей; • идентификация ключевых атрибутов сущностей; • определение связей между сущностями.

2. Интеграция частных представлений: Концептуальные требования отдельных пользователей, определенные в стандартной форме (диаграммы «сущность-связь»), сливаются в единое глобальное представление. При этом должны быть выявлены и ликвидированы противоречивые и избыточные данные. 29


Фаза анализа и проектирования Этап 1. Формулирование и анализ требований Этап 2. Концептуальное проектирование

Этап 3. Проектирование реализации Этап 4. Физическое проектирование 30


Компоненты • проектирование базы данных; • проектирование программ

31


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

32


Результат • даталогическая модель базы данных в терминах конкретной СУБД; • функциональные спецификации программных модулей; • набор возможных запросов к базе данных.

33


Пример реализации даталогической модели Фрагмент даталогической модели БД

Фрагмент спецификации таблиц БД

34


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


Фаза анализа и проектирования Этап 1. Формулирование и анализ требований Этап 2. Концептуальное проектирование

Этап 3. Проектирование реализации Этап 4. Физическое проектирование 36


Компоненты • выбор физической структуры базы данных; • уточнение спецификации программных модулей

37


Цель создание физической структуры базы данных и набор реализуемых алгоритмов по ее использованию в терминах конкретной СУБД

38


Результат полностью готовая к внедрению структура базы данных и набор реализуемых алгоритмов по ее использованию

39


Этап 4. Физическое проектирование Категории проектных решений •

Проектирование формата хранимых записей.

Анализ и проектирование кластеров.

Проектирование путей доступа.

40


1.5. Обеспечение свойств базы данных в процессе проектирования Фундаментальные свойства базы данных

1)

целостность, согласованность, восстанавливаемость;

2)

безопасность;

3)

эффективность, рост, размер, эксплуатационные ограничения.

41


Фундаментальные свойства базы данных Целостность База данных обладает свойством целостности, если она удовлетворяет некоторым определенным ограничениям значений данных и сохраняет это свойство при всех модификациях (замена, добавление или удаление) базы данных.

Согласованность База данных обладает свойством согласованности по отношению к некоторой совокупности пользователей, если в любой момент времени база данных реагирует на их запросы одинаковым образом (т. е. все пользователи на заданный ими конкретный запрос получают одинаковый ответ).

Восстанавливаемость Запроектированная возможность восстановления с помощью СУБД целостности базы данных после любого сбоя системы.

42


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

Эффективность Степень соизмерения результатов функционирования базы данных с затратами на обеспечение целостности базы данных. Показатель – скорость обработки единицы информации

43


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

Результаты • описание концептуальной схемы БД в терминах выбранной СУБД; • описание внешних моделей в терминах выбранной СУБД; • описание правил поддержки целостности базы данных; • разработка процедур поддержки семантической целостности базы данных

44


1.6.1. Проектирование реляционных баз данных с использованием принципов нормализации Проблемы : 1. Проблема логического проектирования. Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было по возможности лучшим (эффективным, удобным и т.д.)? 2. Проблема физического проектирования. Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создания каких дополнительных структур 45 (например, индексов) потребовать и т.д.?


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

Принимаемые решения:

Из каких отношений должна состоять база данных?

Каким образом должны быть связаны эти отношения?

Какие атрибуты должны быть у этих отношений?

46


Проектирование реляционных баз данных Методы проектирования схемы БД: 1. Декомпозиция (разбиение) Исходное множество отношений, входящих в схему БД, заменяется другим множеством отношений, являющихся проекциями исходных отношений. Общее количество отношений возрастает.

47


Проектирование реляционных баз данных Методы проектирования схемы БД: 2. Синтез (сборка) Схема базы данных компонуется из заданных исходных элементарных зависимостей между объектами предметной области. Общее количество отношений уменьшается.

48


Теория нормализации Цель Сократить избыточность хранимых данных

Преимущества • экономия объема используемой памяти; • уменьшение затрат на многократные операции обновления избыточных копий; • устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте.

Нормализация схем отношений Формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на сопровождение (ввод, корректировку) базы данных. 49


Теория нормализации Нормальные формы • первая нормальная форма (1NF); • вторая нормальная форма (2NF); • третья нормальная форма (3NF); • усиленная третья нормальная форма, или нормальная форма БойсаКодда (BCNF); • четвертая нормальная форма (4NF); • пятая нормальная форма (5NF).

Свойства нормальных форм • каждая следующая нормальная форма в некотором смысле лучше предыдущей нормальной формы; • при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются. 50


Теория нормализации (основные определения) Функциональная зависимость Функциональной зависимостью набора атрибутов В отношения R от набора атрибутов А того же отношения, обозначаемой как R.A → R.B или А → В, называется такое соотношение проекций R[A] и R[B], при котором в каждый момент времени любому элементу проекции R[A] соответствует только один элемент проекции R[B], входящий вместе с ним в какой-либо кортеж отношения R. 51


Теория нормализации (основные определения) Функциональная зависимость СОТРУДНИКИ (Табельный_номер, ФИО, Номер_паспорта, Номер_отдела, Наименование_отдела, Должность) Пример функциональной зависимости: Табельный_номер → ФИО, Номер_отдела, Наименование_отдела, Должность Функциональная взаимозависимость Если одновременно существуют функциональные зависимости вида А → В и B → А, тогда имеет место функциональная взаимозависимость, которая изображается А ↔ В. Пример функциональной взаимозависимости Табельный_номер ↔ Номер_паспорта

52


Теория нормализации (основные определения) Полная и неполная (частичная) функциональная зависимость Функциональная зависимость R.A → R.B называется полной, если набор атрибутов В функционально зависит от А и не зависит функционально от любого подмножества А, то есть если: ∀A1 ⊆ A ⇒ R.A1 -/-> R.B. Читается следующим образом: для любого A1, являющегося подмножеством A, R.B функционально не зависит от R.A1, в противном случае зависимость R.A →R.B называется неполной (частичной). Примеры: ЗАКАЗЫ (Номер_заказа, Код_товара, КоличествоТовараВЗаказе, Наименование_товара) Полная функциональная зависимость: Номер_заказа, Код_товара → КоличествоТовараВЗаказе Неполная функциональная зависимость: Номер_заказа, Код_товара → Наименование_товара

53


Теория нормализации (основные определения) Транзитивная функциональная зависимость Функциональная зависимость R.A → R.B называется транзитивной, если существует набор атрибутов С такой, что: – С не является подмножеством А; – С не включает в себя В; – существует функциональная зависимость R.A → R.C ; – не существует функциональной зависимости вида R.C → R.A, т.е. R.C -/-> R.A ; – существует функциональная зависимость R.C → R.B. Примеры: СОТРУДНИКИ (Номер_сотрудника, Код_отдела, Наименование_отдела, …) Транзитивная функциональная зависимость: Номер_сотрудника → Наименование_отдела Атрибут Наименование_отдела транзитивно, через атритут Код_отдела зависит от атрибута Номер_сотрудника, т.к. существуют зависимости Код_отдела → Наименование_отдела, Номер_сотрудника → Код_отдела

54


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

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

Неключевой атрибут Любой атрибут отношения, не входящий в состав ни одного возможного ключа отношения.

Взаимно-независимые атрибуты Атрибуты, которые не зависят функционально один от другого.

55


Пример: Система обеспечения продажи товаров (требования) Номер заказа (1234, 5678, 9112, ….) Наименование товара (AMD Athlon 64 X2 6000+ BOX < SocketAM2 >, DDRII 2048 Mb (pc2-5300) 667MHz ECC Fully Buffered Qimonda, D-Link DWA-140 Беспроводной адаптер USB, 802,11n, … ) Цена товара в заказе (…) Количество товара в заказе (…) Единицы измерения товара в заказе (шт., м, …) Наименование типа товара (процессоры, модули памяти, сетевое оборудование, …

56


Пример: Фрагмент системы обеспечения продажи товаров (исходный вариант) Объект ЗАКАЗЫ

57


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

Пример Фрагмент организации данных, удовлетворяющий условиям 1НФ

58


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

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

Аномалия удаления Если какой-либо товар удалить из базы данных (снят с продажи), то при этом будет потеряна не только информация о тех заказах, в которых присутствовал этот товар, но и товаре в целом (код товара, его наименование и тип)

Аномалия дублирования Некоторые значения атрибутов приходится многократно повторять (наименование товара и наименование типа товара).

59


Вторая нормальная форма (2НФ) Определение Отношение находится во 2НФ (Second Normal Form, 2NF) тогда и только тогда, когда оно находится в первой нормальной форме и не содержит неполных функциональных зависимостей непервичных атрибутов от атрибутов первичного ключа. Другими словами, дополнительное ограничение состоит в том, что все неключевые атрибуты целиком зависят от всего ключа, а не от отдельной его части (т.е. отсутствует частичная зависимость).

Пример Фрагмент организации данных, удовлетворяющий условиям 2НФ

60


Третья нормальная форма (3НФ) Определение Отношение находится в 3НФ (3НФ, Third Normal Form, 3NF) тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей. Другими словами, дополнительное ограничение заключается в том, что все неключевые атрибуты должны быть взаимно функционально независимы, т.е. ни одно из неключевых полей таблицы не должно зависеть функционально от любого другого неключевого поля.

Пример Фрагмент организации данных, удовлетворяющий условиям 3НФ

61


1.7. Семантическое моделирование данных. Диаграммы «сущность-связь» Цель Обеспечение разработчика информационной системы концептуальной схемой базы данных в форме одной модели или нескольких локальных моделей (внешних моделей), которые относительно легко могут быть отображены в любую систему баз данных. Польза для проектировщиков – обсуждение с заказчиками, специалистами в предметной области; – формализованное описание предметной области, которое легко «читается» неспециалистами по базам данных; – позволяет неспециалистам оценить глубину и корректность проработки проекта БД; – не привязано к конкретной СУБД. Одной из наиболее распространенных семантических моделей данных является модель «сущность–связь» (Entity–Relationship) или ER-модель (впервые была предложена П.Ченом в 1976 г.) Моделирование предметной области базируется на использовании графических 62 диаграмм, или ER-диаграмм (Entity–Relationship Diagrams).


1.7.1. Основные понятия семантического моделирования данных Сущность (Entity) Реальный или представляемый объект (предмет или явление), имеющий существенной значение для рассматриваемой предметной области и о котором необходимо хранить информацию.

Пример

Графическое изображение сущностей на ER-диаграмме

63


1.7.1. Основные понятия семантического моделирования данных Связь (Relationship) Именованная бинарная ассоциация, функциональная зависимость между двумя сущностями, значимая для рассматриваемой предметной области. В этом случае каждый экземпляр одной сущности ассоциирован с произвольным (в том числе и нулевым) количеством экземпляров второй сущности и наоборот.

Пример Изображение степени и обязательности связи

Связь между сущностями «Технологические процессы» и «Технологические агрегаты»

64


1.7.1. Основные понятия семантического моделирования данных Атрибут (Attribute) Любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная, в общем случае, для классификации, идентификации, количественной характеристики и выражения состояния сущности. Атрибут выражает некоторое отдельное, интересующее пользователя свойство сущности, которое характеризует ее экземпляр. Отдельный атрибут определяется типом (числовой, текстовый, логический, временной и др.), а также значением, которое он принимает.

65


1.7.2. Методология IDEF 1X (Icam DEFinition) Сущность (Entity): • независимая от идентификаторов каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. Пример независимой от идентификатора сущностей Доменные печи

Коксовые батареи

• зависимая от идентификаторов однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности. Пример зависимой от идентификатора сущностей Выпуски чугуна

Химические анализы кокса

66


1.7.2. Методология IDEF 1X (Icam DEFinition) Связь (Relationship) Ассоциация между сущностями, при которой каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе и нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, или дочерней сущностью, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Экземпляр сущности-потомка может существовать только при существовании сущности-родителя. Графическое изображение мощности связи в методологии IDEF 1X: а – нуль, один или более; б – один или много (P); в – нуль или один (Z); г – мощность в точности равна некоторому положительному числу (N)

67


Виды связи в методологии IDEF1X Идентифицирующая связь Экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем Пример идентифицирующей связи

68


Виды связи в методологии IDEF1X Неидентифицирующая связь Экземпляр сущности-потомка не определяется однозначно своей связью с сущностью-родителем Пример неидентифицирующей связи

Номер КБ (FK) 69


1.8. Информационное моделирование с помощью CASE-средств CASE-технология (Computer Aided System Engineering) Представляет собой методологию проектирования информационных систем, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения информационной системы и разрабатывать приложения в соответствии с информационными потребностями пользователей.

Инструментальные CASE-средства Программные средства, поддерживающие процессы создания и сопровождения информационных систем, которые в общем случае включают следующие этапы: – – – – – –

анализ и формулировку требований предметной области; проектирование баз данных и прикладного программного обеспечения; генерацию кода для выбранной СУБД и языка приложений; тестирование; документирование; обеспечение требуемого качества работы информационной системы и др.

70


1.8.1. Общая характеристика программы ERwin Назначение Средство концептуального моделирования базы данных Возможности – Создание визуального представления (концептуальной модели данных) для решаемой задачи в виде ER-диаграмм; – Генерация концептуальной модели в различные сетевые реляционные СУБД и настольные базы данных; – Обратное проектирование (реинжиниринг) баз данных, т.е. преобразование физической модели базы данных в концептуальную модель, не привязанную к конкретной СУБД. Уровни представления моделей – Логический уровень (прямое отображение фактов сущностей из реальной жизни); – Физический уровень (использование конкретной целевой СУБД, определены типы данных, индексы для таблиц и др.

71


1.8.2. Этапы построения информационной модели в ERwin 1. Определение сущностей; 2. Определение связей (зависимостей) между сущностями; 3. Задание первичных и составных (альтернативных) ключей; 4. Определение атрибутов сущностей; 5. Приведение модели к требуемому уровню нормальной формы; 6. Переход к физическому описанию модели: назначение соответствий имя сущности – имя таблицы, атрибут сущности – атрибут таблицы; задание ограничений предметной области; 7. Генерация базы данных, т.е. формирование физической схемы для конкретной выбранной (целевой) СУБД.

72


Логическое отображение модели в ERwin

73


Физическое отображение модели в ERwin

74


Настройка свойств связи между сущностями в ERwin

75


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

Этап 4. Определение атрибутов сущностей

Этап 3. Задание первичных ключей

76


Построение информационной модели в ERwin Этап 5. Приведение модели к требуемому уровню нормальной формы 1. Проанализировать схему на присутствие сущностей, которые скрыто моделируют несколько разных взаимосвязанных классов объектов реального мира (именно это соответствует ненормализованным отношениям). Если такое выявлено, то разделить каждую из этих сущностей на несколько новых сущностей и установить между ними соответствующие связи. Полученная схема будет находиться в первой нормальной форме. 2. Проанализировать все сущности, имеющие составные первичные ключи, на наличие неполных функциональных зависимостей непервичных атрибутов от атрибутов возможного ключа. Если такие зависимости обнаружены, то разделить данные сущности на две, определить для каждой сущности первичные ключи и установить между ними соответствующие связи. Полученная схема будет находиться во второй нормальной форме. 3. Проанализировать неключевые атрибуты всех сущностей на наличие транзитивных функциональных зависимостей. При обнаружении таковых расщепить каждую сущность на несколько таким образом, чтобы ликвидировать транзитивные зависимости. Схема находится в третьей нормальной форме. 77


Построение информационной модели в ERwin Этап 5. Приведение модели к требуемому уровню нормальной формы Редактируемая связь

Инструмент разрешения связей «многие-комногим»

Окно корректировки связей между сущностями

Область настройки установок мощности связи

78


Построение информационной модели в ERwin Этап 6. Переход к физическому описанию модели

Выбор физического уровня представления модели

Меню выбора целевой СУБД

Окно выбора целевой СУБД

79


Построение информационной модели в ERwin Этап 7. Генерация базы данных

Кнопка генерации

Меню генерации базы данных

Окно подключения к базе данных на сервере MS SQL Server 2000

80


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.