Как реализовать элементы, нормализованные в базе данных, в объектно-ориентированных классах?
В базе данных у меня есть большая таблица предметов и меньшая группа. Каждый предмет принадлежит одной группе.
Вот так выглядит мой дизайн базы данных:
+----------------------------------------+
| Inventory |
+----+------+-------+----------+---------+
| Id | Name | Price | Quantity | GroupId |
+----+------+-------+----------+---------+
| 43 | Box | 34.00 | 456 | 4 |
| 56 | Ball | 56.50 | 3 | 6 |
| 66 | Tin | 23.00 | 14 | 4 |
+----+------+-------+----------+---------+
Totally 3000 lines
+----------------------+
| Groups |
+---------+------+-----+
| GroupId | Name | VAT |
+---------+------+-----+
| 4 | Mini | 0.2 |
| 6 | Big | 0.3 |
+---------+------+-----+
Totally 10 lines
Я буду использовать классы ООП в графическом интерфейсе, где пользователь может редактировать Предметы и Группы в инвентаре. Также должно быть легко делать расчеты с кучей предметов. Для расчетов необходима групповая информация, такая как НДС.
Я напишу класс Item, но нужен ли мне класс Group? и если мне это нужно, я должен держать их в глобальном местоположении или как получить к ним доступ, когда мне это нужно для расчета элементов? Есть ли шаблон дизайна для этого случая?