book_person
テーブル間にブリッジテーブルがbook
ありperson
、多対多の関係を提供します。このテーブルには、特定の本で人が持つ役割 (著者、編集者、イラストレーター、翻訳者など) を設定する役割定義もあります。book_author
ここで、役割を分割して役割テーブルを分離することを検討します(book_translator
など)。しかし、私は疑わしいです、それは良い考えですか?専門家にとっては、DB がよりクリーンになり、DBIC スキーマ ローダーがそのような単純なブリッジ テーブルを検出し、多対多のアクセサーを作成するという単純な利点が 1 つあります。短所として、ロールの集約関数にはさらに結合が必要になることがわかります。
オールインワンの role-bridgetable よりも個別の role-bridgetable を使用する利点は何ですか? そして、欠点は何ですか?ORM (DBIx::Class) を使用してアプリをアップグレードしようとしていますが、まだよくわからないため、それに対する考慮も大歓迎です。