テーブル数を減らすためにデータベーススキームを変更することを検討しています。異なるが類似したデータを含むテーブルがいくつかありますが、このままにしておくのがベストプラクティスなのか、それともそれらを組み合わせると複雑になるのではないかと考えています。
たとえば、次の2つのテーブルがあるとします。
Table `status`
`status_id` | `status_text`
---------------------------
1 | Open
2 | Closed
3 | On Hold
Table `type`
`type_id` | `type_text`
---------------------------
1 | Regular Work
2 | Advanced Work
3 | Warranty Work
これらを次のようなテーブルに組み合わせると有利でしょうか?
Table `text`
`id` | `type` | `text`
-------------------------------------------
1 | 1 | Open
2 | 1 | Closed
3 | 1 | On Hold
1 | 2 | Regular Work
2 | 2 | Advanced Work
3 | 2 | Warranty Work
このtype
列は、データセットタイプを表すPHP定数に相関します。
私は現在、この正確なスキームのデータを含む6つのテーブルを持っています。それらが非常に類似していて、それぞれが2〜5行しか保持していないことは私を悩ませます。私は本当に上記のようにそれらを組み合わせたいと思っていますが、それから将来的に合併症が発生するのか、それともベストプラクティスを破っているのかはわかりません。
id
列が競合し、主キーの候補にはならないことは確かですが、衝突を防ぐための一意のキーになりますtype
。これらのテーブルは手動で管理されるため、auto_incrementについては心配していません。
また、これらのテーブルがいくつかのJOINSに関係していることも覚えておいてください。ON句に条件をもう1つ追加する以外に、JOINが複雑になることはないと思います。
これが重複した質問である場合はお詫び申し上げます。データの選択について一般的な質問ではなく、スキームについて質問しているため、調べるのは難しいと思われました。