父子表。家长只有一栏?

时间:2014-06-10 19:23:20

标签: sql sql-server sql-server-2008 tsql

我有一个Entity表,它有两个子表Person和Organization。这就是说实体可以是个人或组织。而且'实体'本身可以有多种角色。

角色表。 3栏:

RoleID - int identity (PK)
Name - varchar
Desc - Varchar

实体表。 1栏:

EntityId - int identity (PK)

EntityRole表。 2列(一个人可以有多个角色)

EntityId - int
RoleId - int
(Composite primary key)

PersonEntity

  PersonEntityId - identity - primarykey
  EntityID - ForeignKey to Entity.EntityId
  FName, LName - varchar

OrgEntity

OrgEntityId - identity - primarykey
EntityID - ForeignKey to Entity.EntityId
OrgName - varchar

我的问题是,只有EntityId在该表中的一列是一个糟糕的设计?此人和组织没有共享的属性。它们有地址,但是person和org都可以有多个地址,因此address是一个单独的表,实体和地址之间有(0到多个)。

0 个答案:

没有答案