私は、次のようなテーブルを持つプロジェクトで作業しました。
tbl_texts
id, item_id, item, type, lang, value
1, 44, 'product', 'name', 'en', 'Product Name'
2, 44, 'product', 'description', 'en', 'Product description'
3, 55, 'category', 'name', 'en', 'Category name'
4, 55, 'category', 'name', 'fi', 'Category finnish name'
6 つのフィールドのうち、1 つが主キーで、4 つが複合インデックスでした。主キーでデータが選択されたことはありません。Item_id、item、type、lang インデックスが常に使用されていました。
1)これがデータを保存する良い方法なのか悪い方法なのか疑問に思っていましたか?
2) 2 回参加しなければならないテーブルを持つのは悪い設計ですか (製品の名前と説明が必要な場合)。
3) データを次のようなテーブルに分割する必要があります。
tbl_product_texts
id, product_id, type, lang, value
tbl_category_texts
(etc.)
4) またはこのように:
tbl_product_names
id, product_id, lang, name
tbl_product_descriptions
id, product_id, lang, description
(etc.)
5) または、次のようにします。
tbl_product_names_en
id, product_id, name
tbl_product_descriptions_en
id, product_id, description
(etc.)
これを行うための最も最適な方法はどれか、本当に混乱しています。