テーブルを設計するときに考慮する必要があるのは、必ずしもテーブルがアクセスできるものと、それがどのように類似/非類似であるかではなく、ユーザーレベル自体がどのように類似/非類似であるかです。
たとえば、ユーザータイプが同じ属性(名前、電子メール、生年月日など)を持つ場合、それらは特権レベルを示す列とともに1つのテーブルに属します。
これにより、ユーザーの特権レベルの変更も容易になります。たとえば、ユーザーテーブルのレコードを更新するだけで、通常の従業員を管理者にすることができます。
サプライヤが他の2つとは異なる属性を持つ異なるタイプのオブジェクトである場合、サプライヤは独自のテーブルに属している可能性があります。
または、もう1つ考慮すべき点があります。users
を使用する場合があります 3つのタイプすべてのユーザーに関する非常に限られた情報のみを保持するテーブル。タイプに相互に関連性の低い拡張属性がある場合は、外部キーを使用してそれらを他のテーブルに格納し、メインのusers
テーブル。