1

SQL Server のテーブル リレーションシップを実装する方法について、あなたの提案が必要です。

  1. 私には多くの顧客がいて、それぞれが一意の ID を持っています ( customerID)

  2. 各顧客には多くのカテゴリを関連付けることができます ( categoryID)

  3. 各顧客は、次のサブカテゴリ ( subCategoryID) を持つことができます。

  4. 顧客がログインするとき、私はそのCustomerIDCategoryIDおよびを知っていSubCategoryIDます。

  5. 顧客は、今後 1 年間の毎週の勤務時間を事前に計画します (2014 年 12 月では、2015 年の 52 週間を計画しています)。

  6. 顧客は毎日、仕事をしたか休みを取ったかを報告します。

WeeklyPlanning列で呼び出されるテーブルを持つことを考えました:

CustomerID, CategoryID, SubCategoryID, Year, WeekNumber, WorkingHoursPlan

DailyWorkingHoursおよび列で呼び出される別のテーブル:

Dates, WorkingHours

私の質問:

これら 2 つのテーブルを結合する方法がわかりません。複合キーを使用しますか? ( ) または、 で FK として使用されるCustomerID, CategoryID, SubCategoryID, Year, WeekNumber固有の PK を生成しますか?WeeklyPlanningDailyWorkingHours

これを実装する最良の方法を探しています。

ありがとう

4

1 に答える 1

2

これら 2 つのテーブルのそれぞれに 5 つのの値を指定しますか? これは、5 つの列から構成される複合主キーがある場合に行う必要があることです。子テーブルにもこれらすべての列が必要であり、JOIN を実行するときは常に5 つの列すべてを指定する必要があります ....ああ……JOIN

そうでない場合は、 (a ) のサロゲート列を使用して、作業を大幅に簡素化してください。WeeklyPlanningWeeklyPlanningID INT IDENTITY(1,1)

于 2015-01-05T22:02:05.383 に答える