目錄
oracle資料型別
數值型別
number
binary_float和binary_double
特殊值其他數值型別
字元型別
char
varchar2
nchar/nvarchar2
日期型別
date型別
大物件lob物件
rowid\urowid 型別
一般用於數值運算的。
number(precision,scale)
precision:精度。也稱為總位數,取值範圍1~38,預設值為38,也可以用字元*表示38。
版本10之後的新型別:
在oracle10g之前的版本中沒有這兩種型別。他們就是ieee標準浮點數,用於近似數值,沒有number型別精確。
binary_float_nan
非binary_float型別的數字(nan)
binary_float_infinity
binary_float型別的無窮大(inf)
binary_double_nan
非binary_double型別的數字(nan)
binary_double_infinity
binary_double型別的無窮大(inf)
效率不同,效率會比較高。
oracle中的字元資料型別包括char、 varchar2以及帶「n」的相應變體(nchar 和nvarchar2),這些字元資料型別能儲存 2000位元組或4000位元組的文字。這些文字會由數 據庫根據需要在不同的字符集(character set)之間進行轉換。
char、varchar2、nchar、 nvarchar2都是以同樣的格式進行儲存。
純英文不需要n開頭的,處理中文日文等需要考慮帶n的。
char (size[ byte | char] )
varchar2 (size[ byte | char] )
varchar2是變長字串型別,不會用空格填充至最大長度。此型別最多可儲存4000位元組的資訊。
帶n表示unicode字符集,相容中文。
nvarchar2和nchar與相應的varchar2和char的區別在於:
oracle固有資料型別date、timestamp和 interval是緊密相關的。date和 timestamp型別可以儲存固定日期/時間。 interval型別可以儲存乙個時間量。
date型別是乙個7位元組的定寬日期/時間資料 型別。它總是包含7個屬性,包括:世紀、世紀中的哪一年、月份、月份中的哪一天、小時、分鐘和秒。oracle使用一種內部格式來表示這些資訊。
儲存中,oracle將不同字段分開存。在使用時,我們經常會將年月日分開使用。
oracle database 10g系統提供了4種大物件 (large object,lob)型別。這4種大物件型別的 特點分別如下:
盡量使用lob型別來處理,因為相容。
每乙個lob物件都由兩部分組成:指標(定位器)和資料內容。
lob資料的處理
對於每乙個lob列,oracle系統將儲存乙個定 位器值,以便找到該記錄儲存的外部資料。 在向包含了lob值的表中插入記錄時,可以用 函式來告訴oracle為內部儲存的lob列建立一 個空定位器。
注意,空定位器值與null值不同。如果乙個內 部儲存的lob列值為null,那麼在更新為非null 值之前,必須將其設定為空定位器.
在oracle系統中,可以採用以下方式設定lob 資料的空定位器:
提高大物件的使用效率
database 10g系統提供了許多提高使用大物件效率 的方法。這些方法主要包括:
資料分割槽技術
在oracle database 10g系統中,可以通過採 用分割槽技術,將大量的業務資料分割槽成比較小的資料。但是,這種分割槽技術對於終端使用者來說是不透明的。在oracle database 10g系統 中,從終端使用者的角度來看,這裡只有乙個表。
壓縮資料技術
如果業務資料的增長速度超過了系統設計的能 力,那麼會由於資料量過大帶來一系列查詢性 能上的問題。這時,可以使用oracle database 10g系統提供的壓縮資料功能來壓縮業務資料,從而降低資料量。
並行技術
在oracle database 10g系統中,還可以通過並行處 理的方式來提高查詢的效能。並行處理適用於大量數 據需要處理的情況,例如,掃瞄包含大量資料的表、 連線查詢多個表、建立大表的索引和掃瞄分割槽索引等。
物化檢視技術
物化檢視具有檢視的特徵,但是與檢視也不完 全相同。可以基於select語句建立物化檢視, 但是物化檢視可以物理地保留和儲存資料。使用物化檢視,可以執行各種查詢操作、可以被 分割槽、可以被壓縮、可以被並行處理,甚至可 以在其上面建立索引。
rowid是資料庫中一行的位址。rowid中編入了足夠多的資訊,足以在磁碟上找到行,以及標識rowid所指向的物件。rowid並不真正儲存在行中,而是行的乙個推導屬性,基於行的實體地址生成。
urowid是rowid的「近親」。它用於比如索引組織表(iot) 和通過異構資料庫閘道器訪問的沒有固定rowid的表。urowid基於行的主鍵生成,是行主鍵值的乙個表示。但是,urowid並不作為乙個單獨的列存在,而只是作為現有列的乙個函式。
資料庫表結構設計
立即建立此表 返回資料庫大全 mysql建表sql語句 資料庫結構 敏捷專案 系統配置表 資料庫大全 敏捷專案 系統配置表 create table yesapi main setting id bigint 20 unsigned not null auto increment,key varch...
結構設計 資料表設計 常用表結構設計
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。位址一般包括 省 市 縣 區 詳細位址 我們當然可以儲存乙個字段 使用分隔符 json 等儲存 介紹字段介紹 字段介紹 idbigint id parentid parentidlist chi...
資料庫結構設計
1.3概念設計的任務 1.2概念設計的依據 需求分析的文件,需求說明書,功能模型 資料流圖或idef0圖 資訊模型 er圖 和資料庫概念說明書是資料庫邏輯設計的依據 1.2 資料庫概念設計過程 1.3 資料建模方法 er建模方法 idef1x建模方法標識er模型中的聯絡,依次轉換與每個聯絡相關聯的實...