812
ГЛАВА 15. МОДЕЛИРОВАНИЕ
атрибут, отвечающий за отслеживание временных изменений хранимых дан-
ных, и рассматривать его как обычный атрибут хранимых данных. Этот путь
ведет к чрезмерному росту числа таблиц и их объемов, а использование вре-
мени в запросах все-таки принципиально отличается от того, как оперируют
с остальными атрибутами, так что и унификации подхода не получается. На-
пример, в свое время был предложен диалект языка
SQL
, в предложениях
которого можно было указывать этот специальный временной атрибут, явно
нигде его не определяя. Но этот диалект так и остался диалектом, не получив
распространения.
Немногим лучше объектные и объектно-реляционные СУБД с временем
(например, POSTGREATE). Здесь, правда, за счет сетевой модели предста-
вления данных избыточность резко снижается. Но особый статус времени
никак не задействован, со всеми вытекающими отсюда последствиями.
Если проанализировать как часто используют СУБД с временем в при-
кладных информационных системах, то выяснится, что реального распро-
странения они не получили. Обычно, когда требуется оперирование с време-
нем, оно реализуется на уровне приложений, т. е. без поддержки средствами
СУБД. Причина тому глубже, чем просто неэффективная реализация (если
бы актуальность такой поддержки была осознана, нужные реализационные
механизмы, конечно же, сумели бы придумать, как это было сделано для са-
мих реляционных баз). Здесь явно просматривается отсутствие концепту-
альной проработки понятия времени в системах, которые мы охарактеризо-
вали свойством реального развития.
Рассмотрим одну из важнейших побудительных причин применения СУБД:
поддержка целостности данных. Без этого качества, предоставленного для
всех пользователей в унифицированном виде, особенно при коллективном
использовании, никакая СУБД не может претендовать на полезность. Имен-
но поэтому понятие целостности и средства ее поддержки нашли свое от-
ражение и в теоретических исследованиях, и в проектах. Именно поэтому к
настоящему времени удалось достичь общепризнанных соглашений о том,
какую поддержку целостности нужно возложить на СУБД, а какую ее часть
целесообразно оставить на стороне приложений. Одним из наиболее значи-
тельных достижений этих соглашений следует рассматривать формирование
транзакционного механизма, который в части, касающейся целостности, га-
рантирует что ни при каких обстоятельствах согласованность данных и их
связей не нарушается.
Целостность в реляционных СУБД — это, прежде всего, обеспечение в
информационной системе того, что в ней не появляются зависшие ссылки,