90
пами записей. Каждый набор должен содержать один экземпляр записей,
имеющий тип записи–владельца (в примере на рисунке это независимые
или основные типы), и может содержать любое количество экземпляров
каждого типа записей–членов набора (зависимы типы). Каждый тип набора
идентифицируется индивидуальным именем, что позволяет использовать
одну и ту же пару типов
объектов в различных взаимосвязях и строить, та-
ким образом, сложные структуры данных. Именно в возможности участия
каждой записи в любом числе наборов проявляется существенное отличие
между сетевой и иерархической моделями данных.
Потенциальная сложность сетевой модели оборачивается ее недос-
татком, поскольку для обслуживающего организованную на основе сете-
вой модели базу данных
программиста требуется затрачивать значительно
больше усилий для реализации процедур доступа к нужным данным. Кро-
ме того, значительные трудности возникают при реорганизации структуры
базы данных из-за обилия взаимосвязей между объектами.
На практике наибольшее распространение при разработке баз дан-
ных получила
реляционная модель данных (relation – отношение), кото-
рая позволяет представить взаимосвязи между элементами данных в виде
двумерных таблиц, называемых отношениями. Для отношений характерны
следующие свойства:
• каждый элемент таблицы представляет собой один элемент дан-
ных;
• исключается возможность одинаковых строк в таблицах;
• все столбцы в таблице однородны, т.е. в пределах одного столбца
все элементы данных имеют одинаковый тип (числовой, символьный, дата
и др.);
• каждый столбец имеет уникальное имя;
• порядок следования строк и столбцов в таблице может быть лю-
бым.
В реляционной модели каждая строка таблицы представляет собой
отдельную запись, а заголовки столбцов являются названиями полей (ат-
рибутов) в записях. Для идентификации каждой записи таблицы использу-
ется уникальное имя (первичный ключ), которое образуется одним или не-
сколькими атрибутами. Характерной особенностью
ключа является ис-
ключение возможности дублирования его значений в нескольких записях
(т.е. любое конкретное значение ключа для любой записи таблицы уни-
кально). Если ключ состоит из значений нескольких атрибутов, то его на-
зывают составным, а если из одного атрибута – то простым. Для того что-