(電気)部品を扱うツールを開発しています。パーツは、作成、表示、変更、削除、グループ化などができます...
この質問を将来の訪問者に役立つようにするために、DBのパーツを管理することは、DBのどのパーツ(CD、車、食べ物、学生など)に関係なく非常に一般的であるため、この質問を普遍的にします。
3つの異なるDB設計を考えています。
特殊なパーツ属性にパーツテーブルと派生テーブルを使用する。
Parts (id, part_type_id, name) PartTypes (id, name) Wires (id, part_id, lenght, diameter, material) Contacts (id, part_id, description, picture)
専用のパーツテーブルのみを使用します。
Wires (id, name, lenght, diameter, material) Contacts (id, name, description, picture)
すべての値を含むParts-、PartTypes-、ValueTypes-、PartValuesテーブルを使用する。
PartTypes (id, name) ValueTypes (id, part_type_id, name) Parts (id, part_type_id, name) PartValues (part_id, value_type_id, value)
どちらを選ぶのか、そしてその理由は?またはより良いものはありますか?
DBクエリが心配です。クエリが過度に遅くなったり複雑になったりしたくない。
更新
DB内の型の数は、国際標準に基づいており、ほとんど拡張されないため、ほとんど固定されています。