СВЯЗИ МЕЖДУ ОБЪЕКТАМИ
В реальном мире между предметами существуют различные отношения. Если предметы моделируются как объекты, то отношения, которые систематически возникают между различными видами объектов, отражаются в информационных моделях как связи. Каждая
связь задается в модели определенным именем. Связь в графической форме представляется как линия между связанными объектами и обозначается идентификатором связи.
Существует три вида связи: один-к-одному (рис. 1.39), один-ко-многнм (рис. 1.40) и многие-ко-многим (рис. 1.41).
Связь один-к-одному существует, когда один экземпляр одного объекта связан с единственным экземпляром другого. Связь один-к-одному обозначается стрелками <и>.
Рис. 1.39. Пример связи «одии-к-одному»
Связь один-ко-многим существует, когда один экземпляр первого объекта связан с одним (или более) экземпляром второго объекта, но каждый экземпляр второго объекта связан только с одним экземпляром первого. Множественность связи изображается двойной стрелкой >>.
Рис. 1.40. Пример связи «один-ко-многим»
Связь многие-ко-многим существует, когда один экземпляр первого объекта связан с одним или большим количеством экземпляров второго и каждый экземпляр второго связан с одним или многими экземплярами первого. Этот тип связи изображается двусторонней стрелкой -
Рис. 1.41. Пример связи «многие-ко-многим»
Помимо множественности, связи могут подразделяться на безусловные и условные. В безусловной связи для участия в ней требуется каждый экземпляр объекта. В условной связи принимают участие не все экземпляры объекта. Связь может быть условной как с одной, так и с обеих сторон.
Все связи в информационной модели требуют описания, которое, как минимум, включает:
• идентификатор связи;
• формулировку сущности связи;
• вид связи (ее множественность и условность);
• способ описания связи с помощью вспомогательных атрибутов объектов.
Дальнейшее развитие представлений информационного моделирования связано с развитием понятия связи, структур, ими образуемых, и задач, которые могут быть решены на этих структурах.
Нам уже известна простая последовательная структура экземпляров - очередь, см. рис. 1.34. Возможными обобщениями информационных моделей являются циклическая структура, таблица (см. табл. 1.10), стек (см. рис. 1.35).
Очень важную роль играет древовидная информационная модель, являющаяся одной из самых распространенных типов классификационных структур. Эта модель строится на основе связи, отражающей отношение части к целому: «А есть часть М» или «М управляет А». Очевидно, древовидная связь является безусловной связью типа один-ко-многим и графически изображена на рис. 1.42, в. На этом же рисунке для сравнения приведены схемы информационных моделей типа «очередь» (а) и «цикл» (б).
Рис. 1.42. Информационные модели типа «очередь» (а), «цикл» (б), «дерево» (в)
Таким образом, типы данных в программировании, обсуждавшиеся в предыдущем параграфе, тесно связаны с определенными информационными моделями данных.
Еще более общей информационной моделью является, так называемая, графовая структура, рис. 1.43. Графовые структуры являются основой решения огромного количества задач информационного моделирования.
Многие прикладные задачи информационного моделирования были поставлены и изучены достаточно давно, в 50-60-х годах, в связи с активно развивавшимися тогда исследованиями и разработками по научным основам управления в системах различной природы и в связи с попытками смоделировать с помощью компьютеров психическую деятельность человека при решении творческих интеллектуальных задач. Научное знание и модели, которые были получены в ходе решения этих задач, объединены в науке под названием «Кибернетика», в рамках которой существует раздел «Исследования по искусственному интеллекту».
Рис. 1.43. Информационная модель типа «граф»