2014-07-12 52 views
0

這是一個如何執行存儲網頁數據的最佳實踐的問題。像文本/圖像網址/鏈接等。按列或行存儲站點數據

我有一個CMS,你可以創建網頁。在這裏你可以編輯文本/上傳圖片。在未來,它也將是很好的「添加新元素」,添加鏈接到標籤等。

我需要一個強大而靈活的解決方案,同樣具有良好的性能。在獲取/接收這些數據。

讓我們考慮一下我有1000個頁面,每個頁面上的每個元素大約有25個元素可以更新並存儲在數據庫中。

備選1)

創建表和用於在這些網頁對於像例如列的每個元素1柱: TITLE_1,TITLE_2,IMAGE_1,IMAGE_2。

這裏我們有一組我們可以更新的列,我們可以在網頁上使用這些列。

方案2)

創建1個表中的列(ID,名稱空間,PAGE_ID,數據)

而對於頁面上的每個元素我與PAGE_ID使數據添加的命名空間關聯輸出獨特。在數據中我可以添加任何類型的信息;文字,鏈接等。

你認爲這是一個很好的解決方案這個問題?我當然也開放其他替代品。

謝謝!

回答

0

我會推薦選項二,添加一個標識元素ID /或類型的列,如果確實元素ID在某種程度上可比。也就是說,如果錨文本(比如說)總是以元素id = 4的形式存儲,那麼您可能需要一個元素id = 4,以便您可以比較多個文檔中的錨文本。另一方面(如果我想像的情況更可能),你可能在頁面上有1-25個元素,每個元素可能不同(例如,文檔一有三個錨文本和四個錨文本圖像,文檔2有一個錨文本和沒有圖像等),它是有道理的,添加一個element_type_id表,存儲一些關於元素類型的信息。這是假設你有任何興趣比較(例如)跨多個文檔的圖像,或跨多個文檔錨文本等。

另一件要考慮的事情:如果你可能一遍又一遍地看到相同的元素實際上通過查找表有效地參數化這些元素更有意義。所以基本上將每個(比如說)獨一無二的錨文本存儲在一張表中,並在實際的數據表中引用它的id。

如果我可以補充一件事情:所以對於您提出的特定問題,SO可能不是最好的地方。我並不完全確定這一點,也許我錯了......但我會圍繞Stack Exchange網絡探討,看看其他論壇是否更密切地處理你問的問題類型。至少,我會注意到你的問題相當模糊,並且實現了「健全而靈活的解決方案,其性能也很好,無論是獲取/接收這些數據」的目標都是如此。不可能簡單地通過索取關於SO的建議來完成。有一個LOT進入數據架構,當然,我自己設計這個重要的許多細節並不存在於你的問題中。如果你不確定這些細節是什麼,我不確定是否真的是最適合學習的地方。我認爲https://softwareengineering.stackexchange.com/可能更適合這個問題。

只是我的看法,我可能是錯的。無論哪種方式,我都會考慮學習一些關於數據庫正常表單(http://www.bkent.net/Doc/simple5.htm或Google它)以及對構建數據庫的設計考慮因素的類型進行一些研究(一篇舊的但仍然不錯的SO文章就在這裏:What are the most important considerations when designing a database?

相關問題