ポリモーフィックなテーブルを作成したい。 あなたはバグレポートを管理するシステムを作成しようとしています。 そしてこのバグレポート管理システムに新たなる要件が届きました。 その要件とは「バグについてのコメントを書き込めるような機能が欲しい」というものです。 つまり、バグについての情報があるテーブルと新たに作成されたCommentsというテーブルには一対多の関連が存在する。 ところが問題は -- バグについての情報があるテーブルは一つとは限らないこと -- 例えば、issueというテーブルを継承した二つのテーブル Bugs FeatureRequests があるかもしれない。 この状態で(複数の…
この記事は? SQLアンチパターンの備忘録です。 特に今回は5章の「エンティティ アトリビュート バリュー」 と呼ばれる手法の悪い点と改善策をまとめました。 エンティティ アトリビュート バリュー とは あなたはバグレポートを管理するシステムを作成しようとしています。 UI,UX,使用する言語が決まりましたが、SQLのデータベースの方式がなかなか決められません。(データベース設計のこと) 特に、バグのデータといっても、イシュー(要望)として扱われるのか、プロブレム(問題)として扱われるのかの二種類のデータがあることに苦悩しています。これら二つをサポートしたデータベースを仮に作成した場合、どちら…