在MySQL中存储路线数据的最佳方式

时间:2012-04-04 16:49:55

标签: php mysql

我正在开发一个应用程序,它要求我存储某个位置的方向,下面是我要存储的数据示例:

方向1
从西部:乘528 East(Beechline),经过机场出口,然后从13号出口驶入Narcoossee Rd然后左转,PARK TO FLY位于左侧1/4英里处。

方向2
从东部:乘坐528 West(Beechline),在机场出口前,从13号出口驶入Narcoossee Rd,然后右转,PARK TO FLY位于左侧1/4英里处。

方向3
从佛罗里达州收费公路出发:从254号出口驶入528 East(Beechline),经过机场出口,然后从13号出口驶入Narcoossee Rd,然后左转,PARK TO FLY位于左侧1/4英里处。

方向4
从417(Greenway)出发:从26号出口驶入528 West(Beechline),然后从13号出口驶入Narcoossee Rd,然后右转,PARK TO FLY位于左侧1/4英里处。

方向5
从408(东/西高速公路):从16号出口驶向South S.R. 551(Goldenrod Rd)。驾驶aprox。 4英里,在霍夫纳路左转。霍夫纳改名为Narcoossee Rd。 PARK TO FLY位于您右侧2英里处。


我想知道是否有人可以告诉我在MySQL中存储这些数据的最佳和推荐方法。

我在考虑首先序列化保存这些数据的数组,然后将其存储到一个列中,我认为我不需要担心在数据库中搜索这个数据所以它应该是好的吗?我明白它不会正常化。

但是你认为将它存放在一个单独的表中对长远来说是最好的吗?

更新

我有一个名为Locations的mysql表,它有关于特定位置的信息,现在我想将一些Directions与用户也输入的位置相关联。

  • 用户输入位置
  • 此时,用户还可以输入有关路线的信息。

更新2
我问的是将数据存储在数据库中的最佳方法,目前我没有任何关系,因为我还没有为它创建表,这就是我在这里要问的问题。我应该去创建如上所述的关系表,或者我应该在Locations表中为方向创建另一列,并序列化保存方向数据的数组以插入单个mysql列。

提前致谢!

2 个答案:

答案 0 :(得分:3)

如果用户访问每个位置时,您将始终获取所有路线,然后您可以将它们粘贴在“位置”表中。如果您可能想出用户来自哪里,并且只为该FROM选择了正确的方向,那么您应该将指示放在另一个表中。

答案 1 :(得分:-2)

首先,这是一个建模问题,而不是PHP也不是Mysql。 您可以这样建模数据:

place(
  place_id;
  place_name;
)
direction(
  direction_id;
  direction_name;
)
direction_place(
  direction_place_id;
  order;
  direction_id;
  place_id;
)

因此,方向是一个有序的地方实体序列。