|
|
1
0
对于评论中的一些观点,我认为存储哪些数据取决于应用程序中的需求,我将通过用例的视角来处理每组数据。 对于第一个用例,情绪数据,它听起来像是有价值的,能够随着时间的推移看到这些数据(即,在过去的一个月里,我的情绪似乎一直在改善),以及拉动个别事件(即,在日期x,我吃了一个汉堡包,这对日期x之后的后续情绪条目中我的情绪有何影响)。 如果是我,我会创建一个具有两个属性的情绪表:
这个表基本上是一个定义表。在这里,您可以添加特定于情绪的属性(例如描述)。 然后,我将创建一个具有以下属性的MoodHistory表: -时间戳 -穆迪 -IsCurrent(布尔值) 在应用程序中输入情绪之前,请更新MoodHistory SET IsCurrent=0,其中IsCurrent=1,然后插入IsCurrent=1的新记录。这种结构是标准化的,通过IsCurrent列进行索引或分区(老实说,即使没有任何索引/分区),即使您的表变得相当大,您也应该能够超快速地查询当前的情绪。 对于第二个用例,这不仅取决于您的计划使用情况,还取决于数据来自何处(尤其是对于路线)。我不确定你打算如何将地点分为“路线”,但如果你在评论中澄清,我很乐意补充我的答案。 但是,对于位置,我假设您在某个设定的时间间隔内拍摄位置快照。我将创建一个LocationSnapshot表,其结构类似于MoodHistory表: 然后,我将创建一个具有以下属性的MoodHistory表:
您还可以创建一个已知位置的表,例如KnownLocation:
加入这张关于经纬度的表格应该会告诉你在某个特定地点的时间,比如说“家”和“工作” |
|
|
hashmap · 数据库规范化2NF和3NF 8 年前 |
|
|
user3127554 · SQL数据库关系 8 年前 |
|
|
Mikhail Mishin · 如何存储可以是数字范围或数值的数据? 10 年前 |
|
|
Prashant Singh · mysql数据库中高效的读写 12 年前 |
|
|
Tarzan · 除了NULL之外,处理未知日期时间值的好策略是什么? 13 年前 |