データベースの設計について助けが必要です。
これまでのところ、3 つのテーブルがあります。
TblDepartments -------------- 部門ID (主キー) 部署名 TblSections ----------- セクション ID (PK) 部門 ID (外部キー) セクション名 TblWorkers ---------- ワーカー ID (PK) ワーカー名
部門と課の間には 1 対 N の関係があります (1 つの部門には複数の部門があり、1 つの部門は 1 つの部門に属します)。
これで、作業者はセクション レベルまたは部門レベルでロールを持つことができます (つまり、部門のすべてのセクションで同じロールを持つことができます)。
Roles テーブルをどのように定義すればよいかわかりません。私はこの定義を持ってきました:
TblRoles -------- WorkerID (PK)(FK) 部門ID (PK)(FK) セクション ID (PK)(FK) RoleDesc
しかし、私はこの解決策が好きではなく、間違っていると感じています。(DeptID または SectionID のいずれかが null である必要があり、SectionID は DeptID に依存します)。
Roles テーブルを定義するより良い方法はありますか?