困在数据库设计问题上

时间:2010-11-08 16:13:39

标签: sql sql-server-2008 database-design

说我有以下表格:

  • GearType:滑雪板/头盔/鞋子/无论

  • GearModel:描述制造商,尺寸和GearType

  • Gear:代表齿轮的物理实例,属于GearModel并描述其条形码,已佩戴的次数......

  • 会员:可为每个现有geartype指定Gear的人

  • GearAssignation:具有双PK MemberId / GearTypeId,因此每个geartype可以为会员分配0..1档,也有FK GearId

我的问题是: 由于Gear不能同时分配给1个以上的会员, 如何构成Gear和GearAssignation of cardinality 1 to 0..1?

之间的关系

充其量我设法使用Gear.Id和GearAssignation.GearId之间的关系,使用GearId上的唯一键(记住它不能是PK,因为双PK MemberId / GearTypeId)。 但我很想摆脱那个英国,因为我的软件开发工具无法识别它。

如建议的那样,这是SSMS的图表: all irrelevant columns have been deleted

对我来说,对当前模型进行大量改动根本不是问题。 建议?

PS:不知道如果它有用,我正在使用微软的SQL Server 2008

1 个答案:

答案 0 :(得分:7)

我是通过在Gear中为当前分配给它的member_id创建一个字段来实现的。