




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle 與SQL SERVER概念 - ·Oracle的服務和數據庫 相當于 MS SQL的數據庫服務; ·Oracle的服務= 后臺進程+相關內存 ·數據庫= 數據文件的集合 Oracle的服務完全可以與數據庫文件脫離開來;Oracle中的Schema與MS SQL中的數據庫。 Schema“方案”是一個用戶所擁有所有對象的集合。 “對象”包括表、視圖、實例化視圖、序列、過程、函數、程序包、同義詞。 Oracle類似于MSSQL的數據庫大致過程如下: ·建立數據庫表空間(相當于MSSQL的數據庫的數據文件) ·建立臨時表空間(相單于MS
2、SQL的數據庫的事務日志文件) ·建立用戶,它的缺省空間和臨時表空間是剛建立的兩個表空間 ·給用戶授權,最起碼得角色權限是Connect的角色 ·以該用戶登陸,創建自己的表、視圖、實例化視圖、序列、過程、函數、程序包、同義詞等。 關于Oracle Manager Server與MS SQL的Enterprise manager - DBA Studio工具提供了與MS SQL的Enterprise manager同樣的功用,但應該說兩者有很大的區別。 對于一般是用來說,DBA Studio工具已經足夠了。但這里有必要對Oracle Manager Server解釋
3、一下: 它是Oracle管理分布式數據庫的服務,注意她是服務。 它缺省并不安裝 它需要有自己管理所需要的資料庫。在某個數據庫中需要建立相應的用戶 它的登陸需要身份驗證,注意這里的身份驗證,與管理所需要的資料庫的用戶不是一個概念,也不是數據庫中的SYS,system; 它的默認用戶是oem_temp sysman > 使用她,在管理端要啟動Manager Server服務和智能代理服務(OracleAgent),被管理的數據庫服務器要啟動智能代理服務(oracleagent). 關于Oracle的SYS,system的用戶與MSSQL的Master比較 - MSSQL的Master數據庫儲
4、存了當前數據庫服務的一些配置信息,如數據庫設備、字符集、數據文件、登陸帳號、擁有的數據庫、整個服務參數配置等信息。 Oracle的sys存儲了Oracle服務或者實例的信息及所有用戶的數據字典信息。 Oracle的system用戶擁有數據字典是視圖信息,有了這些視圖,我們查詢數據庫的信息就特別方便。缺省情況下,system用戶擁有DBA系統角色權限, 而sys不僅擁有DBA的權限還擁有sysdba的權限。 DBASYSDBA系統角色的區別: 首先說明一下oracle服務的創建過程:創建實例、啟動實例、創建數據庫(SYSTEM表空間是必需的) 其次啟動過程:實例啟動、裝載數據庫、打開數據庫 Or
5、acle中新的數據庫對象:實例化視圖、快照、序列、程序包、同義詞、抽象的數據類型 - ·實例化視圖又稱顯形圖:實例化說明它有自己的存儲空間;視圖:說明它的數據源于其他表數據。 ·實例化視圖中的數據,設置為隔一段時間更新數據,更新的模式可以定義為完全更新和增量更新。 ·快照基本上同實例化視圖,只不過數據來源不同,快照數據來源于遠程數據庫,而實例化視圖來源于本地數據表 ·序列,相當于MSSQL中的identify列,它是一個數字順序列表 ·程序包:它是過程、函數、全局變量的集合;它封裝了私有變量、私有過程和私有函數。如:DBMS_OUT包
6、3;同義詞:是對數據庫中的對象的別名,同義詞可以是全局的也可以是私有的(屬于某個用戶的)如:tab,col等 ·抽象的數據類型:類似于C中的結構體或Pascal記錄類型。 Oracle數據庫連接和 Mssql遠程連接 - 兩者都是為了實現分布式數據庫的操作,兩者都能實現分布式事務 Oracle回滾斷和MSSQL的數據庫事物日志文件 - 回滾段提供了事務回滾需要使用的數據變化以前的映象,這些映象是按條目儲存的,如果這些條目過少,一個事務等待另一個事務的幾率 增大,就會影響數據庫的性能。缺省安裝時,提供一個系統回滾段它在system表空間。 為了提高性能,system表空間不應儲存有任何
7、數據字典信息以外的信息。 MSSQL數據庫事務日志文件功能類同于回滾段,只不過它是同特定的數據庫密切相關的。 關于數據表的管理 - 超大型數據表的管理: oracle和MsSQL都提供了一種“把數據文件及其索引存放在一個特定的數據文件或表空間里”方法 Oracle將表及索引分區儲存,即按字段值的范圍進行分區存儲。 ·Oracle索引組織表和Sqlserver簇索引表 :兩者的數據存放順序都是按照索引值的順序存放的 ·無事務回滾概念的表,對這種表的操作不存在事務的概念;ORacle提供了建表參數nologging,使對該表的操作不參與事務的回滾。 ·索引:oracl
8、e提供了多種MSSQL沒有的索引類型,如:位圖索引等 外連接 =- ·MSSQL支持兩種形式表之間連接 (1)從SYSBASE繼承來的形式: 1)字段1*=字段2(左連接) 2)字段1=*字段2(右連接) 3)沒有這種形式的全外連接語法 (2)標準的外連接語法: 1)leftouter join on 邏輯表達式 2)rightouter join on 邏輯表達式 3)fullouter jion (全外連接) on 邏輯表達式 ·Oracle不支持標準的外連接語法,也沒有全外連接(這是他的缺陷)。 1)字段1=字段2(+)(左連接) 2)字段1(+)=字段2(右連接)
9、·使用外連接語句的用處 (1)不想因為表連接而使主表數據行丟失 (2)查找某條記錄在表A存在,而在B表不存在,按常規做法用not in(select.查詢語句)語法。 使用not in 最大的缺點就是速度慢,原因是每行都去做select查詢語句;而使用如下語句則會更好: select tu_company.* from TU_company left join TU_Comp_agent on TU_company.id=tu_comp_pCode where TU_comp_agent.id is null; 觸發器 = ·MSSQL僅有表的觸發器,而且觸發時機不夠豐富,
10、如插入觸發器不區分單條插入還是多條插入;也不區分插入前觸發還是插入后觸發。碰到 多條數據的插入,需要使用游標處理每條插入的數據。 ·Oracle提供的觸發器不僅有基于表的觸發器,而且還有其它類型的,例如數據庫計的觸發器:數據庫的啟動、數據庫關閉。對于表級的觸發器 區分單條插入還是多條插入,也區分插入前觸發還是插入后觸發 表數據復制 - ·庫內數據復制 ·MSSQL Insert into 復制表名稱 select 語句(復制表已經存在) select 字段列表 into 復制表名 from 表(復制表不存在) ·Oracle Insert into 復制
11、表名稱 select 語句(復制表已經存在) create table 復制表名稱 as select 語句(復制表不存在) ·文本文件轉入,轉出的批量處理 ·MSSQL BCP命令行程序 ·Oracle SQLLDR命令行程序 多表更新、刪除 - 一條更新語句是不能更新多張表的,除非使用觸發器隱含更新,這里的意思是說:根據其他表數據更新你要更新的表。 ·MSSQL update a set 字段1=B表子段表達式,字段2=B表子段表達式,。from B where 邏輯表達式 ·ORACLE update a set 字段1=(Select子
12、段表達式 from B where .),字段2=(Select子段表達式 from B where .),.from B where 邏輯表達式 就以上問題來看假如A需要多個子段更新,MSSQL更簡練! 關于存儲過程或函數中使用的臨時表 - 兩者都有這個功能。臨時表最主要的好處是,操作不留任何痕跡、不產生日志,所以速度快。 ·MSSQL Create table #表名(.),或者select 字段表達式列表 INTo #表名稱 FRom 表名稱前加#,這些臨時表都是旨在一個數據庫連接會話期間有效。 ·ORACLE create global temporary tabl
13、e,加上global就是全局的臨時表(所有數據庫連接會話都是可見的),否則為私有(在一個數據庫連接會話期間有效)。 動態執行SQL語句 - ·在存儲過程中的參數中傳遞一個表名或者在過程體力動態生成一個SQL語句。 MSSQL: declare count int declare Sql nvarchar(200) set sql=N'select count(*) from sysobjects' exec sp_executesql sql,N'i int output',count output ORACLE: (1)程序包DBMS_SQL,執行一
14、個語句的過程: 打開游標(OPen_cursor,對于非查詢語句,無此過程) 分析語句(parse) 綁定變量(bind_variable) 執行語句(execute) 關閉游標(close_cursor,對于排序查詢語句,無此過程) (2)Execute immediate ls_SQL 數據庫備份和恢復 - MSSQL: (1)數據庫導入導出DTS工具,如果數據源和目的都是MSSQL則可以完全復制數據庫的結構(表、視圖、索引、觸發器、規則、默認、存儲過程、自定義函數、表數據等) (2)數據庫備份和還原命令: BackUp database Restore database 導出的數據文件還可以壓縮,數據庫備份和還原方式可以是增量和完全的。 (3)數據庫的附加attach 只要數據庫的原始數據和日志文件沒有破壞,就可以使用命令:SP_ADDACH_DB.這種情況有時候回出現問題:比方說你見了登陸帳號, 不是使用缺省的登陸帳號SA,由于登陸帳號的信息存放在master數據庫中,所以使用原
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券從業資格證職場需求試題及答案
- 理財師備考期間考生的個人特質與學習方式相結合研究試題及答案
- 2024年項目管理專業知識培訓試題及答案
- 注冊會計師考試心理應對試題及答案
- 證券從業資格證名師講解試題及答案
- 項目計劃調整的最佳實踐考題及答案
- 板材防霉處理方案范本
- 項目執行過程中的復盤與反思機制試題及答案
- 管道工程安全風險防范與控制考核試卷
- 糧油企業生產流程優化與成本控制考核試卷
- 肝癌肝移植的進展和展望
- 學校食堂日管控周排查月調度樣表
- 劍橋英語PET真題校園版
- 土方開挖及基坑支護工程安全監理實施細則
- 2023年新高考英語復習:讀后續寫專題練習10篇(含答案范文)
- 土木工程施工現場安全控制措施
- 農業銀行反洗錢知識競賽培訓試題及答案
- JJF 1101-2019環境試驗設備溫度、濕度參數校準規范
- 第4章 毒作用機制毒作用影響因素
- GB/T 10295-2008絕熱材料穩態熱阻及有關特性的測定熱流計法
- GA/T 1433-2017法庭科學語音同一認定技術規范
評論
0/150
提交評論