タグ

2013年3月21日のブックマーク (2件)

  • 交差テーブルを参照するテーブルの外部キー - iakioの日記

    3章 IDリクワイヤド - 3.5.3 自然キーと複合キーの活用 より 現実問題として、複合主キーがどのようにフレームワークでサポートされているか等については良く知りません。 1つ注意すべき点は、複合主キーを参照する外部キーもまた、列の組み合わせでなければならないことです。このため、従属テーブル側では同じ列定義が重複することになり、簡潔さを欠いてしまいます。 これは何を言っているのかというと、もし交差テーブルBugsProductsと1対多の関係となるテーブルがあった場合その外部キーをどうするかという話。 BugsProductsの主キーに疑似キーidを使っていれば、従属テーブル側の外部キーはBugsProducts(id)を参照すればよい。 CREATE TABLE BugsProducts ( id SERIAL PRIMARY KEY, bug_id BIGINT, product_

    交差テーブルを参照するテーブルの外部キー - iakioの日記
    t-wada
    t-wada 2013/03/21
    "外部キーが複合主キーの一部になっているのを親子関係、そうでないのを参照関係と呼ぶ(と、たぶん渡辺幸三さんの本で読んだ)" #sqlap
  • SQLアンチパターン「健忘症的サロゲートキー」の提案 - 極北データモデリング

    SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る書の著者はサロゲートキーに対して消極的なのだから、「サロゲートキーの使い方がおかしい」とか言うのはお門違いなのかもしれないが... 健忘症的サロゲートキー 「SQLアンチパターン」第3章の記述を総合すると、著者はサロゲートキーについて以下のように考えていると思う。 自然キーの一意性・不変性が当てにならない場合に「自然キーの変更の影響を受けないようにする」という目的でサロゲートキーを導入する。 自然キーの重複を防ぐために、自然キーにUNIQUEインデックスを振ることを推奨する。 自然キーの代わりにサロゲートキーを外部キーにする。自然キーは他のテーブルに転

    SQLアンチパターン「健忘症的サロゲートキー」の提案 - 極北データモデリング
    t-wada
    t-wada 2013/03/21
    "自分で立てた前提を忘れている" "過去の事実を復元できない" "「自然キーとサロゲートキーのどっちがよいか」みたいな話はもう聞きたくねえんです" "もうちょっと解像度の高い議論があればぜひ伺いたい" #sqlap