例如,我有两个表:’客户’和’员工’.它们几乎相同,只有2个属性不同.那么我应该创建另一个名为’person’的表包含’customer’和’staff’的所有相同属性,然后创建fk键指向这个’person’?像课堂设计中的继承之类的东西.
这种方法有什么缺点吗?
解决方法
你正在描述一个模式调用
Class Table Inheritance.这是一个有效的设计,但像任何其他设计一样,它必须用得很好.阅读Martin Fowler的“企业应用程序架构模式”,了解有关其优缺点的更多详细信息.
有些人提醒不要使用连接,但只有在需要特定于子类的列时才需要连接.当给定查询只需要公共列时,您可以避免额外连接.