- •Содержание
- •Введение
- •1 Автоматизированные информационные системы
- •1.1 Основные понятия
- •1.2 Экономические информационные системы
- •1.3 Место бд в автоматизированной информационной системе
- •2 Методы и средства проектирования бд
- •2.1 Архитектура бд
- •2.2 Модели данных
- •2.3 Жизненный цикл бд
- •2.4 Методы проектирования бд
- •2.5 Case − технологии
- •3 Проектирование бд
- •3.1 Формирование внешнего уровня бд
- •3.1.1 Обоснование целесообразности создания аис
- •3.1.2 Структура предприятия. Информационные потоки
- •3.1.3 Описание входных и выходных документов
- •3.1.4 Функциональная структура аис
- •3.1.5 Выявление классов объектов и связей
- •3.1.5.1 Классы объектов
- •3.1.5.2 Связи между классами объектов
- •3.1.6 Неформализованное описание предметной области
- •3.1.7 Уровни доступа пользователей
- •3.2 Разработка концептуального уровня бд
- •3.2.1 Инфологическая модель предметной области
- •3.2.1.1 Методологии построения er—диаграмм
- •3.2.1.2 Шаблоны моделирования
- •3.2.1.3 Моделирование сложных структур
- •3.2.1.4 Проверка законченности er—диаграммы
- •3.2.1.5 Перекрестная проверка модели данных и иерархии функций
- •3.2.2 Даталогическая модель бд
- •3.2.2.1 Реляционная модель данных
- •3.2.2.2 Виды документирования длм реляционной бд
- •3.2.2.3 Формирование длм реляционной бд
- •3.2.2.4 Анализ схемы реляционной бд на соответствие заданной нормальной форме
- •3.2.2.5 Пример графического представления схемы реляционной бд
- •3.3 Проектирование внутреннего уровня бд
- •3.3.1 Выбор реляционной субд
- •3.3.2 Объекты бд
- •3.3.3 Физическая модель бд
- •3.3.3.1 Проектирование реляционных таблиц
- •3.3.3.2 Реализация ограничений целостности реляционной базы данных
- •3.3.3.3 Проектирование индексов
- •4 Создание бд
- •4.1 Подготовка среды хранения
- •4.2 Генерация схемы бд
- •4.3 Загрузка и корректировка данных из старой бд
- •4.4 Ввод и контроль данных в справочные таблицы
- •4.5 Словарь данных
- •5 Администрирование бд
- •5.1 Управление структурой бд
- •5.2 Защита данных
- •5.2.1 Авторизация пользователей
- •5.2.2 Управление параллельно работой пользователей
- •5.2.2.1 Транзакции
- •5.2.2.2 Проблемы, возникающие при параллельной обработке данных
- •5.2.2.3 Блокировка данных
- •5.2.2.4 Бесконечные ожидания и тупики
- •5.2.2.5 Уровни изоляции транзакций
- •5.2.3 Управление восстановлением бд
- •5.2.3.1 Резервное копирование бд
- •5.2.3.2 Способы восстановления бд
- •5.3 Управление субд
- •6 Вопросы проектирования приложений бд
- •6.1 Участие администратора бд в разработке приложения
- •6.2 Виды функций приложений бд
- •Список использованных источников
- •Приложение а
- •Вопросы для самостоятельной работы
- •Приложение б
- •Тесты для контроля знаний
- •Приложение в
- •Ответы на тесты
3.2.1.4 Проверка законченности er—диаграммы
При построении модели с использованием методологии Ричарда Баркера, необходимо, соблюдая четкость и аккуратность, придерживаться следующего:
— размер четырехугольников по вертикали, отображающих классы объектов, сопоставлять с количеством включенных в него свойств;
— линии связи рисовать прямыми и направленными вверх, по горизонтали и по диагонали; для диагональных линий использовать углы в 30 или 60 градусов, это упрощает чтение, если связи пересекаются;
— избегать большого количества параллельных линий, их трудно отслеживать;
— избегать сокращений и жаргонов в названиях классов объектов, свойств, добавлять к названиям прилагательные для облегчения понимания модели;
— имена связей указывать на концах линий с разных сторон от неё;
— для упрощения чтения диаграммы рекомендуется располагать так классы объектов, чтобы "воронья лапа", обозначающая связь «много» была направлена вверх и влево. Таким образом, самые динамичные и объемные классы объектов будут всегда расположены ближе к верхнему, левому углу диаграммы;
— нежелательно вычерчивать диаграмму на сетке.
ER—диаграмма должна легко читаться как непрерывное предложение, начиная с любого места, и иметь смысл с точки зрения бизнеса.
Для того чтобы получить законченную и качественную ER—диаграмму, построенную по методологии Ричарда Баркера необходимо убедиться в следующем.
1 Для классов объектов: представлены четырехугольниками с закругленными углами; название в единственном числе, заглавными буквами; обязательно имеют уникальные идентификаторы.
2 Для свойств классов объектов: имена записаны строчными буквами и не включают имя класса объектов; имеют одну из меток «*» (обязательное свойство) или «о» (необязательное свойство). Все свойства разбиты на атомарные компоненты.
3 Для подтипов: полностью описывают класс объектов; не перекрывают друг друга; существование каждого подтипа оправдано – имеют разные свойства, разные связи.
4 Для связей: каждая сторона имеет имя (пишется строчными буквами), мощность и опциональность. Для больших моделей необязательно указывать названия связей на диаграмме, но они должны быть обязательно указаны в формализованном описании предметной области. Необходимо проверить опциональность связей: для обязательных связей – действительно ли связь должна существовать, то есть объект не может быть создан без одновременного создания связи; для необязательных связей – действительно ли связь только может существовать, может ли объект существовать без этой связи.
5 Для рекурсивных связей: рекурсивные связи имеют необязательное значение с обеих сторон (кроме рекурсивных подтипов).
6 Для арков: связи, входящие в арк имеют одинаковый тип и опциональность с обеих сторон и помечены кружками.
7 Все ли выявленные в классе объектов свойства имеют одно значение (рисунок 20). В противном случае необходимо дообследовать предметную область и выявить необходимые классы объектов.
Рисунок 20 — Пример дообследования предметной области
8 Каждое ли свойство класса объектов зависит от всего уникального идентификатора этого класса объектов — рисунок 21. Чем больше отдельных существительных предметной области выделено в виде классов объектов, тем более нормализованной будет схема будущей реляционной БД.
Рисунок 21 — Нормализация на уровне ER—диаграммы
ER—диаграмма должна соответствовать формализованному описанию предметной области, представленному в виде таблиц.
