Диго С.М. Базы данных проектирование и использование (1084447), страница 13
Текст из файла (страница 13)
Рис. 2.12. Граф взаимосвязи показателей
Следует обратить внимание на то, что производными могут быть не только количественные, но и качественные характеристики. Например, для объекта СТУДЕНТ имеется характеристика «Отличник». Значение этой характеристики определяется по следующему правилу: отличником считается студент, защитивший все курсовые работы/проекты на «отлично», сдавший все экзамены на «отлично», а также выполнивший в заданный срок все остальные предусмотренные учебным планом контрольные мероприятия.
Информация об алгоритмических зависимостях не является элементом ER-модели, но является необходимым компонентом описания предметной области. Эта информация используется для определения состава хранимых в базе данных показателей, определения ограничений целостности, реализации бизнес-правил.
2.2.6. Интегральные характеристики класса объектов
Как отмечалось выше, в ER-модели отображаются не отдельные экземпляры объектов, а классы объектов. Когда в ER-модели изображено обозначение объекта, то ясно, что речь идет о классе объектов, обладающих описанными свойствами. Поэтому в эти модели в большинстве случаев можно в явном виде не вводить еще и обозначение для класса объектов. Явное изображение класса объектов необходимо только в том случае, если в предметной области для данного класса объектов фиксируются не только характеристики, относящиеся к отдельным объектам этого класса, но и какие-то интегральные характеристики, относящиеся ко всему классу в целом. Например, если для класса объектов СОТРУДНИК_ПРЕДПРИЯТИЯ фиксируется не только возраст каждого сотрудника, но и средний возраст всех сотрудников, то в ER-модели необходимо отразить не только объект СОТРУДНИК, но и класс объектов СОТРУДНИКИ. Для отображения класса объектов лучше использовать какое-то специальное обозначение; в нашем случае это прямоугольник, очерченный двойной линией (рис. 2.13).
Рис. 2.13. Отображение интегральных характеристик
класса объектов
Для характеристики каждого класса объектов полезно указать число объектов в классе, а также динамику его изменения. Чаще всего указывается число объектов в классе на начало периода, а также число прибывающих и убывающих объектов за фиксированный период. Для того чтобы не перегружать графическое изображение ER- модели, будем эту информацию отображать в отдельных таблицах. Например, если предметной областью является вуз, имеющий стабильный ежегодный набор студентов, то количественная характеристика класса объектов СТУДЕНТ может иметь вид, представленный в табл. 2.2. Если число объектов в классе или динамика изменения не являются постоянными, то для соответствующих показателей желательно фиксировать максимальное, минимальное и среднее число объектов в классе.
Количественные характеристики классов объектов используются не только для определения объема памяти, занимаемого БД, но и для обоснованного принятия решений по организации данных. Знание динамики изменения объектов в классе дает информацию, необходимую для принятия решений по организации данных и технологии их обработки. Так, число объектов в классе СТУДЕНТ (см. табл. 2.2) является постоянным (5000), но ежегодно 1/5 часть студентов оканчивает институт и столько же новых студентов поступает. Это означает, что ежегодно добавляется 20% общего объема данных о студентах, и такой же объем данных должен быть перенесен в архивные файлы. Без наличия информации о динамике изменения класса объектов необходимость принятия соответствующих решений была бы просто не видна.
Таблица 2.2
Код класса объектов | Наименование класса | Определение | Код ро- дительского класса | Число объектов в классе | Динамика изменения | |
+ | - | |||||
1 | Кадры | Все лица, которые либо работают, либо обучаются в институте | - | 15 000 | ||
2 | Учащиеся | 1 | 11200 | |||
3 | Студенты | 2 | 5000 | 1000 | 1000 | |
4 | Слушатели подготовительных курсов | 2 | 6000 | 6000 | 6000 | |
5 | Аспиранты | 2 | 200 | 80 | 80 | |
6 | Сотрудники | 1 | 500 | |||
7 | Преподаватели | 6 | 300 | 10 | 20 | |
8 | Вспомогательный персонал | 6 | 200 | 60 | 80 |
2.2.7. Связи между объектами
Кроме связи между объектом и его свойствами в ER-модели фиксируются связи между объектами разных (а иногда - одного и того же) классов. Связь (Relationship) - это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров другой сущности. Обычно рассматриваются бинарные связи, т.е. связи между двумя классами объектов. Связи являются двунаправленными. Связи могут устанавливаться и между сущностями одного класса. Например, связь «Быть_руководителем» устанавливается и между разными экземплярами объектов одного класса СОТРУДНИК.
Отображение типа связи. Выделяют различные виды связи (рис. 2.14): «один к одному» (1:1), «один ко многим» (1:М) и «многие ко многим» (М:М).
Рис. 2.14. Виды связи между объектами: а - отношение 1:1; б - 1:М;
в - М:М; г - пример использования связи
Если связь множественная, то желательно еще указать и мощность связи: число объектов М (это может быть минимальное, максимальное и среднее число объектов в связи).
Возможны случаи, когда между парой объектов объявлено несколько связей (рис. 2.15). В этом случае связи следует именовать (указание роли).
Рис. 2.15. Пример объявления двух связей между парой объектов
Отображение класса принадлежности. Кроме степени связи в ER-модели для характеристики связи между разными сущностями нужно указывать так называемый класс принадлежности (обязательность связи), который показывает, может ли отсутствовать связь объекта данного класса с каким-либо объектом другого класса. Класс принадлежности сущности может быть либо обязательным, либо необязательным.
Аналогично с условным свойством необязательное вхождение объекта в связь будем обозначать пунктирной линией с той стороны, объекты которой могут не входить в соответствующую связь. Таким образом, линия, соединяющая объекты, может быть полностью сплошной, полностью пунктирной либо наполовину - сплошной, наполовину - пунктирной (рис. 2.16).
Рис. 2.16. Варианты классов членства: обязательный класс членства
с обеих сторон (а); необязательный класс членства
с правой стороны (б), с левой стороны (в), с обеих сторон (г)
Поясним сказанное на конкретных примерах. Для графической иллюстрации используем так называемые диаграммы ER-экземпляров (вместо диаграмм ER-типа, которые мы использовали до сих пор).
Мы хотим отобразить в инфологической модели связь между двумя классами объектов: ЛИЧНОСТЬ и ЯЗЫК_ИНОСТРАННЫЙ.
Предположим, что предметной областью является завод, некоторые сотрудники которого знают какой-либо иностранный язык, но ни один из них не владеет более чем одним языком. Есть некоторые сотрудники, которые не владеют ни одним языком. Естественно, что имеется много языков, которыми не владеет ни один из сотрудников, а также что некоторые из сотрудников владеют одним и тем же иностранным языком. В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.17, а, диаграмма ER-типов - как на рис.2.17, б. Тип связи - 1:М (на диаграмме это отображено со стороны объекта ЛИЧНОСТЬ двойной стрелкой, а со стороны объекта ЯЗЫК_ИНОСТРАННЫЙ - одинарной стрелкой на линии, изображающей связь между рассматриваемыми сущностями), класс принадлежности - необязательный с обоих концов (линия - полностью пунктирная).
Предположим далее, что предметной областью является институт, а объект ЛИЧНОСТЬ отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто не владеет более чем одним языком; предположение, что имеется много языков, которыми не владеет ни один из сотрудников, остается актуальным и в этой ситуации. В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.18, а, диаграмма ER-типов - как на рис. 2.18, б.
Как в первом, так и во втором случае между сущностями наблюдается отношение 1:М. Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обеих сущностей, а во втором - для сущности ЛИЧНОСТЬ класс принадлежности обязательный. На диаграмме это будет отображено пунктирной линией, прилегающей к объекту ЯЗЫК_ИНОСТРАННЫЙ, и сплошной линией, прилегающей к объекту ЛИЧНОСТЬ.
Пусть предметная область будет та же, что и в предыдущем случае, но имеют место ситуации, когда некоторые абитуриенты знают несколько иностранных языков. Связь между объектами при этом будет иметь тип М:М. Для такой предметной области диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2.19, а, диаграмма ER-типов - как на рис. 2.19, б.
Рис. 2.17. Диаграмма ER-экземпляров (а) и ER-типов (б).
Вариант 1 - необязательное членство с обоих концов связи
Рис. 2.18. Диаграмма ER-экземпляров (а) и ER-типов (б).
Вариант 2 - связь 1:М и необязательное членство с одного конца связи
Рис. 2.19. Диаграмма ER-экземпляров (а) и ER-типов (б).