- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我得到了一些锻炼程序的内容,这些内容将按顺序显示给用户。下面显示了一个最简单形式的示例。
id name duration completed----------------------------------------1 jumping 10 12 running 15 03 cycling 12 04 push ups 30 1
通常表格至少有 100 行/练习,大约有 300 个表格(不同标准的不同练习)。我们没有任何前端,直接使用 dbForge Studio 数据库编辑器更新数据库。
之前的开发人员设计了表格,因此唯一 id 列也用作序列号。它也是 url 的一部分。例如。 xxx/exercise/12 专门查找数据库中 id=12 的实际第 12 行(他假设所有 id 都以 1 递增并且按顺序排列),而不是 id=12
的行。
明显的问题是,当我们想在表中添加一个练习时,比如说在 练习 5 之后,我们在 5 之后手动添加它,然后必须手动更新以下所有的 ID练习,使它们按顺序排列。理想情况下,我们应该只在表中添加一行,然后以某种方式解释 php 代码知道这个练习应该出现在练习 5 之后。 p>
同样,例如,如果我们删除编号为 17 的练习,则不会提供来自 url xxx/exercise/17
的内容。理想情况下,id=18 现在按顺序位于第 17 位,因此必须提供该内容。
尝试
我考虑过添加另一个列序列,以告知按什么顺序提供服务。但话又说回来,我又回到了方 block 1,因为我必须在添加/删除时更新序列号。
我还考虑过创建另一个表并以我们想要提供内容的任何顺序存储 ID 号。 - 但我不确定这是否真的是个好主意。
谁能指导我为这个问题设计合适的数据库/表?
编辑
我想我的问题没有说清楚。
我不想重新装满/重新订购 key 。我知道那不是应该设计数据库的方式。
但问题是,如果我在表的末尾添加一个内容,那么我如何告诉表/php 我想提供新添加的内容(id 可以说是 127)在 id=15 之后而不是最后服务。
最佳答案
关于“我还考虑过创建另一个表并以我们想要的任何顺序存储 ID 号来提供内容。-但我不确定这是否真的是个好主意。”
这不是一个好主意,而是一个绝妙的主意。这是骨架设计。它并不完美,但可以帮助您入门。
表练习 - ExerciseID、NameOfExercise、MeasuredIn,以及您可能需要的其他字段,. NameOfExercise 的示例值是俯卧撑(以重复次数为单位)和 RunningOnTheSpot(以秒为单位)。
表例程 - RoutineId、NameOfRoutine 以及您可能需要的其他字段。示例值是 Jane Fonda 的日常事件、海豹突击队的日常事件和老屁的日常事件。
最后,表格ExerciseRoutine。这是一个多对多的关系。一个练习可以不止一个例程,一个例程可以有多个练习。字段可以是 ExerciseID、RoutineID、Sequence、MeasuredInMultipler 以及您可能需要的其他字段。
这是一些示例数据。
ExerciseId, NameOfExercise, MeasuredIn
1 Push Ups repetitions
2 Running on the Spot seconds
3 Jumping Jacks repetitions
RoutineId, NameOfRoutine
1 Jane Fonda
2 Navy Seal
最后
RoutineID, ExerciseID, Sequence, MeasuredInMultipler
1 2 1 60
1 3 2 10
2 1 1 500
2 3 2 100
所以 Jane Fonda 的套路是原地跑 60 秒,然后是 10 次开合跳。与此同时,海军海豹突击队的日常事件是 500 次俯卧撑,然后是 100 次开合跳
这种方法允许您拥有许多例程,所有例程都相互独立。
关于php - 如何在mysql中存储顺序数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463587/
我正在运行一个辅助角色,并检查 Azure 上托管的存储中是否存在数据。当我将连接字符串用于经典类型的存储时,我的代码可以正常工作,但是当我连接到 V2 Azure 存储时,它会抛出此异常。 “远程服
在我的应用程序的主页上,我正在进行 AJAX 调用以获取应用程序各个部分所需的大量数据。该调用如下所示: var url = "/Taxonomy/GetTaxonomyList/" $.getJSO
大家好,我正在尝试将我的商店导入我的 Vuex Route-Gard。 路由器/auth-guard.js import {store} from '../store' export default
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我想将 Mlflow 设置为具有以下组件: 后端存储(本地):在本地使用 SQLite 数据库存储 Mlflow 实体(run_id、params、metrics...) 工件存储(远程):使用 Az
我正在使用 C# 控制台应用程序 (.NET Core 3.1) 从 Azure Blob 存储读取大量图像文件并生成这些图像的缩略图。新图像将保存回 Azure,并将 Blob ID 存储在我们的数
我想将 Mlflow 设置为具有以下组件: 后端存储(本地):在本地使用 SQLite 数据库存储 Mlflow 实体(run_id、params、metrics...) 工件存储(远程):使用 Az
我的 Windows 计算机上的本地文件夹中有一些图像。我想将所有图像上传到同一容器中的同一 blob。 我知道如何使用 Azure Storage SDKs 上传单个文件BlockBlobServi
我尝试发出 GET 请求来获取我的 Azure Blob 存储帐户的帐户详细信息,但每次都显示身份验证失败。谁能判断形成的 header 或签名字符串是否正确或是否存在其他问题? 代码如下: cons
这是用于编写 JSON 的 NeutralinoJS 存储 API。是否可以更新 JSON 文件(推送数据),而不仅仅是用新的 JS 对象覆盖数据。怎么做到的??? // Javascript
我有一个并行阶段设置,想知道是否可以在嵌套阶段之前运行脚本,所以像这样: stage('E2E-PR-CYPRESS') { when { allOf {
我想从命令行而不是从GUI列出VirtualBox VM的详细信息。我对存储细节特别感兴趣。 当我在GUI中单击VM时,可以看到包括存储部分在内的详细信息: 但是到目前为止,我还没有找到通过命令行执行
我有大约 3500 个防洪设施,我想将它们表示为一个网络来确定流动路径(本质上是一个有向图)。我目前正在使用 SqlServer 和 CTE 来递归检查所有节点及其上游组件,只要上游路径没有 fork
谁能告诉我 jquery data() 在哪里存储数据以及何时删除以及如何删除? 如果我用它来存储ajax调用结果,会有性能问题吗? 例如: $("body").data("test", { myDa
有人可以建议如何为 Firebase 存储中的文件设置备份。我能够备份数据库,但不确定如何为 firebase 存储中的文件(我有图像)设置定期备份。 最佳答案 如何进行 Firebase 存储的本地
我最近开始使用 firebase 存储和 firebase 功能。现在我一直在开发从功能到存储的文件上传。 我已经让它工作了(上传完成并且文件出现在存储部分),但是,图像永远保持这样(永远在右侧加载)
我想只允许用户将文件上传到他们自己的存储桶中,最大文件大小为 1MB,仍然允许他们删除文件。我添加了以下内容: match /myusers/{userId}/{allPaths=**} { al
使用生命周期管理策略将容器的内容从冷访问层移动到存档。我正在尝试以下策略,希望它能在一天后将该容器中的所有文件移动到存档层,但事实并非如此在职的。我设置了选择标准“一天未使用后”。 这是 json 代
对于连接到 Azure 存储端点,有 http 和 https 两个选项。 第一。 https 会带来开销,可能是 5%-10%,但我不支付同一个数据中心的费用。 第二。 http 更快,但 Auth
有人可以帮我理解这一点吗?我创建了Virtual Machine in Azure running Windows Server 2012 。我注意到 Azure 自动创建了一个存储帐户。当我进入该存
我是一名优秀的程序员,十分优秀!