




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一章Oracle關(guān)系數(shù)據(jù)庫 本章先從介紹關(guān)系數(shù)據(jù)模型開始 介紹如何根據(jù)實際的應(yīng)用創(chuàng)建數(shù)據(jù)庫 并規(guī)范化數(shù)據(jù)庫 然后介紹世界上最優(yōu)秀的關(guān)系數(shù)據(jù)庫之一Oracle數(shù)據(jù)庫的應(yīng)用模式 這也是數(shù)據(jù)庫領(lǐng)域最常用的應(yīng)用模式 最后介紹Oracle數(shù)據(jù)庫系統(tǒng)的安裝和數(shù)據(jù)庫的創(chuàng)建 這是進行所有工作的第一步 本章學(xué)習(xí)目標(biāo) 關(guān)系模型的組成和常用一些常術(shù)語復(fù)習(xí)關(guān)系數(shù)據(jù)庫的設(shè)計理解什么是網(wǎng)格技術(shù)正確安裝Oracle10g或11g數(shù)據(jù)庫系統(tǒng)了解Oracle數(shù)據(jù)庫的應(yīng)用結(jié)構(gòu)能夠使用DBCA創(chuàng)建數(shù)據(jù)庫了解Oracle數(shù)據(jù)庫的相關(guān)服務(wù)服務(wù)使用SQL Plus連接到Oracle數(shù)據(jù)庫 請同學(xué)們上第一次實驗課的時候 自己準(zhǔn)備oracle10g或Oracle11g的安裝軟件 可以在230服務(wù)器下載到U盤 然后帶到實驗室 1 1關(guān)系數(shù)據(jù)模型 數(shù)據(jù)庫技術(shù)始于20世紀(jì)60年代 當(dāng)時計算機的主要應(yīng)用領(lǐng)域正由科學(xué)計算逐步轉(zhuǎn)向業(yè)務(wù)處理 這一轉(zhuǎn)變促進了數(shù)據(jù)庫技術(shù)的發(fā)展 到20世紀(jì)70年代 數(shù)據(jù)庫技術(shù)達到了飛速的發(fā)展 E F Codd教授發(fā)表了 大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型 論文 他提出了關(guān)系數(shù)據(jù)庫理論和模型 為關(guān)系數(shù)據(jù)庫模型奠定了理論基礎(chǔ) 從而使數(shù)據(jù)庫技術(shù)成為計算機科學(xué)的一個重要分支 1 1 1數(shù)據(jù)結(jié)構(gòu) 在關(guān)系數(shù)據(jù)庫系統(tǒng)中 關(guān)系是關(guān)系數(shù)據(jù)模型的核心 關(guān)系數(shù)據(jù)庫系統(tǒng)中最主要的數(shù)據(jù)結(jié)構(gòu)就是關(guān)系 在實際的表示中 關(guān)系可以用一個由 行 和 列 組成的二維表來直觀地表示 表中的每一列表示為關(guān)系的一個屬性 每列的名字即為一個屬性名 每一行表示一個記錄 代表一個物理實體 關(guān)系數(shù)據(jù)庫中 所有的數(shù)據(jù)都是通過 表 來進行存儲的 可以說如果沒有表 數(shù)據(jù)就無法進行存儲和表示 1 1 2關(guān)系操作 對所有的關(guān)系數(shù)據(jù)庫來說 有大量的操作方式可以使用 這些實用的操作方式能讓用戶看到所需要的數(shù)據(jù) 關(guān)系模型中常用的關(guān)系操作包括 選擇 Select 投影 Project 連接 Join 除 Divide 并 Union 交 Intersection 差 Difference 等查詢操作和增加 Insert 刪除 Delete 修改 Update 操作兩大部分 其中 查詢操作是其最重要的部分 1 1 3關(guān)系的完整性約束 關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件 關(guān)系模型允許定義三類完整性約束 實體完整性 參照完整性和用戶定義的完整性 其中實體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件 被稱作是關(guān)系的兩個不變性 應(yīng)該由關(guān)系數(shù)據(jù)庫系統(tǒng)自動支持 用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件 體現(xiàn)了具體領(lǐng)域中的語義約束 1 2關(guān)系與關(guān)系模式 在數(shù)據(jù)庫中要區(qū)分型和值 型是指對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明 值是型的一個具體賦值 在關(guān)系數(shù)據(jù)庫中 關(guān)系模式是型 關(guān)系是值 關(guān)系模式是對關(guān)系的描述 因為關(guān)系實質(zhì)上是一個二維表 表中的每一行在關(guān)系模式中被稱為元組 一個元組由許多屬性組成 也就是表中的列 關(guān)系是元組的集合 因此關(guān)系模式必須指出這個元組集合的結(jié)構(gòu) 即它由哪些屬性組成 以及這此屬性的取值范圍等 例如關(guān)系 student 學(xué)號 姓名 性別 專業(yè) 這就是型 而元組 841234 張三 男 管理 這就是值 1 3數(shù)據(jù)庫的設(shè)計 在數(shù)據(jù)庫的設(shè)計過程中 有許許多多需要考慮的因素 如數(shù)據(jù)庫的背景 應(yīng)用環(huán)境等方面都需要有深入的了解 只有對這些因素都進行詳細分析 設(shè)計的數(shù)據(jù)庫才能易于使用和維護 并且具有高效和一致的特征 1 3 1實體 關(guān)系模型 實體關(guān)系模型也稱為E R數(shù)據(jù)模型 Entity Relationshipdatamodel 設(shè)計E R數(shù)據(jù)模型的出發(fā)點是為了有效和更好地模擬現(xiàn)實世界 而不需要考慮在機器中如何實現(xiàn) 下面介紹E R數(shù)據(jù)模型的三個抽象概念 1 實體 Entity 凡是可以相互區(qū)別 并可以被識別的事 物 概念均可認(rèn)為是實體 具有共性的一類實體可以劃分為實體集 2 屬性 Attribute 實體一般具有若干特征 稱為屬性 3 聯(lián)系 Relationship 實體之間會存在各種關(guān)系 如學(xué)生實體與課程實體之間有選課關(guān)系 這種關(guān)系被抽象為聯(lián)系 E R數(shù)據(jù)模型將這種聯(lián)系區(qū)分為1對1 1對多和多對多三種 1 3 2E R圖的繪制 實體 關(guān)系圖是表現(xiàn)實體 關(guān)系模型的圖形工具 簡稱E R圖 E R圖提供了用圖形表示實體 屬性和聯(lián)系的方法 在E R圖中 約定實體用方框表法 屬性用橢圓表示 聯(lián)系用菱形表示 并其內(nèi)部填上實體名 屬性名 聯(lián)系名 E R圖的表現(xiàn)形式 聯(lián)系名 1 3 3將E R模型轉(zhuǎn)化為關(guān)系模式 在E R模型建立后 就可以將實體 實體間的聯(lián)系等模型轉(zhuǎn)變?yōu)殛P(guān)系模式 即生成數(shù)據(jù)庫中的表 并確定表的列 下述討論由E R模型生成表的方法 1 實體轉(zhuǎn)化為表2 實體間聯(lián)系的處理一對一 把其中任意一個表的主鍵添加到另外一個表作為外鍵 一對多 把一的表的主鍵添加到另外一個表作為外鍵 多對多 通常是創(chuàng)建一個連接表的特殊表 以表達兩個表之間的關(guān)系 這個表包含兩個表的主鍵列 同時包含一些可能在關(guān)系中存在的特定的列 1 4關(guān)系數(shù)據(jù)庫規(guī)范化理論 數(shù)據(jù)庫理論與設(shè)計中有一個重要的問題 就是在一個數(shù)據(jù)庫中如何構(gòu)造合適的關(guān)系模式 它涉及一系列的理論與技術(shù) 從而形成了關(guān)系數(shù)據(jù)庫設(shè)計理論 由于合適的關(guān)系模式要符合一定的規(guī)范化要求 所以又可稱為關(guān)系數(shù)據(jù)庫的規(guī)范化理論 1 4 1函數(shù)依賴 函數(shù)依賴表示了關(guān)系模式中屬性組合之間的一對多聯(lián)系 例如 X Y就表示了X的一個值可以對應(yīng)Y的多個值 如果屬性組合X和Y之間有一對一的聯(lián)系 那么 X Y和Y X就都成立 例子 Student id name sex birth class dept name sex 都是由id決定的 即這些屬性都是依賴于id 由于函數(shù)依賴性的存在 如果數(shù)據(jù)庫設(shè)計不合理 就會出現(xiàn)各種異常 DML各種異常表現(xiàn)形式 假設(shè)設(shè)計的關(guān)系模式如下 S 學(xué)號 姓名 生日 性別 班級 系名 系主任 課程 成績 學(xué)號 系名 系名 系主任 插入異常 如果新增加一個系 這個系還沒有招生 那系的信息就沒有辦法存儲在數(shù)據(jù)庫 因為學(xué)號非空 刪除異常 當(dāng)學(xué)生畢業(yè)時 要刪除學(xué)生信息 這時候會把系的信息全部刪除 而在數(shù)據(jù)庫中找不到系的信息 更新異常 如果系主任換人 這時候需要將這個系的所有學(xué)生的信息都要修改 如果不慎 會出現(xiàn)數(shù)據(jù)的不一致 同時這種維護的代價也很大 數(shù)據(jù)冗余 系名和系主任的信息會大量保存 1 4 2范式理論 范式是數(shù)據(jù)庫設(shè)計中一個重要的過程 可以通過它來消除數(shù)據(jù)庫中冗余的數(shù)據(jù) 因此 在確定設(shè)計的數(shù)據(jù)庫之前 還需要對數(shù)據(jù)庫中的表進行范式處理以確保數(shù)據(jù)庫遵從適當(dāng)?shù)姆妒?從而使設(shè)計的數(shù)據(jù)庫更加規(guī)范 范式為數(shù)據(jù)庫提供了許多好處 具有很多優(yōu)點 大大減少了數(shù)據(jù)冗余改進了數(shù)據(jù)庫整體組織增強數(shù)據(jù)的一致性增加數(shù)據(jù)庫設(shè)計的靈活性一般數(shù)據(jù)庫的設(shè)計只需要第一 第二和第三范式就足夠了 1 5Oracle數(shù)據(jù)庫的應(yīng)用系統(tǒng)結(jié)構(gòu) 隨著計算機技術(shù) 特別是網(wǎng)絡(luò)技術(shù)的迅速發(fā)展 數(shù)據(jù)庫技術(shù)也取得了長足的發(fā)展 對數(shù)據(jù)庫的使用方式提出了不同的要求 除客戶 服務(wù)器 C S 系統(tǒng)結(jié)構(gòu)外 還出現(xiàn)了瀏覽器 B S 結(jié)構(gòu)以及分布式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 下面簡要介紹Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)的不同結(jié)構(gòu) 即分布式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 客戶 服務(wù)器系統(tǒng)結(jié)構(gòu)和瀏覽器 服務(wù)器系統(tǒng)結(jié)構(gòu) 1 5 1Oracle分布式數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)庫系統(tǒng)可按數(shù)據(jù)分布方式分為集中式數(shù)據(jù)庫和分布式數(shù)據(jù)庫 集中式數(shù)據(jù)庫是將數(shù)據(jù)集中存放在一臺計算機上 而分布式數(shù)據(jù)庫系統(tǒng)是將數(shù)據(jù)存放在由計算機網(wǎng)絡(luò)聯(lián)接的不同的計算機上 一個分布式數(shù)據(jù)庫是由分布于計算機網(wǎng)絡(luò)上的多個邏輯相關(guān)的數(shù)據(jù)庫組成的集合 網(wǎng)絡(luò)每個節(jié)點具有獨立處理能力 可以執(zhí)行局部應(yīng)用 也可通過網(wǎng)絡(luò)執(zhí)行全局應(yīng)用 1 5 2Oracle客戶 服務(wù)器系統(tǒng)結(jié)構(gòu) 客戶 服務(wù)器結(jié)構(gòu) C S 是軟件系統(tǒng)較為流行一種工作模式 在C S結(jié)構(gòu)模式中 所有的數(shù)據(jù)集中存儲在服務(wù)器中 數(shù)據(jù)處理由服務(wù)器完成 一般采用硬件資源配置比較高的機器作為服務(wù)器 而使用配置比較低的PC機作為客戶端 服務(wù)器與客戶端之間通過專用網(wǎng)絡(luò)聯(lián)接 一般為局域網(wǎng)或企業(yè)內(nèi)部網(wǎng) 1 5 3Oracle瀏覽器 服務(wù)器系統(tǒng)結(jié)構(gòu) 隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展 基于Web的產(chǎn)品和標(biāo)準(zhǔn)的出現(xiàn) 使以Web技術(shù)為先導(dǎo)的Internet得到了迅猛發(fā)展 信息在Internet上的交換與發(fā)布都需要數(shù)據(jù)庫的參與 使用Oracle數(shù)據(jù)庫作為后臺 通過ODBC和JDBC連接數(shù)據(jù)庫 應(yīng)用JSP ASP和PHP開發(fā) 形成了動態(tài)網(wǎng)頁的設(shè)計主流 1 6網(wǎng)格技術(shù) 超級計算機作為復(fù)雜科學(xué)計算領(lǐng)域的主宰 以其強大的處理能力著稱 但以超級計算機為中心的計算模式存在明顯的不足 由于它的造價極高 通常只有一些國家級的部門 如航天 氣象等部門才有能力配置 而隨著人們?nèi)粘9ぷ饔龅降纳虡I(yè)計算越來越復(fù)雜 人們越來越需要數(shù)據(jù)處理能力更強大的計算機 于是 人們開始尋找一種造價低廉而數(shù)據(jù)處理能力超強的計算模式 最終找到了答案網(wǎng)格計算 GridComputing 這種計算模式利用互聯(lián)網(wǎng)把分散在不同地理位置的電腦組織成一個 虛擬的超級計算機 其中每一臺參與計算的計算機就是一個 節(jié)點 而整個計算由成千上萬個 節(jié)點 組成 虛擬的一張網(wǎng)格 所以這種計算方式叫網(wǎng)格計算 簡單而言 網(wǎng)格計算就是把整個因特網(wǎng)整合成一臺巨大的超級計算機 實現(xiàn)各種資源的全面共享 當(dāng)然 網(wǎng)格并不一定要整合整個因特網(wǎng) 也可以構(gòu)造地區(qū)性的網(wǎng)格 網(wǎng)格的根本特征不是它的規(guī)模 而是資源共享 實際上 網(wǎng)格計算是分布式計算的一種 如果某項任務(wù)是分布式的 那么參與這項任務(wù)的一定不只是一臺計算機 而是一個計算機網(wǎng)絡(luò) 顯然這種計算方式將具有很強的數(shù)據(jù)處理能力 這種組織方式有兩個優(yōu)勢 一個是超強的數(shù)據(jù)處理能力 另一個是能充分利用網(wǎng)上的閑置處理能力 1 7Oracle10g安裝 Oracle的安裝程序UniversalInstaller是基于Java的圖形界面安裝向?qū)Чぞ?利用它可以幫助用戶完成不同操作系統(tǒng)環(huán)境下不同類型的Oracle安裝工作 無論是在UNIX環(huán)境下 還是本書所介紹的Windows環(huán)境下 都可以通過使用UniversalInstaller以完成正確的安裝 特別注意 Oracle的安裝務(wù)必第一次就能正確安裝 安裝軟件與安裝目錄都不能在桌面進行 1 8創(chuàng)建數(shù)據(jù)庫 如果在安裝Oracle系統(tǒng)時 如果選擇不創(chuàng)建數(shù)據(jù)庫 只是安裝Oracle數(shù)據(jù)庫服務(wù)器軟件 在這種情況下 要使用Oracle系統(tǒng)則必須創(chuàng)建數(shù)據(jù)庫 如果在安裝系統(tǒng)時已經(jīng)創(chuàng)建了數(shù)據(jù)庫 雖然也可以在一臺Oracle數(shù)據(jù)庫服務(wù)器中創(chuàng)建多個數(shù)據(jù)庫 但為了使用Oracle數(shù)據(jù)庫服務(wù)系統(tǒng)充分利用服務(wù)器的資源 建議應(yīng)在一臺服務(wù)器上只創(chuàng)建一個數(shù)據(jù)庫 在Oracle10g中 創(chuàng)建數(shù)據(jù)庫有兩種方式 一種是利用圖形界面的DBCA 數(shù)據(jù)庫配置向?qū)?進行創(chuàng)建數(shù)據(jù)庫 推薦方法 另一種是通過SQL語句的CREATEDATABASE命令 非常復(fù)雜 而且經(jīng)常出錯 不建議使用 DBCADatabaseConfigurationAssistant主要功能和注意事項 創(chuàng)建或刪除數(shù)據(jù)庫 配置已創(chuàng)建的數(shù)據(jù)庫的選項 共享或?qū)S梅?wù)器 創(chuàng)建和管理數(shù)據(jù)庫模板 注意事項 全局?jǐn)?shù)據(jù)庫名 數(shù)據(jù)庫名 與 SID 例程名 3個概念之間的區(qū)別 數(shù)據(jù)庫名是一個數(shù)據(jù)庫的名稱標(biāo)識 在創(chuàng)建數(shù)據(jù)庫時由初始化參數(shù)DB NAME指定 全局?jǐn)?shù)據(jù)庫名中同時包含數(shù)據(jù)庫的名稱標(biāo)識和網(wǎng)絡(luò)位置 由初始化參數(shù)DB NAME和DB DOMAIN共同組成 SID是一個ORACLE實例的唯一名稱標(biāo)識 如果一個數(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)服務(wù) 所有oracle的服務(wù)都以 oracle 開頭 根據(jù)安裝組件的不同 可能存在的oracle服務(wù)也不同 通常包如下主要oracle服務(wù) OracleTNSListener監(jiān)聽程序服務(wù) 負責(zé)監(jiān)聽和建立客戶端的連接請求 OracleServiceSIDOracle數(shù)據(jù)庫例程 負責(zé)管理數(shù)據(jù)庫和處理客戶端的請求 OracleDBConsoleSIDOracle控制臺 提供用戶使用瀏覽器對Oracle進行管理操作的服務(wù) 1 9數(shù)據(jù)庫的啟動與關(guān)閉 在用戶試圖連接到數(shù)據(jù)庫前 必須先啟動數(shù)據(jù)庫 每個啟動的數(shù)據(jù)庫都對應(yīng)一個實例 數(shù)據(jù)庫實例就是為了運行數(shù)據(jù)庫 Oracle系統(tǒng)所運行的所有進程和分配的內(nèi)存結(jié)構(gòu)的組合體 實例可以簡單地理解為數(shù)據(jù)庫在運行時位于內(nèi)存中的部分 而數(shù)據(jù)庫可理解為運行是位于硬盤中的部分 數(shù)據(jù)庫啟動過程 1 啟動實例 nomount 啟動實例是啟動oracle數(shù)據(jù)庫的第一個過程 主要完成以下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國FMS物流管理軟件數(shù)據(jù)監(jiān)測研究報告
- 2025年中國24針平推打印機數(shù)據(jù)監(jiān)測報告
- 2025至2030年中國黑白藍底膠片市場分析及競爭策略研究報告
- 2025至2030年中國鋁合金分析儀器市場分析及競爭策略研究報告
- 2025至2030年中國輸送槽市場分析及競爭策略研究報告
- 2025至2030年中國結(jié)晶喂線機市場分析及競爭策略研究報告
- 2025至2030年中國礦泉水水處理設(shè)備市場分析及競爭策略研究報告
- 2025至2030年中國甲氧胺鹽酸鹽市場分析及競爭策略研究報告
- 2025至2030年中國混凝試驗儀市場分析及競爭策略研究報告
- 2025至2030年中國水解蛋白酶市場分析及競爭策略研究報告
- 2022年浙江省臺州市溫嶺中學(xué)提前招生數(shù)學(xué)試卷
- 安全應(yīng)急管理培訓(xùn)
- 高中化學(xué)核心素養(yǎng)(北師大王磊)
- 40篇英語短文搞定高考3500個單詞(全部)
- 工程建筑物拆除、清運及建筑廢棄物綜合招投標(biāo)書范本
- 保密管理與商業(yè)機密保護
- 【低保政策執(zhí)行過程中產(chǎn)生的消極效果及優(yōu)化建議分析11000字(論文)】
- 未婚先孕流產(chǎn)補償協(xié)議
- 醫(yī)院護理培訓(xùn)課件:《妊娠劇吐的護理查房》
- 深圳小學(xué)六年級下冊英語單詞表(帶音標(biāo))
- 初中化學(xué)九年級 實驗基本操作正誤判斷 練習(xí)題
評論
0/150
提交評論