成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何為數(shù)據(jù)庫中的表和列取一個(gè)好名字?

數(shù)據(jù)庫
為數(shù)據(jù)庫中的表和列取一個(gè)好名字,其實(shí)是數(shù)據(jù)庫后期管理的重要因素。本文希望能給大家一些好的啟發(fā)。

其實(shí)在數(shù)據(jù)庫中創(chuàng)建對(duì)象時(shí),管理員也要對(duì)其進(jìn)行命名。一些有經(jīng)驗(yàn)的數(shù)據(jù)庫管理員,對(duì)其命名也會(huì)小心翼翼。既要能夠叫的響亮,又要能夠代表具體的應(yīng)用場景。有時(shí)候?qū)Ρ淼葦?shù)據(jù)庫對(duì)象進(jìn)行命名的時(shí)候,可能比維護(hù)數(shù)據(jù)庫還要傷腦筋。筆者對(duì)此就有非常深的感受。在數(shù)據(jù)庫設(shè)計(jì)的時(shí)候,一套命名規(guī)則編制下來,腦袋就會(huì)覺得很累。不過等大家多編制幾套后,就會(huì)掌握其中的規(guī)律。熟能生巧,掌握了規(guī)律再去取名的話,就會(huì)簡單許多。有時(shí)候甚至可以信手拿來。筆者這次就跟大家分享一下對(duì)數(shù)據(jù)庫對(duì)象進(jìn)行命名的一些規(guī)律。簡單起見,筆者以數(shù)據(jù)庫對(duì)象表為例,談?wù)劽囊恍┘记伞?/p>

一、牢記命名空間

在Oracle數(shù)據(jù)庫中,跟其他的數(shù)據(jù)庫不同,有一個(gè)叫做命名空間的概念。在同一個(gè)命名空間中,其名字不可以重復(fù)。如表與視圖就共享同一個(gè)命名空間,為此就要求不僅表的名字不能夠相同,而且表的名字與視圖的名字也不能夠相同。因?yàn)樗麄兲幱谕粋€(gè)命名空間。類似的,表與函數(shù)也是同處于一個(gè)表空間,為此他們也不能夠同名。不過表與索引、表與約束等等卻屬于不同的命名空間。也就是說,表的名字可以與約束的名字相同。所以說,數(shù)據(jù)庫管理員在給表等對(duì)象命名的時(shí)候,一定要了解哪些對(duì)象共享同一個(gè)名稱空間。如果在同一個(gè)名稱空間內(nèi)的,即使對(duì)象不同(如視圖與表),但是他們?nèi)匀徊荒軌蛉∠嗤拿帧?/p>

為了避免同一個(gè)命名空間內(nèi)重名的現(xiàn)象,筆者建立在命名的時(shí)候最好能夠根據(jù)對(duì)象的不同加上對(duì)象的固有前綴。如大部分的數(shù)據(jù)庫管理員,在給表取名的時(shí)候,一般不會(huì)表名前面加上表對(duì)象的前綴。但是在定義函數(shù)或者視圖對(duì)象的時(shí)候,則會(huì)加上前綴。如在函數(shù)前面可能會(huì)加上FN的前綴,而在視圖前面可能會(huì)加上vi的前綴。如此的話,在同一個(gè)命名空間內(nèi)也不用擔(dān)心對(duì)象重名的問題。不過無論怎么說,這個(gè)命名空間的概念數(shù)據(jù)庫管理員必須牢記。即使在實(shí)際的工作中,可以通過前綴等手段輕易的避免這個(gè)陷阱,但是在Oracle數(shù)據(jù)庫管理員的認(rèn)證考試中,這個(gè)命名空間也是一個(gè)必要的知識(shí)點(diǎn)。所以無論從實(shí)際的工作還是認(rèn)證考試的需要,對(duì)于這個(gè)命名空間管理員都必須要有一個(gè)清晰的認(rèn)識(shí)。

二、表名大小寫的控制

一般情況下Oracle數(shù)據(jù)庫中的表名或者列名是不區(qū)分大小寫的。在創(chuàng)建表或者列的時(shí)候,即使管理員采用了小寫的名字,數(shù)據(jù)庫在將其保存到數(shù)據(jù)字典之前,會(huì)先將其轉(zhuǎn)換為大寫,再將他們保存到數(shù)據(jù)字典中。這也就是為什么我們命名使用小寫的子母命名,但是下次查看表的名字的時(shí)候,卻變成了大寫。

雖然說Oracle數(shù)據(jù)庫中表與列等數(shù)據(jù)庫對(duì)象對(duì)于大小寫是不敏感的,但是如果數(shù)據(jù)庫管理員確實(shí)有需要要讓數(shù)據(jù)庫系統(tǒng)對(duì)表的名字區(qū)分大小寫,這也是可以做到的。通常情況下,如果把名字使用雙引號(hào)括起來,則在Oracle數(shù)據(jù)字典中就會(huì)成為區(qū)分大小寫的名字。不過筆者這里要提醒各位數(shù)據(jù)庫管理員,雖然說從技術(shù)上可以讓數(shù)據(jù)庫系統(tǒng)強(qiáng)制取分大小寫,但是在實(shí)際工作中,包括在內(nèi)的絕大部分?jǐn)?shù)據(jù)庫管理員可能都不建議這么做。因?yàn)槿绻谢旌系拇笮懘嬖?,那么在引用這些表或者列名稱的時(shí)候就需要特別的小心。因?yàn)榧词褂脩艋蛘邤?shù)據(jù)庫管理員有著過目不忘的本領(lǐng),也很難準(zhǔn)確的記住這些名稱的大小寫歌時(shí)。如果數(shù)據(jù)庫管理員硬要這么做的話,那么很可能是自尋煩惱。在查詢時(shí)或者其他作業(yè)時(shí),要嚴(yán)格區(qū)分大小寫那是一件很頭疼的事情。為此,對(duì)于這個(gè)大小寫的控制,筆者建議數(shù)據(jù)庫管理員要謹(jǐn)慎使用。除非有充分的理由,否則的話,不要輕易使用這個(gè)雙引號(hào)來控制大小寫。

這個(gè)雙引號(hào)不僅可以用來控制大小寫,還有一個(gè)比較特殊的作用,就是用引用一些特殊的字符。如在建立表格的時(shí)候,需要設(shè)置一個(gè)名牌號(hào)的字段。有些數(shù)據(jù)庫管理員習(xí)慣使用num#類似的名稱。這不會(huì)違反數(shù)據(jù)庫的命名規(guī)則。不過在處理的時(shí)候會(huì)比較麻煩。如利用create語句建立表格的時(shí)候,需要給這個(gè)字段名稱加上雙引號(hào)。否則的話,執(zhí)行這條語句的時(shí)候,數(shù)據(jù)庫會(huì)拒絕執(zhí)行并向用戶提示錯(cuò)誤信息。類似的特殊符號(hào)還包括一個(gè)$美元符號(hào)。他們?cè)诮⒈砀竦臅r(shí)候,在語句中都需要使用雙引號(hào)。不過字段建立好之后,在引用這些對(duì)象的時(shí)候,不需要使用雙引號(hào)了。同理,雖然Oracle數(shù)據(jù)庫支持這些特殊符號(hào),但是筆者不鼓勵(lì)數(shù)據(jù)庫管理員在表或者列的命名中采取這些特殊的符號(hào)。這有可能給后續(xù)的引用帶來不必要的麻煩。

三、在表、索引、約束、列之間設(shè)置密切的聯(lián)系

在創(chuàng)建表的同時(shí),可以給表中的某些列添加索引、約束等等。如在員工信息表中,會(huì)設(shè)置員工編號(hào)唯一性約束。在創(chuàng)建約束的時(shí)候,也需要對(duì)約束進(jìn)行命名。雖然說也約束與表、列不屬于同一個(gè)命名空間,所以在取名的時(shí)候基本上沒有限制。但是為了后續(xù)使用的方便,筆者對(duì)約束的命名還有一個(gè)小小的建議。簡單的說,就是給一個(gè)與表直接有關(guān)的其他對(duì)象具有該表的名字是一種好的做法。如現(xiàn)在有一張用戶表名字叫做ad_user(在表名前面一般不加對(duì)象名,但是可以根據(jù)應(yīng)用軟件的模塊設(shè)計(jì)加上模塊的前綴),這種表中有一個(gè)字段叫做叫做vlaue,用來存儲(chǔ)員工的編號(hào)。在表設(shè)計(jì)的時(shí)候,需要給這個(gè)字段加一個(gè)索引。那么這個(gè)索引的名字就可以取名為IDX_USER_VALUE(也就是索引前綴+表名+字段名的形式)。這么做有什么好處呢?一是可以確保相關(guān)對(duì)象的名字不會(huì)重復(fù)。因?yàn)楸淼拿植粫?huì)重復(fù),所以將表的名字與列的名字一起組成某個(gè)對(duì)象的名字,那么其重復(fù)的幾率可以說基本上沒有。二是方便管理員閱讀、理解、維護(hù)等等。一看到索引或者約束對(duì)象的名字時(shí),就可以看到這個(gè)是索引或者約束是用在哪個(gè)表的那個(gè)字段上的。而且也可以知道這個(gè)約束是唯一性約束還是檢查約束;索引時(shí)主鍵索引還是外鍵索引。給數(shù)據(jù)庫管理員一目了然的感覺。這對(duì)于后續(xù)的維護(hù)、升級(jí)、調(diào)整、引用等等都提供了方便。

雖然說Oracle數(shù)據(jù)庫中表與列等數(shù)據(jù)庫對(duì)象對(duì)于大小寫是不敏感的,但是如果數(shù)據(jù)庫管理員確實(shí)有需要要讓數(shù)據(jù)庫系統(tǒng)對(duì)表的名字區(qū)分大小寫,這也是可以做到的。通常情況下,如果把名字使用雙引號(hào)括起來,則在Oracle數(shù)據(jù)字典中就會(huì)成為區(qū)分大小寫的名字。不過筆者這里要提醒各位數(shù)據(jù)庫管理員,雖然說從技術(shù)上可以讓數(shù)據(jù)庫系統(tǒng)強(qiáng)制取分大小寫,但是在實(shí)際工作中,包括在內(nèi)的絕大部分?jǐn)?shù)據(jù)庫管理員可能都不建議這么做。因?yàn)槿绻谢旌系拇笮懘嬖?,那么在引用這些表或者列名稱的時(shí)候就需要特別的小心。因?yàn)榧词褂脩艋蛘邤?shù)據(jù)庫管理員有著過目不忘的本領(lǐng),也很難準(zhǔn)確的記住這些名稱的大小寫歌時(shí)。如果數(shù)據(jù)庫管理員硬要這么做的話,那么很可能是自尋煩惱。在查詢時(shí)或者其他作業(yè)時(shí),要嚴(yán)格區(qū)分大小寫那是一件很頭疼的事情。為此,對(duì)于這個(gè)大小寫的控制,筆者建議數(shù)據(jù)庫管理員要謹(jǐn)慎使用。除非有充分的理由,否則的話,不要輕易使用這個(gè)雙引號(hào)來控制大小寫。

這個(gè)雙引號(hào)不僅可以用來控制大小寫,還有一個(gè)比較特殊的作用,就是用引用一些特殊的字符。如在建立表格的時(shí)候,需要設(shè)置一個(gè)名牌號(hào)的字段。有些數(shù)據(jù)庫管理員習(xí)慣使用num#類似的名稱。這不會(huì)違反數(shù)據(jù)庫的命名規(guī)則。不過在處理的時(shí)候會(huì)比較麻煩。如利用create語句建立表格的時(shí)候,需要給這個(gè)字段名稱加上雙引號(hào)。否則的話,執(zhí)行這條語句的時(shí)候,數(shù)據(jù)庫會(huì)拒絕執(zhí)行并向用戶提示錯(cuò)誤信息。類似的特殊符號(hào)還包括一個(gè)$美元符號(hào)。他們?cè)诮⒈砀竦臅r(shí)候,在語句中都需要使用雙引號(hào)。不過字段建立好之后,在引用這些對(duì)象的時(shí)候,不需要使用雙引號(hào)了。同理,雖然Oracle數(shù)據(jù)庫支持這些特殊符號(hào),但是筆者不鼓勵(lì)數(shù)據(jù)庫管理員在表或者列的命名中采取這些特殊的符號(hào)。這有可能給后續(xù)的引用帶來不必要的麻煩。

三、在表、索引、約束、列之間設(shè)置密切的聯(lián)系

在創(chuàng)建表的同時(shí),可以給表中的某些列添加索引、約束等等。如在員工信息表中,會(huì)設(shè)置員工編號(hào)唯一性約束。在創(chuàng)建約束的時(shí)候,也需要對(duì)約束進(jìn)行命名。雖然說也約束與表、列不屬于同一個(gè)命名空間,所以在取名的時(shí)候基本上沒有限制。但是為了后續(xù)使用的方便,筆者對(duì)約束的命名還有一個(gè)小小的建議。簡單的說,就是給一個(gè)與表直接有關(guān)的其他對(duì)象具有該表的名字是一種好的做法。如現(xiàn)在有一張用戶表名字叫做ad_user(在表名前面一般不加對(duì)象名,但是可以根據(jù)應(yīng)用軟件的模塊設(shè)計(jì)加上模塊的前綴),這種表中有一個(gè)字段叫做叫做vlaue,用來存儲(chǔ)員工的編號(hào)。在表設(shè)計(jì)的時(shí)候,需要給這個(gè)字段加一個(gè)索引。那么這個(gè)索引的名字就可以取名為IDX_USER_VALUE(也就是索引前綴+表名+字段名的形式)。這么做有什么好處呢?一是可以確保相關(guān)對(duì)象的名字不會(huì)重復(fù)。因?yàn)楸淼拿植粫?huì)重復(fù),所以將表的名字與列的名字一起組成某個(gè)對(duì)象的名字,那么其重復(fù)的幾率可以說基本上沒有。二是方便管理員閱讀、理解、維護(hù)等等。一看到索引或者約束對(duì)象的名字時(shí),就可以看到這個(gè)是索引或者約束是用在哪個(gè)表的那個(gè)字段上的。而且也可以知道這個(gè)約束是唯一性約束還是檢查約束;索引時(shí)主鍵索引還是外鍵索引。給數(shù)據(jù)庫管理員一目了然的感覺。這對(duì)于后續(xù)的維護(hù)、升級(jí)、調(diào)整、引用等等都提供了方便。

【編輯推薦】

責(zé)任編輯:彭凡 來源: IT專家網(wǎng)
相關(guān)推薦

2011-06-22 16:58:10

數(shù)據(jù)庫命名

2015-10-08 09:13:24

2015-10-19 09:36:27

2017-02-10 11:49:31

Python爬蟲

2018-02-25 17:30:18

2024-06-26 08:00:00

2010-05-17 17:54:39

MySQL 數(shù)據(jù)庫

2017-11-20 13:32:54

微服務(wù)數(shù)據(jù)庫開發(fā)

2015-03-31 10:26:01

數(shù)據(jù)庫數(shù)據(jù)庫事務(wù)

2009-02-17 10:34:00

2013-08-26 16:23:13

iOS應(yīng)用標(biāo)題移動(dòng)應(yīng)用標(biāo)題常用單詞移動(dòng)應(yīng)用推廣

2023-09-14 23:05:57

? ?MySQL數(shù)據(jù)庫

2022-05-05 09:11:33

數(shù)據(jù)庫加密數(shù)據(jù)安全

2017-11-24 09:30:58

數(shù)據(jù)庫微服務(wù)云架構(gòu)

2024-05-29 13:55:25

2011-07-20 14:57:47

SQLite數(shù)據(jù)庫ORDER BYGROUP BY

2011-04-06 15:36:56

SQL Server數(shù)

2021-03-28 17:14:38

數(shù)據(jù)庫APP技術(shù)

2021-02-23 23:06:31

數(shù)據(jù)庫Redis技術(shù)

2011-07-14 14:36:29

Dbgrid多數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产69久久精品成人看动漫 | 91精品国产色综合久久不卡98口 | 97精品一区二区 | 综合中文字幕 | 伦理一区二区 | 日韩欧美手机在线 | 成人在线视频免费观看 | av黄色在线观看 | 久久婷婷国产香蕉 | 国产在线观看一区二区 | 亚洲h在线观看 | 一区二区亚洲 | 亚洲最大福利网 | 久久青草av | 亚洲黄色在线免费观看 | 性一交一乱一伦视频免费观看 | 日韩欧美精品 | 五月激情综合网 | 日韩综合| 一级黄a | 亚洲最大看片网站 | 丝袜 亚洲 另类 欧美 综合 | 日韩欧美一区二区三区四区 | a级片网站 | 国产精品一区二区三区在线 | 久久久99国产精品免费 | 国产激情一区二区三区 | 在线伊人网 | 欧美在线观看网站 | 欧美一区二区三区视频在线播放 | 成人在线观看免费 | 99视频在线播放 | 国产一区欧美一区 | 欧美群妇大交群中文字幕 | 亚洲狠狠| 成人免费视频 | 天天操网| 九九热精品在线 | 国产欧美日韩精品一区 | 亚洲精品1区 | 一区二区免费高清视频 |