Oracle知識點詳解


一:概述

    一、簡介

       1. 概念:Oracle 數據庫是 ORACLE 公司提供的以分布式數據庫為核心的一組軟件產品,是使用最為廣泛的大型數據庫管理系統

       2. 特點

           1. 開放性:Oracle能在所有主流平台上運行(包括Windows),完全支持所有的工業標准,采用完全開放策略,可以使客戶選擇最適合的解決方案,對開發商全力支持。

           2. 可伸縮性,並行性:Oracle的並行服務器通過使一組結點共享同一簇中的工作來擴展Windownt的能力,提供高可用性和高伸縮性的簇的解決方案。如果WindowsNT不能滿足需要,用戶可以把數據庫移到UNIX中。Oracle的並行服務器對各種UNIX平台的集群機制都有着相當高的集成度。

           3. 性能優越:Oracle幾乎是性能最高的關系型數據庫,保持開放平台下的TPC-D和TPC-C的世界記錄。

           4. 客戶端支持及應用模式:Oracle支持多層次網絡計算,支持多種工業標准,可以用ODBC、JDBC、OCI等網絡客戶連接。

          5. 操作性:Oracle相對於其他RDBMS來講較復雜,同時提供GUI和命令行,在WindowsNT和Unix下操作相同。

          6. 使用性:Oracle具有相當長時間的開發經驗,完全向下兼容。得到廣泛的認可與應用,完全沒有風險。

          7. 安全性:Oracle獲得了最高認證級別的ISO標准認證。它提供多層安全性,包括用於評估風險、防止未授權的數據泄露、檢測和報告數據庫活動,以及通過數據驅動的安全性在數據庫中實施數據訪問控制的控制。

 

       3. 架構體系

           

           1. 數據庫實例(instance):指數據庫服務器的內存及相關處理程序,是Oracle 的心臟,包括兩個部分:

               1. SGA(System Global Area,即系統全局區活共享內存區),性能核心,包括三個部分:

                   1. 數據緩沖區:可避免重復讀取常用的數據;

                   2. 日志緩沖區:提升了數據增刪改的速度,減少磁盤的讀寫而加快速度;

                   3. 共享池:使相同的SQL語句不再編譯,提升了SQL的執行速度;

               2. 后台進程:系統監控、進程監控、數據讀寫、日志讀寫、檢驗點進程,配合完成數據庫管理任務;

 

           2. 數據庫文件

               1. 數據文件(.dbf):存放數據庫的數據,保存信息的物理存儲位置;

               2. 控制文件(.ctl) :存放數據庫的基本信息,告訴數據庫到哪里找到數據文件和重做日志文件等;

               3. 日志文件(.log):記錄日志信息

               4. 參數文件(.ora):數據庫啟動時讀取的屬性

 

       4. 邏輯結構 

           

           1. 表空間(tablespace):最高級的邏輯存儲結構,數據庫是由多個表空間組成,表空間對應於若干個磁盤文件,即表空間是由一個或多個磁盤文件構成的。

               1. 系統表空間:默認的表空間,用於保存數據字典,保存所有的PL/SQL程序的源代碼和解析代碼,包括存儲過程、函數、包、數據庫觸發器等,保存數據庫對象(表、視圖、序列)的定義;

               2. 數據表空間:用於存儲用戶數據的普通表空間;

               3. 臨時表空間:存儲SQL執行過程中產生的臨時數據; 

               4. 回滾表空間:用於存放回滾段,每個實例最多只能使用一個撤銷表空間;

 

           2. 數據段(Segment):是由多個數據區構成的(可以不連續),它是為特定的數據庫對象(如表段、索引段、回滾段、臨時段)分配的一系列數據區。

                1. 數據段:保存表中的記錄。當創建一個表時,系統自動創建一個以該表的名字命名的數據段。

               2. 索引段:索引中的索引條目。一旦建立索引,系統自動創建一個以該索引的名字命名的索引段。

               3. 臨時段:在執行查詢等操作時,Oracle可能會需要使用到一些臨時存儲空間,用於臨時保存解析過的查詢語句以及在排序過程中產生的臨時數據。

               4. 回滾段:保存回滾數據。當一個事務開始處理時,系統為之分配回滾段,回滾段可以動態創建和撤銷。

 

           3. 數據區(Extent):一組連續的數據塊,用來保存特定數據類型的數據。

           4. 數據塊(Blocks):Oracle用來管理存儲的最小單元,也是最小的邏輯存儲結構,塊中存放表的數據和索引的數據。

               1. 塊的結構:由塊頭、表目錄、行目錄、空余空間、行數據五部分組成。

                   1. 塊頭(header/Common and Variable):存放塊的基本信息,如:塊的物理地址,塊所屬的段的類型。

                   2. 表目錄(Table Directory):存放表的信息。

                   3. 行目錄(Row Directory):存放行數據信息。

                   4. 空余空間(Free Space):塊中未使用的區域,這片區域用於新行的插入和已經存在的行的更新。

                   5. 行數據(Row Data):真正存放表數據和索引數據的地方。這部分空間是已被數據行占用的空間。

 

               2. 塊的存儲區:主要包含空閑空間和已經使用的空間。

                   1. PCTFREE參數:指定塊中必須保留的最小空閑空間比例。當塊中的空閑存儲空間減少到PCTFREE所設置的比例后,Oracle將塊標記為不可用狀態,新的數據行將不能被加入到這個塊。

                   2. PCTUSED參數:制定一個百分比,當塊中已經使用的存儲空間降低到這個百分比只下時,這個塊才被重新標記為可用狀態。

 

       6. 數據類型

           

 

    二、安裝部署(Windows)

       1. 官網下載(https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

            

 

       2. 解壓並運行setup.exe進行安裝

          

          

          

 

       3. 配置監聽(Net Configuration Assistant 和 listener.ora)

           

           

 

        4. 配置服務(客戶端)(Net Configuration Assistant 和 tnsnames.ora)

            

            

 

 

二:Shell 操作

    一、數據定義語言(DDL)

       

 

    二、數據操作語言(DML)

      

            

    三、數據查詢語言(DQL)

      

       1. 單表

           1. 條件查詢

               1. 條件判斷

                  

               2. 邏輯判斷

                  

               3. 范圍查找

                   

               4. 模糊查找

                   

           2. 分組

              

           3. 排序

               

           4. 分頁

               

 

       2. 多表

           1. 表與表之間的關系

               1. 一對一:唯一外鍵對應/主鍵對應

               2. 一對多:多方創建外鍵對應一方的主鍵

               3. 多對多:創建中間表,至少有兩個字段分別作為外鍵指向多對多雙方的主鍵。

           2. 連接查詢

               1. 方言:過濾的笛卡爾積

                  

               2. 自然連接:屬性相同的元組對

                   

               3. 內連接:等值連接

                  

               4. 外連接:注意空值

                  

 

           2. 子查詢:嵌套查詢(select中包含select)

                 

 

    四、數據控制語言(DCL)

       

 

    五、完整性約束

       1. 作用:DBMS自動按照一定的約束條件對數據進行監測,防止不符合規范的數據進入數據庫,以確保數據庫中存儲的數據正確、有效、相容。

       2. 實體完整性

           1. 概念:主鍵的值不能為空或部分為空的約束條件稱為實體完整性。

           2. 作用:表示每一行數據不重復。

           3. 分類(所有的INT改為NUMBER,VARCHAR改為VARCHAR2)

               1. 主鍵約束(PRIMARY KEY):指定該列的值可以唯一地標識該列記錄且不能為空

                   

               2. 唯一約束(UNIQUE):指定某列或者幾列組合不能重復。

                   

 

       3. 域完整性

           1. 概念:域完整性指列的值域的完整性。

           2. 作用:保證表中某些列不能輸入無效的值。

           3. 分類(所有的INT改為NUMBER,VARCHAR改為VARCHAR2)

               1. 非空約束(NOT NULL):指定某列不能為空

               2. 默認約束(DEFAULT):設置默認值

              

 

       4. 參照完整性

           1. 概念:外鍵約用來在兩個表之間建立連接,一對多關系中一方的主鍵。

           2. 作用:保持數據的一致性,完整性

              

 

     六、視圖

        1. 概念:視圖是從一個或多個表中導出的一個虛擬表,用戶對視圖的各種操作都不會影響源數據,保障數據庫系統的安全。

        2. 作用:簡化用戶對數據的操作,屏蔽真實表結構變化的影響,保護數據庫數據安全。

        3. 使用

           

          

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM