
- •Оглавление
- •1.1. Основные понятия
- •1.2. Жизненный цикл по
- •1.3. Модели жизненного цикла по
- •Каскадная модель жц:
- •Спиральная модель жц:
- •2. Методологии и технологии проектирования ис
- •2.1. Общие требования к методологии и технологии
- •2.2. Структура комплекта документов
- •2.3. Наиболее перспективные и приемлемые технологии разработки по
- •2.3.1. Технологии, базирующиеся на case–средствах Computer Associates
- •2.3.2. Технологии, базирующиеся на case–средствах ibm Rational
- •2.3.2.1. Краткая характеристика основных технологических программных продуктов ibm Rational
- •3. Методология функционального моделирования idef0
- •3.1. Концепция методологии функционального моделирования idef0
- •3.2. Основные определения (понятия) методологии и языка idef0
- •3.3. Синтаксис графического языка idef0
- •3.4. Семантика языка idef0
- •3.5. Имена и метки
- •3.6. Отношения блоков на диаграммах
- •3.7. Диаграммы idef0
- •3.8. Дочерняя диаграмма
- •3.9. Родительская диаграмма
- •3.10. Свойства диаграмм
- •3.10.1. Стрелки как ограничения
- •3.10.2. Параллельное функционирование
- •3.10.3. Ветвление и слияние сегментов стрелок
- •3.11. Создание диаграмм idef0 в среде AllFusionProcess Modeler
- •3.12. Диаграммы dfd
- •3.13. Пример проектирования функций подсистемы обработки и хранения данных
- •4. Idef3 – методология описания и моделирования процессов
- •4.1. Функциональный элемент
- •4.2. Элемент связи
- •4.2.1. Связи старшинства
- •4.2.2. Сдерживаемые связи старшинства
- •4.2.3. Относительные связи
- •4.2.4. Связь поток объектов
- •4.3. Перекресток
- •4.3.1. Типы перекрестков
- •4.3.2. Значения комбинаций перекрестков
- •4.4. Декомпозиция описания процесса
- •4.5. Примеры
- •5. Язык моделирования баз данных idef1x
- •5.1. Сущности
- •5.2. Связи и отношения
- •5.2.1. Мощность связей
- •5.3. Ключи
- •5.3.1 Внутренние и внешние ключи
- •5.3.2. Ссылочная целостность
- •5.4. Домены
- •5.5. Представления
- •5.6. Нормализация данных
- •5.7. Примеры построения диаграмм
- •5.8. Общие сведения о среде проектирования AllFusion Erwin Data Modeler
- •5.8.1. Построение логической модели
- •5.8.1.1. Диаграмма сущность – связь
- •5.8.1.2. Модель данных на основе ключа
- •5.8.1.3. Полная атрибутивная модель
- •5.8.2. Создание новой модели
- •5.8.3. Создание физического уровня базы данных на основе логического
- •5.8.4. Редактирование таблиц
- •5.8.5. Редактирование столбцов таблицы
- •5.8.6. Редактирование ключей и индексов таблицы
- •5.8.7. Редактирование связей таблиц
- •5.8.8. Сохранение модели базы данных
- •5.8.9. Генерация операторов для создания базы данных
- •5.8.10. Подготовка исходных данных для разработки новой версии бд
- •6. ЯзыкUml, модели по, объектно–ориентированный анализ и проектирование по.
- •6.1. Основные элементы языка uml
- •6.1.1. Сущности
- •6.1.2. Отношения
- •6.1.3. Диаграммы
- •6.2. Диаграмма вариантов использования как концептуальное представление бизнес–системы в процессе ее разработки
- •6.2.1. Базовые элементы диаграммы вариантов использования
- •6.2.2. Отношения на диаграмме вариантов использования
- •6.2.2.1. Отношение ассоциации
- •6.2.2.2. Отношение включения
- •6.2.2.3. Отношение расширения
- •6.2.2.4. Отношение обобщения
- •6.2.3. Дополнительные обозначения языка uml для бизнес–моделирования
- •6.2.4. Примеры use case и их реализация
- •6.3. Диаграммы последовательности
- •6.3.1. Сообщения на диаграмме последовательности
- •6.3.2. Ветвление потока управления
- •6.3.3. Пример диаграммы последовательности
- •6.4. Диаграмма кооперации
- •6.4.1. Объекты диаграммы кооперации и их графическое изображение
- •6.4.2. Кооперация объектов
- •6.4.3. Пример совместного использования диаграмм кооперации и последовательности
- •6.5. Сравнение диаграммы последовательности и диаграммы кооперации
- •6.6. Диаграммы состояний
- •6.6.1. Составное состояние и подсостояние
- •6.6.1.1. Последовательные подсостояния
- •6.6.1.2. Параллельные подсостояния
- •6.6.1.3. Несовместимые подсостояния
- •6.6.2. Исторические состояния
- •6.6.3. Сложные переходы и псевдосостояния
- •6.6.4. Состояние синхронизации
- •6.6.5. Рекомендации по построению диаграмм состояний
- •6.6.6. Примеры диаграмм состояний
- •6.7. Диаграммы деятельностей
- •6.7.1. Примеры диаграмм деятельностей
- •6.8. Классы
- •6.8.1. Области видимости и действия, кратность и иерархия классов
- •6.8.2. Отношения между классами
- •6.8.2.1. Отношение ассоциации
- •6.8.2.2. Отношение обобщения
- •6.8.2.3. Отношение агрегации
- •6.8.2.4. Отношение композиции
- •6.8.3. Примеры диаграмм классов
- •6.9. Компоненты
- •6.9.1. Виды компонентов
- •6.9.2. Отношения между компонентами
- •6.9.3. Компоненты и классы
- •6.9.4. Компоненты и интерфейсы
- •6.9.5. Варианты графического изображения компонентов
- •6.9.6. Пример диаграммы компонентов
- •6.10. Диаграмма развертывания
- •6.10.1. Узел диаграммы развертывания
- •6.10.2. Отношения между узлами диаграммы
- •6.10.3. Пример диаграммы развертывания
- •Литература
5.6. Нормализация данных
Здесь приводятся основные определения нормальных форм данных. Примеры нормализации данных можно найти в любом учебнике по БД.
Нормализация данных – это процесс проверки, тестирования и, если требуется, реорганизации сущностей (таблиц) и атрибутов (столбцов) в модели и сведения таблиц к набору столбцов, в котором все не ключевые столбцы зависят от столбцов первичного ключа. Она позволяет устранить недостатки в уже спроектированной модели данных, исключить дублирование данных, т.е. информация о некотором факте должна храниться только в одном месте – тем самым однозначно и окончательно определить принадлежность каждого столбца только определенной таблице. Нормализация делает БД более устойчивой к изменениям к новым требованиям задач, позволяет обеспечить целостность самой БД и сокращает память для хранения информации.
Все нормальные формы основаны на понятии функциональной зависимости.
Атрибут А1 сущности Е функционально зависит от атрибута А2 сущности Е тогда и только тогда, когда каждое значение А2 в сущности Е связано точно с одним значением А1 в сущности Е, т.е. для любого значения х≤А1, существует только одно значение у ≤ А2.
Атрибут А1 сущности Е полностью функционально зависит от ряда атрибута А2 сущности Е тогда и только тогда, когда А1: 1. функционально зависит от А2 и 2. нет зависимости от подмножества А2, т.е. нет транзитивной зависимости.
Первая нормальная форма (1NF) гласит – все атрибуты сущности содержат атомарные (неделимые) значения и среди атрибутов не должно встречаться повторяющихся групп. То есть, с одной стороны, атрибуты не должны содержать повторяющихся групп (нескольких значений атрибута) и, с другой, – атрибут не должен хранить разные по смыслу значения. Приведение к 1NF форме производится созданием новой таблицы для повторяющихся значений и установлением связи от прежней таблицы (PK) к новой (FK).
Сущность находится во второй нормальной форме (2NF), если она находиться в первой нормальной форме (1NF) и любой ее не ключевой атрибут полностью зависит от всего первичного ключа, а не от его части. 2NF имеет смысл для объектов со сложным ключом. Сущность приводится к 2NF выделением атрибутов, зависящих от части ключа в отдельную таблицу и установлением связи с основной таблицей.
Сущность находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме (2NF) и любой ее не ключевой атрибут не зависит от другого не ключевого атрибута этой сущности. Не ключевые атрибуты не зависят от не ключевых атрибутов, в сущности нет атрибутов значения, которых получено из других атрибутов данной сущности. Сущность приводится к 3NF выделением атрибутов, зависящих от не ключевого атрибута в отдельную таблицу и установлением связи с основной таблицей.
Сущность находится в четвертой нормальной форме (4NF), если ни в одной строке нет нескольких многозначных фактов об одном объекте, т.е. нет многозначных зависимостей между атрибутами. Сущность приводится к 4NF выделением атрибутов с многозначными фактами в отдельные таблицы.
Case система AllFusion Erwin Data Modeler помогает создание нормализованной модели БД, контролирует уникальность имени атрибута, поддерживает создания ключей и связей.