2009-06-22 104 views
4

对不起,如果这太简单了,但我最近发现了很多关于ER建模的文档,但是它似乎都忽略了实际的实现,我只是想澄清一下。如何在数据库中实现ER建模子类型?

是一个子类型只是一个第二个表与超类型的外键以及属于子类型的属性?无论如何,这对我来说最有意义。子类型的主键通常也会与超类型共享(子类型的主类对超类型有外部约束)?

回答

3

是的,这是这三种方法之一。

第二种方法,也许是最简单的方法,就是让子类型中的值为超类型中可以为空的字段。它需要更多的空间,但会提高性能,因为它需要更少的查询来获取子类型特定的数据。

第三种方法是为每个类型/子类型设置一个表。只有当您始终知道需要查找的数据的类型/子类型时,这才是有效的。它也不需要第二种方式的空间。