首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是mySQL模式的良好实践吗?

问这是mySQL模式的良好实践吗?
EN

Stack Overflow用户
提问于 2015-12-27 11:07:34
回答 1查看 75关注 0票数 2

我是mySQL和数据库的新手。我有一套公交车站和公交线路的数据集。巴士站可设于不同的巴士路线。是否有一张载有每一站的资料的停车表,一张载有每条路线的路线表,然后另一张连接表,以显示哪个巴士站在哪条巴士路线上?下面是下面的示例模式:

停止播放

  • stop_id (主键)
  • 长
  • 稍后
  • avg_daily_boarders

路由

  • route_id (主键)
  • 长度
  • 开始
  • 结束

林克?

  • entry_id (主键)
  • stop_id (外键)引用停止
  • route_id (外键)引用路由
EN

回答 1

Stack Overflow用户

发布于 2015-12-27 11:19:12

我想说,重要的是你对数据的(数学)结构有一个概念。通常有许多方法来表示相同的数据,更好的方法取决于数据库的用途。我会对你们的桌子发表意见。

您正在将信息存储在公交线路上。您可以将其看作是图上的路径(数学表示)。有几种方法可以存储这些信息。首先,您肯定需要一个带有总线站(图的顶点)的表,这样就不会出错。其次,您需要存储路径。这里有两个选项,可以将它们存储为点序列,也可以存储边缘序列。命令很重要。你目前没有储存订单,我绝对建议你把它放在某个地方。您也可以选择存储路径的边,即对停止。再说一次,命令很重要。您可以为每个路由存储开始和结束,您可以选择这样做,但重要的是要了解这本身并不是必要的(取决于数据库的用途)。

一般建议:明确说明如何在抽象层次上表示数据。

在这里,我的建议对你的表格做了最小的改动:

停止播放

  • stop_id (主键)
  • 长
  • 稍后
  • avg_daily_boarders

路由

  • route_id (主键)
  • 长度
  • 开始
  • 结束

林克?

  • entry_id (主键)
  • stop_id (外键)引用停止
  • route_id (外键)引用路由
  • sequence_nr,使得stop_id是路由route_id上的序列nr-nr-第四站,所以这对(route_id,sequence_nr)必须是唯一的。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34479800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档