oracle数据库基本概念
歡迎轉載,轉載請標明出處:https://blog.csdn.net/qq_44333320/article/details/105714876
Oracle數據庫基本概念
- 邏輯存儲結構
- 表空間
- 主要表空間
- 表
- 約束條件
- 段、數據區和數據塊
- 物理存儲結構
- 數據文件
- 控制文件
- 日志文件
- 實例
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”
總結
以上是生活随笔為你收集整理的oracle数据库基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS之返回数组指定元素的slice
- 下一篇: 聊聊 HTTPS 和 SSL/TLS 协