对于数据库分配,我必须建立一个学校系统的模型。部分要求是为员工,学生和家长建立信息模型。在数据库中建模继承
在UML类图中,我将此模型化为这三个类是人类类型的子类型。这是因为他们都需要关于地址数据等信息。
我的问题是:我如何在数据库(mysql)中建模?
思想至今如下:
- 创建包含每个类型的所有信息单片人表,将有很多依赖于被存储什么类型的空值。 (我怀疑这对讲师来说会很好,除非我令人信服地辩解很)。
- 有三个外键的人表引用了子类型,但其中两个将是空的 - 实际上我甚至不确定这是否合理或可能?
根据这一wikipage about django这是可以实现的亚型的主键如下:
"id" integer NOT NULL PRIMARY KEY REFERENCES "supertype" ("id")
- 别的东西,我还没有想过...
因此,对于那些谁拥有在数据库之前模拟继承;你是怎么做到的?你推荐什么方法?为什么?
链接到文章/博客文章或以前的问题是值得欢迎的。
谢谢你的时间!
UPDATE
好的谢谢你的回答。我已经有一个单独的地址表,所以这不是一个问题。
干杯,
亚当
如果这是一个家庭作业添加作业标签请 – JoshBerke 2009-01-06 17:15:02
还检查了:http://stackoverflow.com/questions/5802/inheritance-in-database – JoshBerke 2009-01-06 17:15:55