如何存储唯一但与数据库相关的数据点


How to store datapoint that is unique but related to database

我正在开发一个小型的PHP/Javascript地图应用程序,它基本上只是从MySQL数据库表中提取一组位置名称和坐标点,并将它们添加到HTML画布中。它应该代表正在进行的合作故事中角色访问的位置,所以我希望地图也能在任何给定时间检索角色在地图上的位置,并用不同的图标显示。

最明显的解决方案——因为字符和地图位置一样,都有名称和坐标——似乎只是将字符作为自己的行也包括在位置表中,并让地图代码识别它们的唯一信息并以不同的方式显示它们。但由于角色本身并不是一个位置,将它们存储在"位置"表中似乎很奇怪。不过,为这一行创建一个全新的表"character"似乎有些过头了。

因此,我想我更普遍的问题是,对于PHP/MMySQL来说,处理这样的唯一数据的好方法是什么,它与现有的表有关,但还不够紧密。我是否将这些数据保存在一个文本文件中并用PHP进行更新?

拥有一个只包含一行的表并没有什么特别"奇怪"的。事实上,对某些数据使用数据库,对其他数据使用文本文件可能会有点奇怪。

如果你出于任何原因需要这些信息,有一个表格也可以让你随着时间的推移跟踪角色的位置。(与其需要它而没有跟踪它,不如跟踪它而不使用它。)

如果角色的位置是当场计算的,不需要持久化,那么您只需通过编程将其添加到数据库的结果中,它对数据库和视图都是完全透明的。但是,如果它确实需要持久化,那么表可能是最好的选择。

您应该有一个单独的字符位置表。随着时间的推移。它将具有以下列:

  • 字符id
  • 位置
  • 日期/时间戳

最终,您可能希望有多个角色的位置可以随时间显示。您可能有非字符;在这种情况下,您需要更改表的名称。

位置和角色位置之间有很大的差异。这些位置是静态的,至少在定义它们之后是静态的。角色的位置取决于时间。他们是一个独立的实体,最好有自己的餐桌。