一,讀一致性
Read Consistent
讀一致性的保證:使用Undosegments機制
二,表操作鎖定
For update
鎖定表的所有行,排除其他對這個表的修改操作
使用commit或rollback可解鎖
在parent表中刪除/rollback child表中聯動
爲了保證事務的隔離性和一致性。
三,table的操作
create:naming rules 、schema、subquery(注意:當create語句中包含select子句時,該子句中的主外鍵約束無法繼承)
default 建表時指定default列
例:create tableA
(A_id number(2)
A_name varchar2(10)
A_date date default sysdate)該列初始化爲系統當前時間
data types 11種列數據類型
constraints
a) not null不允許爲空
b) unique唯一值
c) primary key 主鍵,注意列級與表級定義的區別,當對兩個及以上的列定義時需要表級定義。
d) foreign key建表時指定外鍵
例:create table A
(A_id number(2)
A_name varchar2(10)
A_date date default sysdate
B_id number(2)
constraint A_B _fk foreign key(B_id) references B(B_id))
在創建A表時將A表的B_id指定爲外鍵,此時A表爲child表,B表爲parent表。當刪除parent表中的被依賴行時,on delete cascade表示刪除child表中的相應列,on delete set null表示將外鍵值置爲空。
check 限定列值範圍
5. altertable
read-only可將表設定爲只讀模式或設定讀寫模式
6. drop
drop table 放入回收站,存儲空間不會被釋放,只是改了名字
drop table purge 將表徹底刪除,並釋放存儲空間
四,view視圖的操作
視圖是一個或多個表的數據子集,在一定程度上避免數據和操作權限的外泄
create、modify
當創建不存在基表的視圖時,可使用force關鍵字強制創建,但是不建議這樣做
Simple view與Complex view的區別
create、using、modify可將某列定義爲sequence,每增加一條數據自動添加列值
例:create sequence A_A_id_seq
Increment by 10
Start with 120
Maxvalue 9999
Nocache
Nocycle;
解釋:定義步長爲10,以120爲初始值,最大值爲9999,不使用內存中的序列值,不循環生成的序列。
六,index索引的創建及刪除
自動創建:當定義一個主鍵或者唯一約束時,會自動建立索引。
手動創建:
例:create index A_id_idx
On A(A_id)
刪除:
例:drop index A_id_idx
七,synonyms同義詞
可理解爲:爲數據庫對象起別名
創建:Createsynonym A_idx
For A_id_idx
刪除:drop synonym A_idx
八,附錄的簡要介紹
課下的練習及答案
HR表結構
SQLDeveloper
SQL*Plus
a) 登錄sqlplus [username[/password[@database]]]
b) 查表結構 desc tablename
c) 7條重要命令:
i. Save filename 保存內容至文件
ii. Get filename 讀取文件
iii. Start filename
iv. @ filename 執行文件中的SQL
v. Edit filename
vi. Spool filename 打印文件內容
vii. Exit
監控執行計劃 autotrace
5. Join語法
除了之前學的幾種join的用法,還包括from後跟多個表名稱及使用(+)的用法