2015-11-23 67 views
0

我目前正在開發一款應用程序,在此應用程序中添加客戶可以購買產品的商店。現在我有一個帶商店的json feed,我可以從中提取所有商店的數據。如何將這個json feed實現到數據庫結構中?

電話,郵編和地址等字段標準且易於實施。但json feed也給了我一系列工作日的時間,當商店將打開/關閉。

我沒有將這樣的東西實現到數據庫中的經驗。我將如何去實現這個?我認爲只是在單個字段中傾倒數組可能是一個壞主意,但我不會想到它,因爲它只是通過api調用從json feed更新。

我可能會創建一個像opens_hours表。我可能會使用:

  • STORE_ID
  • 平日
  • OPENING_TIME
  • CLOSING_TIME

但每家商店將有相應的1,2,3,4,5,6他們平日星期一至星期六。這可能會導致大量的重複數據,但我想這根本就沒有辦法解決這個問題。

希望有人能引導我走向正確的方向。

的JSON飼料的例子:

openinghours: [ 
    { 
     closing: "18:00", 
     weekday: 0, 
     opening: "12:00" 
    }, 
    { 
     closing: "18:00", 
     weekday: 1, 
     opening: "09:00" 
    }, 
    { 
     closing: "18:00", 
     weekday: 2, 
     opening: "09:00" 
    },  
    { 
     closing: "18:00", 
     weekday: 3, 
     opening: "09:00" 
    },  
    { 
     closing: "18:00", 
     weekday: 4, 
     opening: "09:00" 
    },  
    { 
     closing: "17:30", 
     weekday: 5, 
     opening: "09:00" 
    },   
    { 
     closing: null, 
     weekday: 6, 
     opening: null 
    } 
], 
lng: 4.6217623, 
id: 5014 

回答

1

首先,你需要存儲這些數據爲您的應用程序?如果你永遠不會使用它們,忽略開門/關門時間是完全可以接受的。

如果你要去使用這些數據,它只會用於顯示嗎?如果是這樣,您可以將JSON數組以原始格式存儲在商店表的「小時」字段中,並在需要時對其進行解碼。如果數據需要是可搜索,那麼是的,您可能會創建一個一對多的表,如上所述。或者,你可以創建一個列的表的每一天:

store_id mon_op mon_clos tue_op tue_clos . . . sat_op sat_clos 

這樣可避免一個一對多的問題,但實際上是不是更清晰。然而,無論您選擇哪種格式,我仍然建議將小時字符串轉換爲適當的日期/時間格式,以便於搜索。

+0

該數據是爲liquorstore,所以它是非常重要的客戶知道,商店仍然是開放的,因爲很多人去深夜的酒後跑步:P 除此之外,我可能希望能夠只顯示商店目前是開放的,所以我想我需要一種方法來保持這種功能。 –

+0

然後,我肯定會去你發佈的一對多結構:)只要記住轉換爲日期/時間格式,並觀察時區。 – shemake