1 週間に 1 回、名簿ごとに新しいテーブルをデータベースに追加するのはおそらく望ましくありません。これにより、履歴クエリ (従業員が過去 4 週間に働いた時間数など) が必要以上に難しくなります。より良いアプローチは、事前に作成したいくつかのテーブルを使用することです。
Rosters
-------
INT RosterId (or GUID, or whatever type of ID you want)
DATETIME Week
RosterRecords
-------------
INT RosterId
INT EmployeeID (or however employees are identified)
DECIMAL Hours
Rosters の RosterId は、RosterRecords の RosterId にリンクします。次に、従業員ごとに週/名簿ごとに 1 つずつ、名簿レコードの山ができます。プログラムで毎週新しいテーブルを作成する必要がなくなりました。Rosters に新しい名簿を登録し、そのメンバーを RosterRecords に作成するだけです。クエリで必要な場合は、後で結合を実行して名簿をそのレコードに関連付けることができます。