KEYの形式を別な観点で分類してみます。
Sタイプ:発番対象のエンティティめがけて発番するKEYの形式です。「連番」だけでKEYを構成します。SタイプのSは、シーケンシャルの略。
例)顧客コード、社員コード、受注番号
RSタイプ:発番範囲あるいは発番期間を表す参照KEY(RKEY)別に「連番」を付与するKEYの形式です。RSタイプのRはリファレンス、Sはシーケンシャルの略。RSタイプも、当該エンティティに直接番号を付与しているところはSタイプと同じです。ただし、「R」が含まれるところがSタイプと異なります。
例)[企業コード*.事業所コード][商品分類コード*.商品コード]*はRを示す記号。
RSタイプのKEYで注意が必要なことは、「R」が参照している先のエンティティと当該エンティティの関係です。悪い設計のRSタイプを例示すると、
[組織コード*.社員コード]:社員が組織を異動するたびにKEYを変える必要がある。
[支店コード*.顧客コード]:1つの顧客に対して、支店別の顧客コードが存在することになり、全社的に同じ顧客を把握できなくなる。
RRタイプ:2つ以上の参照KEY(RKEY)を組み合わせるKEYの形式です。
例)[倉庫コード*.商品コード*]−(在庫数)
[商品コード*.販売年月*]−(販売数)
当該エンティティを直接識別するために用意される「連番」が存在しません。このKEYは、在庫エンティティ、要約エンティティ、断面エンティティに頻繁に現れます。
さて、ここで簡単な質問です。
SSタイプのKEY(連番を2つ、当該エンティティに発番するKEY)が存在しないのはなぜでしょうか?
« 連番のあるKEYと無いKEYエンティティ名とKEY名 »

























