Oracle學習總結(二) 資料庫基礎

2021-07-13 06:41:18 字數 2820 閱讀 3781

資料管理工作至今的發展經過了三個階段:

1)人工管理階段

20世紀50年代中期以前是人工管理階段,那是對於計算機來說,儲存資訊的裝置沒有磁碟,只有磁帶、卡片等儲存裝置;計算機中也沒有作業系統和管理軟體;處理資料的方式只有批處理方式。在人工管理階段,主要負責管理的都是人。這一階段主要由以下4個特點

2)檔案系統階段

20世紀50年代後期到60年代中期,計算機開始應用與資料管理方面。此時開始由磁碟儲存資料。檔案系統由三部分組成:與檔案管理有關的軟體、被管理的檔案以及實施檔案管理所需的資料結構。這一時期的資料就是以檔案的形式儲存,由作業系統統一處理。檔案系統階段也是資料庫發展的初級階段,使用檔案系統儲存資料有以下四個特點:

3)資料庫系統階段

從20世紀60年代後期開始進入了資料庫系統階段。此時在檔案系統的基礎上就開始有了資料庫技術。最早的資料庫管理系統是在2023年由通用電氣公司開發的。在資料庫管理系統階段管理資料具有以下4個特點:

資料庫技術出現至今一共有3種比較通用的模型,目前比較通用的是關係型資料模型。

結構層次模型,侷限性較大

網狀結構模型,逐漸能適應多種關係。

關係結構模型

美國皇家標準學會(ansi)的資料管理系統研究小組於2023年提出的標準化的建議。

參考資料:

1)外模式

外模式又稱子模式或使用者模式,對應於使用者級。它是某個或某幾個使用者所看到的資料庫的資料檢視,是與某一應用有關的資料的邏輯表示。外模式是從模式匯出的乙個子集,包含模式中允許特定使用者使用的那部分資料。使用者可以通過外模式描述語言來描述、定義對應於使用者的資料記錄(外模式),也可以利用資料操縱語言(data manipulation language,dml)對這些資料記錄進行。外模式反映了資料庫的使用者觀。

2)概念模式

模式又稱概念模式或邏輯模式,對應於概念級。它是由資料庫設計者綜合所有使用者的資料,按照統一的觀點構造的全域性邏輯結構,是對資料庫中全部資料的邏輯結構和特徵的總體描述,是所有使用者的公共資料檢視(全域性檢視)。它是由資料庫管理系統提供的資料模式描述語言(data description language,ddl)來描述、定義的,體現、反映了資料庫系統的整體觀。

3)內模式

內模式又稱儲存模式,對應於物理級,它是資料庫中全體資料的內部表示或底層描述,是資料庫最低一級的邏輯描述,它描述了資料在儲存介質上的儲存方式和物理結構,對應著實際儲存在外儲存介質上的資料庫。內模式由內模式描述語言來描述、定義,它是資料庫的儲存觀。

在乙個資料庫系統中,只有唯一的資料庫, 因而作為定義 、描述資料庫儲存結構的內模式和定義、描述資料庫邏輯結構的模式,也是唯一的,但建立在資料庫系統之上的應用則是非常廣泛、多樣的,所以對應的外模式不是唯一的,也不可能是唯一的。

1)表資料庫中存放資料的資料表,此處不再贅述。

2)檢視

檢視是資料庫中的虛擬表,存放的是從資料庫表中查詢出來的記錄,用於方便資訊查詢,縮短查詢資料時間。

3)儲存過程

儲存過程是由sql語句和控制流語句組成的語句塊。儲存過程儲存在資料庫內,可由程式通過儲存過程的名稱呼叫執行。

4)觸發器

觸發器是特殊的儲存過程。也是由sql語句和程式控制語句組成的。但是觸發器在資料庫中是不需呼叫而自動執行的。例如,在觸發器中可以定義在修改某張表後執行觸發器中的內容。

5)約束

參考資料:

約束是為了保證資料庫的完整性。orcale涉及的完整性主要有三種:

實體完整性:實體完整性要求表中的主鍵欄位都不能為空或者重複的值。

區域完整性:區域完整性是保證輸入到資料庫中的資料是在有效範圍內的。如郵箱字段必須包含@等。

正規化是設計關係型資料庫的準則。

資料庫正規化是程式設計師在設計資料庫時必須要理解的原則,如果不採用的話後期會產生大量的修改及維護成本。

第一正規化(1nf):資料庫表中的字段都是單一屬性,不可再分。

第二正規化(2nf):在資料庫中不存在非關鍵字段對任一候選欄位的部分函式依賴。

容易理解的說法是:第二正規化的規則是要求資料表裡的所有資料都要和該資料表的主鍵有完全依賴關係;如果有哪些資料只和主鍵的一部份(組合主鍵中的某乙個主鍵)有關的話,它就不符合第二正規化。同時可以得出:如果乙個資料表的主鍵只有單一乙個字段的話,它就一定符合第二正規化(前提是該資料表符合第一正規化)。

如果不按照第二正規化的要求設計表就會出現以下問題:

(假設乙個購物資訊表,字段包括:客戶編號、產品名、產品數量、產品型別、產品**、客戶型別,使用客戶編號和產品名稱作為組合主鍵)

參考資料:

關鍵字sno決定各個屬性。由於是單個關鍵字,沒有部分依賴的問題,肯定是2nf。但這關係肯定有大量的冗餘,有關學生所在的幾個屬性dno,dname,location將重複儲存,插入,刪除和修改時也將產生類似以上例的情況。

原因:關係中存在傳遞依賴造成的。即sno -> dno。 而dno -> sno卻不存在,dno -> location, 因此關鍵字 sno 對 location 函式決定是通過傳遞依賴 dno -> location 實現的。也就是說,sno不直接決定非主屬性location。

e—r圖又叫實體—聯絡圖,是描述現實世界的概念模型。構成e—r圖的基本要素是實體、屬性和聯絡。

下面是幾個例子。

Oracle資料庫學習總結 spool

oracle資料庫學習總結 spool 在生產中常會遇到需要將數量比較大的錶值匯入到本地文字檔案中.方法有很多種,比較常用的就是spool命令 要輸出符合要求格式的資料檔案只需在select時用字元連線來規範格式。比如有如下表 sql select id,username,password from...

Oracle資料庫學習小結(二)

資料庫11g。今天分享的這些語句都是一些零碎的資訊,希望可以幫助到大家。1 在我們使用資料庫的過程中會產生程序例項,每乙個資料庫的程序數量都是存在上限的,公司的dba會設定好,我們一般接觸不到,但是如果我們的資料庫無法登陸成功,不排除程序的使用達到了上限的可能,讓我們來看乙個查詢資料庫程序數的語句,...

oracle資料庫學習

最近在做使用者資料篩選的時候發現使用者資料載入和查詢比較慢,所以,參考網上資料進行了寫小優化,在資料庫中執行快了那麼一些,在這裡記錄下相關命令。做法 建立字段索引,使用instr函式。1 使用instr代替like 開頭會導致索引失效 instr的基本用法 select count from 表名 ...