2012-03-29 79 views
5

很明顯,您可以在SQL表名中使用數字字符,只要它們不在開頭就使用它們。 (這裏有一個關於副作用的討論:SQLite issue with Table Names using numbers?) 我想要的數據庫是Oracle 10g/11g。在SQL表名中包含數字的好主意或壞主意?

我正在設計一個報告數據庫,其中明確指定某些實體最好是通過描述以數字命名的報告('第45','102S','401')來完成。這只是商業領域的語言:這些報告通常不被任何其他名稱引用。我正在建模的實體是最好的命名方式。

我的問題是:如果我將數字放在表名中,我會遇到維護或可編程性方面的困難嗎?我總是擔心數據庫周圍的輔助軟件:驅動程序,ETL代碼可能無法用非普通的名字命名。但是,在這個商業領域中,可理解性有一個真正的好處,所以我只是很嬌氣?

我的問題簡單地說就是:是否有任何'gotchas'或角落案例可以排除像PART_45_AUDIT這樣的表名?

+2

沒有我能想到的。 – 2012-03-29 14:19:05

+0

雖然不經常遇到,但數字可以通過多種方式幫助處理大型數據庫。沒有很多人「敢」使用它們。 – NoChance 2017-01-28 11:15:56

回答

7

如果PART_45_AUDIT確實是您正在建模的實體最清晰的描述(這將非常罕見),那麼在名稱中間不應該有數字。將數字放在名稱的前面會是一個不同的故事,因爲這需要使用雙引號標識符,並且有很多工具不能完全支持雙引號標識符。另外,當然,每次引用表格時都必須輸入雙引號,這很煩人。

CREATE TABLE "102S" (
    col1 number 
); 

SELECT * 
    FROM "102S" 
+0

謝謝。是的,PART_45_AUDIT讓我覺得不舒服,但我無法自行覆蓋公司的俚語。任何時候我嘗試用一​​個更通用的名稱來替代它會導致混淆。 – deepgeek 2012-03-29 19:23:18

相關問題