oracle學習路程 2017.8.19

第一天的oracle的學習路程,希望csdn能陪伴我堅持學習下去!

本次學習主要採用oracle11g中的企業版。

首先oracle11g企業版可以運行在windows、linux、和unix的集羣服務器或者單一服務器上,主要有點有高可靠性,高安全性,更好的數據管理,以及商務智能(高性能數據倉庫,在線分析處理和數據挖掘)。

數據庫基本術語

       數據庫

                數據庫DB(DataBase)是存放數據的倉庫,其中,分爲用戶直接可以使用的數據和數據庫定義信息的數據,後者的數據通常存放在數據字典(data dictionary)中。數據字典是數據庫管理系統工作的依據,數據庫管理系統藉助數據字典來理解數據庫中數據的組織,並完成對數據庫中數據的管理與維護。數據庫用戶可通過數據字典獲取有用的信息,如用戶創建了哪些數據庫對象,這些對象是如何定義的,這些對象允許那些用戶使用等。但是,數據庫用戶是不能隨便修改數據字典中的內容的。
            數據庫是長期存儲在計算機內,有組織的,大量的,可共享的數據結合,數據庫中的數據按一定的數據模型組織、
描述和存儲,具有較小的冗餘度、較高的數據獨立性和易擴展性。並可爲各種用戶共享。
            數據庫管理系統DBMS(DataBase Management  System)實現數據庫中數據進行各種管理與操縱,科學的組織和存儲數據,高校的獲取和維護數據,完成用戶賬戶的建立和權限的分配,以及向用戶提供各種操作功能。由於dbms是總是基於數據模型,因此可以說成是數據模型在計算機系統上的具體實現。根據數據模型的不同,分成了網狀形,層次型,關係型,面向對象型等。
            數據庫系統DBS(DataBase  System)是指計算機系統中引入數據庫後的系統,一般由數據庫,數據庫管理系統,應用系統和數據庫管理員DBA(Data Administrator)組成  。其中數據庫在計算機系統中的地位

            數據庫模式

                 數據庫系統結構是數據的一個總體框架,其中,大多數數據庫採用的數據庫的三級模式結構。如圖:
              
解釋一下。概念模式:也成爲模式,是對數據庫中全局數據邏輯結構的描述。主要描述數據的概念記錄類型及其關係,可以用DBMS中的DDL定義。
                外模式(External Schema),也稱子模式,是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是數據庫用戶的數據視圖。就是讓用戶所看到的畫面,但是除了給用戶顯示的數據,系統內部數據用戶是看不到的。DBMS提供子模式數據描述語言DDL來嚴格定義子模式。
                內模式(Internal Schema),也稱存儲模式,一個模式只有一個內模式,他是數據物理結構和存儲方式的描述,定義所有的內部記錄類型、索引和文件的組織形式,以及數據控制方面的細節。但是,內模式並不涉及到物理上的存儲和訪問,在內模式和直接的物理機上還有一層文件系統。DBMS提供內模式數據描述語言(內模式DDL)來嚴格定義內模式。

          數據庫的二級映像

                 數據庫中的模式,內模式,外模式之間有很大的區別,爲了實現用戶和數據之間的透明化,DBMS提供了兩層映像:外模式/模式映像和模式/內模式映像,有了這兩層映像,用戶就能邏輯的,抽象的處理數據,而不必關心計算機中的具體表示方式和存儲方式,同時也保證了數據具有較高的邏輯獨立性和物理獨立性。
                 外模式/模式映像:每一個外模式都有一個外模式/模式映像,他定義了外模式與模式之間的關係。一般是在外模式中描述的。模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構,對應於同一個模式有多個外模式。那麼如果模式要做修改,例如數據重新定義,增加新的關係,新的屬性,改變屬性類型等,只需要針對外模式/模式映像進行更改,而對外模式儘量不要做修改,有時候一些應用程序時根據外模式創建的,我們有了外模式/模式這一層,又保護了應用程序。這就是數據的邏輯獨立性
                模式/內模式映像:這個映像是唯一的,因爲一個數據中只有一個模式和內模式,它存在於模式和內模式之間,當數據庫的存儲結構改變時,只需要DBA對模式/內模式映像做相應的更改,就可以使模式保持不變,因此應用程序也不必改變,保證了數據與程序的數據獨立性,簡稱爲數據的物理獨立性。
              設置數據庫模式結構時應首先確定數據庫的邏輯結構。

           數據模型

                   模型是現實世界特徵的模擬與抽象,比如飛機航模。用於人們聯想現實世界中的實物。
                   數據模型(Data Model)是一種模型,他是數據庫中用於提供信息和操作,並且讓數據庫對現實世界進行抽象的工具爲了表示現實世界中的具體事物,人們需要把要處理的事物先數字化,然後抽象,表示,加工處理。
                   數據模型按不同的應用程序分爲3中類型。分別是概念數據類型(conceptual  data model),邏輯數據模型(logic data model)和物理數據模型(physical  data model)。
             概念數據類型(conceptual  data model)又稱爲概念模型,是一種面向客觀世界,面向用戶的模型,將現實世界中的事物抽象到信息世界,建立概念模型。
             邏輯數據模型(logic data model)又稱爲邏輯模型,是一種面向數據庫系統的模型,概念模型只有在轉換成邏輯模型之後才能在數據中得以表示,目前,邏輯模型的種類有很多,其中比較成熟的有層次模型,關係模型,網狀模型,面向對象模型等。
                    層次模型:用樹結構來表示數據之間的聯繫。
                    關係模型:用二維表來表示數據之間的聯繫。
                    網狀模型:用網結構表示數據之間的聯繫。
                    面向對象模型:用對象來表示數據之間的聯繫。
              物理數據模型:是一種面向計算機物理的模型,通常由數據結構,數據操縱和完整性約束三部分組成,也成爲數據模型的三大要素。  

            聯機事務處理和聯機分析處理

        聯機事務處理 OLTP(OnLine Transaction Processing)是數據庫應用系統的最底層應用,主要用於完成數據庫應用系統的各項業務處理。
        聯機分析處理OLAP(OnLine Analytical Processing)一種軟件技術,使分析人員快速,一致,交互從各個方面觀察信息。達到深入理解數據的目的。

            數據倉庫

              可以接受各類數據庫中的數據並且支持大量數據信息存儲,通常叫做數據倉庫。可以容納各式各樣的數據。

oracle的基本術語 

             數據字典:數據字典可以看作是一組表和視圖結構,存放Oracle數據庫所用的有關信息。他們存放在SYSTEM表空間中。
             數據文件:一個oracle數據庫可以擁有一個或多個數據文件,數據文件包含了全部數據庫數據。我們所存儲的hsu一個數據庫可以擁有多個數據文件,但一個數據文件只對應一個數據庫。
                              數據文件的大小可以用兩種方式表示,字節和數據塊,數據塊是oracle數據庫中最小的數據組織單位,他的大小由參數DB_BLOCK_SIZE決定。
             控制文件:數據庫控制文件是一個很小的二進制文件,它維護着數據庫的全局物理結構,支持數據庫成功的啓動和運行。創建數據庫時,就提供了與之對應的控制文件,在數據庫試用過程中,Oracle不斷的更新控制文件,只要數據庫是打開的,控制文件就可以處於可寫狀態。只要控制文件損毀,數據庫就無法順利啓動。
            日誌文件:也成爲重做日誌文件(Redo Log File),主要用於記錄數據庫的修改信息。是保證數據庫安全和數據庫備份與恢復的文件。在每一個oracle數據庫中,至少有兩個重做日誌文件組,每組有一個或多個重做日誌成員,一個重做日誌成員物理的對應一個重做日誌文件。有關日誌的模式包括歸檔模式(ARCHIVELOG)和非歸檔模式(NOARCHIVELOG)。重做日誌文件是由重做記錄組成,重做記錄又稱爲重做條目,它由一組變更向量組成。每個修改向量都記錄了數據庫中某個數據塊所做的更改。利用重做記錄,不僅能夠恢複對數據文件所做的修改操作,還能修復回滾段所做的修改操作。
           表空間:表空間是oracle中最大的邏輯結構,它提供了一套有效組織數據的方法,是組織數據和進行空間分配的邏輯結構,可以將表空間看作是數據庫對象的容器。簡單的說,表空間就是一個或多個數據文件(物理文件)的集合(邏輯文件),所有數據對象都被邏輯的存放在指定的表空間中。一個數據庫通常包括system,sysaus,temp三個默認表空間,一個或多個臨時表空間。
           系統表空間包括system和sysaus表空間,一般存放oracle數據字典表以及相應數據。
            永久表空間,用於保存永久性數據,如系統數據,應用系統數據,每個用戶都會分配一個永久表空間。
            臨時表空間,這些空間主要在查詢時帶有排序算法時使用,當使用完後立即釋放,一般安裝後只有一個temp臨時表空間。
            撤銷表空間,使得DBA能夠很容易的管理撤銷空間,叫自動撤銷管理,也成爲SMU(System Managed Undo)方式,於此對應,利用回滾段進行撤銷表空間的方式叫做手工撤銷管理,也稱爲RBU(Rollback Segments Undo)方式。注意:在一個數據庫中,只能採取一種撤銷空間管理方式,而不能同時存在兩種撤銷空間管理方式,數據庫採用哪一種撤銷管理空間方式,是由參數UNDO_MANAGEMENT來決定的,如果該參數爲‘AUTO’,在啓動數據庫時採用SMU方式,如果設置爲MANUAL,在啓動數據庫時使用RBU方式。在SMU方式下,必須在數據庫中創建一個撤銷表空間,ORACL將利用撤銷表空間來保存撤銷記錄,也可以在數據庫創建後再創建新的撤銷表空間。
          大文件表空間和小文件表空間:是爲了超大型數據庫而設計的,用來減少文件的數量,從而減少更新的時間,一個大文件表空間對應一個單一的數據文件或臨時文件。理論上當數據塊大小爲2kb時,大文件表空間可以達到8TB,當數據塊大小爲4kb時,大文件表空間可以達到32TB。
           表空間的狀態。(1)讀寫狀態(Read-Write)(2)只讀狀態(Read-Only)(3)脫機(Offline)狀態:當表空間處於脫機狀態時,該表空間暫時不能被用戶訪問。用戶只有在聯機狀態時纔可以訪問數據庫。
           段:用於存儲表空間中某一特定的具有獨立存儲結構的對象的所有數據。它由一個或多個區組成。段包含表空間中一種指定類型的邏輯存儲結構,段是數據區的集合,每個段都分配給特定的數據結構,存儲在相同的表空間中。oracle以區爲單位爲段分配空間,當段的數據區已滿的時候,oracle爲段分配另一個數據區。將段分成數據段,索引段,臨時段,回滾段。
          區:是由物理上連續存放的塊構成的,區是oracle存儲分配的最小單位,由一個或多個塊組成。
          數據塊:是最小的數據管理單位,也是執行輸入輸出操作時的最小單位。數據塊中可以存儲各種類型數據,如表數據,索引數據和簇數據等。
          
數據塊 表空間 數據庫











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章