我是数据库和sql的新手,想为一个健身应用程序设计一个数据库,它将跟踪健身房的锻炼情况。
‘'Chest day')、一个ID (某个数字)和一个日期(字符串)。每个锻炼对象都包含一个练习数组,这是另一个自定义对象,它有一个称为“set”的属性。该集合也是一个自定义对象,只有两个数字属性:表示数和权重(例如,50磅时的10个表示)
我想到的是有一张桌子用来锻炼,另一张桌子用来做练习,另一张桌子用来做布景。问题是我不知道如何连接表格(例如,将多个练习链接到一个独特的锻炼,并将多组练习链接到一个独特的练习),甚至不确定这是不是正确的方法。
此外,我计划使用亚马逊网络服务移动中心为这个应用程序设置后端,它提供了一个noSQL数据库。
发布于 2017-03-24 07:14:30
在NoSQL中,您应该将所有属性保存在单个表中。您不应该像RDBMS那样规范化数据。另外,请尽量远离Join。NoSQL的主要优点是将所有内容都保存为一个项目,这样您就不需要使用Join来获取结果。
这种方法的优点是:-
1)快速响应,因为所有数据都以一个项目的形式出现在表中
2)无模式数据库,即您可以随时添加任何属性(即无需更改表和添加新列)
针对上述用例的DynamoDB设计:-
分区和排序键的组合应该是唯一的
<代码>H114custom_set:{rep : 1,weight : 2} -映射数据类型<代码>H215<代码>F216
重要说明:-
在为DynamoDB设计数据模型时,重要的是所有数据检索用例(即查询访问模式)都应该可用来设计适当的模型。
https://stackoverflow.com/questions/42961397
复制相似问题