Разработка расписания работы врачей

делаю расписание работы врачей для вывода на телевизор. Возникло 2 вопроса:

  1. В таблице Доктор собираюсь хранить ИД_доктора, ФИО, Специальность, № участка. Каждый доктор будет принимать в отдельном кабинете, кабинеты у врачей могут меняться. Я думаю № кабинета привязывать не к таблице Доктор, а к таблице расписания.
  2. Какой алгоритм использовать для создания и вывода расписания?

P.S. Пиши по русски, т.к. таблицы еще не сделаны.


Ответы (1 шт):

Автор решения: Peter Lavreniuk

Ну очевидно что необходимо иметь 4 таблицы (а если еще подумать то 5)

  • таблица с участками
  • таблица где хранятся врачи. имеют ссылку на таблицу участков (может быть что один врач принимает более чем на одном участке, тогда нужна промежуточная таблица. где будут хранится отношения врача к участку. (многие ко многим))
  • таблица с кабинетами. имеют ссылку на таблицу участков (я вот не знаю. один участок = одна поликлиника/больница или как. если один участок это множество поликлиник/больниц то нужно иметь таблицу и для них, с ссылкой на участок, тогда кабинет будет ссылаться на свою поликлинику/больницу. ну и в свою очередь врач будет ссылаться не на участки, а на больницы)
  • таблица с расписанием. в расписание нужно иметь ссылку на врача и на кабинет.

Вроде бы все нужные таблицы расписал. Если что забыл, извините, дополняйте.

По поводу алгоритма - не понимаю что Вы имеете ввиду? Вам необходимо сделать селект из таблицы расписания, селект с учетом определенного интервала времени. Например с 8 утра 20 мая 2020 года, по 8 утра 21 мая 2020 года. Ну и так же джойном достать все "сопутствующие товары", то есть врача и кабинет, ну и вместе с кабинетом можно достать больницу. Если вы используете Entity Framework, я думаю Вам будет достаточно справки с msdn ef core. Ну а также некоторой теории по базам данным, в том числе как писать рукописные запросы вроде select и join (разные его виды) (я сторонник того что бы перед тем как использовать ORM, сначала надо научиться работать с базой без ORM). Что такое связь один к одному, многие ко многим...

Ну и потом вопрос требует уточнения. Попробуйте вначале на бумаге описать все сущности, создать необходимые таблицы, написать хоть какой то слой бизнес логики. Думаю что на моменте написания бизнес логики, а может даже (и лучше), на моменте работы с бумажным носителем, Вы сами ответите себе на все поставленные выше вопросы!

→ Ссылка