1.觸發(fā)器: 觸發(fā)器是一種特殊的存儲(chǔ)過程渗钉,主要是通過事件來觸發(fā)而被執(zhí)行的
2.存儲(chǔ)過程:存儲(chǔ)過程就是編譯好了的一些sql語句
3.內(nèi)聯(lián)接,外聯(lián)接區(qū)別步咪?
內(nèi)連接是保證兩個(gè)表中所有的行都要滿足連接條件,而外連接則不然。
在外連接中弛姜,某些不滿條件的列也會(huì)顯示出來,也就是說妖枚,只限制其中一個(gè)表的行廷臼,而不限制另一個(gè)表的行
- 完整性約束:實(shí)體完整性、參照完整性盅惜、用戶定義完整性
- 索引的作用及優(yōu)點(diǎn)缺點(diǎn)是什么中剩?
答:索引就一種特殊的查詢表,數(shù)據(jù)庫的搜索引擎可以利用它加速對(duì)數(shù)據(jù)的檢索抒寂。它很類似與現(xiàn)實(shí)生活中書的目錄结啼,不需要查詢整本書內(nèi)容就可以找到想要的數(shù)據(jù)
優(yōu)點(diǎn):可以是唯一的,創(chuàng)建索引允許指定單個(gè)列或是多個(gè)列
缺點(diǎn):它減慢了數(shù)據(jù)錄入的速度屈芜,同時(shí)增加數(shù)據(jù)庫的尺寸大小
6.什么是存儲(chǔ)過程和用什么來調(diào)用郊愧?
存儲(chǔ)過程是一個(gè)預(yù)編譯的SQL語句,優(yōu)點(diǎn)是允許模塊化的設(shè)計(jì)井佑,就是說只需創(chuàng)建一次属铁,以后在該程序中就可以調(diào)用多次」蹋可以用一個(gè)命令對(duì)象來調(diào)用存儲(chǔ)過程
7.什么是事務(wù)焦蘑,什么是鎖?
事務(wù)就是被綁定在一起作為一個(gè)邏輯工作單元的SQL語句分組盒发,如果任何一個(gè)語句操作失敗那么整個(gè)操作就被失敗例嘱,以后操作就會(huì)回滾到操作前狀態(tài),或者是上個(gè)節(jié)點(diǎn)宁舰。
在所有的DBMS中拼卵,鎖是實(shí)現(xiàn)事務(wù)的關(guān)鍵,鎖可以保證事務(wù)的完整性和并發(fā)性蛮艰。
當(dāng)然鎖還分級(jí)別的腋腮,與現(xiàn)實(shí)生活中鎖一樣,限制數(shù)據(jù)的擁有者使用某些數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)
8.什么叫視圖:視圖是一種虛擬的表,具有和物理表相同的功能即寡』惭疲可以對(duì)視圖進(jìn)行增,改聪富,查实柠,操作;試圖通常是有一個(gè)表或者多個(gè)表的行或列的子集善涨。
對(duì)視圖的修改不影響基本表。相比多表查詢草则,它使得我們獲取數(shù)據(jù)更容易
9.什么是游標(biāo):是對(duì)查詢出來的結(jié)果集作為一個(gè)單元來有效的處理
可以定在該單元中的特定行钢拧;從結(jié)果集的當(dāng)前行檢索一行或多行;可以對(duì)結(jié)果集當(dāng)前行做修改炕横;常用于需要逐條處理數(shù)據(jù)的時(shí)候
10.索引:是一個(gè)數(shù)據(jù)結(jié)構(gòu)源内,用來快速訪問數(shù)據(jù)庫表格或者視圖里的數(shù)據(jù)
在SQL Server里,它們有兩種形式:聚集索引和非聚集索引
聚集索引:在索引的葉級(jí)保存數(shù)據(jù)份殿。這意味著不論聚集索引里有表格的哪個(gè)或哪些字段膜钓,這些字段都會(huì)按順序被保存在表格。由于存在這種排序卿嘲,所以每個(gè)表格只會(huì)有一個(gè)聚集索引
非聚集索引:在索引的葉級(jí)有一個(gè)行標(biāo)識(shí)符颂斜。這個(gè)行標(biāo)識(shí)符是一個(gè)指向磁盤上數(shù)據(jù)的指針。它允許每個(gè)表格有多個(gè)非聚集索引
11.內(nèi)連接:只連接匹配的行
12.左外連接:包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行)以及右邊表中全部匹配的行
13.右外連接:包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行)以及左邊表中全部匹配的行
14.全外連接:包含左拾枣、右兩個(gè)表的全部行沃疮,不管在另一邊的表中是否存在與它們匹配的行
15.交叉連接:生成笛卡爾積它不使用任何匹配或者選取條件,而是直接將一個(gè)數(shù)據(jù)源中的每個(gè)行與另一個(gè)數(shù)據(jù)源的每個(gè)行一一匹配
16.Oracle系統(tǒng)進(jìn)程主要有哪些梅肤,作用是什么
數(shù)據(jù)寫進(jìn)程(DBWR):負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件
日志寫進(jìn)程(LGWR):將重做日志緩沖區(qū)中的更改寫入在線重做日志文件
系統(tǒng)監(jiān)控 (SMON): 檢查數(shù)據(jù)庫的一致性如有必要還會(huì)在數(shù)據(jù)庫打開時(shí)啟動(dòng)數(shù)據(jù)庫的恢復(fù)
進(jìn)程監(jiān)控 (PMON): 負(fù)責(zé)在一個(gè)Oracle 進(jìn)程失敗時(shí)清理資源
檢查點(diǎn)進(jìn)程(CKPT):負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息
歸檔進(jìn)程 (ARCH):在每次日志切換時(shí)把已滿的日志組進(jìn)行備份或歸檔
恢復(fù)進(jìn)程 (RECO): 保證分布式事務(wù)的一致性,在分布式事務(wù)中,要么同時(shí)commit,要么同時(shí)rollback
作業(yè)調(diào)度器(CJQ ): 負(fù)責(zé)將調(diào)度與執(zhí)行系統(tǒng)中已定義好的job,完成一些預(yù)定義的工作.
給出兩種相關(guān)約束:主鍵和外鍵
1.JOIN 子句:用于把來自兩個(gè)或多個(gè)表的行結(jié)合起來司蔬,基于這些表之間的共同字段--即返回共同的字段
2.觸發(fā)器的作用:它可以強(qiáng)化約束,來維護(hù)數(shù)據(jù)的完整性和一致性姨蝴;可以跟蹤數(shù)據(jù)庫內(nèi)的操作俊啼,從而不允許未經(jīng)許可的更新和變化;可以聯(lián)級(jí)運(yùn)算
觸發(fā)器被用來限制數(shù)據(jù)庫表格里的字段能夠接受的值左医,但是這種辦法要求觸發(fā)器在表格里被定義授帕,這可能會(huì)在某些情況下影響到
因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性
3.事務(wù):為了確保要么執(zhí)行炒辉,要么不執(zhí)行豪墅,就可以使用事務(wù)。要將有組語句作為事務(wù)考慮黔寇,就需要通過ACID測(cè)試偶器,即原子性,一致性,隔離性和持久性
4.比較truncate和delete 命令
解答:兩者都可以用來刪除表中所有的記錄
區(qū)別:truncate是DDL操作屏轰,它移動(dòng)HWK颊郎,不需要 rollback segment 而Delete是DML操作, 需要rollback segment 且花費(fèi)較長(zhǎng)時(shí)間