sql >> Databáze >  >> RDS >> Oracle

Doktor plánování návrhu databáze

EDIT:Špatně jsem pochopil otázku.

Váš návrh je v pořádku – není nic špatného na tom, když máte v tabulce více řádků odrážejících více sudých. Jediné upřesnění, které byste mohli zvážit, je mít AvailableFrom a AvailableTo hodnoty datetime, nikoli čas, takže můžete sloupec „datum“ odstranit. To vám pomůže vypořádat se s dostupností po půlnoci.

Zbytek odpovědi se NEVZTAHUJE k otázce – je založena na nepochopení problému.

Za prvé, musíte vědět, kdy je pracovní doba lékaře; to může být jednoduché (9–5 každý den) nebo složité (9–5 pondělí, nedostupné úterý, 9–12:30 středa–pátek). Možná budete také muset zaznamenávat časy přestávek – například oběd – na každý den, abyste si nenaplánovali schůzku na oběd; Předpokládám, že různí lékaři si budou dělat přestávky v různou dobu.

Dále místo zaznamenávání „dostupnosti“ pravděpodobně budete chtít zaznamenávat „schůzky“ pro každý den. Lékař je k dispozici, když jejich rozvrh říká, že pracují, a když nemají naplánovanou schůzku.

Takže vaše schéma může být:

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

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

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


  1. $filter nefunguje v JPA/Olingo 2.0.11 s MySQL

  2. Sequelize, MySQL - Filtrování řádků v tabulce s hodnotami sloupců JSON

  3. Přejmenujte název tabulky Mysql pomocí concat

  4. Potřebujete pomoc s výpočtem pomocí dvou sad dat pomocí Expression SSRS