Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Projekt bazy danych planowania lekarza

EDIT:źle zrozumiałem pytanie.

Twój projekt jest w porządku – nie ma nic złego w posiadaniu wielu wierszy w tabeli odzwierciedlających wiele parzystych wydarzeń. Jedyne zawężenie, które można rozważyć, to ustawienie AvailableFrom i AvailableTo za wartości daty i godziny, a nie godziny, dzięki czemu można usunąć kolumnę „data”. Pomaga to radzić sobie z dostępnością do północy.

Reszta odpowiedzi NIE odnosi się do pytania – jest oparta na niezrozumieniu problemu.

Po pierwsze, musisz wiedzieć, kiedy są godziny pracy lekarza; może to być proste (9-5 codziennie) lub złożone (9-5 poniedziałki, niedostępne wtorki, 9-12:30 środa - piątek). Może być również konieczne zapisanie godzin przerw – na przykład na lunch – każdego dnia, aby nie planować spotkania podczas lunchu; Zakładam, że różni lekarze będą robić sobie przerwy w różnym czasie.

Następnie zamiast rejestrować „dostępność”, prawdopodobnie chcesz rejestrować „spotkania” na każdy dzień. Lekarz jest dostępny, gdy według harmonogramu pracy i kiedy nie ma zaplanowanej wizyty.

Twój schemat może więc wyglądać tak:

Doctors
--------
DoctorID
....

DoctorSchedule
------------
DoctorID
DayOfWeek
StartTime
BreakStartTime
BreakEndTime
EndTime

DoctorAppointment
----------------
DoctorID
Date
AppointmentStartTime
AppointmentEndTime


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python 3.3 - Połącz z bazą danych Oracle

  2. Jak połączyć się z bazą danych Oracle 11 z . internet

  3. Jak zaprojektować model danych, który zajmuje się obecnymi pracownikami i prognozowanymi pracownikami?

  4. Powiązać OCI sysdate() z parametrem PDO?

  5. Oracle — podziel pojedynczy wiersz na wiele wierszy