查看此場景:解析收集網站上的所有鏈接並將其存儲在表格中。現在,無法預先知道網站頁面上有多少鏈接,因此無法準備具有適當列數的表格。具有可變列數的MySql表格設計
-------|-------|-------|-------|---------------
website| link1 | link2 | link3 | maybe100columns
當您不知道需要多少列時,解決此問題的常用方法是什麼?你是否用json格式編碼所有鏈接並將json存儲在1列中?
查看此場景:解析收集網站上的所有鏈接並將其存儲在表格中。現在,無法預先知道網站頁面上有多少鏈接,因此無法準備具有適當列數的表格。具有可變列數的MySql表格設計
-------|-------|-------|-------|---------------
website| link1 | link2 | link3 | maybe100columns
當您不知道需要多少列時,解決此問題的常用方法是什麼?你是否用json格式編碼所有鏈接並將json存儲在1列中?
爲什麼你需要爲每個鏈接創建每個列?引入關係數據庫系統來解決這些類型的問題。一個簡單的解決方案是爲您的場景使用兩個表格。
在一張表中,您將保留website
列,並且應將具有主鍵的另一列指定爲website_id
列。
在你的第二個表將存在被分配到一個列主鍵說link_id
,然後外鍵分配給website_id
列,這將是在第一個表,並最終命名爲另一列的website_id
參考的說link
。
因此,通過這種方式,您將爲任何網站存儲儘可能多的鏈接。
正確的方法是基於標準化 而不是
-------|-------|-------|-------|---------------
website| link1 | link2 | link3 | mybe100columns
你應該使用nornalized情侶表
主
------------|-------
id_website |website
詳細
---|------------|----
id |id_website |link