Oracle關系數(shù)據(jù)庫.ppt_第1頁
Oracle關系數(shù)據(jù)庫.ppt_第2頁
Oracle關系數(shù)據(jù)庫.ppt_第3頁
Oracle關系數(shù)據(jù)庫.ppt_第4頁
Oracle關系數(shù)據(jù)庫.ppt_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章Oracle關系數(shù)據(jù)庫 本章先從介紹關系數(shù)據(jù)模型開始 介紹如何根據(jù)實際的應用創(chuàng)建數(shù)據(jù)庫 并規(guī)范化數(shù)據(jù)庫 然后介紹世界上最優(yōu)秀的關系數(shù)據(jù)庫之一Oracle數(shù)據(jù)庫的應用模式 這也是數(shù)據(jù)庫領域最常用的應用模式 最后介紹Oracle數(shù)據(jù)庫系統(tǒng)的安裝和數(shù)據(jù)庫的創(chuàng)建 這是進行所有工作的第一步 本章學習目標 關系模型的組成和常用一些常術語復習關系數(shù)據(jù)庫的設計理解什么是網(wǎng)格技術正確安裝Oracle10g或11g數(shù)據(jù)庫系統(tǒng)了解Oracle數(shù)據(jù)庫的應用結構能夠使用DBCA創(chuàng)建數(shù)據(jù)庫了解Oracle數(shù)據(jù)庫的相關服務服務使用SQL Plus連接到Oracle數(shù)據(jù)庫 請同學們上第一次實驗課的時候 自己準備oracle10g或Oracle11g的安裝軟件 可以在230服務器下載到U盤 然后帶到實驗室 1 1關系數(shù)據(jù)模型 數(shù)據(jù)庫技術始于20世紀60年代 當時計算機的主要應用領域正由科學計算逐步轉向業(yè)務處理 這一轉變促進了數(shù)據(jù)庫技術的發(fā)展 到20世紀70年代 數(shù)據(jù)庫技術達到了飛速的發(fā)展 E F Codd教授發(fā)表了 大型共享數(shù)據(jù)庫數(shù)據(jù)的關系模型 論文 他提出了關系數(shù)據(jù)庫理論和模型 為關系數(shù)據(jù)庫模型奠定了理論基礎 從而使數(shù)據(jù)庫技術成為計算機科學的一個重要分支 1 1 1數(shù)據(jù)結構 在關系數(shù)據(jù)庫系統(tǒng)中 關系是關系數(shù)據(jù)模型的核心 關系數(shù)據(jù)庫系統(tǒng)中最主要的數(shù)據(jù)結構就是關系 在實際的表示中 關系可以用一個由 行 和 列 組成的二維表來直觀地表示 表中的每一列表示為關系的一個屬性 每列的名字即為一個屬性名 每一行表示一個記錄 代表一個物理實體 關系數(shù)據(jù)庫中 所有的數(shù)據(jù)都是通過 表 來進行存儲的 可以說如果沒有表 數(shù)據(jù)就無法進行存儲和表示 1 1 2關系操作 對所有的關系數(shù)據(jù)庫來說 有大量的操作方式可以使用 這些實用的操作方式能讓用戶看到所需要的數(shù)據(jù) 關系模型中常用的關系操作包括 選擇 Select 投影 Project 連接 Join 除 Divide 并 Union 交 Intersection 差 Difference 等查詢操作和增加 Insert 刪除 Delete 修改 Update 操作兩大部分 其中 查詢操作是其最重要的部分 1 1 3關系的完整性約束 關系模型的完整性規(guī)則是對關系的某種約束條件 關系模型允許定義三類完整性約束 實體完整性 參照完整性和用戶定義的完整性 其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件 被稱作是關系的兩個不變性 應該由關系數(shù)據(jù)庫系統(tǒng)自動支持 用戶定義的完整性是應用領域需要遵循的約束條件 體現(xiàn)了具體領域中的語義約束 1 2關系與關系模式 在數(shù)據(jù)庫中要區(qū)分型和值 型是指對某一類數(shù)據(jù)的結構和屬性的說明 值是型的一個具體賦值 在關系數(shù)據(jù)庫中 關系模式是型 關系是值 關系模式是對關系的描述 因為關系實質上是一個二維表 表中的每一行在關系模式中被稱為元組 一個元組由許多屬性組成 也就是表中的列 關系是元組的集合 因此關系模式必須指出這個元組集合的結構 即它由哪些屬性組成 以及這此屬性的取值范圍等 例如關系 student 學號 姓名 性別 專業(yè) 這就是型 而元組 841234 張三 男 管理 這就是值 1 3數(shù)據(jù)庫的設計 在數(shù)據(jù)庫的設計過程中 有許許多多需要考慮的因素 如數(shù)據(jù)庫的背景 應用環(huán)境等方面都需要有深入的了解 只有對這些因素都進行詳細分析 設計的數(shù)據(jù)庫才能易于使用和維護 并且具有高效和一致的特征 1 3 1實體 關系模型 實體關系模型也稱為E R數(shù)據(jù)模型 Entity Relationshipdatamodel 設計E R數(shù)據(jù)模型的出發(fā)點是為了有效和更好地模擬現(xiàn)實世界 而不需要考慮在機器中如何實現(xiàn) 下面介紹E R數(shù)據(jù)模型的三個抽象概念 1 實體 Entity 凡是可以相互區(qū)別 并可以被識別的事 物 概念均可認為是實體 具有共性的一類實體可以劃分為實體集 2 屬性 Attribute 實體一般具有若干特征 稱為屬性 3 聯(lián)系 Relationship 實體之間會存在各種關系 如學生實體與課程實體之間有選課關系 這種關系被抽象為聯(lián)系 E R數(shù)據(jù)模型將這種聯(lián)系區(qū)分為1對1 1對多和多對多三種 1 3 2E R圖的繪制 實體 關系圖是表現(xiàn)實體 關系模型的圖形工具 簡稱E R圖 E R圖提供了用圖形表示實體 屬性和聯(lián)系的方法 在E R圖中 約定實體用方框表法 屬性用橢圓表示 聯(lián)系用菱形表示 并其內部填上實體名 屬性名 聯(lián)系名 E R圖的表現(xiàn)形式 聯(lián)系名 1 3 3將E R模型轉化為關系模式 在E R模型建立后 就可以將實體 實體間的聯(lián)系等模型轉變?yōu)殛P系模式 即生成數(shù)據(jù)庫中的表 并確定表的列 下述討論由E R模型生成表的方法 1 實體轉化為表2 實體間聯(lián)系的處理一對一 把其中任意一個表的主鍵添加到另外一個表作為外鍵 一對多 把一的表的主鍵添加到另外一個表作為外鍵 多對多 通常是創(chuàng)建一個連接表的特殊表 以表達兩個表之間的關系 這個表包含兩個表的主鍵列 同時包含一些可能在關系中存在的特定的列 1 4關系數(shù)據(jù)庫規(guī)范化理論 數(shù)據(jù)庫理論與設計中有一個重要的問題 就是在一個數(shù)據(jù)庫中如何構造合適的關系模式 它涉及一系列的理論與技術 從而形成了關系數(shù)據(jù)庫設計理論 由于合適的關系模式要符合一定的規(guī)范化要求 所以又可稱為關系數(shù)據(jù)庫的規(guī)范化理論 1 4 1函數(shù)依賴 函數(shù)依賴表示了關系模式中屬性組合之間的一對多聯(lián)系 例如 X Y就表示了X的一個值可以對應Y的多個值 如果屬性組合X和Y之間有一對一的聯(lián)系 那么 X Y和Y X就都成立 例子 Student id name sex birth class dept name sex 都是由id決定的 即這些屬性都是依賴于id 由于函數(shù)依賴性的存在 如果數(shù)據(jù)庫設計不合理 就會出現(xiàn)各種異常 DML各種異常表現(xiàn)形式 假設設計的關系模式如下 S 學號 姓名 生日 性別 班級 系名 系主任 課程 成績 學號 系名 系名 系主任 插入異常 如果新增加一個系 這個系還沒有招生 那系的信息就沒有辦法存儲在數(shù)據(jù)庫 因為學號非空 刪除異常 當學生畢業(yè)時 要刪除學生信息 這時候會把系的信息全部刪除 而在數(shù)據(jù)庫中找不到系的信息 更新異常 如果系主任換人 這時候需要將這個系的所有學生的信息都要修改 如果不慎 會出現(xiàn)數(shù)據(jù)的不一致 同時這種維護的代價也很大 數(shù)據(jù)冗余 系名和系主任的信息會大量保存 1 4 2范式理論 范式是數(shù)據(jù)庫設計中一個重要的過程 可以通過它來消除數(shù)據(jù)庫中冗余的數(shù)據(jù) 因此 在確定設計的數(shù)據(jù)庫之前 還需要對數(shù)據(jù)庫中的表進行范式處理以確保數(shù)據(jù)庫遵從適當?shù)姆妒?從而使設計的數(shù)據(jù)庫更加規(guī)范 范式為數(shù)據(jù)庫提供了許多好處 具有很多優(yōu)點 大大減少了數(shù)據(jù)冗余改進了數(shù)據(jù)庫整體組織增強數(shù)據(jù)的一致性增加數(shù)據(jù)庫設計的靈活性一般數(shù)據(jù)庫的設計只需要第一 第二和第三范式就足夠了 1 5Oracle數(shù)據(jù)庫的應用系統(tǒng)結構 隨著計算機技術 特別是網(wǎng)絡技術的迅速發(fā)展 數(shù)據(jù)庫技術也取得了長足的發(fā)展 對數(shù)據(jù)庫的使用方式提出了不同的要求 除客戶 服務器 C S 系統(tǒng)結構外 還出現(xiàn)了瀏覽器 B S 結構以及分布式數(shù)據(jù)庫系統(tǒng)結構 下面簡要介紹Oracle數(shù)據(jù)庫應用系統(tǒng)的不同結構 即分布式數(shù)據(jù)庫系統(tǒng)結構 客戶 服務器系統(tǒng)結構和瀏覽器 服務器系統(tǒng)結構 1 5 1Oracle分布式數(shù)據(jù)庫系統(tǒng)結構 數(shù)據(jù)庫系統(tǒng)可按數(shù)據(jù)分布方式分為集中式數(shù)據(jù)庫和分布式數(shù)據(jù)庫 集中式數(shù)據(jù)庫是將數(shù)據(jù)集中存放在一臺計算機上 而分布式數(shù)據(jù)庫系統(tǒng)是將數(shù)據(jù)存放在由計算機網(wǎng)絡聯(lián)接的不同的計算機上 一個分布式數(shù)據(jù)庫是由分布于計算機網(wǎng)絡上的多個邏輯相關的數(shù)據(jù)庫組成的集合 網(wǎng)絡每個節(jié)點具有獨立處理能力 可以執(zhí)行局部應用 也可通過網(wǎng)絡執(zhí)行全局應用 1 5 2Oracle客戶 服務器系統(tǒng)結構 客戶 服務器結構 C S 是軟件系統(tǒng)較為流行一種工作模式 在C S結構模式中 所有的數(shù)據(jù)集中存儲在服務器中 數(shù)據(jù)處理由服務器完成 一般采用硬件資源配置比較高的機器作為服務器 而使用配置比較低的PC機作為客戶端 服務器與客戶端之間通過專用網(wǎng)絡聯(lián)接 一般為局域網(wǎng)或企業(yè)內部網(wǎng) 1 5 3Oracle瀏覽器 服務器系統(tǒng)結構 隨著網(wǎng)絡技術的迅速發(fā)展 基于Web的產品和標準的出現(xiàn) 使以Web技術為先導的Internet得到了迅猛發(fā)展 信息在Internet上的交換與發(fā)布都需要數(shù)據(jù)庫的參與 使用Oracle數(shù)據(jù)庫作為后臺 通過ODBC和JDBC連接數(shù)據(jù)庫 應用JSP ASP和PHP開發(fā) 形成了動態(tài)網(wǎng)頁的設計主流 1 6網(wǎng)格技術 超級計算機作為復雜科學計算領域的主宰 以其強大的處理能力著稱 但以超級計算機為中心的計算模式存在明顯的不足 由于它的造價極高 通常只有一些國家級的部門 如航天 氣象等部門才有能力配置 而隨著人們日常工作遇到的商業(yè)計算越來越復雜 人們越來越需要數(shù)據(jù)處理能力更強大的計算機 于是 人們開始尋找一種造價低廉而數(shù)據(jù)處理能力超強的計算模式 最終找到了答案網(wǎng)格計算 GridComputing 這種計算模式利用互聯(lián)網(wǎng)把分散在不同地理位置的電腦組織成一個 虛擬的超級計算機 其中每一臺參與計算的計算機就是一個 節(jié)點 而整個計算由成千上萬個 節(jié)點 組成 虛擬的一張網(wǎng)格 所以這種計算方式叫網(wǎng)格計算 簡單而言 網(wǎng)格計算就是把整個因特網(wǎng)整合成一臺巨大的超級計算機 實現(xiàn)各種資源的全面共享 當然 網(wǎng)格并不一定要整合整個因特網(wǎng) 也可以構造地區(qū)性的網(wǎng)格 網(wǎng)格的根本特征不是它的規(guī)模 而是資源共享 實際上 網(wǎng)格計算是分布式計算的一種 如果某項任務是分布式的 那么參與這項任務的一定不只是一臺計算機 而是一個計算機網(wǎng)絡 顯然這種計算方式將具有很強的數(shù)據(jù)處理能力 這種組織方式有兩個優(yōu)勢 一個是超強的數(shù)據(jù)處理能力 另一個是能充分利用網(wǎng)上的閑置處理能力 1 7Oracle10g安裝 Oracle的安裝程序UniversalInstaller是基于Java的圖形界面安裝向導工具 利用它可以幫助用戶完成不同操作系統(tǒng)環(huán)境下不同類型的Oracle安裝工作 無論是在UNIX環(huán)境下 還是本書所介紹的Windows環(huán)境下 都可以通過使用UniversalInstaller以完成正確的安裝 特別注意 Oracle的安裝務必第一次就能正確安裝 安裝軟件與安裝目錄都不能在桌面進行 1 8創(chuàng)建數(shù)據(jù)庫 如果在安裝Oracle系統(tǒng)時 如果選擇不創(chuàng)建數(shù)據(jù)庫 只是安裝Oracle數(shù)據(jù)庫服務器軟件 在這種情況下 要使用Oracle系統(tǒng)則必須創(chuàng)建數(shù)據(jù)庫 如果在安裝系統(tǒng)時已經創(chuàng)建了數(shù)據(jù)庫 雖然也可以在一臺Oracle數(shù)據(jù)庫服務器中創(chuàng)建多個數(shù)據(jù)庫 但為了使用Oracle數(shù)據(jù)庫服務系統(tǒng)充分利用服務器的資源 建議應在一臺服務器上只創(chuàng)建一個數(shù)據(jù)庫 在Oracle10g中 創(chuàng)建數(shù)據(jù)庫有兩種方式 一種是利用圖形界面的DBCA 數(shù)據(jù)庫配置向導 進行創(chuàng)建數(shù)據(jù)庫 推薦方法 另一種是通過SQL語句的CREATEDATABASE命令 非常復雜 而且經常出錯 不建議使用 DBCADatabaseConfigurationAssistant主要功能和注意事項 創(chuàng)建或刪除數(shù)據(jù)庫 配置已創(chuàng)建的數(shù)據(jù)庫的選項 共享或專用服務器 創(chuàng)建和管理數(shù)據(jù)庫模板 注意事項 全局數(shù)據(jù)庫名 數(shù)據(jù)庫名 與 SID 例程名 3個概念之間的區(qū)別 數(shù)據(jù)庫名是一個數(shù)據(jù)庫的名稱標識 在創(chuàng)建數(shù)據(jù)庫時由初始化參數(shù)DB NAME指定 全局數(shù)據(jù)庫名中同時包含數(shù)據(jù)庫的名稱標識和網(wǎng)絡位置 由初始化參數(shù)DB NAME和DB DOMAIN共同組成 SID是一個ORACLE實例的唯一名稱標識 如果一個數(shù)據(jù)庫只有一個實例 SID與數(shù)據(jù)庫名相同 都由DB NAME參數(shù)決定 驗證數(shù)據(jù)庫是否正確安裝在命令行輸入 sqlplus nolog或sqlplusw nolog 都是sqlplus工具 界面不同而已 使用sqlplus連接數(shù)據(jù)庫 需要輸入 connect assysdba assysdba表明連接身份是數(shù)據(jù)庫管理員 一般的連接是 connusername password例如 connscott tiger在使用連接命令后出現(xiàn) 已連接 則表明數(shù)據(jù)庫已正確安裝 主要的系統(tǒng)服務 所有oracle的服務都以 oracle 開頭 根據(jù)安裝組件的不同 可能存在的oracle服務也不同 通常包如下主要oracle服務 OracleTNSListener監(jiān)聽程序服務 負責監(jiān)聽和建立客戶端的連接請求 OracleServiceSIDOracle數(shù)據(jù)庫例程 負責管理數(shù)據(jù)庫和處理客戶端的請求 OracleDBConsoleSIDOracle控制臺 提供用戶使用瀏覽器對Oracle進行管理操作的服務 1 9數(shù)據(jù)庫的啟動與關閉 在用戶試圖連接到數(shù)據(jù)庫前 必須先啟動數(shù)據(jù)庫 每個啟動的數(shù)據(jù)庫都對應一個實例 數(shù)據(jù)庫實例就是為了運行數(shù)據(jù)庫 Oracle系統(tǒng)所運行的所有進程和分配的內存結構的組合體 實例可以簡單地理解為數(shù)據(jù)庫在運行時位于內存中的部分 而數(shù)據(jù)庫可理解為運行是位于硬盤中的部分 數(shù)據(jù)庫啟動過程 1 啟動實例 nomount 啟動實例是啟動oracle數(shù)據(jù)庫的第一個過程 主要完成以下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論