自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle程序的開發(fā)技巧有哪些

數(shù)據(jù)庫 Oracle
以下的文章主要介紹的是Oracle程序的開發(fā)技巧,文章主要描述的是Oracle數(shù)據(jù)庫設(shè)計(jì)中字段是如何使用,以下就是正文的描述。

Oracle優(yōu)點(diǎn)很多,但是假如你對它使用不當(dāng)?shù)脑挘?a >Oracle在實(shí)際的運(yùn)行是不能發(fā)揮出它優(yōu)勢所在,下面的文章就是我個(gè)人在Oracle開發(fā)的過程中積累的一些相關(guān)經(jīng)驗(yàn),今天拿出來與大家做一個(gè)分享。

Oracle數(shù)據(jù)庫設(shè)計(jì)中字段的使用

在一些表的設(shè)計(jì)中,有一些常用的這段,已經(jīng)基本成為一個(gè)規(guī)范,在大型系統(tǒng)中,多可以看到這些字段的蹤影,當(dāng)然字段的名字可能有所不同。常用的字段分為以下幾類:

1.WHO字段

這類字段多用于記錄每行記錄的操作變更信息,比如是誰添加的這行記錄,誰做過修改等,詳細(xì)說明如下:

字段名稱

類型

說明

LAST_UPDATE_DATE  DATE  ***修改日期  LAST_UPDATED_BY  NUMBER(15)  ***修改人  CREATION_DATE  DATE  創(chuàng)建日期  CREATED_BY  NUMBER(15)  創(chuàng)建人  

I.創(chuàng)建人

在任何一個(gè)系統(tǒng)中,一般都會有一個(gè)權(quán)限驗(yàn)證和登錄的過程,在登錄后,會在系統(tǒng)的內(nèi)存中記錄登錄人的信息,當(dāng)此人在對數(shù)據(jù)庫的某個(gè)表進(jìn)行添加操作的時(shí)候,會同時(shí)把這個(gè)操作人員的ID值寫入表中,供后期統(tǒng)計(jì)及審計(jì)

II.創(chuàng)建時(shí)間

與創(chuàng)建人的含義類似,在創(chuàng)建的同時(shí),寫入系統(tǒng)的當(dāng)前時(shí)間,這個(gè)字段的值一般取自于服務(wù)器而不是客戶端,比如在oracle中,可以直接使用SYSDATE作為這個(gè)字段的值

III.***修改人

一條記錄被創(chuàng)建后,同樣會有被修改的可能性,這里需要對修改的人進(jìn)行一個(gè)記錄,以便于后期審計(jì)。

但是這里要注意的是,這里只記錄***的修改信息,如果一條記錄經(jīng)過多次的修改,中間的修改將無跡可尋,如果需要記錄詳細(xì)修改信息,需要使用日志功能,已經(jīng)超出此字段的功效。

IV.***修改日期

與***修改人同時(shí)寫入記錄中,同理,也是記錄***一次修改的時(shí)間,中間的修改均被***一次覆蓋。

2. 狀態(tài)及有效期字段

在一些新聞?lì)惖膬?nèi)容中,經(jīng)常會涉及到一個(gè)時(shí)效性,即一條新聞可能只在某一個(gè)時(shí)間段內(nèi)是對外可見的,超過這個(gè)時(shí)間段則將不允許發(fā)布,還有就是有些時(shí)候如果發(fā)現(xiàn)某些內(nèi)容有問題,需要暫時(shí)對外屏蔽的時(shí)候,就可以用到狀態(tài)字段,詳細(xì)說明如下:

字段名稱,類型,說明

STATUS  NUMBER  狀態(tài)  START_DATE  DATE  有效開始日期  END_DATE  DATE  有效結(jié)束日期  

I.狀態(tài)

這個(gè)字段一般用數(shù)值型表達(dá),0表示失效,1表示有效,當(dāng)然在使用的時(shí)候,可以把這兩個(gè)值進(jìn)行轉(zhuǎn)義,用“有效”和“失效”來顯示,不影響存儲方式。

失效不等于刪除,經(jīng)過失效的內(nèi)容,經(jīng)過管理Oracle程序的調(diào)整,把狀態(tài)變成有效后,還可以恢復(fù)正常使用。

II.有效開始日期

這個(gè)字段如果填有具體的值,只有當(dāng)時(shí)間超過這個(gè)時(shí)間后,信息才是有效的,在這個(gè)日期之前,信息將自動(dòng)按無效處理,特別需要注意的是,如果這個(gè)字段置空,應(yīng)該按跳過這個(gè)條件檢查來處理,這樣可以實(shí)現(xiàn)Oracle程序的靈活性。

III.有效結(jié)束日期

具體含義同上,只是超過此期,內(nèi)容將按失效處理。

3.邏輯刪除

在數(shù)據(jù)庫系統(tǒng)中處理的刪除的做法一般有兩種:物理刪除和邏輯刪除,所謂物理刪除,就是在數(shù)據(jù)庫中直接使用delete等命令,從數(shù)據(jù)庫里把數(shù)據(jù)真正的刪除,這種刪除從正常途徑將無法恢復(fù)數(shù)據(jù),雖然可以部分程度減小整體的數(shù)據(jù)量,但不利于審計(jì)跟蹤;邏輯刪除指的是對數(shù)據(jù)不做任何刪除處理,而是對記錄打個(gè)標(biāo)記,也就是在某個(gè)字段上賦值,表示此記錄已經(jīng)刪除。

邏輯刪除的處理邏輯只由應(yīng)用Oracle程序自己使用,因?yàn)閿?shù)據(jù)在數(shù)據(jù)庫中實(shí)際還是存在的。

所涉及字段如下:

字段名稱  

類型  

說明  

DELETED  

NUMBER  

是否刪除  

DELETE_DATE  

DATE  

刪除時(shí)間  

DELETED_BY  

NUMBER  

刪除人  

 

I. 刪除標(biāo)志

此字段有兩個(gè)取值,0表示正常,1表示已經(jīng)刪除。

打上刪除標(biāo)志后,所以的查詢語句必須同時(shí)在判斷條件的地方加上deleted=0的條件,否則會造成重大的失誤。

II. 刪除時(shí)間

與刪除標(biāo)志一起使用,表示刪除的時(shí)間,可以使用當(dāng)前服務(wù)器的時(shí)間,用sysdate來填充即可。

III. 刪除人

與***修改人類似,需要記錄刪除的具體操作人員

刪除與標(biāo)志位不同,采用標(biāo)志位的方式,雖然前端無法展示數(shù)據(jù),但是后臺管理人員人一樣可以通過管理Oracle程序來調(diào)整該狀態(tài),但是刪除標(biāo)志則不同,確認(rèn)刪除后,對整個(gè)應(yīng)該來講,這條記錄都應(yīng)該理解為不存在了。

【編輯推薦】

  1. 如何用Oracle 9i全索引掃描完成任務(wù)
  2. Oracle 9i全索引掃描和函數(shù)索引一起工作的原理
  3. Oracle安裝路徑的實(shí)際操作
  4. 手動(dòng)設(shè)置Oracle管理控制和日志文件
  5. Oracle數(shù)據(jù)安全性的介紹

 

責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-08-13 13:31:14

DB2編程序

2010-09-29 14:05:23

2010-04-16 15:05:10

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

2010-05-06 15:44:08

Oracle Nvl函

2010-05-05 10:49:34

Oracle 復(fù)合類型

2010-04-22 10:01:44

Oracle收購SUN

2010-05-07 10:19:48

Oracle 注意事項(xiàng)

2010-04-22 12:15:30

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

2022-11-30 08:17:41

JVM調(diào)優(yōu)技巧

2010-08-19 14:31:46

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

2010-04-21 09:12:56

Oracle JDBC

2010-05-05 09:33:46

Oracle事務(wù)

2010-04-20 09:22:27

Oracle 復(fù)合類型

2010-05-05 13:56:09

Oracle常見問題

2010-05-06 15:38:10

Oracle實(shí)現(xiàn)SEL

2010-04-07 16:33:56

Oracle刪除

2010-07-27 09:09:07

JDBC連接DB2

2019-02-28 20:46:35

Python高級技巧編程語言

2024-02-18 13:30:18

大數(shù)據(jù)

2021-10-29 07:25:32

分庫分表技巧
點(diǎn)贊
收藏

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