Классическая реляционная модель предполагает неделимость данных, хранящихся в полях записей таблиц. Постреляционная модель представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных. Модель допускает многозначные поля — поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.
На рис. 2.6 на примере информации о накладных и товарах для сравнения приведено представление одних и тех же данных с помощью реляционной и постреляционной моделей. Из рис. 2.6 видно, что по сравнению с реляционной моделью в постреляционной модели данные хранятся более эффективно, а при обработке не потребуется выполнять операцию соединения данных из двух таблиц.
а) Накладные Накладные-товары.
|
N накладной. | Покупатель. | N накладной. | Товар | Количество. | |
| | | Сыр | | |
| | | Рыба. | | |
| | | Лимонад. | | |
| | | Сок. | | |
| | | Печенье. | | |
| | | Йогурт. | | |
|
б) Накладные.
|
N накладной. | Покупатель. | Товар | Количество. | |
| | Сыр | | |
| | Рыба. | | |
| | Лимонад. | | |
| | Сок. | | |
| | Печенье. | | |
| | Йогурт. | | |
|
Рис. 2.6 Структуры данных реляционной (а) и постреляционной (б) моделей
Поскольку постреляционная модель допускает хранение в таблицах ненормализованных данных, возникает проблема обеспечения целостности и непротиворечивости данных. Эта проблема решается включением в СУБД соответствующих механизмов.
Достоинством постреляционной модели является возможность представления совокупности связанных реляционных таблиц одной постреляционной таблицей. Это обеспечивает высокую наглядность представления информации и повышение эффективности ее обработки.
Недостатком постреляционной модели является сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.
Рассмотренная постреляционная модель данных поддерживается СУБД uniVers. К числу других СУБД, основанных на постреляционной модели данных, относятся также системы Bubba и Dasdb.