oracle數據庫基本概念——我的Oracle學習之路

歡迎轉載,轉載請標明出處:https://blog.csdn.net/qq_44333320/article/details/105714876

Oracle是一種關係數據庫管理系統(RDBMS)。關係數據庫是按照二維表結構方式組織的數據集合,每個表體現了集合理論中定義的數學概念————關係。
Oracle數據庫(Database)是一個數據容器,它包含了表、索引、視圖、過程、函數、包等對象,並對這些對象進行統一的管理。用戶只有和一個確定的數據庫連接,才能使用和管理該數據庫中的數據。

邏輯存儲結構

表空間

一個ORACLE數據庫能夠有一個或多個表空間,而一個表空間則對應着一個或多個物理的數據庫文件,但一個數據庫文件只能與一個表空間相聯繫。表空間是ORACLE數據庫恢復的最小單位,容納着許多數據庫實體,如表、視圖、索引、聚簇、回退段和臨時段等。

每個ORACLE數據庫均有SYSTEM表空間,這是數據庫創建時自動創建的,用於存儲系統的數據字典表、程序單元、過程、函數、包和觸發器等。SYSTEM表空間必須總要保持聯機,因爲其包含着數據庫運行所要求的基本信息(關於整個數據庫的數據字典、聯機求助機制、所有回退段、臨時段和自舉段、所有的用戶數據庫實體、其它ORACLE軟件產品要求的表)。

主要表空間

Oracle11g默認創建的主要表空間

  • SYSTEM表空間(系統表空間)
  • SYSAUX表空間(輔助表空間)
  • UNDO表空間(撤銷表空間)
  • USERS表空間(用戶表空間)
  • TEMP表空間(臨時表空間)

表(TABLE)是數據庫中存放用戶數據的對象。它包含一組固定的列。表中的列描述該表所跟蹤的實體的屬性,每個列都有一個名字、若干個屬性。

約束條件

  • 非空約束(not null):約束該列一定要輸入值。
  • 主關鍵字約束(primary key):用來唯一標示表中的一個列,一個表中的主鍵約束只能有一個。
  • 外關鍵字約束(foreign key):用來約束兩個表中列之間的關係。
  • 唯一約束(unique):用來唯一標示表中的列。與主鍵約束不同的是,在一個數據表中可以有多個唯一約束。
  • 檢查約束(check):用來約束表中列的輸入值得範圍,比如在輸入性別時,要求數據庫中只能輸入男或者女,就可以使用檢查約束來約束該列。

段、數據區和數據塊

塊就是最小的邏輯單位,也是最小的存儲單位。
表空間、段、區和數據塊之間的關係

物理存儲結構

Oracle數據庫的物理存儲結構有多種物理文件組成,主要有數據文件、控制文件、重做日誌文件、歸檔日誌文件、參數文件、口令文件和警告日誌文件等。

數據文件

數據文件(Datafiles)

  • 系統數據:關於oracle的內部的元數據信息
  • 用戶數據:用戶自己業務相關的數據
  • 數據文件的特徵是:
    1.一個數據文件只能屬於一個數據庫
    2.數據文件可以被設置成自動增長
    3.一個或多個數據文件組成了表空間
    4.一個數據文件只能屬於一個表空間

控制文件

控制文件(control files)

  • 描述了數據庫的物理結構(數據文件、日誌文件的位置),數據庫當前狀態,檢查點信息,還有備份的信息.

日誌文件

日誌文件(log file)

  • 日誌文件包括重做日誌文件(不可或缺)、歸檔日誌文件等
  • 用於記錄數據庫所做的版全部變更(如增加、刪除、修改),以便在系統發生故障時,用它對數據庫進權行恢復。

實例

數據庫實例(Instance)也稱作是服務器(server)是指用來訪問數據庫文件集的存儲結構(系統全局區)及後臺進程的集合。

敲敲知識點:
1.在Oracle數據庫中,SYSTEM數據文件不能被刪除
2.解決SqlPlus前臺程序出現中文亂碼的問題
第一步:在sqlplus中執行 select userenv(‘language’) from dual;查看當前數據庫的字符集爲:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。我們只需要把客戶端字符集和操作系統字符集都設置成這個就行了
第二步:在環境變量中查找一個名爲“NLS_LANG”的環境變量,如果找不到,則新建一個,把變量值賦值爲:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

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