Классика баз данных - статьи

       

Реляционная модель “Третьего Манифеста”


Как уже отмечалось выше, реляционная модель данных (РМ) развивается со временем. Как выразился Кристофер Дейт , “со временем развивается наше собственное понимание реляционной модели, так что теперь мы яснее понимаем, что в действительности представляют собой домены, что в действительности представляют собой возможные ключи, даже то, что в действительности представляют собой сами отношения”. Однако надо отметить, что речь идет об эволюции, но не о революции. РМ, как ее видят Дейт и Дарвен в работе , не перечеркивает (почти) ничего из оригинальной версии Кодда, но в некоторых отношениях она более тщательно определена, и расширена, например, за счет дополнительных операций. Кроме того, в последнее время РМ оказывается в ситуации, когда она должна “отвечать на вызов” объектной модели данных, со стороны которой РМ испытывает определенное давление.

Начнем с того, что переосмыслению подверглось само понятие “база данных”. Если во времена RM/V1 БД трактовалась как некоторое множество отношений, что делало БД статическим объектом, то Дейтом разделены понятия отношения и “переменной отношения” (relvar), изменяющейся со временем, и БД трактуется как набор переменных отношений, что подчеркивает ее изменчивость.

В РМ Кодда существовало понимание того, что РМ имеет дело только с простыми встроенными типами данных, такими как числа или строки. Значения переменных этих типов данных и понимались как атомарные в контексте первой нормальной формы. В по этому поводу отмечается, что в РМ нигде не устанавливается, какие типы разрешены, и это позволяет включить развитую систему типов данных, или доменов. Понятие домена в реляционной модели полностью отождествляется с понятием типа данных. (Однако понятие домена в реляционной модели и в языке SQL – различно)

Соответственно атомарными в контексте 1 НФ считаются типизированные значения, причем они могут принадлежать типам данных произвольной сложности, включая ТД, определенные пользователем.


Рассмотрим этот вопрос подробнее. В РМ Третьего Манифеста , отношение состоит из заголовка и тела, где заголовок – это заголовок кортежа, согласно его определению, а тело – множество кортежей, соответствующих этому заголовку. Каждое отношение по определению содержит в точности одно значение для каждого атрибута в каждом кортеже своего тела. Другими словами, любое отношение по определению находится в 1 НФ.

В классической интерпретации реляционной модели 1 НФ часто неформально трактовали как “никаких отношений внутри отношений”. Дейт и Дарвен, однако, отмечают , что, в сущности, 1 НФ прежде никогда не определялась очень точно, поскольку опиралось на понятие атомарности значения данных, которое тоже не определялось достаточно точно. Соответственно, определив понятие атомарности через типизацию, Дейт и Дарвен вполне допускают, чтобы отношение включало атрибуты, значениями которых являются кортежи и даже отношения.

Поддержка пользовательских ТД включает поддержку определяемых пользователями операций и поддержку наследования ТД (подтипы и супертипы).


Содержание раздела