データベースの投影に問題があります。
「ニュース」、「記事」、「ファイル」など、いくつかの項目タイプがあります。
また、各タイプのカテゴリを格納する「カテゴリ」テーブルもあります。タイプは、特別なフィールド「category_type」で指定します。そのため、私のアプリケーション コードには、ニュース = 0、記事 = 1、ファイル = 2 などの定数が定義されています。
問題は、接続テーブルを作成する正しい方法は何でしょうか?
1 つの方法: 「news2categories」、「articles2categories」、「files2categories」など、タイプごとに複数のテーブルを作成できます。
2 番目のオプションは、「item_id (int)、item_type (int)、category_id (int)」の 3 つのフィールドを持つ 1 つのグローバル テーブルを作成することです。実際、私はすでに 1 つのフィールドだけで型を分割するカテゴリ用のグローバル テーブルを 1 つ持っています。しかし、それは正しい方法ですか?何十もの同一のテーブルを生成したくありませんが、一方で、1 つのテーブルと複数の型の関係は抽象的で複雑すぎるようです。お知らせ下さい。
DB は、この問題を解決する上で意味がある場合、主に Yii フレームワークで使用されます。