1

我需要你关于如何实现 SQL Server 表关系的建议。

  1. 我有很多客户,每个客户都有一个唯一的 id ( customerID)

  2. 每个客户可以关联多个类别 ( categoryID)

  3. 每个客户可以有许多子类别 ( subCategoryID)

  4. 当客户登录时,我知道它的CustomerID,CategoryIDSubCategoryID.

  5. 客户提前计划来年每周工作多少小时(2014 年 12 月计划 2015 年 52 周)

  6. 每天,客户都会报告他们是否工作或休假。

我想有一个名为WeeklyPlanning列的表:

CustomerID, CategoryID, SubCategoryID, Year, WeekNumber, WorkingHoursPlan

和另一个DailyWorkingHours用列调用的表:

Dates, WorkingHours

我的问题:

我不知道如何将这两个表组合在一起,使用复合键?( CustomerID, CategoryID, SubCategoryID, Year, WeekNumber) 或者可能生成一个独特的 PKWeeklyPlanning将用作 FK DailyWorkingHours

我正在寻找实现这一点的最佳方法。

谢谢

4

1 回答 1

2

真的想为这两个表之间的每一个指定五个列的值吗?JOIN如果您有一个由五列组成的复合主键,这就是您必须做的 - 您还需要子表中的所有这些列,并且在执行 JOIN 时您需要始终指定所有五列.... . 哎哟......

如果没有 - 在(a ) 中使用代理列来显着简化您的生活!WeeklyPlanningWeeklyPlanningID INT IDENTITY(1,1)

于 2015-01-05T22:02:05.383 回答