Oracle——數據庫基礎
1.數據庫的架構:在Oracle數據庫中,一個實例只能管理一個數據庫,只有數據庫在集羣的環境下才能實現多個數據庫被一個實例管理。
2.內存分配:Oracle的內存分配大部分是由INIT.ORA來決定的。
3.數據管理的作用:數據庫管理是對各種數據進行分類、組織、編碼、存儲、檢索、維護。
4.數據管理經歷的三個階段:人工管理、文件系統、數據庫。
5.數據庫階段的主要特點:實現數據的共享、數據具有獨立性、數據實現集中控制、故障恢復。
6.數據庫的模型:
1)層次結構模型:層次結構模型類似於倒置的樹形,一個父表可以有多個子表,但是每一個子表都對應着一個父表<由於層次結構模型的結構很難改變所以在表示表之間的關係時也有一些侷限性>
2)網狀結構模型:打破了層次模型使用的限制,可以更全面地描述數據庫中表之間的關係,可以一個父表沒有子表,也可以一個子表有多個父表,還可以設置兩個表之間的多種關係。
3)關係結構模型:關係結構模型可以說是在層次結構模型和網狀結構模型的基礎上發展而來的,是目前使用最多的數據模型,關係結構模型實際上就是一個二維表,是由行和列組成的。在關係結構模型中,把一行數據成爲一個元組,把一列數據稱爲一個字段或屬性。
7.數據庫的模式:是對現實世界的抽象,是對數據庫中全體數據的邏輯結構和特徵的描述。
8.模式反映的是什麼:模式反映的是數據的結構及其聯繫,數據庫系統在其內部具有三級模式和二級映像。
9.三級模式分別是:外模式、模式、內模式。
10.二級映像分別是:外模式/模式映像、模式/內模式映像。
11.數據庫結構分爲3級:
1)面向用戶或應用程序員的用戶級 —— 外模式
2)面向建立和維護數據庫人員的概念級 —— 模式
3)面向系統程序員的物理級 —— 內模式
12.模式:它是由數據庫設計者綜合所有用戶的數據,按照統一的觀點構造的全局邏輯結構是對數據庫中全部數據的邏輯結構和特徵的總體描述,是所有用戶的公共數據視圖,它是由數據庫管理系統提供的數據模式描述語言(DDL)來描述、定義的,體現並反映了數據庫系統的整體觀。
13.外模式:它是某個或某幾個用戶所看到的數據庫的數據試圖,是與某一應用有關的數據邏輯的表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據,用戶可以通過外模式描述語言來描述、定義對應於用戶的數據記錄(外模式)也可以利用數據操縱語言(DML)對這些數據記錄進行操作。
14.內模式:它是數據庫中全體數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上存儲方式的物理結構,對應着實際存儲在外存儲介質上的數據庫。
15.二級映像:數據庫系統的三級模式是對數據的3個抽象級別,爲了能夠在內部實現這3個抽象層次的聯繫和轉換,DBMS在這3個級別之間提供了兩層映像:外模式/模式映像、模式/內模式映像。
16.外模式/模式映像:外模式/模式映像使數據具有較高的邏輯獨立性。它定義了該外模式與模式之間的對應關係。這些映像定義通常包含在各自外模式的描述中。當模式改變時,DBA要對相關的外模式/模式映像做相應的改變,以使外模式保持不變,應用程序是依據數據的外模式編寫的,外模式不變應用程序就沒必要修改。所以,外模式/模式映像功能保證了數據與程序的邏輯獨立性。
17.模式/內模式映像:模式/內模式映像是數據具有較高的物理獨立性。它定義了數據庫全局邏輯結構與存儲結構之間的對應關係。該映像定義挺長包含在模式描述中。當數據庫的存儲結束了,DBA要對模式/內模式映像做相應的改變,以使模式保持不變。模式不變,與模式沒有直接聯繫的應用程序也不會改變。所以,模式/內模式映像功能保證了數據與程序的物理獨立性。
18.數據庫中的相關術語:
1)表:即在數據庫中存放數據用的數據表,每一個數據庫中都可以包含多張數據表,但是每一個數據表的名字都是不能重複的,表的一行代表一條記錄,每一列都有一個列名,列名是唯一的,行和列的交叉點稱爲字段。
2)視圖:視圖是數據庫中的虛擬表,在視圖中存放的是從數據表中查詢出來的記錄,使用視圖主要是爲了方便信息查詢,同時也能夠縮短查詢數據的時間。
3)存儲過程:存儲過程是由SQL語句和控制流語句組成的語句塊。存儲過程存儲在數據庫內,可由應用程序通過存儲過程的名稱調用執行;
存儲過程在開發軟件時可以把大量的數據操作放在服務器端的存儲過程中,而只返回需要的數據,這樣就減少了數據的傳輸量,速度也可以大大地提高。
4)觸發器:觸發器是特殊的存儲過程,也是由sql語句和程序控制語句組成的。但是,觸發器在數據庫中是不需要調用而自動執行的。
5)約束:
<1>主鍵約束:主鍵約束在每個數據表中只能有一個,但是主鍵約束可以有多個列組成,通常把由多個列組成的主鍵又叫做複合主鍵或組合主鍵。主鍵約束可以保證主鍵列的數據沒有重複值且值不爲空,也可以說是唯一地表示表中的一條記錄。
<2>外鍵約束:它主要用作把一個表中的數據和另一個表中的數據進行光聯,表和表之間的關聯是爲了保證數據庫中數據的完整性,使用外鍵保證數據的完整性,也叫參照完整性。
<3>唯一約束:設置表中的列不能重複的約束,唯一約束可以有多個,目的是使非主鍵列沒有重複值但值可以爲空。
<4>檢查約束:用來指定表中列的值的取值範圍。
<5>非空約束:非空約束是用來約束表中的列不允許爲空。
19.數據庫設計的完整性:
1)實體完整性:要求表中的主鍵字段都不能爲空或者重複的值。
2)區域完整性:保證輸入到數據庫中的數據是在有效範圍內的,可以利用檢查約束來設置。
3)參照完整性:可以保證數據庫中相關聯的表裏面數據的正確性,使用外鍵約束就可以保證參照完整性。
20.範式<設計關係型數據庫的準則>
1)第一範式(1NF):就是數據庫表中的字段都是單一屬性的,不可再分。
2)第二範式(2NF):2NF是在1NF的基礎上進一步對關係型數據庫進行規範;2NF是要求在數據庫表中不存在非關鍵字段對任一候選字段的部分函數依賴
通常做法:不用組合主鍵,添加一個編號列作爲第一主鍵即可滿足第二範式,如果不想添加編號列,就滿足組合主鍵(AB)裏面的A或者B與其他字段不能存在組合重複。
不按照2NF會造成以下問題:數據冗雜、更新異常、插入異常、刪除異常。
3)第三範式(3NF):3NF實在2NF的基礎上對數據庫設計進行規範,3NF要求數據表中不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴。
注:傳遞函數依賴:A決定B,B決定C,則C傳遞函數依賴於A。
21.繪製E—R圖
1)要素:實體、屬性、聯繫
2)聯繫可分爲:一對一關係(1:1)、一對多關係(1:n)、多對多關係(n:m)
22.數據定義語言(DDL):定義數據庫中數據要如何存儲的,DDL語言包括對數據庫中對象的創建、修改、刪除的操作,這些對象有數據庫、數據表、視圖、索引等。
23.數據操作語言(DML):對數據庫進行操作,主要包括對數據庫表中的數據進行增加、刪除、修改的操作,並且在操作時一次可以把表中數據按條件進行多條或全部的處理,爲數據庫的使用提供方便。
24.數據查詢語言(DQL):對數據庫表中的數據進行查詢,查詢時即可以查詢一個表也可以進行多表查詢,並且可以按不同的條件來檢索數據。
25.數據控制語言(DCL):對數據庫表中的對象權限設置和取消等操作,只有數據庫的系統管理員纔有權利去執行對數據庫對象權限的操作。