2016-12-26 38 views
1

查看此場景:解析收集網站上的所有鏈接並將其存儲在表格中。現在,無法預先知道網站頁面上有多少鏈接,因此無法準備具有適當列數的表格。具有可變列數的MySql表格設計

-------|-------|-------|-------|--------------- 
website| link1 | link2 | link3 | maybe100columns 

當您不知道需要多少列時,解決此問題的常用方法是什麼?你是否用json格式編碼所有鏈接並將json存儲在1列中?

回答

1

爲什麼你需要爲每個鏈接創建每個列?引入關係數據庫系統來解決這些類型的問題。一個簡單的解決方案是爲您的場景使用兩個表格。

在一張表中,您將保留website列,並且應將具有主鍵的另一列指定爲website_id列。

在你的第二個表將存在被分配到一個列主鍵說link_id,然後外鍵分配給website_id列,這將是在第一個表,並最終命名爲另一列的website_id參考的說link

因此,通過這種方式,您將爲任何網站存儲儘可能多的鏈接。

2

正確的方法是基於標準化 而不是

-------|-------|-------|-------|--------------- 
website| link1 | link2 | link3 | mybe100columns 

你應該使用nornalized情侶表

------------|------- 
id_website |website 

詳細

---|------------|---- 
id |id_website |link 
相關問題