Конспект лекций для специальности «Прикладная информатика в экономике»

Вид материалаКонспект

Содержание


Глава 4. структурные методы и средства моделирования систем управления
4.1. Методология построения реляционных структур
4.1.1. Диаграмма сущность-связь
Многие - ко многим
4.1.2. Модель данных, основанная на ключах
Реляционная модель
4.1.3. Полная атрибутивная модель
Подобный материал:
1   2   3   4   5   6   7   8   9

ГЛАВА 4. СТРУКТУРНЫЕ МЕТОДЫ И СРЕДСТВА МОДЕЛИРОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ



Ранее отмечалось, что для целей моделирования систем используются группы средств, отображающих:
  1. функции, которые системы должна выполнять, - FDD (Functional Decomposition Diagrams – диаграммы функциональной декомпозиции),
  2. информационные процессы, обеспечивающие выполнение указанных функций, - DFD (Data Flow Diagrams – диаграммы потоков данных),
  3. данные, используемые при выполнении функций, и отношения между этими данными - ERD (Entity-Relationship Diagrams – диаграммы «сущность-связь»).

Эти средства связаны как с соответствующими методами, так и с программно-аппаратным инструментарием, называемым CASE-технологией, и рассматриваются в данной главе.

4.1. Методология построения реляционных структур


Для решения задач моделирования сложных объектов существуют определенные методы и стандарты. К ним относятся методологии семейства IDEF, представителем которого является стандарт IDEF1X (Integrated computer aided manufacturing DEFinition eXtended) – методология построения реляционных структур типа «сущность-взаимосвязь» (ER – Entity-Relationship), используемая для моделирования реляционных баз данных.

В соответствии с этим стандартом различают три уровня логической модели, которые отличаются по глубине представления информации о данных:
  • диаграмма «сущность-связь» (Entity Relationship Diagram – ERD),
  • модель данных, основанная на ключах (Key Based model – KB),
  • полная атрибутивная модель (Fully Attributed model – FA).

4.1.1. Диаграмма сущность-связь


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

Основные компоненты – сущности, атрибуты и связи:
  1. сущность является множеством подобных индивидуальных объектов – экземпляров. Каждый экземпляр индивидуален и должен отличаться от остальных.
  2. атрибут выражает определенное свойство объекта. С точки зрения баз данных сущности соответствует таблица, экземпляру сущности – строка в таблице, атрибуту – колонка таблицы. Идентифицирующий атрибут позволяет выделить один экземпляр сущности.
  3. связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы.

ER1-модель применяет следующие обозначения базовых понятий:

сущность


атрибут сущности


идентифицирующий атрибут


связь


Сущность и её атрибуты соединяются ненаправленными дугами:





Связи между сущностями могут быть 3-х типов:
  • Один - к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот:




  • Один - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида:



  • Многие - ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот.




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




Пусть, например, требуется разработать ER-модель, описывающую организационную структуру кафедр вуза. Тогда кафедры являются предметной областью для задачи. Данная предметная область характеризуется следующими сущностями и их атрибутами:
  • сотрудник – ФИО, ученая степень, научное звание, контактные данные;
  • кафедра – название, шифр в вузе;
  • должность – название, образование.

Сформируем ER-диаграмму, описывающую сущности и связи между ними:





Определим, какие атрибуты могут играть роль идентифицирующих:
  • для сущности кафедра оба атрибута однозначно определяют объект, поскольку не бывает в рамках одного вуза разных кафедр с одинаковыми названиями или шифрами. Для выбора следует ориентироваться на то, какой атрибут, скорее всего, будет использоваться при поиске нужной записи в БД. Очевидно, пользователю удобнее применять название кафедры, поэтому данный атрибут определим как идентифицирующий;
  • для сущности должность идентифицирующим может служить атрибут название, поскольку разные должности могут характеризоваться одним значением атрибута образование (высшее, среднее и т.д.);
  • для сущности сотрудник дело обстоит гораздо сложнее. Предметная область такова, что в реальной ситуации ни один из указанных атрибутов не может служить идентифицирующим. В самом деле, в вузе возможны сотрудники с одинаковыми ФИО. Гораздо меньше вероятность полных тезок и однофамильцев в рамках одной кафедры. Тогда в качестве идентифицирующих атрибутов следует использовать совокупность идентификаторов сотрудников и кафедр.

4.1.2. Модель данных, основанная на ключах


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

Реляционная модель – это совокупность элементов данных, описывающих однородные факты (или сущности) предметной области, а потому имеющие одинаковый состав характеристик.


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


фамилия, имя, отчество

оценки в сессию

Иванов Иван Иванович

Информатика – 5, КСЕ – 4, Программирование – 5

Федоров Федор Федорович

Информатика – 3, КСЕ – 3, Программирование – 4

Петров Петр Петрович

Информатика – 5, КСЕ – 4, Программирование – 5


Эти факты можно представить по-другому, устранив повторение одних и тех же данных в таблице (в примере – это названия дисциплин Информатика, КСЕ и Программирование):


фамилия, имя, отчество

Информатика

КСЕ

Программирование

Иванов Иван Иванович

5

4

5

Федоров Федор Федорович

3

3

4

Петров Петр Петрович

5

4

5


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


Для нашего примера в качестве первичного (причем, простого) ключа может использоваться поле «фамилия, имя, отчество», вторичным ключом могут служить поля «Информатика», «КСЕ», «Программирование», с помощью которых можно организовать выборки по оценкам.

Рассмотрим несколько измененную таблицу с результатами сессии:



фамилия, имя, отчество

Информатика

КСЕ

Программирование

Иванов Иван Иванович

5

4

5

Федоров Федор Федорович

3

3

4

Петров Петр Петрович

5

4

5

Иванов Иван Иванович

3

5

5


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

Введем в таблицу дополнительное поле «шифр учебной группы»:


фамилия, имя, отчество

шифр учебной группы

Информатика

КСЕ

Программирование

Иванов Иван Иванович

АС

5

4

5

Федоров Федор Федорович

АС

3

3

4

Петров Петр Петрович

ВТ

5

4

5

Иванов Иван Иванович

ИЭ

3

5

5


Видно, что студенты-тезки учатся в разных учебных группах. Это позволяет использовать составной первичный ключ вида «фамилия, имя, отчество»_«шифр учебной группы», который даст возможность их различать.

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


Для построенной ранее ER-модели следует сформировать три реляционные структуры, поскольку выделены три сущности, причем для таблицы, соответствующей сущности сотрудник, требуется составной первичный ключ, включающий атрибуты ФИО, название кафедры (первичные ключи выделены полужирно):

сотрудник

ФИО

ученая степень

научное звание

контактные данные

название_

кафедры

название_должности





















кафедра должность

название

шифр в вузе




название

образование













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

Следует отметить, что таблица «сотрудник», помимо атрибутов сущности «сотрудник», включает также и связи данной сущности с сущностями «кафедра» и «должность»: эти связи реализованы в таблице через поля, являющиеся первичными ключами для данных сущностей: «название_кафедры» и «название_должности». В противном случае была бы потеряна информация о том, в какой должности и на какой кафедре работает тот или иной сотрудник.

4.1.3. Полная атрибутивная модель


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


Для нашего примера такое описание для таблицы «сотрудник» может иметь вид:


название поля

тип

размер

характеристика

ФИО

текстовый

50

ключевое

ученая степень

текстовый

15

-

научное звание

текстовый

10

-

контактные данные

числовой

8

-

название (кафедры)

текстовый

20

ключевое

название (должности)

текстовый

10

-