貴方は今,広い部屋にいます.
EDBでは,複数にユーザが同一のコンテンツを対象として作業を行います.
この部屋に入るためには,入口で自分の名前とパスフレーズを申告しなければなりませんでした.部屋には他に何人か同じようにして入ってきた人がいます.
ログインの手続きによって,現在作業を行っている人が誰なのかを特定します.
ログイン手続きにより,ユーザのセッション情報を作成し,セッションテーブルに登録します.
部屋を見渡すと,机がいくつかあり,各々の机(テーブル)には【個人】【研究活動】【共同研究】【学会活動】…などの名前が書かれています.
机はテーブル(table)であり,テーブル毎に登録されている情報の書式を定義しています.
机の上には紙が並べておいてあります.
テーブルの上には,各情報が登録されます.
紙には,各々の情報を識別するための番号が振ってあります.これを情報識別子と呼ぶそうです.
EDBにおいては各情報を識別するために,各々の情報にEIDと呼ばれる情報識別子を割り振っています. EIDの実態は整数値(10001〜)であり,多くの場合通し番号で割り振られます. また,EIDは複数の情報にまたがって同じものは存在しません.
良く見ると,机の上の紙(情報)は1枚ずつおいてあるのではなく,中には数枚が重ねておいてあるのもあります.試しにめくってみると,同じ(番号の)情報についての変更履歴のようです.一番過去に登録されたものが一番下に,最後に登録されたものが一番上におかれています.
EDBでは情報の履歴を管理するために,同じ情報(同じEID)に関して,登録の度毎に情報を新規に登録します. この登録はDBにおける行(タプル; tuple)を新規に登録することを意味しています. 同じEIDを持つタプルが複数存在する場合には,tupleに登録されている登録日時でソートし,一番新しいものが有効になります.
別の紙の重なりをみると,一番上の紙(情報)が裏返しにおかれています.削除(無効化)された情報のようです.表を向いているのは有効な情報です.
情報の無効化は,無効フラグを立てたタプルを登録することで実現しています.
情報を登録するには,新しい紙に内容を書いて各テーブルにおけば良いそうです.新規に情報を登録するときには,番号の振っていない紙をもらいそれに内容を記述してテーブルのあいているところにおきます.テーブルの上においた瞬間に情報を示す番号が割り振られます.既にある情報を修正する場合にはその情報の番号と現在の内容があらかじめ書かれた紙をもらい,その内容を修正して,同じ番号の紙の上に重ねておきます.
情報の登録を新規に行う場合には,まずEIDのついていない情報を編集します. DBに実際に登録する時点でEIDが割り振られます.
情報を修正する場合には,修正したい情報と同じEIDを指定してDBに新しいタプルを登録します. 結果,新しいタプルの登録日時が一番新しくなるため,以降はそのタプルが情報の内容として参照されます.
紙(情報)に記入するときには,英語や日本語,読みなどを書き込むほかに情報の番号を選択するという箇所もあります.ただし,番号を直接書き込むのではなく,提示されている選択肢を選ぶという方法を用いているようです.選択肢はほかのテーブルの上の表向きにおいてある有効な紙(情報)から自動的に作成されます.
情報の参照は全て,テーブル毎に定義されている見出し作成によって行われます.
複数の人がこの作業を同時に行なっています.人毎に違う部屋は用意してくれていません.
全てのユーザが同じコンテンツを対象にし,また,同じコンテンツを参照しながら作業を行います. ユーザが誰なのかによって,多少情報の閲覧時にリストアップされる一覧が異る場合がありますが,基本的には情報は全てのユーザが共有しているものとして扱われます.
また,紙は記入のときだけは手に持って構わないのですが,一度机の上におく(登録する)ともう二度と手にとることはできません.できるのは,新しい紙(情報)を上に重ねていくことだけです.
それに,この部屋には紙(情報)を捨てるゴミ箱がありません.
EDBのタプル登録様式は,完全に追記型です. 一度登録したタプルを消去することはできません. タプルの集合である情報を無効化することはできます.
あと,うたた寝などをして1時間何もせずにいると,強制的に部屋の外に追い出されてしまいます.
セキュリティ上の問題およびサーバへの負荷の観点から,無操作の状態が1時間以上続いた場合,セッションテーブルから削除しています.