1。 數據庫基礎
1。 數據抽象:物理抽象,概念抽象,視圖級別抽象,內部模式,模式,外部模式
2。 SQL語言包括數據定義,數據處理(數據操作),數據控制(數據控制)
數據定義:創(chuàng)建表,Alter表,Drop表,Craete / DropIndex等。
Data 操作:選擇,插入,更新,刪除,
數據控制:授予,吊銷,提交,回滾
3。 常見的SQL命令:
創(chuàng)建表Student(
ID號碼主鍵,
NAME VARCHAR2(50)NOT NULL); //創(chuàng)建表 [ h]
創(chuàng)建視圖視圖名稱AS
選擇* FROM表名稱; //建立視圖
在TableName(col_name)上創(chuàng)建唯一索引索引名稱 ; //建立索引
插入表名{column1,column2,...} values(exp1,exp2,...); //插入
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…); //插入視圖實際受影響的表
UPDATE表名SET名稱='zang 3'條件; //更新數據
從表名WHERE條件中刪除; //刪除
GRANT(選擇,刪除等)ON(對象)到USER_NAME [WITHGRANT OPTION]; //授權
從用戶名REVOKE(權限表)ON(對象)從USER_NAME [WITH REVOKE OPTION] //撤消授權< br>
列出員工及其領導的姓名:
從雇員ES中選擇E.NAME,S.NAME。
WHERE E.SUPERName = S.Name
[h ] 4。 查看:
5。 完整性約束:實體完整性,引用完整性,用戶定義的完整性
6。 第三種范式:
1NF:每個屬性是不可分割的。
2NF:如果關系R為1NF,并且每個非主要屬性在功能上完全依賴于R的鍵。例如,SLC(SID#,CourceID#,SNAME,等級)不是2NF;
3NF:如果R為2NF,并且其任何非密鑰屬性都不可傳遞地依賴于任何候選密鑰。
7。 ER(實體/關系)模型
8。 索引函數
9。 事務:一系列數據庫操作,是數據庫應用程序的基本邏輯單元。 交易性質:原子性,
l原子性。 即,不可分割的是,事務要么全部執(zhí)行,要么全部不執(zhí)行。
l一致性或可伸縮性。 事務的執(zhí)行使數據庫從一種正確的狀態(tài)隔離到另一種正確的狀態(tài)。
在正確提交事務之前,不允許將由事務進行的任何數據更改提供給任何其他事務,即持久性。 正確提交交易后,結果將永久保存在數據庫中。
即使在提交事務后還有其他失敗,事務的處理結果也將被保存。
10。 鎖:共享鎖和互斥鎖
兩階段鎖定協(xié)議:階段1:鎖定階段階段2:解鎖階段
11。 死鎖和處理:事務循環(huán)等待數據鎖定,它將死鎖。
死鎖處理:死鎖預防協(xié)會討論,死鎖恢復機制
12。 存儲過程:存儲過程是一些已編譯的SQL語句。
1。 由于SQL語句已預編譯,因此存儲過程運行得更快。
2。 可以保證數據的安全性和完整性。 通過存儲過程,未經許可的用戶可以在控制下間接訪問數據庫,從而確保數據安全性。 通過存儲過程,相關動作可以一起發(fā)生,從而可以維護數據庫的完整性。
3。 可以減少網絡流量。 存儲過程主要在服務器上運行,以減輕客戶端的壓力。
4:存儲過程可以接受參數,輸出參數,返回單個或多個結果集以及返回值。 可以將錯誤原因返回給程序
5:存儲過程可以包含程序流,邏輯和對數據庫的查詢。 同時,數據邏輯可以被物理封裝和隱藏。
13。 觸發(fā)器:滿足觸發(fā)器條件時,系統(tǒng)會自動執(zhí)行觸發(fā)器的觸發(fā)器主體。
觸發(fā)時間:在之前,之后。 觸發(fā)事件:有三種插入,更新和刪除。 觸發(fā)器類型:行觸發(fā)器,語句觸發(fā)器
14。 內部聯(lián)接和外部聯(lián)接有什么區(qū)別?
內部聯(lián)接是為了確保兩個表中的所有行都必須滿足聯(lián)接條件,而外部聯(lián)接則不能。
在外部聯(lián)接中,還將顯示一些不滿足條件的列,即,僅限制一個表的行,而不限制另一個表的行。 共有三種類型:左連接,右連接和完全連接