我有一个数据库结构问题,我正在寻找一些意见。
假设有一个场景,用户将使用应用程序来请求材料。
需要跟踪请求者是谁。
请求者有三种可能的“类型”。个人(Person)、部门和供应商自己提供材料。
此外,Supplier 对象也需要与 Supplier 相关联。
所以这个想法是在 Request 表中有一个 RequestedByID FK。但是相关的请求者对每个数据都有如此不同的结构,如果它只是一个表(人们与部门和供应商有不同的属性),则需要一个完全非规范化的表才能关联回来。
我对如何处理这个问题有一些想法,但认为 SO 社区会有一些深刻的见解。
感谢您的任何帮助。
编辑:
伪结构:
要求
RequestID 请求者ID
部门
部门 ID DepField1 DepField2
人
人员 ID 人员字段 1 人员字段 2
供应商
供应商 ID SuppFiel1 SuppField2
Department、Person 和 Supplier 都有单独的表,因为它们的属性有很大不同。但是它们中的每一个都可以作为请求的请求者(RequesterID)。如果没有一个(非规范化表)充满不同的可能请求者,最好的方法是什么?
希望这可以帮助。. .