用于发送路由的MySQL数据库架构,避免了复杂性

时间:2016-04-02 17:48:51

标签: php mysql mongodb nosql

我正在尝试为以下情况构建MySQL架构。

正在通过其他几个位置将图书从 locationA 发送到 locationB 例如对于从温哥华到洛杉矶的书籍,我们可以从温哥华到西雅图到波特兰到洛杉矶(1号公路),或者从温哥华到卡尔加里到布莱恩到达西雅图到洛杉矶(2号公路)。

为每本书提供

  • 我想跟踪它经过的位置。
  • 我想跟踪这本书是否到达每一本书 位置“准时”或“迟到”。

稍后,当我提取有关某本书的信息时,它会显示它所采用的运输路线。同样,我可以提取通过卡尔加里(或任何其他地方)运送的书籍。此外,我还可以展示由同一本书的多个副本拍摄的替代航线。

用于此的MySQL架构已经开始听起来非常复杂。我知道通过正确使用外键和连接操作,我们可以做出一些有用的东西。

但是,我想知道社区是否可以推荐更好的方法来组织这些信息。 MySQL是否适合这项工作?我应该尝试将此信息存储在外部XML文件中吗?或者我应该探索NoSQL方法?评论将非常受欢迎。

1 个答案:

答案 0 :(得分:0)

对于noSql解决方案文档结构/模式可能如下所示:

{
  _id:shippingIdHere,
  book:{document containing book data}
  routeInfo:[ {cityId(or just name), timeStamp, isOnTime}]
}

该文件将包含一系列路线信息数据 - 城市,时间和准时路线指标。 然后需要在routeInfo字段上添加索引以更快地获得所需内容。

我发现MySQL没有问题,因为这可以通过创建这样的表来完成

  

ROWID | shipingId | BOOKID | cityId | isOnTime |的timeStamp

并制作视图将完成这项工作。