Я уже много раз проектировал реляционные базы данных и думаю, что у меня есть опыт в некоторых из этих шаблонов проектирования ... однако я не могу придумать, с чего начать для этой проблемы.
Я создаюбаза данных спортивных залов, которая будет иметь основную информацию о тренажерном зале в таблице «Тренажерный зал».
Затем у меня будет еще одна таблица под названием «Оборудование», которая представляет собой список возможного оборудования, которое может иметь любой тренажерный зал, например «Скамья»."," Box "," Weight Plate "и т. Д.
Затем у меня есть таблица для GymsEquipment, которая представляет собой список: GymId, EquipmentId, Available.
GYMS
-----------------
id Name Units
1 Gym A Imperial
2 Gym B Imperial
3 Gym C Metric
EQUIPMENT
-----------------
id Name
1 Bench
2 Box
3 Weight Plate
4 Dumbbells
GYM EQUIPMENT
-----------------
id GymId EquipmentId Available
1 1 1 1
2 1 2 0
3 1 3 1
4 2 1 0
5 2 2 1
6 2 3 1
Вот и вседовольно простой ... но теперь вот трудная часть, с которой у меня возникают проблемы.Я также хочу записать доступный вес, который каждый тренажерный зал имеет для каждого оборудования.
Например, я хочу записать, что тренажерный зал A имеет weight plates
из 2.5lbs, 5lbs, 10lbs, 25lbs, 35lbs, 45lbs and 100lbs
.... в то время как тренажерный зал B также имеет weight plates
, но у них есть такие: 5lbs, 25lbs, 45lbs
.
Чтобы сделать вещи немного более сложными ... тренажерные залы также помечены как имперские или метрические ... поэтому в тренажерном зале C есть weight plates
, но их1.25kg, 2.5kg, 5kg, 10kg, etc
.
Я рассмотрел вариант, в котором я просто просто перечисляю все возможные варианты, которые есть у пользователя (и узнает, в какой единице он основан на таблице спортивных залов), например:
GYM EQUIPMENT WEIGHT
----------------------
id GymId EquipmentId Weight
1 1 3 2.5
2 1 3 5
3 1 3 10
4 1 3 25
5 1 3 35
6 1 3 45
7 2 3 5
8 2 3 25
9 2 3 45
.......
Я действительно не уверен, как начать с такого рода информации.Я также был бы открыт для решения без SQL, если бы оно было более идеальным ... но я менее знаком с этим и, тем не менее, не смог придумать масштабируемую идею.
Кто-нибудьесть отзывы, или еще лучше, лучшие идеи?Спасибо