orcal期末復習總結
物理存儲結構
數據庫的物理存儲結構主要包括3個類物理文件:數據文件,控制文件,重做日誌文件;
其他文件:歸檔日誌文件,參數文件,密碼文件;
相關命令
sqlplus / as sysdba ; 登入超管
alter user scott account unlock ; 解鎖scott用戶
grant username to xx; 給用戶授權
show user; 查看當前用戶
disc ; --disconnect 退出當前用戶
help ; 查看幫助命令
/ or run; 運行緩沖池命令
star D:\xxx.sql; 運行指定路徑的命令
get D:\xxx.sql ; 將外部文件導入緩沖區
alter user scott identified by pwd ; 超管修改指定用戶登入密碼, pwd xxxx;當前用戶修改自身密碼;
查詢表結構 desc
select * from emp;
update emp set ename=‘ ‘ where empno= xxx ;
delete from emp where empno = xxx ;
insert into em[(empno,ename,....)] values(.....);
E-R圖轉換關系模式
1:1 任意一張表的主鍵加入到另一張表中充當外鍵。
1:n 將1的一方表的主鍵作為n方表的外鍵。
n:n 用雙方的主鍵新建一張表這兩個主鍵一起當作這一張表的主鍵,來唯一確定這張表,兩個主鍵分別也是這張表的外鍵,第三張表加入騎衍生屬性。
啟動數據庫與實例
啟動模式
1.創建並啟動數據庫相對應的實例,此時只用到初始化參數文件,數據庫是否存在對其沒有影響。如果初始化參數文件有誤,值實例啟動失敗。
2.為實例加載數據庫:將打開數據庫的控制文件,從控制文件中獲取,數據庫名,數據文件的位置和名稱等有關數據庫的物理結構信息,為打開數據庫做好準備。如果控制文件順壞,則實例無法加載數據庫。
3.將數據庫設為打開狀態:實例將打開處於聯機狀態的所有數據文件和重做日誌文件。控制文件中的任何一個數據文件或重做日誌文件若無法正常打開,數據庫將返回錯誤信息,則需要進行數據庫修復。
啟動實例不加載數據庫 nomount模式
startup nomount 執行維護工作時必須在此模式下進行。如 -----創建數據庫,重建控制文件
加載數據庫但不打開數據庫
startup mount 有必要在進行一些特定為維護工作時打開該狀態。 如 -----重命名數據文件,添加,刪除,或重命名重做日誌文件,執行數據庫時完全恢復操作。
正常打開數據庫
startup or startup open
強制打開數據庫
startup force -----在上述任何情況下,則這時需要強制打開數據庫
轉換啟動模式
實例加載數據庫 alter database mount;
shutdown normal;
阻止任何用戶建立新的連接,等待所有正在連接的用戶主動斷開連接,已連接的用戶能夠繼續操作,一旦所有的用戶斷開連接,則立即開始關閉。
正常關閉數據庫,先關閉數據庫-》將數據庫從實例上卸載-》終止實例
shutdown immediate;盡可能最短的時間數據庫;
阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事物,任何未提交的事物均被退回,orcale不等待用戶主動斷開連接,而是直接關閉數據庫,卸載數據庫,並終止實例。
shutdown transactional;
阻止用戶建立新的連接,同時阻止當前連接的用戶開始的任何新的事物。
等待所有未提交的活動事物提交完畢,讓後立即斷開用戶的連接,關閉,卸載數據庫,終止實例。
數據查詢
1.select 語句查詢結果多個字段拼接
select ename||‘,‘||empno [as] "別名" from emp ;
2.save D:\xxx.sql 將上次查詢到額sql語句保存到指定路徑
3.select distinct 列名/distinct(列名) from emp; ----去除查詢結果中的重復項.
運算符優先級
比較運算符>not>and>or
4.比較運算符
=,<>或!>,>,<,<=,>=
any 使用清單中任意一個值來比較。
all 使用清單中的所有值來比較
>any 大於清單中最小的值
<any 小於清單中最大的值
=any 相當於in
>all 大於最大值 <all小於最小值
5.sql運算符
like , in , between , isnull , isnan與非數字值匹配
6.字符函數
ascll(string x) 返回x的ascll值
concat(x,y)
lenth(x)
lower(x)
upper(x)
lpad(x,wid[,*]) 如果沒有*號默認補空格,使其左邊補齊使整個字符串長度為wid,若有*或其他字符串則補對應字符串.
rpad(x,wid,*) 同上右邊補齊
nvl(x,value) 如果x為空 則替換x值為value 值
7.數學函數
abs(x)返回x的絕對值
ceil(x)返回大於等於數字x值得最小整數
floor(x)返回小於等於數字x值的最小整數
log(x,y) x為底數值y的對數
mod(x,y) x/y的余數
power(x,y) x的y次冪
round(x,[y]) 四舍五入,當y為省略時四舍五入到整數,若y為負數則省略到10的該值絕對值加一次冪例如round(45.985,-1) = 50 -2=500, 0= 46 , 1=46.0
trunc(x,[y]) 同上,但不做四舍五入運算.
orcal期末復習總結