NestedRelational
Last edit January 6, 2009
Also called
MultiValue
(on this site) and
NonFirstNormalForm
(NF2) elsewhere.
The
NestedRelational
DataModel
is based on the
RelationalModel
but relaxes the
FirstNormalForm
constraint requiring all values to be atomic. In
NestedRelational
, all values can also be relations themselves.
Although it has generally been considered an 'improper' variant of the
RelationalModel
,
NestedRelational
may have advantages for storing and integrating
SemanticWeb
type
RaggedData
from multiple sources. Compare with
ExtensibleMarkupLanguage
(
DocumentObjectModel
),
JavaScriptObjectNotation
, and
ResourceDescriptionFramework
(also the old
CodaSyl
NavigationalDatabase
standard), all of which allow hierarchical structures.
A possible advantage of
NestedRelational
over a more ad-hoc hierarchical
DataModel
is that many of the mathematical analyses of the
RelationalModel
may apply, leading to a form more natural to work with than strict relational, but more logically tractable than pure navigational.
One interesting historical piece of software which used
NestedRelational
was the
KappaDatabase
subproject of the Japanese
FifthGenerationComputerSystems
project, based on the
KernelLanguageOne
variant of
PrologLanguage
. Although the FGCS project was considered a failure, there may be useful lessons which can be adopted for new database systems.
http://en.wikipedia.org/wiki/Fifth_generation_computer
http://www.icot.or.jp/ARCHIVE/Museum/SOFTWARE/KAPPA/outline-E.html
http://www.icot.or.jp/ARCHIVE/Museum/SOFTWARE/KAPPA/pdst-E/node8.html
CategoryDataStructure
CategoryDatabase