致命三連
是什麼:建立在結果集與表之間的虛擬表
為什麼:可以簡化sql語句,對常用的sql語句進行封裝
怎麼用:create or replace view 檢視名 as select語句 [with read only];
select * from 檢視名;
分類物理檢視 : 真是儲存資料
邏輯檢視 : 不會真是儲存資料,資料來資源資料來源 注意:更改檢視中資料就是更改資料來源資料。
許可權問題
要想建立檢視首先得獲取建立檢視許可權
登入sys管理員賬號
授權: grant dba to 賬戶名;
**: revoke dba from 賬戶名;
致命三連
是什麼:相當於目錄
為什麼:提高查詢效率
怎麼用:新增索引:create index index_sal on emp(sal)
注意:索引是透明的,乙個欄位上是否新增了索引對字段的使用沒有任何影響
大資料量前提下,做查詢才會提高效率,如果頻繁做增刪,反而會降低效率,索引也是資料庫的物件之一,需要維護
唯一性較好,少量修改,大量查詢適合新增索引
oracle資料庫自動為主鍵新增索引
是什麼:是使用工具|程式管理流水號
注意:序列是管理主鍵字段值的,是數值型的,並有一定變化規律
序列沒有事務管理,所以沒有回滾,多個事務無法獲取同乙個值
序列的建立不與字段繫結,所以刪除的時候不影響之前的使用
第一次使用序列要先獲取下乙個最新值
怎麼用:
建立序列
create sequence 序列名 start with 起始值 increment by 步進;
獲取下乙個序列值
select seq_deptno.nextval from dual;
獲取當前序列值
select seq_deptno.currval from dual;
插入序列號
insert into dept values(seq_deptno.nextval,'','');
刪除序列
drop sequence seq_deptno;
是什麼:是指作為單個邏輯工作單元執行的一組相關操作。這些操作要求全部完成或者全部不完成。
為什麼:為了保證資料的安全有效
怎麼樣:事務的開啟與結束
執行dml中的insert delete update預設開啟事務
成功手動提交:使用commit
正常執行完成ddl語句:create,alter,drop
正常執行dcl語句:grant,revoke
正常退出,詢問是否提交
如果人工要使用隱式事務,set autocommit on (只針對乙個連線)
失敗意外退出,強制斷電
手動提交:使用rollback
原子性:是資料庫中邏輯工作單位,事務中各種操作,要麼全完成要麼都不完成
一致性:只有一種結果,不是全寫入,就是全不寫入
隔離性:乙個事務操作其他事務無法干擾,併發事務互不干擾,是隔離的
持續性:一旦提交永久性改變
髒讀:無效資料讀出(髒資料)乙個事務讀取了另乙個事務未提交的資料解決辦法:把資料庫的事務隔離級別調整到read_committed(讀提交/不可重複讀)
幻讀:幻讀也是指當事務不獨立執行時,插入或者刪除另乙個事務當前影響的資料而發生的一種類似幻覺的現象。解決辦法:把資料庫的事務隔離級別調整到serializable_read(序列化執行),或者資料庫使用者自己進行加鎖來保證
不可重複讀:是指在同乙個事務內,兩次相同的查詢返回了不同的結果解決辦法:把資料庫的事務隔離級別調整到repeatable_read(可重複讀)
注意:不可重複讀出現多是因為修改,幻讀重點在於新增與刪除。可新增鎖的概念解決此類問題,但會影響效能。
read uncommitted:讀未提交,就是乙個事務可以讀取另乙個未提交事務的資料
read committed:讀提交,就是乙個事務要等另乙個事務提交後才能讀取資料
repeatable read:重複讀,就是在開始讀取資料(事務開啟)時,不再允許修改操作
serializable 序列化:是最高的事務隔離級別,在該級別下,事務序列化順序執行,可以避免髒讀、不可重複讀與幻讀。但是這種事務隔離級別效率低下,比較耗資料庫效能,一般不使用。
資料庫之事務
事務是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是個不可分割的工作單位。如果某一事務成功,則在該事務中進行的所有資料更改均會提交,成為資料庫中永久的組成部分。如果事務遇到錯誤,則必須取消或回滾,所有資料均被更改清除。1 原子性 atomicity 事務是資料庫的邏輯工...
資料庫之事務
概述 事務一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種資料項的乙個程式執行單元 unit 特徵 事務具有4個基本特徵,分別是 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 duration 簡稱acid。原子性事務的原子性...
資料庫 之 事務
本文將以mysql為主分析 在mysql中只有使用了innodb資料庫引擎的資料庫或表才支援事務 事務處理可以用來維護資料庫的完整性,保證成批的sql語句要麼全部執行,要麼全部不執行 事務用來管理insert update delete語句。事務必須滿足4個條件acid a atomicity 原子...