informix clob转oracle 乱码_Oracle 视图-序列-权限-表-事务
一、視圖
視圖(view),稱為虛表,在數據庫中不存在實體。
視圖本質上是對物理表(基表)的一種數據保護。讓開發者或者用戶只能看到基表中的部分數據。
1.1 創建視圖
創建視圖的語法
1.2 使用視圖
可以像使用表一樣使用視圖
修改視圖中的數據
添加數據
通過視圖添加數據,數據最終添加到基表中,因為視圖是虛表。
視圖一般只是基表的部分數據,通過視圖向基表添加數據時,基本的數據只能添加一部分,此時基表會對未提供的字段置 null。如果基表對未提供的字段要求不能為null,則此次添加會失敗。
刪除數據
更新數據
不能通過視圖更新視圖不存在的字段。
只讀視圖
1.3 視圖的應用
二、權限管理
第一次使用Scott 賬戶需要解鎖
此時Scott 如果對數據庫進行DDL操作是沒有權限的。把創建視圖、創建表的權限分配給Scott。
注意:權限性操作都要以sysdba連接來操作。
如何創建一個用戶并授予一定權限?
查看用戶權限
select * from user_sys_privs;
三、表
數據庫數據類型
其他類型:
CLOB:最大長度4G-->大對象很少使用:如果存在大對象,一般的解決方案是存入文件地址(地址為程序所在應用服務器的相對路徑)
BLOB : 存二進制文件。
注意:在數據庫設計時,如果要存大文件(視頻、音頻等),一定不要使用BLOB/CLOB,通用的解決方案都是存文件的地址。
3.1 表的創建
創建表的語法
創建一個學生表
T_STUINFO(sid,name,phone,gender,birthday,address)
開發工具生成
定義某些屬性不能為空
3.2 表的修改
當然,也可以點擊表然后鼠標右鍵直接修改。
3.3 insert/update/delete
insert
語法
update
update 語法
delete
delete 語法
四、序列
序列是Oracle 專有的對象,它用來產生一個自動遞增的數列。
在數據庫開發設計表時,如果需要一個字段的值是自增的話,優先考慮使用序列。
五、事務
5.1 事務概念
事務(Transaction)是一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單位,是數據庫環境中的邏輯工作單位。原子性。
事務是為了保證數據庫的完整性。
事務不能嵌套。
在Oracle 中,沒有事務開始的語句。一個Transaction 起始于一條DML(Insert、Update和Delete)語句,結束于以下的幾種情況
1、用戶顯示執行Commit 語句提交操作或Rollback 語句回退;
2、當執行DDL(Create、Alter、Drop)語句事務自動提交;
3、用戶正常斷開連接時,Transaction 自動提交;
4、系統崩潰或者斷電時事務自動回退。
事務結合java 代碼的格式
5.2 保存點(save point)
seve point 保存當前數據庫的狀態點。以便后續通過rollback 回滾到指定狀態點。
5.3 事務的特性
事務四大特征:原子性,一致性,隔離性和持久性。
1. 原子性(Atomicity)
一個原子事務要么完整執行,要么干脆不執行。這意味著,工作單元中的每項任務都必須正確執行。如果有任一任務執行失敗,則整個工作單元或事務就會被終止。即此前對數據所作的任何修改都將被撤銷。如果所有任務都被成功執行,事務就會被提交,即對數據所作的修改將會是永久性的。
2. 一致性(Consistency)
一致性代表了底層數據存儲的完整性。它必須由事務系統和應用開發人員共同來保證。事務系統通過保證事務的原子性,隔離性和持久性來滿足這一要求; 應用開發人員則需要保證數據庫有適當的約束(主鍵,引用完整性等),并且工作單元中所實現的業務邏輯不會導致數據的不一致(即,數據預期所表達的現實業務情況不相一致)。例如,在一次轉賬過程中,從某一賬戶中扣除的金額必須與另一賬戶中存入的金額相等。支付寶賬號100 你讀到余額要取,有人向你轉100 但是事物沒提交(這時候你讀到的余額應該是100,而不是200) 這種就是一致性
3. 隔離性(Isolation)
隔離性意味著事務必須在不干擾其他進程或事務的前提下獨立執行。換言之,在事務或工作單元執行完畢之前,其所訪問的數據不能受系統其他部分的影響。
4. 持久性(Durability)
持久性表示在某個事務的執行過程中,對數據所作的所有改動都必須在事務成功結束前保存至某種物理存儲設備。這樣可以保證,所作的修改在任何系統癱瘓時不至于丟失。
六、約束
當我們創建表的時候,同時可以指定所插入數據的一些規則,比如說某個字段不能為空值,
某個字段的值(比如年齡)不能小于零等等,這些規則稱為約束。約束是在表上強制執行的數據效驗規則。
常見約束:
1.NOT NULL 非空
2.UNIQUE Key 唯一鍵
3.PRIMARY KEY 主鍵
4.FOREIGN KEY 外鍵
5.CHECK 自定義檢查約束
6.1 主鍵約束(primary key)
主鍵用于唯一標識一條記錄。主鍵值不可為空,也不允許出現重復。
表級約束:當多個列(字段)參與約束,可以用表級約束。
6.2 非空約束(not null)
確保字段值不允許為空
只能在列級定義
6.3 唯一性約束(unique)
唯一性約束條件確保所在的字段或者字段組合不出現重復值
唯一性約束條件的字段允許出現空值
Oracle 將為唯一性約束條件創建對應的唯一性索引
6.4 自定義約束
check 約束用于對一個屬性的值加以限制
6.5 外鍵約束
對于主表的刪除和修改主鍵值得操作,會對依賴關系產生影響,以刪除為例;當要刪除主表的某個記錄(即刪除一個主鍵值)那么對依賴的影響可采取下列三種做法
1. RESTRICT方式:只有當依賴表中沒有一個外鍵值與要刪除的主表中主鍵值相對應時,才可執行刪除操作。
2. CASCADE方式:將依賴表中所有外鍵值與主表中要刪除的主鍵值相對應的記錄一起刪除
3. SET NULL方式:將依賴表中所有與主表中被刪除的主鍵值相對應的外鍵值設為空值
FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO)
[ON DELETE [CASCADE|SET NULL]] 如省略on短語,缺省為第一中處理方式。
總結
以上是生活随笔為你收集整理的informix clob转oracle 乱码_Oracle 视图-序列-权限-表-事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: struct类型重定义 不同的基类型_汇
- 下一篇: c #include如何找到文件_如何用