我打算商店網站地圖,每個URL哪個更好,使用多行,表或者列在MySQL
相關數據想知道哪個更好:
創建每個用戶的新表/網站
針對每個網站,保存所有的URL(其數據或在單獨的列中),爲陣列中的1行
保存每個URL一個s的主站作爲標識符
解釋單獨的行:
每個用戶都會有他自己的表,在自己的行中的所有網址
表將列: ID,用戶,網站,網址
對於同一網站的所有網址,它會將它們保存爲排列Ÿ旁邊特定的網站和用戶
- 相同的列,但每個地圖將創建每行
我打算商店網站地圖,每個URL哪個更好,使用多行,表或者列在MySQL
相關數據想知道哪個更好:
創建每個用戶的新表/網站
針對每個網站,保存所有的URL(其數據或在單獨的列中),爲陣列中的1行
保存每個URL一個s的主站作爲標識符
解釋單獨的行:
每個用戶都會有他自己的表,在自己的行中的所有網址
表將列: ID,用戶,網站,網址
對於同一網站的所有網址,它會將它們保存爲排列Ÿ旁邊特定的網站和用戶
1個網址許多行一個好的設計應該是這樣的:
表1(用戶 - >網站一對多關係):
User (PK) | Website (FK)
表2(網站 - >的URL一對多關係):
Website (PK) | URL
PK =主鍵
FK =外鍵
我認爲這是類似於您的選項3相同或分離成兩個表不存儲冗餘網站屬於中的每一行用戶。
你也可以做一個網站表,只是存儲網站的ID相關聯:
Website Id (PK) | URL
如果你的網站的主要URL存儲在該表中,像「stackoverflow.com然後將相關網址存儲在(網站 - > URL)關係表中,如「questions/8116983/which-is-better-using-multiple-rows-tables-or-arrays-in-mysql」。
然後,您可以使用表1和2中的網站標識代替網站。
您不想爲每個用戶創建一個新表。把它放在一張桌子上。
ookk我可以在哪裏清除這類事情的概念, –
感謝您的答覆,是的,我會加入你的建議吧 想排除哪種方式更好,更快,單獨的表,數組或正常行, 貌似具有行是好的,通過減少每行中的內容通過刪除url的開頭,如您所說,在單獨的表中 –
如果您想了解更多關於良好數據庫設計的知識,您可能需要查詢數據庫規範化。 BCNF可能是一個開始的好地方。 – Paulpro
好吧,我會閱讀關於正常化:) –