オンコールスケジュールの情報を保持するためにデータベースに取り組んでいます。現在、私は次のような構造になっています。
Table - Person: (key)ID, LName, FName, Phone, Email
Table - PersonTeam: (from Person)ID, (from Team)ID
Table - Team: (key)ID, TeamName
Table - Calendar: (key dateTime)dt, year, month, day, etc...
Table - Schedule: (from Calendar)dt, (id of Person)OnCall_NY, (id of Person)OnCall_MA, (id of Person)OnCall_CA
私の質問は次のとおりです。Scheduleテーブルを使用して、dtが一意のキーである構造のままにするか、dtが一意でなく、テーブルが次のようになるように再配置する必要があります。
Table - Schedule: (from Calendar)dt, (from Team)ID, (from Person)ID
毎日複数のエントリがある、または単に使用するのが理にかなっています:
Table - Schedule: (from Calendar)dt, (from PersonTeam)KeyID - [make a key ID on each of the person/team pairings]
チームには常に誰かが電話に出ますが、一度に複数のチームに電話をかけることができます(複数のチームに所属している場合)。
完全に異なる設定でうまくいく場合は、私にも知らせてください!
助けてくれてありがとう!質問が不明な場合はお詫び申し上げます。私は速く学んでいますが、それでも毎日SQLを使用するのはかなり新しいので、悪い習慣を身に付けないように、学習するときはベストプラクティスを使用していることを確認したいと思います。