什麼是表格前綴,它們的優點和缺點是什麼?這與MySQL有關。什麼是表格前綴?
什麼是表格前綴?
回答
這通常用於區分相同腳本的不同安裝。 例如,假設您的服務器上有兩個Joomla安裝包含不同的內容,但只有一個MySQL數據庫。
現在,由於顯而易見的原因,兩個Joomla安裝不能共享相同的數據庫表,因爲這會導致安裝顯示相同的內容。這就是前綴踢入的地方。
通過使用不同的表前綴,你可以讓Joomla安裝#1知道它應該使用前綴JOS_的所有表,並且Joomla安裝#2必須使用所有的表前綴JOS2_
根據您的命名規則,它可能有助於區分表和視圖。
缺點是,就桌子名稱而言,您可能會受到限制。 Oracle對此有30個字符的限制。如果您使用「Tbl_」作爲前綴,則會自動丟失4個字符。這可能是一個問題。
表不需要前綴。
這完全取決於你。
但是,我們在它們所屬的應用程序中將表與MODULES相關聯,以便更輕鬆地對錶進行分組。
有些人主張tbl或tbl_(例如tbl_MyTable或tblMyTable),而其他人則使用後綴如MyTable_T。
我個人以避免前綴/後綴。如果模式隨着時間的推移而改變,我可以在View中代替Table來替代,所以我沒有真正區分這兩種類型的對象。
最重要的是您的團隊中記錄了您的命名指南,並且您都遵守相同的一致性指導原則。
表前綴也可用作額外的安全措施。例如,添加表前綴掩蓋了常用表名,這使得黑客更難通過SQL注入或其他安全漏洞訪問數據庫中的數據,因爲它們首先需要發現您的表名是什麼。
但是,一定要將表前綴視爲另一層安全性,而不是您唯一的安全方法。您仍應採取其他安全措施來防止SQL注入和其他類似威脅。例如,根據代碼的設置方式,黑客可能仍然可以通過SQL注入運行「show tables」命令來獲取數據庫表的名稱。
奇怪的是,沒有人提到你也可以使用表前綴來使用通常保留的關鍵字作爲表名。
E.g.現在可以使用t_user或t_order。
如果您有一個複雜的網站和數據庫結構,表前綴可能有助於防止數據庫中的命名衝突。
你經常會看到表前綴的情況下:
多個腳本被整合成爲一個網站,並完成網站需要共享數據,但表名稱將不唯一的前綴衝突每個腳本。
您正在爲您獲取的腳本添加功能,並且您想區分該腳本的本地表和您手動創建的新表。這樣,如果您創建一個新表,它將不會與將來對基本腳本的更新相沖突,因爲它具有不同的表前綴。
你有一個託管計劃,只給你一個數據庫,你想使用該數據庫來服務多個腳本。 (這是不推薦的原因有多種,但我看到的用戶這樣做。)
當你從頭開始編寫一個腳本,表前綴,因爲您可以控制各個方面通常是沒有必要的的數據庫結構。當你開始將多個腳本集成在一起時,它變得有用,有時甚至是必要的。它允許您創建獨特的數據視圖,並在多個腳本之間連接表等,而無需擔心數據庫中的命名衝突。
- 1. 什麼是前綴正則表達式?
- 2. 什麼是註冊前綴?
- 3. $(前綴)/ etc/gitconfig上的$(前綴)是什麼?
- 4. 沒有定義前綴的XML文檔的前綴是什麼?
- 5. Python字典鍵/帶前綴的值 - 前綴是什麼?
- 6. 簡單英語什麼是前綴,後綴,中綴在Swift中?
- 7. CSS前綴的用途是什麼?
- 8. 什麼是JSON前綴用於?
- 9. 什麼意思前綴::意思是
- 10. NSLog中的前綴是什麼意思?
- 11. 什麼是Blur.js中的緩存前綴?
- 12. 什麼是r-前綴的函數?
- 13. 鎖前綴的範圍是什麼?
- 14. 什麼是Redis「out_」前綴鍵?
- 15. chrome_debug.log中日誌前綴的格式是什麼?
- 16. 爲什麼http.Client {}以前綴?
- 17. 什麼是通用後綴和前綴代碼準則?
- 18. 什麼是爲鏈表寫前綴的慣用方法?
- 19. ::什麼都沒有加前綴時是什麼意思?
- 20. UNIX路徑 - 什麼,。,〜,..前綴是什麼意思?
- 21. 爲什麼前綴返回沒有特定前綴的文檔?
- 22. Django表單前綴與表格設定
- 23. python字符串之前的b前綴是什麼意思?
- 24. IController,IObserver之類的名稱前的前綴「I」是什麼?
- 25. 什麼是cdn前綴而不是www中的網址
- 26. Pdo表前綴
- 27. 爲什麼當我們需要添加android:前綴風格?
- 28. SQL:刪除帶有前綴的表格
- 29. 消除Lua中表格的前綴
- 30. WordPress-ERROR:「表格前綴」不能爲空
你在使用什麼樣的數據庫? – RYFN 2010-12-22 11:16:31
您是指表格名稱前綴,例如tblTasks或模式,即dbo.tasks – Robb 2010-12-22 11:18:47