Алгоритмические зависимости
В инфологической модели должны быть отражены алгоритмические зависимости между показателями. Обычно для этих целей используются графы взаимосвязи показателей, отражающие, какие показатели служат исходными для вычисления других (рис14). Расчетные формулы, а также алгоритмы вычислений также в том или ином виде должны быть представлены в ИЛМ.
Следует обратить внимание на то, что производными могут быть не только количественные, но и качественные характеристики. Например, для объекта «СТУДЕНТ» имеется характеристика «ОТЛИЧНИК». Значение этой характеристики определяется по следующему правилу: отличником считается студент, защитивший все курсовые работы/проекты на «отлично», сдавший все экзамены на «отлично», а также выполнивший в заданный срок все остальные, предусмотренные учебным планом контрольные мероприятия.Рис.14.Граф взаимосвязи показателей
Информация об алгоритмических зависимостях не является элементом ER-модели, но является необходимым компонентом описания предметной области; эта информация используется для определения состава хранимых в базе данных показателей, определения ограничений целостности, реализации бизнес-правил.
Интегральные характеристики класса объектов
Как отмечалось выше, в ER-модели отображаются не отдельные экземпляры объектов, а классы объектов. Когда в ER-модели изображено обозначение объекта, то ясно, что речь идет о классе объектов, обладающих описанными свойствами. Поэтому в эти модели в большинстве случаев можно в явном виде не вводить еще и обозначение для класса объектов. Явное изображение класса объектов необходимо только в том случае, если в предметной области для данного класса объектов фиксируются не только характеристики, относящиеся к отдельным объектам этого класса, но и какие-то интегральные характеристики, относящиеся ко всему классу в целом. Например, если для класса объектов «СОТРУДНИК ПРЕДПРИЯТИЯ» фиксируется не только возраст каждого из сотрудников, но и средний возраст всех сотрудников, то в ER-модели необходимо отразить не только объект «СОТРУДНИК», но и класс объектов «СОТРУДНИКИ». Для отображения класса объектов лучше использовать какое-то специальное обозначение; в нашем случае это прямоугольник, очерченный двойной линией (рис. 2.13).
Рис. 15. Отображение интегральных характеристик класса объектов
Для характеристики каждого класса объектов полезно указать число объектов в классе, а также динамику его изменения. Чаще всего указывается число объектов в классе на начало периода, а также число «прибывающих» и «убывающих» объектов за фиксированный период. Для того чтобы не перегружать графическое изображение ER-модели, будем эту информацию отображать в отдельных таблицах. Например, если предметной областью является ВУЗ, имеющий стабильный ежегодный набор студентов, то количественная характеристика класса объектов «СТУДЕНТ» может иметь вид, представленный в таблице 2.2. Если число объектов в классе или динамика изменения не являются постоянными, то для соответствующих показателей желательно фиксировать максимальное, минимальное и среднее число объектов в классе.
Таблица 2.2. Описание классов объектов (фрагмент)
Код класса объектов | Наименование класса | Определение | Код родительского класса | Число объектов в классе | Динамика изменения | |
+ | - | |||||
Кадры | Все лица, которые либо работают, либо обучаются в институте | |||||
Учащиеся | ||||||
Студенты | ||||||
Слушатели подготовительных курсов | ||||||
Аспиранты | ||||||
Сотрудники | ||||||
Преподаватели | ||||||
8 | Вспомогательный персонал |
Количественные характеристики классов объектов используются не только для определения объема памяти, занимаемого БД, а также дггя обоснованного принятия решений по организации данных. Знание динамики изменения объектов в классе дает информацию, необходимую для принятия решений по организации данных и технологии их обработки. Так, в приведенном выше примере число объектов в классе «СТУДЕНТ» является постоянным (5000), но ежегодно 1/5 часть студентов оканчивает институт и столько же новых студентов поступают. Это означает, что ежегодно добавляется 20% от общего объема данных о студентах, и такой же объем данных должен быть перенесен в архивные файлы. Без наличия информации о динамике изменении класса объектов необходимость принятия соответствующих решений была бы просто не видна.