Скажите, что я хочу базу данных для встреч с врачом. На прием назначается один врач, один пациент, дата и список «услуг».
Изучая лучшие практики DynamoDB, кажется, рекомендуется иметь все в одной таблице. Однако я также могу получить список всех врачей (и добавить новых врачей), а также сделать то же самое со всеми доступными услугами.
Таким образом:
One Doctor ==> Many Appointments
One Patient ==> Many Appointments
Many Services ==> Many Appointments
Я мог бы держать все как есть и просто назначать встречи за основным столом, с дополнительными индексами для врачей, служб и т. Д., Но это не позволяет мне легко создавать новых или модифицировать существующих врачей (то же самое для услуг).
1010 *, например *
{
_id: 101,
doctor: {
name: "John Smith",
_id: "555"
},
patient: {
name: "Jane Doe",
_id: "777"
},
dateTime: "31-03-2018-16:30:00"
services: [ "Check up", "Sports Massage"]
}
...
Означает ли это, например, наличие отдельной таблицы для врачей и сохранение _doctorId в таблице встреч? Тогда просто кешировать врачей на сервере, чтобы сэкономить на чтениях?
например.
Назначения
{
_id: 101,
doctor_Id: "555"
patient_Id: "777"
dateTime: "31-03-2018-16:30:00"
service_Ids: [ "300, "306"]
}
...
Врачи
{
_id: "555",
name: "John Smith"
},
...
Каков подходящий способ представления этих данных в DynamoDB?
Спасибо!