我以前做过很多关系数据库设计,并且认为我在其中一些设计patterns...however方面有经验,我想不出从哪里开始解决这个问题。
我正在创建一个健身房数据库,它将在“健身房”表中提供基本的健身房信息。
然后我会有另一张桌子,叫做“设备”,这是任何健身房都可以拥有的设备清单,比如“长凳”、“盒子”、“体重板”等等。
然后我有一个用于GymsEquipment的表,这是一个可用的列表: GymId,EquipmentId。
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
这是相当basic...but,现在是困难的部分,我有困难。我也想记录每一个健身房的每一个设备的可用重量。
例如,我想记录一下,健身房A有weight plates
of 2.5lbs, 5lbs, 10lbs, 25lbs, 35lbs, 45lbs and 100lbs
....while健身房B也有weight plates
,但是他们有:5lbs, 25lbs, 45lbs
。
为了使事情变得更多,complicated...gyms也被标记为帝国或Metric...so健身房有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
.......
我真的不知道如何从这类信息开始。如果这是我不太熟悉的ideal...but,那么我也愿意使用No-SQL解决方案,而且不管怎么说,我还没有想出一个可伸缩的想法。
有没有人有任何反馈,或者更好的,更好的想法?谢谢
发布于 2018-08-27 01:19:51
如果我正确地阅读了这篇文章,那么我不认为你最初的3个表包含了足够的信息来处理权重问题。
我认为有两种简单的方法来处理这件事。
选项A-您的表可能如下所示:
EQUIPMENT
-----------------
id Name Weight
1 Bench 0
2 Box 0
3 Weight Plate 2.5
4 Dumbbells 0
5 Weight Plate 5
6 Weight Plate 10
7 Weight Plate 20
GYM EQUIPMENT
-----------------
id GymId EquipmentId Available
1 1 3 10
2 1 5 10
3 1 6 4
4 1 7 4
然后你就可以计算出健身房1有10×2.5,10 * 5,4* 10和4*20的重量板。
选项B-您的表可能如下所示:
EQUIPMENT
-----------------
id Name
1 Bench
2 Box
3 Weight Plate
4 Dumbbells
WEIGHT PLATES
-----------------
id Weight
1 2.5
2 5
3 10
4 20
EQUIPMENT TO PLATES
-----------------
id equipment_id Weight_id Available
1 3 1 10
2 3 2 10
3 3 3 4
4 3 4 4
你的健身器材桌是这样的:
GYM EQUIPMENT
-----------------
id GymId EquipmentId WeightId Available
1 1 3 1 4
2 1 3 2 4
3 1 3 3 4
4 1 3 4 4
然后你就可以计算出健身房1有4x2.5,4* 5,4* 10和4*20的重量盘。(共10 x 2.5、10 * 5、4* 10及4*20)
对于帝国到米制-我会把它看作是完全独立的物品(例如,2.5公斤的盘子不是5磅的盘子)-或者作为一个展示问题,并在事实发生后用公式转换细节。例如:
WEIGHT PLATES
-----------------
id Weight Metric?
1 2.5 true
2 5 true
3 10 true
4 20 true
5 5 false
6 10 false
7 20 false
8 40 false
PS -((非常))帝国重量的粗略近似!
https://stackoverflow.com/questions/52031229
复制相似问题