In this section we show how to define schema in BNF notation.
Bold type words are those which must be written as they are, and slanted
type words are data types. Please see Kappa user's manual for the
details related to distributed databases and so on which are
omitted here.
<Schema>::=TableName(TableProperty,AttrList,NestSequence,
HorizontalDecompositionInfo)
TableName::= ATOM nil
TableProperty::= primitive
AttrList::={Attr AttrList}
NestSequence::=[AttrName NestSequence]
[]
AttrName::= ATOM
HorizontalDecompositionInfo::= shd(HorizontalDecompositionMethod,
HorizontalDecompositionInfoList) nil
Attr::=AttrName(RepetitiveProperty,AttrPropertyList)
AttrName(RepetitiveProperty,AttrList)
RepetitiveProperty::= set single
AttrPropertyList::=[AttrProperty AttrPropertyList]
[]
AttrProperty::= type(DataType) key(KeySpecification)
key(primary,ReferenceKeyInfo)
access(AccessSpecification)
null_value(NullValueSpecificaion)
overflow(OverflowSpecification)
DataType::= string integer
term
KeySpecification::= table set
non_key
NullValueSpecification::= not_allowed allowed
not_nil
not_bottom
OverflowSpecification::= not_allowed