タグ

キーに関するatm_09_tdのブックマーク (2)

  • ユニーク制約の使いどころ - 設計者の発言

    前回記事で説明したように、主キーは「ユニーク制約をともなうインデックス」ではなく、「来的なユニークキー(一次識別子, Primary Key, PK)」である。すなわち、「NULL値をとらないし、レコードのライフサイクルにおいて値が更新されないユニークキー」だ。テーブルはユニークキー(候補キーともいう)をいくつも持ち得るが、その中で少なくとも1個は主キーとして位置づけられる必要がある(*1)。 「来的なユニークキー」はわかった。では「来的でないユニークキー」とはどんなものか。その使いどころや効果的なテクニックについて説明しよう。 まず次のモデルを見てほしい。主キーが「顧客コード」であることが<...>で示されている。これに「顧客名+所在地」の組み合わせでユニーク制約({...}で示してある)を与えた例だ。同名顧客名があり得るため、SKには「所在地」も含めてある(顧客名や所在地は正規表

    ユニーク制約の使いどころ - 設計者の発言
  • サロゲートキーは後付けでもできる。 - SQLer 生島勘富 のブログ

    業務システムのほとんどはナチュラルキーで構築されていると思います。 しかし、シノニムやトリガーを利用すれば、既存システムを変更することなくサロゲートキーを追加して、それ以降、サロゲートキーによる運用も可能になります。手順は以下の通りです。 元のテーブル 以下の3つのテーブルをサロゲートキーによる運用に変更します。 ■ Foods 料理マスタ 物理名論理名備考 CD料理CD主キー Name名前 Price価格 …… ■ Ingredients 材料マスタ 物理名論理名備考 CD材料CD主キー Name名前 Cost_Price材料費 …… ■ Recipes レシピマスタ 物理名論理名備考 Food_CD料理CD主キー(複合) Ingredient_CD材料CD主キー(複合) Quantity使用量 …… IDカラムを付加する。 現在のテーブル名にIDを採番したシノニムを作成し、全部のテーブ

    サロゲートキーは後付けでもできる。 - SQLer 生島勘富 のブログ
  • 1