将一个大数组存储到MySQL表中

时间:2015-05-08 07:55:40

标签: mysql relational-database

我正在为Android应用程序实现RESTful Web服务。对于这个应用程序,我需要在mysql数据库中使用下面的列stops创建id, long, lat, route, name, arrivaltime表,这样应用程序将每分钟查询服务器以从表中检索路由号并依赖于骑手位置当到达时间弹出窗口出现时,会询问用户公共汽车是否到达目前站立的站点。

如何将the arrivaltime集成到表中,因为它是一个大数组?

对于服务器端,我使用Jersey。

{
   "id": 1
   "stops_name": "Amersham ",
   "arrival_time": {
                    "mon-fri": [ "05:38", "06:07","06:37",.....50 entries],
                    "sat": ["05:34","06:01","06:31",...........50 entries],
                    "son": ["06:02","06:34","07:04",...........50 entries]
                   },
    "stops_lat": 83.837994,
    "stops_long": 18.700423
 }

2 个答案:

答案 0 :(得分:1)

您的数据库布局取决于您的要求。

选项1: 您可以创建三个文本列arrivaltimemonfriarrivaltimesatarrivaltimeson,以您选择的格式存储到达时间。

选项2: 您创建两个表。包含stops列的(id, long, lat, route, name)主表和包含arrivaltimes列的(id, stops_id, weekday, arrivaltime)详细信息表:

1 | 1 | "mon-fri" | 5:38
2 | 1 | "mon-fri" | 6:07
3 | 1 | "mon-fri" | 6:37
...

当然还有许多其他选择,每种选择在性能,处理方面都有优点和缺点......

答案 1 :(得分:0)

我可以想象你会有停止(停止数据),Arrival_Time(用于到达时间数据)和日表(用于星期几)。表之间的关系是:

  1. 停止到达Arrival_Time:一对多
  2. Arrival_Time to Day:Many to One
  3. 这将确保您可以灵活地更新不同日期的到达时间。例如,从星期一到星期日,每周的每一天都可能有不同的时间表。