『壹』 Oracle資料庫的物理結構有哪些
Oracle資料庫的體系結構包括四個方面:資料庫的物理結構、邏輯結構、內存結構及進程。
1. 物理結構
物理資料庫結構是由構成資料庫的操作系統文件所決定,Oracle資料庫文件包括:
數據文件(Data File)
數據文件用來存儲資料庫中的全部數據,例如資料庫表中的數據和索引數據.通常以為*.dbf格式,例如:userCIMS.dbf 。
日誌文件(Redo Log File)
日誌文件用於記錄資料庫所做的全部變更(如增加、刪除、修改)、以便在系統發生故障時,用它對資料庫進行恢復。名字通常為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。
控制文件(Control File)
每個Oracle資料庫都有相應的控制文件,它們是較小的二進制文件,用於記錄資料庫的物理結構,如:資料庫名、資料庫的數據文件和日誌文件的名字和位置等信息。用於打開、存取資料庫。名字通常為Ctrl*ctl 格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle資料庫運行時的一些重要參數,如:數據塊的大小,內存結構的配置等。名字通常為init*.ora 格式,如:initCIMS.ora 。
2 邏輯結構
Oracle資料庫的邏輯結構描述了資料庫從邏輯上如何來存儲資料庫中的數據。邏輯結構包括表空間、段、區、數據塊和模式對象。資料庫的邏輯結構將支配一個資料庫如何使用系統的物理空間.模式對象及其之間的聯系則描述了關系資料庫之間的設計.
一個資料庫從邏輯上說是由一個或多個表空間所組成,表空間是資料庫中物理編組的數據倉庫,每一個表空間是由段(segment)組成,一個段是由一組區(extent)所組成,一個區是由一組連續的資料庫塊(database block)組成,而一個資料庫塊對應硬碟上的一個或多個物理塊。一個表空間存放一個或多個資料庫的物理文件(即數據文件).一個資料庫中的數據被邏輯地存儲在表空間上。
表空間(tablespace)
Oracle資料庫被劃分為一個或多個稱為表空間的邏輯結構,它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝資料庫時自動建立的,它包含資料庫的全部數據字典,存儲過程、包、函數和觸發器的定義以及系統回滾段。除此之外,還能包含用戶數據。。
一個表空間包含許多段,每個段有一些可以不連續的區組成,每個區由一組連續的數據塊組成,數據塊是資料庫進行操作的最小單位。
每個表空間對應一個或多個數據文件,每個數據文件只能屬於一個表空間。
資料庫塊(database block)
資料庫塊也稱邏輯塊或ORACLE塊,它對應磁碟上一個或多個物理塊,它的大小由初始化參數db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree 和pctused 兩個參數用來優化數據塊空間的使用。
區(extent)
區是由一組連續的數據塊所組成的資料庫存儲空間分配的邏輯單位。
段(segment)
段是一個或多個不連續的區的集合,它包括一個表空間內特定邏輯結構的所有數據,段不能跨表空間存放。Oracle資料庫包括數據段、索引段、臨時段、回滾段等。
模式對象(schema object)
Oracle資料庫的模式對象包括表、視圖、序列、同意詞、索引、觸發器、存儲.過程等,關於它們將重點在後面章節介紹。
3.Oracle Server系統進程與內存結構
當在計算機伺服器上啟動Oracle資料庫後,稱伺服器上啟動了一個Oracle實例(Instance)。ORACLE 實例(Instance)是存取和控制資料庫的軟體機制,它包含系統全局區(SGA)和ORACLE進程兩部分。SGA是系統為實例分配的一組共享內存緩沖區,用於存放資料庫實例和控制信息,以實現對資料庫中數據的治理和操作。
『貳』 資料庫中常用的欄位有哪些
資料庫中常用的欄位類型有:字元型、數值型、邏輯型、備注型。這四種是最常用的。對初學者來說掌握這四種已可以了!
『叄』 資料庫中的欄位有哪些
資料庫中的欄位是在建立數據表時,有創建數據表的人定義的,欄位類型有很多種,如:int,char,varchar,date,等等,但是不用的資料庫中欄位類型的名稱不太一樣,同樣的類型,表現出來的也稍微不一樣。
『肆』 access資料庫欄位的類型有哪幾種
有10種類型。
分別為:
1、文本型:用於輸入文本或與數字組合的文本的數據,最多255個字元(位元組),默認值為50。在存取中,每一個漢字和所有特殊字元(包括中文標點符號)都算作一個字元。
2、貨幣型:用於存儲貨幣值,佔8位元組。計算中禁止舍入。
3、數字型:除貨幣外可用於數值計算的數據。數字欄位按欄位大小分為7種情況:位元組、整數、長整數、單精度、雙精度、同步復制ID和十進制,分別佔1、2、4、4、8、16和12位元組。
4、日期/時間型:存儲日期和/或時間值的8位元組。
5、自動編號:添加記錄時自動插入的序列號(每次增加1或隨機編號)。默認情況下,它是長整數,或者可以更改為同步復制ID。不能更新自動編號。
6、是/否型:表示邏輯值(是/否,真/假),佔1位元組。
7、備注型:用於將長文本或長文本與數字(大於255個字元)組合,最多65535個字元。
8、OLE對象型:使用OLE協議(如Word文檔、Excel電子表格、圖片、聲音等)在其他程序中創建的OLE對象可以存儲到1GB(受磁碟空間限制)。
9、超鏈接型:用於存儲超鏈接地址,最多64000個字元。
10、鎖定向導型:允許用戶通過組合框或列表框從其他表或值列表中選擇值。實際欄位類型和長度取決於數據源。
『伍』 常用的欄位類型有哪些各自有何特徵
CABI資料庫分主題、分類和文獻來源系列等52個檢索欄位,欄位之間存在著互補及相包容的關系。下面是學習啦小編整理的什麼是欄位,歡迎閱讀。
什麼是欄位
我們把表中的每一行叫做一個「記錄」,每一個記錄包含這行中的所有信息,就像在通訊錄資料庫中某個人全部的信息,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。在資料庫中存放在錶行列交叉處的數據叫做「值」,它是資料庫中最基本的存儲單元,它的位置要由這個表中的記錄和欄位來定義。
欄位
(field)
一個成員,它表示與對象或類關聯的變數。
在資料庫中,大多數時,表的「列」稱為「欄位」 ,每個欄位包含某一專題的信息。就像「通訊錄」資料庫中,「姓名」、「聯系電話」這些都是表中所有行共有的屬性,所以把這些列稱為「姓名」欄位和「聯系電話」欄位。
但是有時候,欄位也不是表中的列,比如用as將列的內容經計算,「存入」另一個欄位。如:一個表"T」中只有列"ID」,內容為"int"值"1"。運用"select id, id * 5 as abc from T",得出的結果為
id abc
備注
此SQL語句在MYSQL 5.0中測試無誤。
每個欄位由若干按照某種界限劃分的相同數據類型的數據項組成.
欄位在C++中的定義:
一個成員,它表示與對象或類關聯的變數。
欄位類型
不同的欄位類型用來存放不同類型的數據。創建和使用表時,更你應該理解五種常用的欄位類型:字元型,文本型,數值型,邏輯性和日期型。
字元型數據
字元型數據非常有用。當你需要存儲短的字元串信息時,你總是要用到字元型數據。例如,你可以把從HTML form的文本框中搜集到的信息放在字元型欄位中。
要建立一個欄位用來存放可變長度的字元串信息,你可以使用表達式 VARCHAR。考慮你前面創建的表guestbook:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)
在這個例子中,欄位visitor的數據類型為VARCHAR(可變長字元型)。注意跟在數據類型後面的括弧中的數字。這個數字指定了這個欄位所允許存放的字元串的最大長度。在這個例子中,欄位visitor能存放的字元串最長為四十個字元。如果名字太長,字元串會被截斷,只保留四十個字元。
VARCHAR類型可以存儲的字元串最長為255個字元。要存儲更長的字元串數據,可以使用文本型數據。
另一種字元型數據用來存儲固定長度的字元數據。下面是一個使用這種數據類型的例子:
CREATE TABLE guestbook (visitor CHAR(40),comments
TEXT,entrydate DATETIME)
在這個例子中,欄位visitor被用來存儲四十個字元的固定長度字元串。表達式CHAR指定了這個欄位應該是固定長度的字元串。
VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。假如你向一個長度為四十個字元的VARCHAR型欄位中輸入數據Bill Gates。當你以後從這個欄位中取出此數據時,你取出的數據其長度為十個字元——字元串Bill Gates的長度。
現在假如你把字元串輸入一個長度為四十個字元的CHAR型欄位中,那麼當你取出數據時,所取出的數據長度將是四十個字元。字元串的後面會被附加多餘的空格。
當你建立自己的站點時,你會發現使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,你不需要為剪掉你數據中多餘的空格而操心。
VARCHAR型欄位的另一個突出的好處是它可以比CHAR型欄位佔用更少的內存和硬碟空間。當你的資料庫很大時,這種內存和磁碟空間的節省會變得非常重要。
文本型數據
字元型數據限制了字元串的長度不能超過255個字元。而使用文本型數據,你可以存放超過二十億個字元的字元串。當你需要存儲大串的字元時,應該使用文本型數據。
這里有一個使用文本型數據的例子:
CREATE TABLE guestbook (visitor VARCHAR(40),comments
TEXT,entrydate DATETIME)
在這個例子中,欄位comments被用來存放訪問者對你站點的意見。注意文本型數據沒有長度,而上一節中所講的字元型數據是有長度的。一個文本型欄位中的數據通常要麼為空,要麼很大。
當你從HTML form的多行文本編輯框(TEXTAREA)中收集數據時,你應該把收集的信息存儲於文本型欄位中。但是,無論何時,只要你能避免使用文本型欄位,你就應該不適用它。文本型欄位既大且慢,濫用文本型欄位會使伺服器速度變慢。文本型欄位還會吃掉大量的磁碟空間。
『陸』 Oracle資料庫物理組建件的類型有什麼
Oracle兩部分:實例和資料庫
實例由以下組成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。資料庫由物理文件組成,其中必須有的文件是:數據文件,控制文件,重做日誌,另外還有:參數文件,口令文件,歸檔日誌文件(這三個不是必須的)。
用戶建立連接後,啟動一個伺服器進程,用來將來代替用戶進程完成SQLCOMMAND,再通過Oracle實例實現對資料庫的相關文件進行改變(數據進行讀取或修改)。
用戶進程不可以直接操作資料庫,而必須通過建立連接後,再通過伺服器進程來完成。
OracleSERVER由兩個部分組成,
1、INSTANCE:又由內存結構和後台進程。
2、DATABASE:又由數據文件,日誌文件和控制文件組成<這三個文件是必需的>。
CONTROLFILE是用來連接實例和DATABASE:
SQL>SHUTDOWNIMMEDIATE
SQL>STARTUPNOMOUNT
SQL>ALTERDATABASEMOUNT
以上三個過程就是通過CONTROLFILE來連接實例和資料庫。
SQL>ALTERDATABASEOPEN:在OPEN的過程對DATABASE的數據文件和重做日誌文件進行一次性的驗證,驗證它們的狀態。
OracleINSTANCE:存取資料庫的一個手段。
一個DATABASE與INSTANCE之間是1:N的關系,一個INSTANCE只能操作一個DATABASE,由內存結構(共享池,
BUFFERCACHE,REDOLOGBUFFERCACHE)及相應的進程結構組成(PMON<程序監控進程>,SMON<系統監控進程>,CKPT<檢查點進程>)。
SQL>SHOWSGA---顯示DATABASE內存結構信息
SQL>SETWRAPOFF
SQL>SETLINESIZE200
以上這兩個是設置行寬。
SQL>SELECT*FROMV$BGPROCESS;
將看到在這個系統中所有可能使用到的進程,其中PADDR並不每個進程都分配到有效的地址,即並不是每個進程都是必須的。
SQL>SELECT*FROMV$BGPROCESSWHEREPADDR<>''00''
將顯示所有必需的進程。
連接到Oracle實例包括建立一個用戶連接及創建會話。
SQL>SELECT*FROMV$CONTROLFILES;--顯示現系統下由幾個控制文件組成。
SQL>SELECT*FROMV$DATAFILE;--顯示由幾個數據文件組成。
SQL>SELECT*FROMV$LOGFILE;--顯示由幾個日誌文件組成。
OracleMEMORYSTRUCTURE(內存結構)
由兩部分組成:
1、SGA是動態的,其最大值由SGA_MAX_SIZE指定,SGA的內存由SGACOMPONENTS來動態調整。
2、PGA是不共享的,即其包含的信息是不一樣的,有兩個可享的內存可以由SGA配置:
<1>LARGEPOOL
<2>JAVAPOOL
SQL>SHOWPARAMETERSHARED
SQL>SHOWPARAMETERDB_CACHE
SQL>SHOWPARAMETERLOG
以上三個命令是用於查看相關內存信息。
SQL>ALTERSYSTEMSETDB_CACHE_SIZE=20M;
所有內存大小總和不能大於SGA_MAX_SIZE的值,當提示信息出現?號或亂碼時,是由於系統的語言問題。
可以通過ALTERSESSIONSETNLS_LANGUAGE=''AMERICAN''或ALTERSESSIONSETNLS_LANGUAGE="SIMPLE
CHINESE"。
SHAREDPOOL(共享池)
<1>LIBRARYCACHE庫緩存;
<2>DATADICTIONARYCACHE數據字典緩存,有的地方又稱行CACHE,由SHARED_POOL_SIZE指定大小。
SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;
LIBRARYCACHE主要為提高代碼的共享,存儲的是最近使用的SQL和PL/SQL代碼。
<1>用最近最少使用(LRU)演算法;
<2>包括兩個結構1:共享SQL代碼2:共享PL/SQL代碼;
<3>不可直接定義,而由SHAREDPOOLSIZE決定。
DATADICTONARYCACHE。
如:SQL>SELECT*FROMAUTHORS;
執行此命令的過程是:首先確認是否存在AUTHORS,,然後確認欄位存不存在,再檢查語法,最後驗證許可權,而這些信息就屬於DATADICTIONARYCACHE的內容。其包含的信息有:DATABASEFILES,表,索引,欄位,用戶,許可權和其他資料庫對象。
<1>主要用來改變系統的感應時間和性能。
<2>通過改變SHAREDPOOL大小來設置,DATADICTIONARYCACHE不能單獨設置大小
『柒』 資料庫中數據類型有哪些
Character 數據類型
Character 數據類型用來存儲字母數字型數據。當你在oracle 中定義一個character 數據時,通常需要制定欄位的長度,它是該欄位的最大長度。ORACLE提供以下幾種character 數據類型:
CHAR() CHAR數據類型是一種有固定長度和最大長度的字元串。存儲在數據類型為CHAR欄位中的數據將以空格的形式補到最大長度。長度定義在1——2000位元組之間。
當你創建一個CHAR型欄位,資料庫將保證在這個欄位中的所有數據是定義長度,如果某個數據比定義長度短,那麼將用空格在數據的右邊補到定義長度。如果長度大於定義長度將會觸發錯誤信息。
VARCHAR() varchar型數據是varchar2型數據的快照。
VARCHAR2() varchar2數據類型是一種可變長度的、有最大長度的字母數字型數據。Varchar2類型的欄位長度可以達到4000位元組,Varchar2類型的變數長度可以達到32676位元組。
一個空的varchar2(2000)欄位和一個空的varchar2(2)欄位所佔用的空間是一樣的。
NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()數據類型分別與CHAR() 和 VARCHAR2()類型是相同的,只不過它們用來存儲NLS(National Language Support)數據。
LONG LONG 數據類型是一個遺留下來的而且在將來不會被支持的數據類型。它將被LOB(Large Object)數據類型所代替。
比較規則 Varchar2和char數據類型根據尾部的空格有不同的比較規則。對Char型數據,尾部的空格將被忽略掉,對於Varchar2型數據尾部帶空格的數據排序比沒有空格的要大些。比如:
Char 型數據: 『YO』=『YO 』
Varchar2型數據: 『YO』<』YO 』
Numberic 數據類型
Numberic 數據類型用來存儲負的和正的整數、分數和浮點型數據,范圍在-1*10-103 和9.999…99*10125之間,有38位的精確度。標識一個數據超出這個范圍時就會出錯。
Number(
,) Number數據類型存儲一個有p位精確度的s位等級的數據。
DATE 數據類型
DATE 數據類型用來存儲日期和時間格式的數據。這種格式可以轉換為其他格式的數據去瀏覽,而且它有專門的函數和屬性用來控制和計算。以下的幾種信息都包含在DATE數據類型中:
Century
Year
Month
Day
Hour
Minute
Second
LOB 數據類型
LOB(Large Object) 數據類型存儲非結構化數據,比如二進制文件,圖形文件,或其他外部文件。LOB 可以存儲到4G位元組大小。數據可以存儲到資料庫中也可以存儲到外部數據文件中。LOB數據的控制通過DBMS_LOB 包實現。BLOB, NCLOB, 和CLOB 數據可以存儲到不同的表空間中,BFILE存儲在伺服器上的外部文件中。LOB數據類型有以下幾種:
BLOB: 二進制數據
CLOB: 字元型數據
BFILE: 二進制文件
其他數據類型
ROWID ROWID 數據類型是ORACLE數據表中的一個偽列,它是數據表中每行數據內在的唯一的標識。
『捌』 資料庫中所有的數據類型
SQL 用於各種資料庫的數據類型:
一、MySQL 數據類型:
在 MySQL 中,有三種主要的類型:Text(文本)、Number(數字)和 Date/Time(日期/時間)類型。
1、Text 類型。
『玖』 資料庫物理結構中,存儲著哪幾種形式的數據結構
Log File物理結構
log block結構分為日誌頭段、日誌記錄、日誌尾部
Block Header,佔用12位元組
Data部分
Block tailer,佔用4位元組
Block Header
這個部分是每個Block的頭部,主要記錄的塊的信息
Block Number,表示這是第幾個block,佔用4位元組,是通過LSN計算得來的,佔用4位元組
Block data len,表示該block中有多少位元組已經被使用了,佔用2位元組
First Rec offet,表示該block中作為第一個新的mtr開始的偏移量,佔用2位元組
Checkpoint number,表示該log block最後被寫入時的檢查點的值,佔用4位元組
『拾』 資料庫表中欄位類型有哪些
資料庫表中欄位類型有二進制數據類型、字元數據類型、數字數據類型 等其中類型。具體類型如下所示:
1、二進制數據類型
Binary、Varbinary、Image
2、字元數據類型
Char,Varchar和 Text
3、Unicode數據類型
包括Nchar,Nvarchar和Ntext
4、日期和時間數據類型
包括Datetime, Smalldatetime, Date, TimeStamp
5、數字數據類型
數字數據類型包括正數和負數、小數和整數
6、貨幣數據類型
表示正的或者負的貨幣數量。
7、特殊數據類型
特殊的數據類型有3種,即Timestamp、Bit 和 Uniqueidentifier。