sql >> データベース >  >> RDS >> Oracle

医師のスケジューリングデータベース設計

    編集:私は質問を誤解しました。

    あなたのデザインは素晴らしいです-テーブルに複数の偶数を反映する複数の行があることには何の問題もありません。検討できる唯一の改良点は、AvailableFromとAvailableToを時刻ではなく日時値にすることです。これにより、「日付」列を削除できます。これは、深夜にまたがる可用性に対処するのに役立ちます。

    残りの回答は質問とは関係ありません。問題の誤解に基づいています。

    まず、医師の勤務時間がいつであるかを知る必要があります。これは単純(毎日9-5)または複雑(9-5月曜日、火曜日は利用不可、9-12:30水曜日-金曜日)の場合があります。また、毎日の休憩時間(たとえば、昼食)を記録する必要がある場合もあるため、昼食の予定を立てる必要はありません。私は、さまざまな医師がさまざまな時間に休憩を取ると思います。

    次に、「可用性」を記録する代わりに、毎日の「予定」を記録することをお勧めします。医師は、彼らのスケジュールが彼らが働いていると言っているとき、そして彼らが予定された予定を持っていないときに利用可能です。

    したがって、スキーマは次のようになります。

    Doctors
    --------
    DoctorID
    ....
    
    DoctorSchedule
    ------------
    DoctorID
    DayOfWeek
    StartTime
    BreakStartTime
    BreakEndTime
    EndTime
    
    DoctorAppointment
    ----------------
    DoctorID
    Date
    AppointmentStartTime
    AppointmentEndTime
    


    1. パラメータスニッフィング入門書

    2. PythonのMySQLINSERTステートメント

    3. サーバーがwampサーバーで応答していません(またはローカルMySQLサーバーのソケットが正しく構成されていません)

    4. OracleDBのLONGRAWからバイト配列を取得する