Каждый экземпляр группового отношения можно рассматривать как совокупность записи владельца и списка соответствующих записей-членов. Записи-члены в списке могут быть упорядочены по-разному. Различают следующие способы:
· произвольный;
· хронологический – списки в записи располагаются в последовательности поступления их в БД, такие списки называются очереди, т.е. всякая новая запись помещается в конец списка;
· обратно хронологический – новая запись размещается в начале списка (стек, магазин);
· сортированный способ, в этом случае в типе записи члене отношения выбирается ключ упорядочения, и место новой записи определяется по ключу.
Описывая конкретный тип группового отношения, администратор БД определяет, допустимы или нет экземпляры с одинаковыми значениями ключей, а также направление упорядочения (по возрастанию или по убыванию). Если ключом является фамилия, дублирование разрешено, а если – номер паспорта – нет, в таком случае информационная система должна препятствовать размещению в БД тождественных записей.
Таким образом, признак отношения и способ упорядочения позволяют создать ограничение целостности данных; одни и те же записи, являясь подчиненными в разных отношениях, могут быть упорядочены различными способами.
Различают два режима включения подчиненных записей автоматический и ручной.
· Автоматический режим– подчиненная запись включается в групповое отношение одновременно с включением её в БД. Другими словами невозможно внести в БД запись, чтобы она автоматически не была закреплена за владельцем. В этом случае экземпляр-владелец должен быть помещен раньше подчиненного экземпляра в БД.
· Ручной режим – позволяет занести подчиненную запись в БД и не включать её немедленно в экземпляр группового отношения.
Режим исключения подчиненной записи зависит от класса членства записи.
Принято выделять три класса членства подчиненных записей в групповом отношении.
· Фиксированное членство – подчиненная запись жестко закрепляется за записью-владельцем и не может существовать без неё. В этом случае исключить запись из некоторого экземпляра-отношения можно только исключив её из БД. Эту запись нельзя переключить на другого владельца или оставить без владельца.
· Обязательное членство – каждая подчиненная запись, будучи однажды включенной в групповое отношение впредь будет всегда связана с какой-либо записью-владельцем. Допускается переключение записи к другому владельцу, но недопустимо существование записи без владельца. Для удаления записи владельца необходимо, чтобы она не имела подчиненных с обязательным членством. Такие подчиненные записи следует предварительно удалить либо переключить в другой экземпляр этого отношения.
· Необязательное членство – позволяет исключить подчиненную запись из группового отношения, но сохраняя её в БД, не прикрепляя к другому владельцу. При удалении записи-владельца, ее подчиненные члены сохраняются в БД, не участвуя более в этом отношении. В дальнейшем они снова могут быть включены в это отношение.
Сетевая модель данных позволяет устанавливать несколько одинаково направленных групповых отношений между двумя типами записей (рис. 4.6)
Из рисунка видно, что здесь два типа отношений – это отношение «основная работа» (1) и отношение «совместительство» (2).
Каждой организации соответствует два списка рабочих – это список основных рабочих и список совместителей. С другой стороны, каждый житель может быть связан с двумя организациями.
Рис. 3.6 Нескольких групповых отношений в сетевой модели данных.