給資料庫表列取乙個好的名字

2021-12-29 19:54:42 字數 1461 閱讀 8764

其實在資料庫中建立物件時,管理員也要對其進行命名。一些有經驗的資料庫管理員,對其命名也會小心翼翼。既要能夠叫的響亮,又要能夠代表具體的應用場景。有時候對錶等資料庫物件進行命名的時候,可能比維護資料庫還要傷腦筋。筆者對此就有非常深的感受。在資料庫設計的時候,一套命名規則編制下來,腦袋就會覺得很累。不過等大家多編制幾套後,就會掌握其中的規律。熟能生巧,掌握了規律再去取名的話,就會簡單許多。有時候甚至可以信手拿來。筆者這次就跟大家分享一下對資料庫物件進行命名的一些規律。簡單起見,筆者以資料庫物件表為例,談談命名的一些技巧。

一、牢記命名空間。

在oracle資料庫中,跟其他的資料庫不同,有乙個叫做命名空間的概念。在同乙個命名空間中,其名字不可以重複。如表與檢視就共享同乙個命名空間,為此就要求不僅表的名字不能夠相同,而且表的名字與檢視的名字也不能夠相同。因為他們處於同乙個命名空間。類似的,表與函式也是同處於乙個表空間,為此他們也不能夠同名。不過表與索引、表與約束等等卻屬於不同的命名空間。也就是說,表的名字可以與約束的名字相同。所以說,資料庫管理員在給表等物件命名的時候,一定要了解哪些物件共享同乙個命名空間。如果在同乙個命名空間內的,即使物件不同(如檢視與表),但是他們仍然不能夠取相同的名字。

為了避免同乙個命名空間內重名的現象,筆者建立在命名的時候最好能夠根據物件的不同加上物件的固有字首。如大部分的資料庫管理員,在給表取名的時候,一般不會表名前面加上表物件的字首。但是在定義函式或者檢視物件的時候,則會加上字首。如在函式前面可能會加上fn的字首,而在檢視前面可能會加上vi的字首。如此的話,在同乙個命名空間內也不用擔心物件重名的問題。不過無論怎麼說,這個命名空間的概念資料庫管理員必須牢記。即使在實際的工作中,可以通過字首等手段輕易的避免這個陷阱,但是在oracle資料庫管理員的認證考試中,這個命名空間也是乙個必要的知識點。所以無論從實際的工作還是認證考試的需要,對於這個命名空間管理員都必須要有乙個清晰的認識。

二、表名大小寫的控制。

一般情況下oracle資料庫中的表名或者列名是不區分大小寫的。在建立表或者列的時候,即使管理員採用了小寫的名字,資料庫在將其儲存到資料字典之前,會先將其轉換為大寫,再將他們儲存到資料字典中。這也就是為什麼我們命名使用小寫的子母命名,但是下次檢視表的名字的時候,卻變成了大寫。

雖然說oracle資料庫中表與列等資料庫物件對於大小寫是不敏感的,但是如果資料庫管理員確實有需要要讓資料庫系統對錶的名字區分大小寫,這也是可以做到的。通常情況下,如果把名字使用雙引號括起來,則在oracle資料字典中就會成為區分大小寫的名字。不過筆者這裡要提醒各位資料庫管理員,雖然說從技術上可以讓資料庫系統強制取分大小寫,但是在實際工作中,包括在內的絕大部分資料庫管理員可能都不建議這麼做。因為如果有混合的大小寫存在,那麼在引用這些表或者列名稱的時候就需要特別的小心。因為即使使用者或者資料庫管理員有著過目不忘的本領,也很難準確的記住這些名稱的大小寫歌時。如果資料庫管理員硬要這麼做的話,那麼很可能是自尋煩惱。在查詢時或者其他作業時,要嚴格區分大小寫那是一件很頭疼的事情。為此,對於這個大小寫的控制,筆者建議資料庫管理員要謹慎使用。除非有充分的理由,否則的話,不要輕易使用這個雙引號來控制大小寫。

給資料庫表列取乙個好的名字

做父母的總希望給自己的子女取乙個響亮的 富有含義的名字。有時候家長為了找到乙個合適的名字,會拿起平時碰都不碰的漢語大辭典翻個好幾天。天下父母心呀。其實在資料庫中建立物件時,管理員也要對其進行命名。其實在資料庫中建立物件時,管理員也要對其進行命名。一些有經驗的資料庫管理員,對其命名也會小心翼翼。既要能...

建立乙個mysql資料庫,然後賦值給乙個使用者

create database zzzzzz grant usage on to zzzzzz localhost identified by with max queries per hour 0 max connections per hour 0 max updates per hour0 g...

了解乙個A 資料庫的資料

查詢最大的資料表資料樣本 通過expdp,發現匯出的最大表,並進行相應查詢 檢視最大的表的資料案例 將table name替換為最大的表的表名 查詢前100行,了解資料樣本格式 查詢表的資料行數 select count 1 from all tables where owner 327 查詢最大表...