sql >> データベース >  >> RDS >> Mysql

データベース設計:3種類のユーザー、個別または1つのテーブル?

    テーブルを設計するときに考慮する必要があるのは、必ずしもテーブルがアクセスできるものと、それがどのように類似/非類似であるかではなく、ユーザーレベル自体がどのように類似/非類似であるかです。

    たとえば、ユーザータイプが同じ属性(名前、電子メール、生年月日など)を持つ場合、それらは特権レベルを示す列とともに1つのテーブルに属します。

    これにより、ユーザーの特権レベルの変更も容易になります。たとえば、ユーザーテーブルのレコードを更新するだけで、通常の従業員を管理者にすることができます。

    サプライヤが他の2つとは異なる属性を持つ異なるタイプのオブジェクトである場合、サプライヤは独自のテーブルに属している可能性があります。

    または、もう1つ考慮すべき点があります。usersを使用する場合があります 3つのタイプすべてのユーザーに関する非常に限られた情報のみを保持するテーブル。タイプに相互に関連性の低い拡張属性がある場合は、外部キーを使用してそれらを他のテーブルに格納し、メインのusers テーブル。



    1. 変数としてのテーブル名

    2. Microsoft SQL Serverでシーケンスをどのように実装しますか?

    3. MySQL INSERTクエリを複数回実行します(複数のテーブルに値を挿入します)

    4. SQL Serverトリガーは、新しい行から別のテーブルに値を挿入します