Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АПИС - Лекции.docx
Скачиваний:
13
Добавлен:
20.04.2015
Размер:
42.22 Кб
Скачать

Этапы проектирования ис

Создание ИС состоит из следующих этапов:

1. Предпроектный.Системный анализ предметной области, техническая спецификация. Данный этап не формализован.

2. Проектирование.На этом этапе проектируются ИС и готовятся модели будущего проекта и формируются его структура. Процессы, реализуемые на этом этапе, формализованы и могут быть автоматизированы. Этот этап может быть автоматизирован.

3. Разработка, тестирование, отладка. Используется интегрированные среды разработки. Однако разработка логики приложения, пока слабо автоматизирована.

4..Внедрение на объект.

23.09.2011

Стадии проектирования:

  1. Разработка концептуальной схемы.

  2. Разработка логической модели.

  3. Разработка физической модели.

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

Семантические модели данных.

Семантическая модель сущность-связь.

В этой главе рассмотрим одну из первых и наиболее популярную на сегодняшний день семантическую модель данных, предложенную Питером Ченом в 1976 году. Эту модель называют ER- моделью. На использовании разных вариантов этой модели основано большинство современных подходов к проектированию БД. Моделирование предметной области на основе ER модели базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. Простота и наглядность представления концептуальных схем в ER-модели привели к ее широкому распространению в CASE системах, поддерживающих автоматизированное проектирование в реляционных БД.

CASE-средства как инструмент реализации семантической модели данных.

История систем автоматизации средств проектирования началась с автоматизации процесса рисования диаграмм. Практическое использование таких система показало, что компьютерная поддержка работы с диаграммами для проектировщика БД очень полезна. И наличие электронного архива проектной документации помогает при эксплуатации, администрировании и сопровождении БД. Но система, которая ограничивается поддержкой рисования диаграмм напоминает текстовый редактор, поддерживающий ввод, редактирование и проверку синтаксической корректности конструкций некоторого языка, но существующий отдельно от компилятора. Поэтому возникла идея расширить такой редактор функциями компилятора. Поскольку к тому времени уже была известна техника компиляции конструкций языка программирования в коды целевого компьютера. Так как методика преобразования концептуальной схемы БД в реляционную схему уже была разработана, то для реализации поставленной задачи оставалось лишь выполнить или создать программу соответствующего компилятора и включить его в систему проектирования БД. Эту идею реализовали производители CASE-средств проектирования БД. Такие системы обеспечивают автоматизированные преобразования диаграммы концептуальных схем в реляционные схемы, специфицированные на языке SQL.

Основные элементы семантической модели сущность-связь.

Основными понятиями ER-модели являются атрибуты, сущности и связи.

Атрибуты

Атрибуты описывают характеристики сущностей. Представляются именами существительными и служат для описания экземпляра сущности.

Следующая лекция в бумажном виде.

8.10.2011

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

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

Введем понятие о 4 нормальных формах в модели ER.

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

Приведем простые правила нормализации.

  1. Размещать повторяющиеся атрибуты в зависимых сущностях.

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

  3. Размещайте атрибуты не зависящие от первичного ключа в зависимых сущностях.

  4. Устраняйте отношения многие ко многим.

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

Сущность: Персона

Атрибуты: Фамилия, Имя, Отчество, Специальность1, Квалификация1, Специальность2, Квалификация2, Название школы, Географический район.

К полученной таблице применим первое правило. Повторяющимися группами являются атрибуты, которые для каждого экземпляра сущности могут иметь более одного значения. Например, сущность, которая приведена в примере, может иметь более одной специальности. Кроме этого нам нужно знать уровень владения этими специальностями. То есть мы получаем повторяющуюся группу Специальность-Квалификация.

Разбиваем нашу сущность на две части:

Сущность: Персона

Атрибуты: Фамилия, Имя, Отчество, Название школы, Географический район.

Сущность: Специальность персоны

Атрибуты: Код специальности, Код персоны, Специальность, Квалификация.

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

Запишем правила:

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

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

Вторая нормальная форма.Один факт в одном месте.

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

Создаем еще одну сущность Специальность.

Сущность: Персона

Атрибуты: Фамилия, Имя, Отчество, Название школы, Географический район

Сущность: Специальность персоны

Атрибуты: Код операции, Код специальности, Квалификация

Сущность: Специальность

Атрибуты: Код специальности, Специальность

Правила:

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

  2. Каждый атрибут зависит от первичного ключа.

Третья форма. Исключить все атрибуты, не зависящие от первичного ключа.

Создаем две сущности: Район и школа

Сущность: Школа

Атрибуты: Код школы, название школы, Код района

Сущность: Географический район

Атрибуты: Код района, Название района

Правило 3: Создайте новую сущность и переместите в нее атрибуты, не зависящие от первичного ключа в исходной сущности. Первичный ключ новой сущности новой сущности становится вторичным ключом новой сущности.

Сейчас мы привели к 3 нормальной форме.

Отношения

Отношение или связь – это графически изображаемая ассоциация, устанавливаемая между сущностями. В ER-модели отношение представляется линией, соединяющей сущности, и глагольной конструкцией, которая описывает, как эти сущности зависят друг от друга. Хорошая глагольная конструкция описывает отношение в терминах предметной области, а не на языке технических спецификаций. Эта глагольная конструкция позволяет вам читать отношения в форме «Сущность-Глагольная конструкция-Сущность». Например, «Сотрудник» «работает в» «Отдел».

Свойства отношений

Отношения обладают следующими свойствами:

  1. Степенью. Представляет собой число сущностей, ассоциированных с отношением. В основном отношения имеют степень 1 или 2.

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

Рассмотрим в качестве примера сущность «Служащие». У них есть ФИО. Требуется установить отношение соподчинения между сущностями, перечисленными в этой сущности. Для этого введем унарную связь. В результате введения этой связи в область не ключевых полей должен мигрировать первичный ключ данной сущности в качестве вторичного ключа. Но чтобы это реализовать, для унарных связей, нужно обязательно указать имя роли. Так как атрибут с одним и тем же именем не может войти в одну и туже сущность дважды. Таким образом, формируется связь «Код служащего» «Начальник. Код служащего».

Бинарные отношения представляют случай, когда одна сущность связана с другой.

  1. Направленностью. Указывает на исходную и подчиненную сущность в отношении. Сущность, из которой отношение исходит, называется родительской. В отношении зависимой и независимой сущностей, родительской становится независимая, зависимая – дочерней. В отношении один ко многим, родительской является сущность, входящая в отношение один раз. Отношение многие ко многим являются симметричными.

  2. Количеством элементов. Отношения бывают: один ко одному, один ко многим, многие ко многим.

Классификация отношений

В ERWinотношения между сущностями может принадлежать к одному из следующих типов:

  1. Идентифицирующее отношение.

  2. Не идентифицирующее отношение.

  3. Типизированное отношение.

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

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

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

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

Роли отношений

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

Подтипы и супер типы сущностей.

Взять лекцию