天天看點

Oracle 資料庫(一)—— Oracle 資料庫基本介紹一、Oracle 資料庫概述

Oracle 資料庫基本介紹

  • 一、Oracle 資料庫概述
    • 1.1 Oracle 概述
    • 1.2 資料庫管理系統
    • 1.3 關系型資料庫的E-R模型
    • 1.3 資料庫設計範式
    • 1.4 Oracle 11g 的新功能

一、Oracle 資料庫概述

1.1 Oracle 概述

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。它是在資料庫領域一直處于領先地位的産品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用友善、功能強,适用于各類大、中、小、微機環境。它是一種高效率、可靠性好的、适應高吞吐量的資料庫方案。

1.2 資料庫管理系統

在資料庫系統中,資料模型主要有層次模型、網狀模型和關系模型三種(另外-種面向對象模型還處在探索研究中),目前理論成熟、使用普及的模型就是關系模型一關系型資料庫的理論基礎。

1.2.1 關系型資料庫與資料庫管理系統

關系型資料庫是建立在關系模型基礎上的資料庫,借助于集合代數等數學概念和方法來處理資料庫中的資料,現實世界中的各種實體以及實體之間的各種聯系均用關系模型來表示。

關系模型以二維表來描述資料。在關系模型中,每個表有多個字段列和記錄行,每個字段列有固定的類型屬性(如數字、字元、日期等類型)。關系模型資料結構簡單、清晰、具有很高的資料獨立性,是以是目前主流的資料庫資料模型。

在關系資料模型中,關系可以看成由行和列交叉組成的二維表格,表中一行稱為一個元組,可以用來辨別實體集中的一個實體。表中的列稱為屬性,給每一-列起一個名稱即為屬性名,表中的屬性名不能相同。列的取值範圍稱為域,同列具有相同的域,不同的列也可以有相同的域。表中任意兩行(元組)不能相同。能唯一辨別表中不同行的屬性或屬性組(即多個屬性的組合)稱為主鍵或複合主鍵。

盡管關系與傳統的二維表格資料檔案具有類似之處,但是它們又有差別,嚴格地說,關系是一-種規範化的二維表格,它具有如下性質:

  • 屬性值具有原子性,不可分解。
  • 沒有重複的元組,即沒有重複的行。
  • 理論上沒有行序,但是在使用時有時可以有行序。

1.2.2 關系型資料庫中的關鍵碼

在關系型資料庫中,關鍵碼(簡稱鍵)是關系模型的一一個非常重要的概念,它通常是行(元組)的一個或幾個列(屬性)。如果鍵是由一個列組成,則稱之為唯一鍵;若是由多個列(屬性)組成的,則稱之為複合鍵,鍵的主要類型如下:

  • 超鍵:在-一個關系中,能唯一辨別元組的屬性或屬性集稱為關系的超

    鍵。

  • 候選鍵:如果一個屬性集能唯一辨別元組,且又不含有多餘的屬性,那

    麼這個屬性集稱為關系的候選鍵。

  • 主鍵:如果一個關系中有多個候選鍵, 則選擇其中的一 一個鍵為關系的主鍵。用主鍵可以實作關系定義中”表中任意兩行(元組)不能相同”的限制。這裡以管理學生資訊為例,我們在"學生資訊表”中設定學号、姓名、性别、年齡、院系、班級等列。在該表中,"學号” 能夠唯一辨別一名學生,是以,把學号作為主鍵是最佳的選擇,而如果把"姓名”作為主鍵則會存在問題,因為有可能存在同名的學生。為此,最好建立一個單獨的鍵将其明确地指定為主鍵, 這種唯一辨別符在現實生活中很普遍,如身份證号、銀行卡号、手機号、發票号等。
  • 外鍵:如果-一個關系R中包含另- 個關系A的主鍵所對應的屬性組T,則稱此屬性組T為關系R的外鍵,并稱關系A為參照關系,關系R是依賴關系。為了表示關聯,可以将一個關系的主鍵作為屬性放入另外一個關系中,第二個關系中的那些屬性就稱為外鍵。這裡以商品銷售為例,在填寫一張商品銷售單時,可以将商品銷售資訊分為兩大類:第一類是單據的主體資訊(銷售主表),如銷售單号、銷售金額、銷售日期、收款人;第二類是單據的明細資訊(銷售明細表),如商品序号、商品名稱、商品數量等。在資料庫的”銷售主表”中通常以“銷售單号”作為主鍵;在“銷售明細表”中,為了辨別被銷售出去的商品隸屬于哪張單據,需要對每一條商品銷售記錄标明"單據編号”。在這種情況下,銷售明細表中的“銷售單号”就被稱為外鍵,因為“銷售單号”是其所在表以外(主體表)的一個主鍵。

1.3 關系型資料庫的E-R模型

1.3.1 E-R模型介紹

在設計關系型資料庫時,首先需要為它建立邏輯模型。關系型資料庫的邏輯模型可以通過實體和關系組成的圖形來表示,這種圖形稱為E-R圖,它實作将現實世界中的實體和實體之間的聯系轉換為邏輯模型。使用E-R圖形表示的邏輯模型稱為E-R模型,一個标準的E-R模型主要由實體、屬性和聯系3部分組成。

1.3.2 實體和屬性

實體是一個資料對象,是指客觀存在并可以互相區分的事物,如一個教師、一個學生、一個雇員等。每個實體由一組屬性來表示,如一個具體的學生擁有學号、姓名、性别和班級等屬性,其中學号可以唯一辨別具體某個學生這個實體。

具有相同屬性的實體組合在一起就構成實體集一實體的集合, 而實體則是實體集中的某一個特例,例如,同學這個實體就是學生實體集中的一個特例。

在E- R模型中,實體用矩形表示,矩形内注明實體的命名。實體名常用以大寫字母開頭的有具體意義的英文名詞來表示,聯系名和屬性名也采用這種方式。

1.3.3 實體間的聯系

在實際應用中,實體之間是存在聯系的,這種聯系必須在邏輯模型中表現出來。在E-R模型中,聯系用菱形表示,菱形框内寫明“聯系名”,并用“連接配接線”将有關實體連接配接起來,同時在"連接配接線”的旁邊标注上聯系的類型,兩個實體之間的聯系類型可以分為以下3類:

  • 一對一:

    若對于實體集A中的每一個實體, 在實體集合B中最多有一個實體與之相關;反之亦然,則稱實體集A與實體B具有一對- 的聯系,可标記聯系為1: 1。

  • 一對多:

    若對于實體集A中的每一個實體,在實體集B中有多個實體與之相關;反之,對于實體集B中的每一個實體,實體集A中最多有一 個實體與之相關,則稱實體集A與實體集具有一對多的聯系,可标記聯系為1: n。

  • 多對多:

    若對于實體集A中的每一個實體, 在實體集B中有多個實體與之相關;反之,對于實體集B中的每一 個實體,實體集A中也有多個實體與之相關,則稱實體集A與實體集B具有多對多的聯系,可标記聯系為m: n。

1.3 資料庫設計範式

1.3.1 第一範式(1NF)

第一範式是第二和第三範式的基礎,是最基本的範式,第一範式包括 下列指導原則:

  • 資料組的每個屬性隻可以包含一個值。
  • 關系中的每個數組必須包含相同數量的值。
  • 關系中的每個數組一定不能相同。

在任何一一個關系資料庫中,第一範式是對關系模式的基本要求,不滿足第一範式(1NF) 的資料庫就不是關系型資料庫。

1.3.2 第二範式(2NF)

第二範式(2NF) 是在第一-範式的基礎上建立起來的,即滿足第二範式(2NF)必先滿足第一範式(1NF)。第二範式(2NF)要求資料庫表中的每個實體(即各個記錄行)必須可以被唯一地區分。 為實作區分各行記錄,通常需要為表設定一個“區分列”,用以存儲各個實體的唯一辨別。

第二範式要求實體的屬性完全依賴于主關鍵字,即不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分 應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關系。

1.3.3 第三範式(3NF)

第三範式(3NF)是在第二=範式(2NF)的基礎上建立起來的,即滿足第三範式(3NF)必先滿足第二範式(2NF)。第三範式要求關系表不存在非關鍵字列對任意候選關鍵字列的傳遞函數依賴,也就是說,第三範式要求一個關系表中不包含已在其他表中包含的非主關鍵字資訊。

所謂傳遞函數依賴,就是指如果存在關鍵字段A決定非關鍵字段B,而非關鍵字段B決定非關鍵字段C,則稱非關鍵字段C傳遞函數依賴于關鍵字段A。

1.4 Oracle 11g 的新功能

1.4.1 增強資訊生命周期管理和存儲管理能力

Oracle 11g具有極新的資料劃分和壓縮功能,可實作更經濟的資訊生命周期管理和存儲管理。很多原來需要手工完成的資料劃分工作在Oracle 11g中都實作了自動化,Oracle 11g還擴充了已有的範圍、散列和清單劃分功能,增加了間隔、索引和虛拟卷劃分功能。

1.4.2 全面回憶資料變化

Oracle 11g具有Oracle全面回憶(Oracle Total Recall)元件,可幫助管理者查詢在過去某些時刻指定表格中的資料。管理者可以用這種簡單實用的方法給資料增加時間次元,以跟蹤資料變化、實施審計并滿足法規要求。

1.4.3 最大限度提高資訊可用性

在保護資料庫應用免受計劃停機和意外當機影響方面,Oracle在業界一直處于領先地位。Oracle 11g進一步增強 了這種領先地位,資料庫管理者現在可以更輕松地達到使用者的可用性預期。新的可用性功能包括: Oracle閃回交易(Oracle Flashback Transaction),可以輕松撤銷錯誤交易以及任何相關交易;并行備份和恢複功能,可改善非常大資料庫的備份和存儲性能; "熱修補” 功能,不必關閉資料庫就可以進行資料庫修補,提高了系統可用性。

1.4.4 Oracle快速檔案

Oracle 11g具有在資料庫中存儲大型對象的下一代功能,這些對象包括圖像、大型文本對象或一些先進的資料類型, 如XML、醫療成像資料和3維對象。 Oracle快速檔案(Oracle Fast Files)元件使得資料庫應用的性能完全比得上檔案系統的性能。

1.4.5 更快的XML

在Oracle 11g中,XML DB的性能獲得了極大的提高。XML DB是Oracle資料庫的一個元件,可幫助客戶以本機方式存儲和操作XML資料。Oracle 11g增加了對二進制XML資料的支援,現在客戶可以選擇适合自己特定應用及性能需求的XML存儲選項。

1.4.6 透明的加密

Oracle 11g進一步增強了Oracle資料庫無與倫比的安全性。這個新版資料庫增強了Oracle透明資料加密功能,将這種功能擴充到了卷級加密之外。Oracle 11g具有表空間加密功能,可用來加密整個表、索引和所存儲的其他資料。

1.4.7 嵌入式OLAP行列

Oracle 11g在資料倉庫方面也引入了創新。OLAP行列現在可以在資料庫中像物化圖那樣使用,是以開發人員可以用業界标準SQL實作資料查詢,同時仍然受益于OL AP行列所具有的高性能。

1.4.8 連接配接彙合和查詢結果高速緩存

Oracle 11g進一步增強了甲骨文在性能和可擴充性方面的業界領先地位,增加了查詢結果高速緩存等新功能。通過高速緩存和重用經常調用的資料庫查詢以及資料庫和應用層的功能,查詢結果高速緩存功能改善了應用的性能和可擴充性。

1.4.9 增強了應用開發能力

Oracle 11g提供多種開發工具供開發人員選擇,它提供的簡化應用開發流程可以充分利用Oracle 11 g的關鍵功能,這些關鍵功能包括用戶端高速緩存、提高應用速度的二進制XML、XML處理以及檔案存儲和檢索。

參考文獻:

  1. Oracle 11g從入門到精通 第二版,明日科技 著,清華大學出版社有限公司

繼續閱讀