У меня есть система, которая позволяет участникам арендовать оборудование, и система должна иметь историю каждого предмета, который был арендован и кем.Система также должна отслеживать, у кого какое оборудование арендовано / арендовано, а также сортировать оборудование по типу, статусу, названию и т. Д. Наконец, она также должна отправлять уведомления по электронной почте об устаревшем оборудовании.
I 'Я пытаюсь понять отношения и как я должен моделировать это.На данный момент мои текущие таблицы и мышление выглядят примерно так:
Member Table:
Id (PK)
MemberId
FirstName
LastName
Email
EquipmentItem Table:
Id (PK)
EquipmentName
EquipmentType (FK)
EquipmentStatus (FK)
TotalQuantity
RemainingQuantity
EquipmentStatus Table:
Id (PK)
StatusName
EquipmentType Table:
Id (PK)
TypeName
EquipmentRentalHistory Table:
Id (PK)
MemberId (FK)
EquipmentId (FK)
CheckOutDate
ReturnedDate
1) Я хочу знать отношения между ними, будет ли история проката соотношением между многими из таблицы Member и таблицы EquipmentItem?
2) Будет ли таблица EquipmentItem иметь отношение один-ко-многим между статусом и типом, как я понимаю, это EquipmentItems может иметь много статусов или типов, но каждый статус или каждый тип может принадлежать только одному EquipmentItem.
3) Имеет ли смысл иметь поле количества в EquipmentItem, я раньше работал в продуктовом магазине, поэтому я основываю логику на штрих-кодах, где одни и те же продукты обычно имеют одинаковый штрих-код, например (Cheetos Puffчипы) все чипсы Cheetos Puff будут иметь одинаковый штрих-код, но будут иметь количественное значение.Или было бы лучше иметь каждый элемент уникальным, независимо от того, является ли он одним и тем же продуктом / моделью?
Моя логика будет такой:
- член сдает в аренду систему
- регистрирует его в таблице истории
- Система затем проверяет, сколько из того же предмета было извлечено до сих пор, если, скажем, у нас есть общее количество 4 для этого предмета, и 3 участника проверили его
- мы обновляем поле оставшегося количества на разницу, поэтому в этом случае система 1
- может затем отследить, у кого что получено, вернув все записи с возвращенной датой, равной нулю
- система будетзатем проверьте все записи с возвращенной нулевой датой, а затем укажите диапазон дат в проверенную дату, чтобы определить, не устарело ли оборудование
- отправить уведомление на электронные письма участника, связанные с указанными записями, с шага 6
Мне бы просто хотелось помочь лучше понять взаимосвязь между ними, и если бы я правильно смоделировал свои таблицы, если нет, тоПопробуй, если кто-то может указать мне правильное направление для улучшения этого.