私はtemps /パートタイマーのための検索可能なデータベースを開発しています。私はすでに従業員、スキル、代理店、顧客のスキーマを開発しています。今私は従業員の時間利用可能性を捕捉する必要があります。リレーショナルデータベースの作業時間/スケジュールを表す
システムは、24時間365日の時間ごとのスケジュールの任意の組み合わせを表すことができるはずすなわち:
- モン8-9am、火の1-5am、水3-10pm。
- 月〜金1-4pm;
- Sat-Sun 8 am-6pm;私はフルタイムのブールフィールドになりますが、従業員テーブルに思っているものの
そしてもちろんは、フルタイム利用できるようになります時折外れ値があるでしょう、このスケジュール表/システムは、意志従業員がパートタイムの場合にのみ相談してください。
これに関する経験/指導/指示は非常に高く評価されます。
おかげで、...指定した月などを選択します。 'Day'は' 'INT''型でしょうか?正確に「MySQLの規約」とは何ですか? :D –
週の曜日には異なる規則がありますが、MySQLは日曜日に1を、土曜日に7を使用しますが、一部の言語では日曜日は0、土曜日は6を使用します。私はtinyint unsignedを使用することをお勧めします(つまり、+ veだけであることを意味します)。これは1〜128の間で行われ、必要に応じて十分です。 Intは最大20億円になるので、すべてが必要なわけではありません。 –
aaiyt、私が最後にしたのは、フィールド 'Empl_ID'、' Empl_Day'、 'Empl_Time'だけを持つ余分なテーブル' Empl_Schedule'を追加することでした。 'Empl_Day'は' 1,2..7'と 'Empl_Time'0,1..23'の値を持ちます。従業員が利用可能な任意の日の1時間ごとに1つの行エントリが作成されます。最後に 'Employee'テーブルに' FullTime'というブール値フィールドがあります。ありがとう、@ssmusoke –