たくろぐ!

世界一のチラ裏

最近のRails/Ruby環境にキャッチアップする30日間チャレンジ5日目

はじめに

最近はDB設計が楽しくて、Railsキャッチアップが後回しになっています。

とりあえず復習の意味も兼ねて以下を買いました。

半分くらい読みました。

概念設計

前回静的モデルと動的モデルを勉強してみて、静的モデルはリソース系エンティティをリレーションで結んだもの、

動的モデルはリソース系エンティティとイベント系エンティティをリレーションで結んだものみたいなイメージをしました。

静的モデルはエンティティ同士は主語と目的語の関係で、リレーションは動詞に当たります。

動的モデルは一方のリソース系エンティティは主語、もう一方のイベント系エンティティは動詞に当たります。

・・・あってますか?苦笑

たぶん動的モデルでイベント系エンティティは複数のリソース系エンティティとリレーションを張っていて、

コッド理論

エドガー・F・コッド

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%89%E3%82%AC%E3%83%BC%E3%83%BBF%E3%83%BB%E3%82%B3%E3%83%83%E3%83%89'embed

T字形ER手法

佐藤正美さんの著書で紹介されたモデリング手法のこと。

今はTM(Theory of Models)と進化?したらしい。

"データベース設計"は「L-真」レベルまで、"データモデリング"は「L-真」に加えて「F-真」レベルまで実施します、さらにデータモデリングでは関係の網羅性、制約・束縛の網羅性を保証します。

「L-真」というのは、「Logicで正しい(真である)」という意味です。(中略)「L-真」というのは、無矛盾であっても、幾つもやり方があるということです。

「F-真」というのは「Factと一致して正しい(真である)」ということ。「事実」は一つだから。

イミュータブルデーモデリングのチャレンジにあたって気をつけてる事

読んだ。

依存リレーションと非依存リレーション

親子関係を表現するER図を作成する際に意識する概念。

ちなみに親子関係は1対多、1対1の関係で1のほうを親、もう一方を子と言う。

目次は以下。

ざっくり言うと、親子でライフサイクル(生まれるから死ぬまで)が同じものが依存リレーションを持ち、異なるものが非依存リレーションを持つ。

具体的には、受注イベントエンティティ(親)と受注明細リソースエンティティ(子)の関係にて、

受注というイベントが発生した場合、何を受注したのかを入力することを必須としたとき、そこに依存リレーションが発生します。

(詳しくは別の機会にしますが、何を受注したのかを任意として受注したという事実にフォーカスした場合、非依存リレーションになります。)

依存/非依存における論理設計での大きな違いは、

(依存リレーションは)物理的には、「親テーブルの主キーが子テーブルの主キー含まれている」ことになります。
(非依存リレーションは)物理的には、「親テーブルの主キーが子テーブルの主キー含まれていない」ことになります。