КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ
122
3.2. ОСОБЕННОСТИ ДАТАЛОГИЧЕСКИХ МОДЕЛЕЙ
Внутризаписная структура
В базах данных со структурированными моделями следует различать внутризапис-
ную и межзаписную структуры. Внутризаписная структура может быть либо линейной,
либо иерархической. При линейной структуре запись состоит из простых элементов (часто
называемых полями), которые следуют в записи одно за другим, т.е. структура записи яв-
ляется нормализованной.
В случае иерархической внутризаписной структуры в состав записи могут входить
не только простые, но и составные компоненты. Это могут быть векторы (когда повторя-
ются однотипные элементы), повторяющиеся группы (когда в записи может присутство-
вать несколько экземпляров составных единиц информации, включающих в себя несколь-
ко разнотипных элементов), а также неповторяющиеся составные единицы информации
внутри записи. Например, если мы имеем запись ЛИЧНОСТЬ, то в ее состав могут вхо-
дить простые элементы, такие как ТАБЕЛЬНЫЙ _ НОМЕР, ФАМИЛИЯ и т.д., вектор
ИНОСТРАННЫЙ _ ЯЗЫК (предполагается, что человек может владеть несколькими ино-
странными языками), повторяющаяся группа ПОСЛУЖНОЙ _ СПИСОК, включающая
элементы: ДАТА _ НАЗНАЧЕНИЯ, ДАТА _ УВОЛЬНЕНИЯ, МЕСТО _ РАБОТЫ,
ДОЛЖНОСТЬ, а также неповторяющаяся группа АДРЕС, состоящая из элементов
ГОРОД, УЛИЦА, ДОМ, КВАРТИРА.
Иерархическая структура записи может быть как одноуровневой, так и многоуровне-
вой. Принципиально возможны довольно сложные структуры, например, когда в состав по-
вторяющейся группы в качестве составляющего компонента входит другая повторяющаяся
группа. Однако по разным причинам (в частности, из-за сложности реализации) в конкретных
СУБД имеются различные ограничения (например, повторяющаяся группа может существо-
вать только на первом уровне иерархии, ограничивается число уровней иерархии и т.п.).
Записи могут быть с постоянным и переменным составом. Последнее обычно по-
нимается так: если значение какого-либо компонента записи отсутствует для конкретного
объекта, то и сам этот компонент в данной записи отсутствует. Например, если один из
сотрудников окончил вуз, имеет ученую степень и ученое звание, то название вуза, год его
окончания, ученая степень, ученое звание и даты их присвоения хранятся в записи, соот-
ветствующей данному сотруднику. Если у другого сотрудника все эти признаки отсутст-
вуют, то в соответствующей ему записи эти поля также отсутствуют. В случае, если запи-
си имеют постоянный состав, то все поля, описанные в структуре записи, всегда присут-
ствуют в каждом экземпляре записи, но некоторые из этих полей могут быть «пустыми».
Другой характеристикой записи является тип ее длины. По этому признаку разли-
чают записи с фиксированной (постоянной), переменной и неопределенной длиной. Запись
может иметь переменную длину в результате того, что переменную длину имеют ее поля,
либо возможно отсутствие каких-либо полей, либо допускается разное число экземпляров
для повторяющихся компонентов.
Поле является наименьшим семантически значимым элементом записи. Основны-
ми характеристиками поля является его тип и длина. Существующие СУБД различаются
по набору поддерживаемых типов полей, но наблюдается тенденция к расширению этого
набора. Большинство современных СУБД, кроме привычных полей символьного и число-
вого типа, допускают использование полей типа даты, логических полей, а также полей
денежного типа. Некоторые системы позволяют вводить определяемые пользователем ти-
пы полей. В последнее время все большее распространение получают мультимедийные
формы представления данных.