デザイン、効率、スペースの観点から疑問に思っていますが、より良い選択は何ですか?自己結合または2つのテーブルを使用して、それらを結合しますか?
製品設計の詳細を格納するMySQLデータベースがあります。これは、、または特定のdesigner_type
いずれかになります。company_staff
customer_type
当初、私は2つのテーブルを持つことを考えました。1つはと呼ばれstaff_design
、もう1つはと呼ばれcustomer_design
ます。
どちらの方法でも、design
情報はほぼ同じですが、顧客の場合、staff_designが必要としない2つの追加の列があります。1つはIDの外部キーであり、staff_design
もう1つはdesign_name
(ユーザーとスタッフは追加できません)。これらの2つの列は両方ともNULLである可能性があります。
したがって、これら2つのテーブルがマージされ、テーブルが1つしかないようにデータベースを設計すると、このテーブルには3つの追加の列があり、非常に頻繁にNULLにdesign
なる可能性があります。上記の2つの追加の列。(およびFK)。design_type
customer
staff
design_name
staff_design
どちらのデザインが良いですか?
私は主にハードディスクの処理を減らすために単一のテーブルの設計に傾倒しています(1つではなく2つの異なるテーブルをフェッチする)。次に、多くの自己結合を使用する必要があります。
専門的に優れたアプローチと考えられるものは何ですか?何千ものデザインがstaff_designersによって保存されると予想されますが、上級者と追加料金のある顧客だけが独自のカスタマイズされたデザインを保存します。したがって、顧客の設計よりもはるかに多くのスタッフの設計が確実に存在することになります。