- •Введение
- •1.Понятие экономической информационной системы (эис)
- •1.1. Понятие системы
- •1.2. Понятие эис. Назначение эис
- •1.3.Классификация эис
- •1.4. Основные принципы и методы построения эис
- •1.4.1. Принципы построения и функционирования эис.
- •1.4.2.Структурный и объектно-ориентированный подходы к проектированию.
- •1.4.3.Понятие жц эис.
- •2.Теоретические основы работы с информацией
- •2.1. Понятие информации
- •2.2. Измерение количества информации
- •Задания на дом
- •2.3.Кодирование информации
- •2.3.1.Оптимальное основание кода
- •2.3.2.Запись натурального числа в двоичной системе
- •2.3.3.Код Грэя
- •2.3.4.Оптимальное кодирование
- •2.3.5.Помехозащищенное кодирование
- •2.4.Методы организации данных в памяти эвм
- •2.4.1.Типы данных, структуры данных и абстрактные типы данных
- •2.4.2.Время выполнения программ
- •2.4.3.Списки
- •2.4.4.Реализация списков
- •Реализация списков посредством массивов
- •Реализация списков с помощью указателей
- •Реализация списков с помощью курсоров
- •2.4.5.Стеки
- •2.4.6.Реализация стеков
- •2.4.7.Очереди
- •2.4.8.Реализация очередей
- •2.4.9.Графы и деревья
- •2.4.10.Некоторые сд для хранения графов и деревьев
- •3.Особенности работы с экономической информацией
- •3.1.Классификация и кодирование экономической информации.
- •3.2.Единая система классификации и кодирования
- •3.3.Штриховое кодирование
- •Алгоритм расчета контрольного разряда ean
- •4.Модели данных
- •4.1.Атрибуты, составные единицы информации, показатели, документы
- •4.2.Операции над сеи
- •4.3.Реляционная модель данных
- •4.3.1. Отношения, как основа реляционной модели данных
- •4.3.2. Операции над отношениями
- •Операции объединения, пересечения и разности отношений
- •Операция декартова произведения отношений
- •Отношение «список программистов» и результат выполнения проекции
- •Операция натурального соединения отношений
- •4.3.3. Нормализация отношений
- •4.3.4. Функциональные зависимости
- •4.3.5. Нормальные формы
- •Результат первого шага приведения к 2нф отношения преподаватель_предмет (отношение преподаватель в 2нф)
- •Результат первого и второго шагов приведения к 2нф отношения преподаватель_предмет (все отношения в 2нф)
- •4.3.8. Пример проектирования реляционной бд
- •5.Модели знаний
- •5.1. Классификация знаний
- •5.2. Продукционная модель представления знаний
- •5.3.Представление знаний в виде семантической сети
- •5.4. Фреймовая модель представления знаний
- •5.5. Логическая (предикатная) модель представления знаний
- •6.Моделирование предметных областей в экономике
- •6.1.Понятие модели предметной области
- •6.2.Структурная модель предметной области
- •6.2.1.Функциональная методология idef0
- •6.2.2. Функциональная методика потоков данных
- •6.3.Объектная модель предметной области
- •6.4. Сравнение методик моделирования предметной области
- •7.Алгоритмы, наиболее часто использующиеся при обработке информации в эис
- •7.1.Алгоритмы поиска
- •7.1.1.Поиск элемента в неупорядоченном массиве
- •7.1.2.Поиск элемента в упорядоченном массиве.
- •7.1.3.Фонетический поиск
- •7.2.Алгоритмы сортировки
- •7.2.1.Сортировка методом пузырька.
- •7.2.2.Сортировка вставками
- •7.2.3.Сортировка выбором
- •7.2.4.Пирамидальная сортировка
- •7.2.5.Быстрая сортировка.
- •7.2.6.Сортировка слиянием
- •7.3.Поиск на графах
- •7.3.1.Поиск в глубину
- •7.3.2.Поиск в ширину
- •7.4.Топологическая сортировка графа
- •7.5.Сетевое планирование
- •7.5.1.Алгоритм расчета наиболее ранних сроков наступления событий
- •7.5.2.Алгоритм расчета наиболее поздних сроков наступления событий
- •7.5.3.Алгоритм расчета резервов времени.
- •Литература Рекомендуемая основная литература
- •Рекомендуемая дополнительная литература
- •Приложение 1.Форматы штрих-кодов
- •Приложение 2. Коды некоторых стран
Результат первого шага приведения к 2нф отношения преподаватель_предмет (отношение преподаватель в 2нф)
ТабНом Предмет |
КолЧасов |
|
1 |
ТЭИС |
51 |
1 |
БД |
68 |
2 |
ЭВМ |
48 |
3 |
ЭВМ |
48 |
4 |
МатАн |
68 |
4 |
ТеорВер |
102 |
ПРЕПОДАВАТЕЛЬ |
|||||
ТабНом |
Фамилия |
Должность |
Оклад |
Кафедра |
Телефон |
1 |
Иванов |
доцент |
450 |
ИС |
1-15 |
2 |
Петров |
доцент |
450 |
ИС |
1-15 |
3 |
Сидоров |
профессор |
550 |
ЭВМ |
2-43 |
4 |
Федоров |
ст.преп. |
350 |
ВМ |
2-75 |
Таблица 4.12
Результат первого и второго шагов приведения к 2нф отношения преподаватель_предмет (все отношения в 2нф)
ПРЕДМЕТ |
|
|
НАГРУЗКА |
||
Предмет |
КолЧасов |
|
|
ТабНом |
Предмет |
ТЭИС |
51 |
|
|
1 |
ТЭИС |
БД |
68 |
|
|
1 |
БД |
ЭВМ |
48 |
|
|
2 |
ЭВМ |
МатАн |
68 |
|
|
3 |
ЭВМ |
ТеорВер |
102 |
|
|
4 |
МатАн |
|
|
|
|
4 |
ТеорВер |
ПРЕПОДАВАТЕЛЬ |
|||||
ТабНом |
Фамилия |
Должность |
Оклад |
Кафедра |
Телефон |
1 |
Иванов |
доцент |
450 |
ИС |
1-15 |
2 |
Петров |
доцент |
450 |
ИС |
1-15 |
3 |
Сидоров |
профессор |
550 |
ЭВМ |
2-43 |
4 |
Федоров |
ст.преп. |
350 |
ВМ |
2-75 |
Изображение отношений в виде таблиц, как это делалось до сих пор, не удобно при проектировании больших БД. Это связано с тем, что такое изображение достаточно громозко и при его использовании не показываются связи между отношениями. Для изображения моделей данных существует много международно-признанных систем обозначений (нотаций). Рассмотрим кратно основные элементы нотации IDEF1X (Integration DEFinition for Information Modeling) и далее будем изображать модели данных, как с помощью таблиц, так и в данной нотации. Более подробно стандарт IDEF1X будет рассмотрен в курсе «Проектирование информационных систем».
Модели данных в нотации IDEF1X изображаются в виде диаграмм. Отношения (сущности) обозначаются прямоугольниками, внутри которых перечисляются атрибуты. Атрибуты, составляющие ключ, размещаются сверху и отделяются от остальных атрибутов горизонтальной линией. Связь между двумя сущностями обознаяается линией между прямоугольниками, соответствующими данным сущностям.
В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связями с другими сущностями. Различают идентифицирующие и неидентифицирующие связи.
Идентифицирующая связь устанавливается между независимой и зависимой сущностями. Говорят, что независимая сущность является родительской по отношению к зависимой сущности. Также говорят, что зависимая сущность является дочерней по отношению к независимой сущности.
Зависимые сущности обозначаются прямоугольниками со скругленными углами. Линия, изображающая связь, помечается точкой на конце у дочерней сущности. Идентифицирующая связь изображается сплошной линией, неидентифицирующая – пунктирной. Внешние ключи помечаются буквами FK.
Пример идентифицирующей связи между независимой и зависимой сущностями показан на рис. 4.2. Экземпляр зависимой сущности определяется только через связь к родительской сущности. В примере это означает, что информация о заказе не имеет смысла без информации о клиенте.
Пример неидентифицирующей связимежду независимыми сущностями показан на рис.4.3.
Рис.4.2. Идентифицирующая связь
Рис.4.3. Неидентифицирующая связь
Неидентифицирующие связи разделяются на необязательные и обязательные.
В случае необязательной неидентифицирующей связи атрибут дочерней сущности, являющийся внешним ключом, может иметь пустое значение. Например, на рис.4.3 неидентифицирующая связь между сущностями «Отдел» и «Сотрудник» не является обязательной. Это означает, что значение внешнего ключа «Номер отдела» в некотором экземпляре сущности «Сотрудник» может быть пустым. То есть может существовать некоторый сотрудник, который не относится ни к какому отделу.
Необязательная неидентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности, как показано на рис.4.3.
В случае обязательной неидентифицирующей связи атрибут дочерней сущности, являющийся внешним ключом, не может иметь пустое значение.
Если для создания IDEF1X диаграмм используется программное средство AllFusion Erwin Data Modeler, то при установлении связи, дочерняя сущность дополняется атрибутами родительской сущности. Такая операция называется миграцией атрибутов. Миграция атрибутов выполняется по следующим правилам:
При установлении идентифицирующей связи дочерняя сущность автоматически преобразуется в зависимую сущность, а атрибуты первичного ключа родительской сущности мигрируют в состав ключевых атрибутов дочерней сущности.
При установлении неидентифицирующей связи атрибуты первичного ключа родительской сущности мигрируют в состав неключевых атрибутов дочерней сущности.
С учетом операции миграции атрибутов можно сформулировать правила приведения к 2НФ в среде AllFusion Erwin Data Modeler:
Создать новую сущность A, включив в нее часть составного ключа исходной сущности и атрибуты, зависящие от этой части.
Создать новую сущность B путем удаления из исходной сущности всех атрибутов вошедших в сущность A.
Установить идентифицирующую связь между сущностью A и B. При этом сущность A является родительской, а сущность B – дочерней.
Вернемся к примеру приведения отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ к 2НФ. Как было отмечено выше, в данном отношении существуют две частичные функциональные зависимости (атрибуты Фамилия, Должность, Оклад, Кафедра, Телефон зависят от части составного ключа ТабНом и атрибут КолЧасов зависит от части составного ключа Предмет). Поэтому процесс приведения данного отношения к 2НФ состоял из двух шагов.
На первом шаге устранялась зависимость атрибутов Фамилия, Должность, Оклад, Кафедра, Телефон от части составного ключа ТабНом. Выполнение этого же процесса в среде AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.4.
На втором шаге устранялась зависимость атрибута КолЧасов от части составного ключа Предмет. Выполнение этого же процесса в среде средство AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.5.
В результате получилась модель БД в 2НФ, представленная IDEF1X диаграммой на рис.4.6.
Рис.4.4. Первый шаг приведения к 2НФ отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ в среде AllFusion Erwin Data Modeler (устранение зависимости атрибутов Фамилия, Должность, Оклад, Кафедра, Телефон от части ключа ТабНом)
Рис.4.5. Второй шаг приведения к 2НФ отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ в среде AllFusion Erwin Data Modeler (устранение зависимости атрибута КолЧасов от части ключа Предмет)
Рис. 4.6. Результат приведения к 2НФ отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ в среде AllFusion Erwin Data Modeler (результат первого – рис.4.4 и второго – рис.4.5 шагов)
Продолжим дальнейший анализ отношений, полученных в результате приведения отношения ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ к 2НФ. В отношении ПРЕПОДАВАТЕЛЬ есть транзитивные зависимости:
ТабНом Кафедра Телефон
ТабНом Должность Оклад
Их наличие порождает неудобства и аномалии следующего характера (на примере «Телефон»):
Дублирование информации о телефоне для всех преподавателей.
Проблема контроля избыточности при изменении номера телефона.
Нельзя включить данные о новой кафедре, если на ней еще отсутствуют преподаватели; и наоборот, при увольнении всех преподавателей данные о кафедре нельзя сохранить.
Для решения указанных проблем требуются дальнейшие преобразования отношений.
Отношение находится в третьей нормальной форме (3НФ), если оно находится во 2НФ и нем отсутствуют транзитивные функциональные зависимости неключевых атрибутов от ключа.
Без использования понятия «транзитивные функциональные зависимости» 3НФ может быть определена следующим образом: отношение находится в 3НФ, если оно находится в 2НФ и никакой неключевой атрибут не зависит от другого неключевого атрибута.
Таким образом в отношении, находящимся в 3НФ не должно быть взаимосвязи между неключевыми атрибутами.
БД находится в 3НФ, если все ее отношения имеют 3НФ.
Для рассматриваемого примера можно получить три отношения в 3НФ: ПРЕПОДАВАТЕЛЬ, ДОЛЖНОСТЬ и КАФЕДРА, представленные в табл.4.12.
Таблица 4.12
Примеры отношений в третьей нормальной форме
ПРЕПОДАВАТЕЛЬ |
|
ДОЛЖНОСТЬ |
|
КАФЕДРА |
|||||
ТабНом |
Фамилия |
Должность |
Кафедра |
|
Должность |
Оклад |
|
Кафедра |
Телефон |
1 |
Иванов |
доцент |
ИС |
|
доцент |
450 |
|
ИС |
1-15 |
2 |
Петров |
доцент |
ИС |
|
профессор |
550 |
|
ЭВМ |
2-43 |
3 |
Сидоров |
профессор |
ЭВМ |
|
ст.преп. |
350 |
|
ВМ |
2-75 |
4 |
Федоров |
ст.преп. |
ВМ |
|
|
|
|
|
|
С учетом операции миграции атрибутов в AllFusion Erwin Data Modeler правила приведения отношения (сущности) во 2НФ к отношению (сущности) в 3НФ будут следующие:
Создать новую сущность A, включив в нее атрибуты исходной сущности с одной и той же зависимостью. Атрибуты, определяющие эту зависимость, использовать в качестве первичного ключа сущности A.
Создать новую сущность B путем удаления из исходной сущности всех атрибутов вошедших в сущность A.
Установить неидентифицирующую связь от сущности A к сущности B.
В нащем примере в отношении ПРЕПОДАВАТЕЛЬ, которое находится в 2НФ, есть две зависимости между неключевыми атрибутами: атрибут Телефон зависит от атрибута Кафедра и атрибут Оклад зависит от атрибута Должность. Поэтому процесс приведения данного отношения к 3НФ будет состоять из двух шагов.
На первом шаге устраняется зависимость атрибута Телефон от атрибута Кафедра. Выполнение этого процесса в среде средство AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.7.
На втором шаге устраняется зависимость атрибута Оклад от атрибута Должность. Выполнение этого процесса в среде средство AllFusion Erwin Data Modeler проиллюстрировано на рис. 4.8.
Полностью модель БД в 3НФ для хранения отношения ПРЕПОДПВАТЕЛЬ_ПРЕДМЕТ, представленная IDEF1X диаграммой на рис.4.9.
Рис.4.7. Первый шаг приведения к 3НФ в среде AllFusion Erwin Data Modeler (устранение зависимости атрибута Телефон от атрибута Кафедра)
Рис.4.8. Второй шаг приведения к 3НФ в среде AllFusion Erwin Data Modeler (устранение зависимости атрибута Оклад от атрибута Должность)
Рис.4.9. Модель БД в 3НФ для хранения отношения ПРЕПОДПВАТЕЛЬ_ПРЕДМЕТ
