數據庫如何命名?
在數據庫中創建對象時,管理員還應該為其命名。現在來說壹些起名的技巧。壹、表名的大小寫控制壹般情況下,Oracle數據庫中的表名或列名是不區分大小寫的。創建表或列時,即使管理員采用小寫名稱,數據庫也會在保存到數據字典之前將其轉換為大寫,然後再保存到數據字典中。這就是為什麽我們使用小寫的母親和孩子的名字,但下壹次我們看表的名字,他們變成大寫的。盡管Oracle數據庫中的表和列等數據庫對象是不區分大小寫的,但是如果數據庫管理員確實需要使數據庫系統區分表名的大小寫,也可以這樣做。通常,如果用雙引號將壹個名稱括起來,它將成為Oracle數據字典中區分大小寫的名稱。不過在這裏我要提醒壹下數據庫管理員,雖然強制數據庫系統采取case在技術上是可行的,但是在實際工作中,包括在內的大部分數據庫管理員可能並不建議這樣做。因為如果存在大小寫混合的情況,那麽在引用這些表名或列名時需要非常小心。因為即使用戶或者數據庫管理員有過目不忘的能力,在寫歌的時候也很難準確記住這些名字的大小。如果數據庫管理員堅持這樣做,很可能是在自找麻煩。詢問或做其他作業時嚴格區分案件與案件是壹件很頭疼的事情。因此,我建議數據庫管理員謹慎使用這種大小寫控制。除非有充分的理由,否則不要輕易使用這個雙引號來控制大小寫。這個雙引號不僅可以用來控制大小寫,還具有引用壹些特殊字符的特殊功能。例如,在創建表單時,需要設置壹個名牌號字段。壹些數據庫管理員習慣使用num#這樣的名稱。這不會違反數據庫的命名規則。但是處理起來會比較麻煩。例如,當使用create語句創建壹個表時,需要給這個字段名加上雙引號。否則,當執行該語句時,數據庫將拒絕執行該語句,並以錯誤消息提示用戶。類似的特殊符號還包括壹個美元符號。當他們構建表時,他們需要在語句中使用雙引號。然而,在建立字段之後,當引用這些對象時,不需要使用雙引號。同樣,盡管Oracle數據庫支持這些特殊符號,但作者並不鼓勵數據庫管理員在命名表或列時采用這些特殊符號。這可能會給後續的引用帶來不必要的麻煩。第二,要記住,命名空間不同於Oracle數據庫中的其他數據庫,有壹個概念叫做命名空間。在同壹命名空間中,其名稱不能重復。如果表和視圖共享同壹個命名空間,則要求不僅表的名稱不能相同,而且表的名稱和視圖的名稱也不能相同。因為它們在同壹個命名空間中。同樣,表和函數在同壹個表空間中,所以它們不能同名。但是,表和索引、表和約束屬於不同的名稱空間。也就是說,表的名稱可以與約束的名稱相同。因此,數據庫管理員在命名表等對象時,必須知道哪些對象* * *共享同壹個名稱空間。如果同壹名稱空間中的對象不同(如視圖和表),它們仍然不能有相同的名稱。為了避免同壹命名空間出現重名現象,作者在命名時最好根據對象的不同加上對象的固有前綴。例如,大多數數據庫管理員通常不會在表名中添加表對象的前綴。但是,在定義函數或視圖對象時,會添加壹個前綴。例如,函數可能以FN為前綴,視圖可能以vi為前綴。在這種情況下,不需要擔心同壹個命名空間中對象重命名的問題。然而,在任何情況下,數據庫管理員都必須記住名稱空間的概念。即使在實際工作中,這個陷阱也可以通過前綴的方式輕松避開,但是這個命名空間也是Oracle數據庫管理員認證考試中的必要知識點。因此,無論從實際工作還是認證考試的需要,我們都必須對這位命名空間管理員有壹個清醒的認識。第三,在表、索引、約束和列之間建立密切的關系。創建表時,可以向表中的某些列添加索引、約束等。例如,在員工信息表中,會設置員工編號唯壹性約束。當您創建壹個約束時,您還需要命名它。雖然約束與表和列不屬於同壹個命名空間,但命名時基本沒有限制。不過為了後續使用的方便,筆者在約束的命名上有個小建議。簡單地說,給與該表直接相關的其他對象賦予該表的名稱是壹個很好的做法。比如有壹個名為ad_user的用戶表(表名前面壹般沒有對象名,但可以根據應用軟件的模塊設計加上模塊前綴)。該表中有壹個名為vlaue的字段,用於存儲員工編號。設計表時,需要向該字段添加索引。那麽這個索引的名字可以命名為IDX _用戶_值(即索引前綴+表名+字段名)。這樣做的好處是什麽?首先,它可以確保相關對象的名稱不會重復。因為表的名字不會重復,如果把表的名字和列的名字組合起來組成壹個對象的名字,重復的概率可以說基本為零。二是便於管理員閱讀、理解和維護。只要看到索引或約束對象的名稱,就可以看出這是壹個索引,或者在哪個表的那個字段中使用了約束。而且可以知道這個約束是唯壹性約束還是檢查約束;索引時的主鍵索引或外鍵索引。給數據庫管理員壹個清晰的感覺。這為後續的維護、升級、調整、參考等提供了方便。盡管Oracle數據庫中的表和列等數據庫對象是不區分大小寫的,但是如果數據庫管理員確實需要使數據庫系統區分表名的大小寫,也可以這樣做。通常,如果用雙引號將壹個名稱括起來,它將成為Oracle數據字典中區分大小寫的名稱。不過在這裏我要提醒壹下數據庫管理員,雖然強制數據庫系統采取case在技術上是可行的,但是在實際工作中,包括在內的大部分數據庫管理員可能並不建議這樣做。因為如果存在大小寫混合的情況,那麽在引用這些表名或列名時需要非常小心。因為即使用戶或者數據庫管理員有過目不忘的能力,在寫歌的時候也很難準確記住這些名字的大小。如果數據庫管理員堅持這樣做,很可能是在自找麻煩。詢問或做其他作業時嚴格區分案件與案件是壹件很頭疼的事情。因此,我建議數據庫管理員謹慎使用這種大小寫控制。除非有充分的理由,否則不要輕易使用這個雙引號來控制大小寫。