2005-11-24

λ のぞみ自由席

路線情報で調べてのぞみ40号が最初の便かと思って予約していたら、のぞみ70号のが先にあるというのを新神戸駅に着いてから認識。 のぞみ自由席に初めて座った。

座れてしまえば同じだ。

λ Gmail の From指定

Gmailアカウントのメールアドレス以外を From: に入れることができるが、 Envelope From には、送信先のメールアドレスが入るのね。

結構不思議な仕様。何かあってもエラーメール返すな、ってことかな。

λ T字型ER

データベース設計論 T字形ER―関係モデルとオジブェクト指向の統合をめざして論理データベース論考―データ設計の方法:数学の基礎とT字形ER手法 読了。

Entityをまず時刻を持つかどうかで「resoure(時刻情報なし)」「event(時刻情報あり)」で分離する。とにかくこれ重要。

その上での3つの推論ルール

「resource」と「resource」を結んだら、対照表を生成する。 「resource」と「event」を結んだら、「resource」の認知番号を「event」のほうに複写する。 「event」と「event」を結んだら、先行「event」の認知番号を、時系列のおそいほうに複写 する。

をデータベースのテーブル設計に翻訳すれば、

  • resource間は、resourceID間を結ぶテーブルを対照表として実装する
  • event テーブルの中に resourceID フィールドを書く
  • 後続event テーブルの中に 先行eventID フィールドを書く。自event内での再帰でも単純にテーブルの中に 先行eventID フィールドを書く。

T字型ERで作図しなくても、この推論ルールに従ってテーブル設計するだけですごい気分がスッキリした。 実戦での威力評価はこれからではあるが。

null値の扱いやVirtualEntityの扱いは、もう一度読んで噛み砕かないと、理解まで至っていない感じ。 null値の扱いのところは、作図はオブジェクト指向的クラスで表現して、実装は別テーブルという雰囲気かな。

[]