BNF記法でスキーマ定義の文法を示す。太字はそのまま記述する文字を、斜字
体はデータ型を表す。
分散データベースに関する部分等、ここでは説明を省略しているところがある。
詳細は、Kappaユーザズマニュアルを参照のこと。
<スキーマ>::=テーブル名(テーブル性質,属性リスト,ネストシーケンス, 水平分割情報)
テーブル名::= ATOM| nil
テーブル性質::= primitive
属性リスト::={属性|属性リスト}
ネストシーケンス::=[属性名|ネストシーケンス]|[]
属性名::= ATOM
水平分割情報::= shd(水平分割方法,水平分割テーブル情報リスト)| nil
属性::=属性名(繰り返し性質,属性性質リスト)| 属性名(繰り返し性質,属性リスト)
繰り返し性質::= set| single
属性性質リスト::=[属性性質|属性性質リスト]|[]
属性性質::= type(データ型)| key(キー指定)| key(primary,参照キー情報)| access(アクセス指定)| null_value(空値指定)|overflow(あふれ指定)
データ型::= string| integer| term
キー指定::= table| set| non_key
空値指定::= not_allowed| allowed| not_nil| not_bottom
あふれ指定::= not_allowed