sql-server – 设计此数据库场景的最佳方法?
要求是存储不同实体类型的附件.
假设我们有3个实体类型Company,Department和Employee.每个都可以有多个附件(文档). 哪种方法最好? 解决方案1: 公司表 > CompanyId 部门表 > DeptId 员工表 > EmployeeId AttchmentType表 > TypeId 附件表 > AttachmentId 优点:我将来可以轻松添加新的实体类型 缺点:在这种情况下,我不能在实体和附件之间保持外键关系. 解决方案2: 公司表 > CompanyId 部门表 > DeptId 员工表 > EmployeeId 公司附件表 > AttachmentId DeptAttachments表 > AttachmentId EmployeeAttachments表 > AttachmentId 优点:外键完整性 缺点:为了添加新实体,我需要单独添加新的附件表. 那么假设我将来可能需要添加新实体,这是最好的方法吗? 编辑1: 谢谢你们的回复. 如果我想使用解决方案2,我会看到在附件表中创建新列更容易,而不是为每个实体创建新的附件表来映射它们? 公司表 > CompanyId 部门表 > DeptId 员工表 > EmployeeId 附件 > AttachmentId 我在这里错过了什么吗? 解决方法我肯定会选择解决方案#2.你解决方案#1的专业人士不是真正的专业人士.如果添加新实体,则必须已经为该实体添加新表,并且您已经在添加或更改现有代码来处理它.您应该能够创建一些处理模式的通用对象,以便重复的代码不是问题.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |