0

わかりましたので、データベースが複数のタイプの投稿 (単純な投稿と多くのフォーム フィールドを持つ複雑な事前にフォーマットされた投稿) に関するデータを格納する必要があると仮定します。これらの投稿のデータを個別のテーブルに保存する必要があることは明らかです。

問題は、これらすべての投稿テーブルに、それらにリンクする追加のいいね/コメント テーブルが必要なことです。これは、ますます多くのテーブル/クエリを意味します...

この回答のようなポリモーフィックな関連付けをお勧めしますか? https://stackoverflow.com/a/2003042/997178またはこの画像:

多形的関連の別の例 しかし、ポリモーフィック assoc には別の問題があり、すべての投稿 (エンティティ) にコメントを付けることができるわけではありません。そして、 objectid (コメントテーブルからの fk) だけを知っている投稿を見つけるために検索を行う必要がある場合は、すべての投稿テーブルを検索して見つける必要があります...

または、具体的なアプローチをお勧めし、より多くのテーブルとクエリを用意しますか?
http://martinfowler.com/eaaCatalog/concreteTableInheritance.html

PS : どんなヒントでも大歓迎です :)

4

2 に答える 2

2

あなたがそれを描いているようではありません。優れたデータベースの本を入手して、正規形に関する部分を読むことを検討してください。非常に大雑把に言えば、データベースを多数の null エントリを持つ単一の巨大なテーブルとして想定し、列セットを慎重に分割してさらにテーブルを作成するという考え方です。直感は必要ありません。いくつかの正規形 (BCNF に注目するのが合理的です) のそれぞれについて、適切な結果を保証する明確に定義された正規化ルールがあります。データ モデルを表すために null が必要ない場合は、完了です。場合によっては、パフォーマンス上の理由から結合を避けるために一部の分割を控える (そして null を残す) こともありますが、これはベンチマークの後で、または環境とデータに十分な経験がある場合にのみ行う必要があります。よくできた正規形データベースは美しいものです。

ウィキペディアのページは妥当な紹介です。

于 2012-07-12T01:59:33.647 に答える
0

私は部分的な解決策を見つけました...

このスライドから、ポリモーフィック アソシエーション/ベースの親テーブル モデル + ポリモーフィック アソシエーション/関係モデルの反転を組み合わせて使用​​します。

http://www.slideshare.net/billkarwin/practical-object-directional-models-in-sql

于 2012-07-13T00:27:08.770 に答える