Конспект лекций для специальности «Прикладная информатика в экономике»
Вид материала | Конспект |
- Учебно-методический комплекс для студентов заочного обучения специальности Прикладная, 81.9kb.
- Конспект лекций для студентов специальности Прикладная информатика (в экономике), 3204.37kb.
- Учебно-методический комплекс для студентов заочного обучения специальности Прикладная, 172.73kb.
- Рабочая учебная программа по Правоведению Для специальности- «Прикладная информатика, 388.83kb.
- Учебно-методический комплекс для студентов заочного обучения специальности Прикладная, 88.44kb.
- Программа по курсу "Математика. Алгебра и геометрия" для специальности 080801 (351400), 143.45kb.
- Учебно-методический комплекс Для специальности 080801 Прикладная информатика (в экономике), 296.07kb.
- Учебно-методический комплекс Для специальности 080801 Прикладная информатика (в экономике), 610.8kb.
- Рабочая программа по дисциплине «Исследование операций в экономике» для специальности, 137.37kb.
- Учебно-методический комплекс Для специальности: 080801 «Прикладная информатика (в экономике)», 489.66kb.
ГЛАВА 4. СТРУКТУРНЫЕ МЕТОДЫ И СРЕДСТВА МОДЕЛИРОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ
Ранее отмечалось, что для целей моделирования систем используются группы средств, отображающих:
- функции, которые системы должна выполнять, - FDD (Functional Decomposition Diagrams – диаграммы функциональной декомпозиции),
- информационные процессы, обеспечивающие выполнение указанных функций, - DFD (Data Flow Diagrams – диаграммы потоков данных),
- данные, используемые при выполнении функций, и отношения между этими данными - 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. Диаграмма сущность-связь
Включает основные сущности и взаимосвязи, отражающие основные бизнес-правила предметной области и удовлетворяющие основным требованиям к ИС. Как правило, используется для презентаций и обсуждения структуры данных с экспертами.
Основные компоненты – сущности, атрибуты и связи:
- сущность является множеством подобных индивидуальных объектов – экземпляров. Каждый экземпляр индивидуален и должен отличаться от остальных.
- атрибут выражает определенное свойство объекта. С точки зрения баз данных сущности соответствует таблица, экземпляру сущности – строка в таблице, атрибуту – колонка таблицы. Идентифицирующий атрибут позволяет выделить один экземпляр сущности.
- связь является логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы.
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 | - |