自考04735《數(shù)據(jù)庫(kù)系統(tǒng)原理》筆記.ppt
《自考04735《數(shù)據(jù)庫(kù)系統(tǒng)原理》筆記.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《自考04735《數(shù)據(jù)庫(kù)系統(tǒng)原理》筆記.ppt(258頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
自考04735 數(shù)據(jù)庫(kù)系統(tǒng)原理 筆記 原創(chuàng) 雷神2018 08 20 第一部分課程說明 數(shù)據(jù)庫(kù)系統(tǒng)原理 課程學(xué)習(xí)目標(biāo) 數(shù)據(jù)庫(kù)是計(jì)算機(jī)科學(xué)的一個(gè)重要研究領(lǐng)域 是專門研究數(shù)據(jù)處理 數(shù)據(jù)管理和數(shù)據(jù)分析的技術(shù) 從20世紀(jì)60年代末開始 經(jīng)過40多年的發(fā)展 已成為計(jì)算機(jī)軟件學(xué)科的一個(gè)重要分支 數(shù)據(jù)庫(kù)系統(tǒng)原理 課程的主要目的 使同學(xué)們了解數(shù)據(jù)庫(kù)的基本原理 掌握數(shù)據(jù)庫(kù)技術(shù)的基本方法和應(yīng)用技術(shù) 能夠有效的使用現(xiàn)有的數(shù)據(jù)庫(kù)管理系統(tǒng) 掌握數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)方式 同時(shí)能夠利用前端開發(fā)工具完成企業(yè)管理信息系統(tǒng)的開發(fā) 數(shù)據(jù)庫(kù)系統(tǒng)原理 課程地位圖示 B S結(jié)構(gòu) C S結(jié)構(gòu) 瀏覽器端 HTML CSS JavaScript VBScript服務(wù)器端 ASP NET PHP JSP C S結(jié)構(gòu) VB VC VC Delphi Java NET系列 數(shù)據(jù)庫(kù)支持 SQLServer Oracle Sybase MySQL Informix Access 兩大語(yǔ)法體系 Basic系 VB VBScript VBAC系 Java JavaScript C C 參考教材介紹 自學(xué)教材 數(shù)據(jù)庫(kù)系統(tǒng)原理 全國(guó)高等教育自學(xué)考試指導(dǎo)委員會(huì)組編 丁寶康主編 經(jīng)濟(jì)科學(xué)出版社2007年版 本教材共分為9章 詳細(xì)介紹了數(shù)據(jù)庫(kù)系統(tǒng)的基本原理 方法和應(yīng)用技術(shù) 內(nèi)容包括 數(shù)據(jù)庫(kù)系統(tǒng)基本概念 第一章 數(shù)據(jù)庫(kù)的設(shè)計(jì)和ER模型 第二章 關(guān)系模式設(shè)計(jì)理論 第三章 關(guān)系運(yùn)算 第四章 SQL語(yǔ)言 第五章 數(shù)據(jù)庫(kù)管理 第六章 SQLServer2000簡(jiǎn)介及應(yīng)用 第七章 PowerBuilder9 0簡(jiǎn)介及應(yīng)用 第八章 數(shù)據(jù)庫(kù)的技術(shù)的發(fā)展 第九章 第二部分內(nèi)容串講 我們分章節(jié)進(jìn)行串講 在串講每一章前我把本章的考核的目標(biāo)和重點(diǎn) 難點(diǎn)做簡(jiǎn)要說明 第一章數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 學(xué)習(xí)目的與要求 本章屬于基礎(chǔ)知識(shí) 主要是對(duì)一些概念的理解和記憶 沒有難點(diǎn) 相對(duì)的重點(diǎn)是數(shù)據(jù)模型的四個(gè)層次 數(shù)據(jù)庫(kù)管理系統(tǒng)的功能 數(shù)據(jù)庫(kù)系統(tǒng)的全局結(jié)構(gòu) 考核知識(shí)點(diǎn)與考核要求 1 1數(shù)據(jù)管理技術(shù)的發(fā)展階段 識(shí)記 1 2數(shù)據(jù)描述的術(shù)語(yǔ) 領(lǐng)會(huì) 1 3數(shù)據(jù)抽象的級(jí)別 領(lǐng)會(huì) 1 4數(shù)據(jù)庫(kù)管理系統(tǒng) DBMS 領(lǐng)會(huì) 1 5數(shù)據(jù)庫(kù)系統(tǒng) DBS 領(lǐng)會(huì) 1 1數(shù)據(jù)管理技術(shù)的發(fā)展 幾個(gè)數(shù)據(jù)庫(kù)的基本術(shù)語(yǔ) 數(shù)據(jù) 描述事物的符號(hào)記錄數(shù)據(jù)處理 是指從某些已知的數(shù)據(jù)出發(fā) 推導(dǎo)加工出一些新的數(shù)據(jù) 這些新的數(shù)據(jù)又表示了新的信息 數(shù)據(jù)管理 是指數(shù)據(jù)的收集 整理 組織 存儲(chǔ) 維護(hù) 檢索 傳送等操作 這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié) 而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分 數(shù)據(jù)管理技術(shù) 對(duì)數(shù)據(jù)的收集 整理 組織 存儲(chǔ) 維護(hù) 檢索 傳送等操作 基本目的就是從大量的 雜亂無章的 難以理解的數(shù)據(jù)中篩選出有意義的數(shù)據(jù) 數(shù)據(jù)處理是與數(shù)據(jù)管理相聯(lián)系的 數(shù)據(jù)管理技術(shù)的優(yōu)劣 將直接影響數(shù)據(jù)處理的效率 1 1數(shù)據(jù)管理技術(shù)的發(fā)展 1 人工管理階段 20世紀(jì)50年代中期以前 數(shù)據(jù)不保存在機(jī)器中 沒有專用軟件對(duì)數(shù)據(jù)進(jìn)行管理 只有程序的概念 沒有文件的概念 數(shù)據(jù)面向程序 2 文件系統(tǒng)階段特點(diǎn)與缺陷 20世紀(jì)50年代后期至60年代中期 數(shù)據(jù)可長(zhǎng)期保存在磁盤上 數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別 文件組織呈現(xiàn)多樣化 數(shù)據(jù)不再屬于某個(gè)特定程序 可以重復(fù)使用 對(duì)數(shù)據(jù)的操作以記錄為單位 文件系統(tǒng)三個(gè)缺陷 數(shù)據(jù)冗余性 數(shù)據(jù)不一致性 數(shù)據(jù)聯(lián)系弱 3 數(shù)據(jù)庫(kù)階段 20世紀(jì)60年代后 至今 數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫(kù)階段的標(biāo)志是20世紀(jì)60年代末三件大事 1968年美國(guó)IBM公司推出層次模型的IMS系統(tǒng) 1969年美國(guó)CODASYL組織發(fā)布了DBTG報(bào)告 總結(jié)了當(dāng)時(shí)各式各樣的數(shù)據(jù)庫(kù) 提出網(wǎng)狀模型 爾后于1971年4月正式通過 1970年美國(guó)IBM公司的E F Codd連續(xù)發(fā)表論文 提出關(guān)系模型 奠定了關(guān)系數(shù)據(jù)庫(kù)的理論基礎(chǔ) 數(shù)據(jù)庫(kù)管理階段特點(diǎn) 1 采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu) 2 有較高的數(shù)據(jù)獨(dú)立性 3 數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供了方便的用戶接口 4 數(shù)據(jù)庫(kù)系統(tǒng)提供以下四個(gè)方面的數(shù)據(jù)控制功能 數(shù)據(jù)庫(kù)的恢復(fù) 數(shù)據(jù)庫(kù)的并發(fā)控制 數(shù)據(jù)庫(kù)的完整性 數(shù)據(jù)庫(kù)的安全性 5 增加了系統(tǒng)的靈活性 增加了系統(tǒng)的靈活性對(duì)數(shù)據(jù)的操作不一定以記錄為單位 可以以數(shù)據(jù)項(xiàng)為單位 數(shù)據(jù)庫(kù)技術(shù)中的四個(gè)名詞 DB DBMS DBS 數(shù)據(jù)庫(kù)技術(shù) 其概念是不同的 要分清 DB 數(shù)據(jù)庫(kù) Database 長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi) 有組織的 統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合 DBMS 數(shù)據(jù)庫(kù)管理系統(tǒng) DatabaseManagementSystem DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件 為用戶或應(yīng)用程序提供訪問DB的方法 包括DB的建立 查詢 更新及各種數(shù)據(jù)控制 DBMS總是基于某種數(shù)據(jù)模型 可以分為層次型 網(wǎng)狀型 關(guān)系型 面向?qū)ο笮虳BMS DBS 數(shù)據(jù)庫(kù)系統(tǒng) DatabaseSystem DBS是實(shí)現(xiàn)有組織地 動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù) 方便多用戶訪問的計(jì)算機(jī)軟件 硬件和數(shù)據(jù)資源組成的系統(tǒng) 即采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng) 數(shù)據(jù)庫(kù)技術(shù) 是一門研究數(shù)據(jù)庫(kù)結(jié)構(gòu) 存儲(chǔ) 管理和使用的一門軟件學(xué)科 4 高級(jí)數(shù)據(jù)庫(kù)階段 面向?qū)ο蟮母拍罱?開放數(shù)據(jù)庫(kù)互連技術(shù) 1 2數(shù)據(jù)描述 在數(shù)據(jù)處理中 數(shù)據(jù)描述將涉及不同的范疇 從事物的特性到計(jì)算機(jī)中的具體表示 數(shù)據(jù)描述經(jīng)歷了三個(gè)階段 概念設(shè)計(jì) 邏輯設(shè)計(jì)和物理設(shè)計(jì) 1 概念設(shè)計(jì)中的的數(shù)據(jù)描述 實(shí)體 實(shí)體集 屬性 實(shí)體標(biāo)識(shí)符2 邏輯設(shè)計(jì)中的數(shù)據(jù)描述 字段 記錄 文件 關(guān)鍵碼 3 物理設(shè)計(jì)中的數(shù)據(jù)描述 物理存儲(chǔ)介質(zhì)層次 高速緩沖存儲(chǔ)器 主存儲(chǔ)器 快擦寫存儲(chǔ)器 磁盤存儲(chǔ)器 光盤存儲(chǔ)器 磁帶物理存儲(chǔ)中的數(shù)據(jù)描述位 字節(jié) 字 塊 桶和卷 4 數(shù)據(jù)聯(lián)系的描述 聯(lián)系及元數(shù)定義 二元聯(lián)系有以下三種類型 1 1聯(lián)系 如果實(shí)體集E1中的每個(gè)實(shí)體最多只能和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系 反之亦然 好么實(shí)體集E1對(duì)E2的聯(lián)系稱為 一對(duì)一聯(lián)系 記為 1 1 1 N聯(lián)系 如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè) 零個(gè)或多個(gè) 實(shí)體有聯(lián)系 而E2中每個(gè)實(shí)體至多和E1中的一個(gè)實(shí)體有聯(lián)系 那么E1對(duì)E2的聯(lián)系是 一對(duì)多聯(lián)系 記為 1 N M N聯(lián)系 如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè) 零個(gè)或多個(gè) 實(shí)體有聯(lián)系 反之亦然 那么E1對(duì)E2的聯(lián)系是 多對(duì)多聯(lián)系 記為 M N 1 3數(shù)據(jù)抽象的級(jí)別 1 數(shù)據(jù)抽象的過程根據(jù)抽象的級(jí)別定義了四種模型 概念數(shù)據(jù)模型 邏輯數(shù)據(jù)模型 外部數(shù)據(jù)模型 內(nèi)部數(shù)據(jù)模型 2 概念模型 四種模型中 概念模型的抽象級(jí)別最高 概念模型的特點(diǎn) p12 3 邏輯模型邏輯模型的特點(diǎn) p13 1 4 邏輯模型的分類 層次模型 網(wǎng)狀模型 關(guān)系模型三種邏輯數(shù)據(jù)模型的比較 如P17圖 4 外部模型外部模型的特點(diǎn) p17 從整個(gè)系統(tǒng)考察 外部模型的優(yōu)點(diǎn) 5 內(nèi)部模型是數(shù)據(jù)庫(kù)最底的抽象 它描述數(shù)據(jù)在磁盤或磁帶上的存儲(chǔ)方式 存取設(shè)備和存取方法 6 三層模式和兩級(jí)映象三層模式體系結(jié)構(gòu) 外模式 是用戶與數(shù)據(jù)庫(kù)系統(tǒng)的接口 是用戶用到的那部分?jǐn)?shù)據(jù)的描述 邏輯模式 是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述 內(nèi)模式 是數(shù)據(jù)庫(kù)在物理存儲(chǔ)方面的描述 定義所有內(nèi)部記錄類型 索引和文件的組織方式 以及數(shù)據(jù)控制方面的細(xì)節(jié) 兩級(jí)映象外模式 邏輯模式映象 用于定義概念模式和內(nèi)模式之間的對(duì)應(yīng)性 一般在內(nèi)模式中描述 邏輯模式 內(nèi)模式映象 用于定義外模式和概念模式間的對(duì)應(yīng)性 一般在外模式中描述 7 高度的數(shù)據(jù)獨(dú)立性什么叫數(shù)據(jù)獨(dú)立性 是指應(yīng)用程序和數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立 不受影響 在修改數(shù)據(jù)結(jié)構(gòu)時(shí) 盡可能不修改應(yīng)用程序 則稱系統(tǒng)達(dá)到了數(shù)據(jù)獨(dú)立性目標(biāo) 數(shù)據(jù)獨(dú)立性分為物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性 物理數(shù)據(jù)獨(dú)立性 修改內(nèi)模式時(shí)盡量不影響概念模式及外模式 則達(dá)到物理數(shù)據(jù)獨(dú)立性 邏輯數(shù)據(jù)獨(dú)立性 修改概念模式時(shí)盡量不影響外模式和應(yīng)用程序 1 4數(shù)據(jù)庫(kù)管理系統(tǒng) DBMS 1 DBMS的目標(biāo)與任務(wù) 數(shù)據(jù)庫(kù)管理系統(tǒng)的主要任務(wù)是完成用戶對(duì)數(shù)據(jù)庫(kù)的存取請(qǐng)求 即檢索 插入 更新或刪除等操作 DBMS的目標(biāo) 用戶界面友好 功能完善 結(jié)構(gòu)清晰 高效率 開放性2 DBMS的工作模式 p20圖 3 DBMS的主要功能 數(shù)據(jù)庫(kù)的定義功能 數(shù)據(jù)庫(kù)的操縱功能 數(shù)據(jù)庫(kù)的保護(hù)功能 數(shù)據(jù)庫(kù)恢復(fù) 數(shù)據(jù)庫(kù)并發(fā)控制 數(shù)據(jù)庫(kù)完整性和數(shù)據(jù)庫(kù)安全性 數(shù)據(jù)庫(kù)的維護(hù)功能 數(shù)據(jù)字典 1 5數(shù)據(jù)庫(kù)系統(tǒng) DBS 1 DBS由四部分組成 數(shù)據(jù)庫(kù) 硬件 軟件 數(shù)據(jù)庫(kù)管理員 2 數(shù)據(jù)庫(kù)管理員定義及職責(zé) 素質(zhì) 職責(zé) 3 DBS的全局結(jié)構(gòu)及DBS的效益 數(shù)據(jù)庫(kù)用戶 界面 DBMS 磁盤 DBS的效益 本章結(jié)束 第二章數(shù)據(jù)庫(kù)設(shè)計(jì)和ER模型 學(xué)習(xí)目的與要求 本章總的目的要求是了解和掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的全過程 首先掌握ER模型和關(guān)系模型的基本概念 然后掌握概念設(shè)計(jì)中ER模型的設(shè)計(jì)方法 邏輯設(shè)計(jì)中ER模型向關(guān)系模型轉(zhuǎn)換方法 考核知識(shí)點(diǎn)與考核要求2 1數(shù)據(jù)庫(kù)系統(tǒng)生存期 領(lǐng)會(huì) 2 2ER模型的基本概念 綜合應(yīng)用 2 3關(guān)系模型的基本概念 綜合應(yīng)用 2 4ER模型到關(guān)系模型的轉(zhuǎn)換規(guī)則 綜合應(yīng)用 2 5ER模型實(shí)例分析 簡(jiǎn)單應(yīng)用 2 6增強(qiáng)ER模型 簡(jiǎn)單應(yīng)用 從軟件生存期談起軟件生存期 是指從軟件的規(guī)劃 研制 實(shí)現(xiàn) 投入運(yùn)行后的維護(hù) 直到它被新的軟件所取代而停止使用的整個(gè)期間 它包括六個(gè)階段 規(guī)需設(shè)編試運(yùn)維 1 規(guī)劃階段 2 需求分析階段 3 設(shè)計(jì)階段 4 程序編制階段 5 調(diào)試階段 6 運(yùn)行維護(hù)階段 2 1數(shù)據(jù)系統(tǒng)生存期 1 什么叫數(shù)據(jù)庫(kù)系統(tǒng)生存期 我們把數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)從開始規(guī)劃 設(shè)計(jì) 實(shí)現(xiàn) 維護(hù)到最后被新的系統(tǒng)取代而停止使用的整個(gè)期間 稱為數(shù)據(jù)庫(kù)系統(tǒng)生存期 2 這個(gè)生存期一般可劃分成以下七個(gè)階段 規(guī)劃 需求分析 概念設(shè)計(jì) 邏輯設(shè)計(jì) 物理設(shè)計(jì) 實(shí)現(xiàn) 運(yùn)行維護(hù) 2ER模型的基本概念 1 ER模型的基本元素實(shí)體 聯(lián)系和屬性2 屬性的分類 簡(jiǎn)單屬性和復(fù)合屬性 單值屬性和多值屬性 存儲(chǔ)屬性和派生屬性 3 聯(lián)系的設(shè)計(jì)4 ER模型的操作 分裂 合并和增刪 5 采用ER模型的數(shù)據(jù)庫(kù)概念設(shè)計(jì)步驟采用ER方法進(jìn)行數(shù)據(jù)庫(kù)概念設(shè)計(jì)分成三步進(jìn)行 首先設(shè)計(jì)局部ER模式然后把各局部ER模式綜合成全局ER模式最后對(duì)全局ER模式進(jìn)行優(yōu)化 2 3關(guān)系模型的基本概念 關(guān)系模型定義 用二維表格結(jié)構(gòu)表示實(shí)體集 外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型 2 基本術(shù)語(yǔ)有 字段 屬性 字段值 屬性值 記錄 元組 二維表格 元組集合 關(guān)系或?qū)嵗?在這里 括號(hào)中的表述為關(guān)系模型中的術(shù)語(yǔ) 它與表格中術(shù)語(yǔ)可以一一對(duì)應(yīng) 還有 關(guān)系中屬性個(gè)數(shù)稱為元數(shù) 元組個(gè)數(shù)為基數(shù) 3 鍵 由一個(gè)或幾個(gè)屬性組成 注意鍵不一定是唯一的一個(gè)屬性 1 超鍵 在關(guān)系中能唯一標(biāo)識(shí)元組的屬性集稱為關(guān)系模式的超鍵 注意 超鍵也是一個(gè)屬性集 不一定只是一個(gè)屬性 2 候選鍵 不含有多余屬性的超鍵稱為候選鍵 3 主鍵 用戶選作元組標(biāo)識(shí)的一個(gè)候選鍵為主鍵 4 外鍵 某個(gè)關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn) 此時(shí)該主鍵在就是另一關(guān)系的外鍵 如有兩個(gè)關(guān)系S和SC 其中S 是關(guān)系S的主鍵 相應(yīng)的屬性S 在關(guān)系SC中也出現(xiàn) 此時(shí)S 就是關(guān)系SC的外鍵 關(guān)系的定義和性質(zhì) 關(guān)系定義 關(guān)系是一個(gè)屬性數(shù)目相同的元組的集合 關(guān)系性質(zhì) p53 5 三類完整性規(guī)則 實(shí)體完整性規(guī)則 要求關(guān)系中組成主鍵的屬性上不能有空值 參照完整性規(guī)則 要求不引用不存在的實(shí)體 用戶定義完整性規(guī)則 由具體應(yīng)用環(huán)境決定 系統(tǒng)提供定義和檢驗(yàn)這類完整性的機(jī)制 2 4E R模型向關(guān)系模型的轉(zhuǎn)換 E R模型可以向現(xiàn)有的各種數(shù)據(jù)庫(kù)模型轉(zhuǎn)換 對(duì)不同的數(shù)據(jù)庫(kù)模型有不同的轉(zhuǎn)換規(guī)則 這里只討論E R模型向關(guān)系模型的轉(zhuǎn)換方法 1 E R模型向關(guān)系模型的轉(zhuǎn)換規(guī)則 1 實(shí)體類型的轉(zhuǎn)換將每個(gè)實(shí)體類型轉(zhuǎn)換成一個(gè)關(guān)系模式 實(shí)體的屬性即為關(guān)系的屬性 實(shí)體標(biāo)識(shí)符即為關(guān)系的鍵 2 聯(lián)系類型的轉(zhuǎn)換1 實(shí)體間的聯(lián)系是1 1可以在兩個(gè)實(shí)體類型轉(zhuǎn)換成兩個(gè)關(guān)系模式中的任意一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的鍵和聯(lián)系類型的屬性 系關(guān)系模式 校名 地址 電話 系主任名 任職年月 系主任關(guān)系模式 姓名 性別 年齡 職稱 職稱 1 1 系主任 系 姓名 性別 年齡 校名 地址 任職年月 主管 電話 系主任關(guān)系模式 姓名 性別 年齡 職稱 學(xué)校名 任職年月 系關(guān)系模式 校名 地址 電話 N 1 工號(hào) 年齡 職工 車間 姓名 性別 車間號(hào) 車間名 電話 聘用 聘期 2 如實(shí)體間的聯(lián)系是1 N則在N端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類型的屬性 車間關(guān)系模式 車間號(hào) 車間名 電話 職工關(guān)系模式 工號(hào) 姓名 性別 年齡 車間號(hào) 聘期 3 如實(shí)體間的聯(lián)系是M N則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式 其屬性為兩端實(shí)體類型的鍵加上聯(lián)系類型的屬性 而鍵為兩端實(shí)體鍵的組合 學(xué)生關(guān)系模式S S SNAME AGE SEX 課程關(guān)系模式C C CNAME TEACHE R GRADE SC M N S S SNAME AGE SEX C C CNAME TEACHE R 學(xué)生課程關(guān)系模式SC S C GRADE 以上各轉(zhuǎn)換規(guī)則 給出了一般情況下E R模型向關(guān)系模型的轉(zhuǎn)換方法 但在實(shí)際應(yīng)用中往往還需要根具實(shí)際情況進(jìn)行具體處理 下面以圖書借閱系統(tǒng)的E R模型轉(zhuǎn)換為關(guān)系模型為例 借期 借閱 M N 讀者 編號(hào) 姓名 讀者類型 已借數(shù)量 圖書 編號(hào) 書名 出版社 還期 該例中 由于允許同一本書在不同的時(shí)間借給多個(gè)讀者 特別是一個(gè)讀者在不同的時(shí)間可以借同一本書 因而 在多對(duì)多聯(lián)系 借閱 轉(zhuǎn)換為關(guān)系模式時(shí) 僅有讀者的編號(hào)和圖書的編號(hào)是不能構(gòu)成碼的 例如 0406010 F33 33 2006 10 10 10 10 2007 02 20 3 00 0406010 F33 33 2007 5 26 4 00 NULL 借期 借閱 M N 讀者 編號(hào) 姓名 讀者類型 已借數(shù)量 圖書 編號(hào) 書名 出版社 還期 讀者關(guān)系模式讀者 編號(hào) 書名 出版社 出版日期 定價(jià) 讀者圖書關(guān)系模式借閱 讀者編號(hào) 圖書編號(hào) 借期 還期 圖書關(guān)系模式圖書 編號(hào) 姓名 讀者類型 已借數(shù)量 說明 按照上述介紹的轉(zhuǎn)換方法得到的關(guān)系模型不一定是最好的 實(shí)際應(yīng)用中 往往還要對(duì)得到的關(guān)系模型進(jìn)行規(guī)范化 2 5和2 6 實(shí)例分析 同學(xué)們多看書 1 庫(kù)存管理系統(tǒng)的ER模型及轉(zhuǎn)換2 人事管理信息系統(tǒng)的ER模型3 住院管理信息系統(tǒng)的ER模型4 公司車隊(duì)信息系統(tǒng)的ER模型 本章結(jié)束 第三章關(guān)系模式設(shè)計(jì)理論 學(xué)習(xí)目的與要求 本章特點(diǎn)是理論性較強(qiáng) 學(xué)習(xí)者應(yīng)從概念著手 搞清概念間的聯(lián)系和作用 本章總的要求是 了解關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論及其在數(shù)據(jù)庫(kù)設(shè)計(jì)中的作用 本章的重點(diǎn)是函數(shù)依賴 無損分解 保持依賴和范式 掌握這些概念并能運(yùn)用它們分析模式分解的特點(diǎn) 考核知識(shí)點(diǎn)與考核要求 3 1關(guān)系模式的設(shè)計(jì)準(zhǔn)則 簡(jiǎn)單應(yīng)用 3 2函數(shù)依賴 FD 簡(jiǎn)單應(yīng)用 3 3關(guān)系模式的分解特性 簡(jiǎn)單應(yīng)用 3 4范式1NF 2NF 3NF 簡(jiǎn)單應(yīng)用 BCNF 領(lǐng)會(huì) 分解成BCNF模式集的 分解算法 識(shí)記 分解成3NF模式集的 合成算法 綜合應(yīng)用 模式設(shè)計(jì)方法小結(jié) 領(lǐng)會(huì) 3 5多值依賴和第四范式 識(shí)記 3 1關(guān)系模式的設(shè)計(jì)準(zhǔn)則 1 關(guān)系模式的冗余和異常問題 數(shù)據(jù)冗余 操作異常 修改異常 插入異常和刪除異常 2 關(guān)系模式的非形式化設(shè)計(jì)準(zhǔn)則 關(guān)系模式的設(shè)計(jì)應(yīng)盡可能只包含有直接聯(lián)系的屬性 不包括有間接聯(lián)系的屬性 關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中不出現(xiàn)插入 刪除和修改異常 關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中避免放置經(jīng)常為空值的屬性 關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得關(guān)系的等值連接在主鍵和外鍵的屬性上進(jìn)行 并且保證連接以后不會(huì)生成額外的元組 3 2函數(shù)依賴 1 函數(shù)依賴的定義設(shè)有關(guān)系模式R A1 A2 An 或簡(jiǎn)記為R U X Y是U的子集 r是R的任一具體關(guān)系 如果對(duì)r的任意兩個(gè)元組t1 t2 由t1 X t2 X 導(dǎo)致t1 Y t2 Y 則稱X函數(shù)決定Y 或Y函數(shù)依賴于X 記為X Y X Y為模式R的一個(gè)函數(shù)依賴 這個(gè)定義可以這樣理解 有一張?jiān)O(shè)計(jì)好的二維表 X Y是表的某些列 可以是一列 也可以是多列 若在表中的第t1行 和第t2行上的X值相等 那么必有t1行和t2行上的Y值也相等 這就是說Y函數(shù)依賴于X 2 函數(shù)依賴的邏輯蘊(yùn)涵設(shè)F是關(guān)系模式R的一個(gè)函數(shù)依賴集 X Y是R的屬性子集 如果從F中的函數(shù)依賴能夠推出X Y 則稱F邏輯蘊(yùn)涵X Y 記為F X Y 而函數(shù)依賴的閉包F 是指被F邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合 3 鍵和FD的關(guān)系鍵是唯一標(biāo)識(shí)實(shí)體的屬性集 對(duì)于鍵和函數(shù)依賴的關(guān)系 有兩個(gè)條件 設(shè)關(guān)系模式R A1 A2 An F是R上的函數(shù)依賴集 X是R的一個(gè)子集 1 X A1A2 An F 它的意思是X能夠決定唯一的一個(gè)元組 2 不存在X的真子集Y 使得Y也能決定唯一的一個(gè)元組 則X就是R的一個(gè)候選鍵 它的意思是X能決定唯一的一個(gè)元組但又沒有多余的屬性集 包含在任何一個(gè)候選鍵中的屬性稱為主屬性 不包含在任何鍵中的屬性為非主屬性 非鍵屬性 注意 主屬性應(yīng)當(dāng)包含在候選鍵中 4 函數(shù)依賴 FD 的推理規(guī)則前面我們舉的例子中是以實(shí)際經(jīng)驗(yàn)來確定一個(gè)函數(shù)依賴的邏輯蘊(yùn)涵 但是我們需要一個(gè)推理規(guī)則才能完全確定F或F 的所有函數(shù)依賴 設(shè)有關(guān)系模式R U X Y Z W均是U的子集 F是R上只涉及到U中屬性的函數(shù)依賴集 推理規(guī)則如下 A1 自反性 如果YXU 則X Y在R上成立 A2 增廣性 如果X Y為F所蘊(yùn)涵 ZU 則XZ YZ在R上成立 XZ表示X Z 下同 A3 傳遞性 如果X Y和Y Z在R上成立 則X Z在R上成立 A4 合并性 如果X Y和X Z成立 那么X YZ成立 A6 分解性 如果X Y和ZY成立 那么X Z成立 A5 偽傳性 如果X Y和WY Z成立 那么WX Z成立 A7 復(fù)合性 X Y W Z XW YZ A8 通用一致性定理 X Y W Z x X Y YZ 5 函數(shù)依賴推理規(guī)則的完備性函數(shù)依賴推理規(guī)則系統(tǒng) 自反性 增廣性和傳遞性 是完備的 由推理規(guī)則的完備性可得到兩個(gè)重要結(jié)論 1 屬性集X 中的每個(gè)屬性A 都有X A被F邏輯蘊(yùn)涵 即X 是所有由F邏輯蘊(yùn)含X A的屬性A的集合 2 F 是所有利用Amstrong推理規(guī)則從F導(dǎo)出的函數(shù)依賴的集合 6 函數(shù)依賴集的等價(jià)和覆蓋在關(guān)系模式R U 上的兩個(gè)函數(shù)依賴集F和G 如果滿足F G 則稱F和G是等價(jià)的 稱F和G等價(jià)也稱F覆蓋G或G覆蓋F 每個(gè)函數(shù)依賴集F都可以被一個(gè)右部只有單屬性的函數(shù)依賴集G所覆蓋 如果函數(shù)依賴集合F滿足 1 F中每一個(gè)函數(shù)依賴的右部都是單屬性 2 F中的任一函數(shù)依賴X A 其F X A 是不等價(jià)的 3 F中的任一函數(shù)依賴X A Z為X的子集 F X A Z A 與F不等價(jià) 則稱F為最小函數(shù)依賴集合 如果函數(shù)依賴集F和G等價(jià) 并且G是最小集 那么稱G是F的一個(gè)最小覆蓋 這一段并不要求掌握最小集的求法 但是應(yīng)當(dāng)通過其求法理解最小集的概念 3 3關(guān)系模式分解特性 1 模式分解中存在的問題模式分解就是將一個(gè)泛關(guān)系模式R分解成數(shù)據(jù)庫(kù)模式 以 代替R的過程 它不僅僅是屬性集合的分解 它是對(duì)關(guān)系模式上的函數(shù)依賴集 以及關(guān)系模式的當(dāng)前值分解的具體表現(xiàn) 分解一個(gè)模式有很多方法 但是有的分解會(huì)出現(xiàn)失去函數(shù)依賴 或出現(xiàn)插入 刪除異常等情況 而有的分解則不出現(xiàn)相關(guān)問題 衡量一個(gè)分解的標(biāo)準(zhǔn)有三種 分解具有無損聯(lián)接 分解要保持函數(shù)依賴 分解既要保持依賴 又要具有無損聯(lián)接 那么什么是無損聯(lián)接呢 什么又是保持依賴 2 無損聯(lián)接的定義和性質(zhì)設(shè)R是一關(guān)系模式 分解成 R1 R2 Rk F是R上的一個(gè)函數(shù)依賴集 無損聯(lián)接就是指R中每一個(gè)滿足F的關(guān)系r 也就是一個(gè)關(guān)系實(shí)例 都有r R1 r X R2 r X R3 r 即r為它在Ri上的投影的自然聯(lián)接 最簡(jiǎn)單的理解 也就是說 分解后的關(guān)系自然連接后完全等于分解前的關(guān)系 則這個(gè)分解相對(duì)于F是無損聯(lián)接分解 設(shè)R的分解為 R1 R2 F為R所滿足的函數(shù)依賴集 則分解 具有無損聯(lián)接性的充分必要條件是 R1 R2 R1 R2 R1 R2 R2 R1 也就是說 分解后的兩個(gè)模式的交能決定這兩個(gè)模式的差集 即R1 R2的公共屬性能夠函數(shù)決定R1或R2中的其他屬性 這樣的分解就必定是無損聯(lián)接分解 3 保持函數(shù)依賴的分解在分解過程中 要求模式分解的無損聯(lián)接是必要的 只有無損聯(lián)接分解才能保證任何一個(gè)關(guān)系能由它的那些投影進(jìn)行自然聯(lián)接得到恢復(fù) 同時(shí) 分解關(guān)系模式時(shí)還應(yīng)保證關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫(kù)模式中保持不變 這就是保持函數(shù)依賴的問題 也就是所有分解出的模式所滿足的函數(shù)依賴的全體應(yīng)當(dāng)?shù)葍r(jià)于原模式的函數(shù)依賴集 只有這樣才能確保整個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)義完整性不受破壞 3 4范式 1 1NF 2NF 3NF BCNF的定義 1NF 第一范式即關(guān)系模式中的屬性的值域中每一個(gè)值都是不可再分解的值 如果某個(gè)數(shù)據(jù)庫(kù)模式都是第一范式的 則稱該數(shù)據(jù)庫(kù)模式是屬于第一范式的數(shù)據(jù)庫(kù)模式 2NF 第二范式如果關(guān)系模式R為第一范式 并且R中每一個(gè)非主屬性完全函數(shù)依賴于R的某個(gè)候選鍵 則稱為第二范式模式 非主屬性 完全函數(shù)依賴 候選鍵三個(gè)名詞的含義 候選鍵就是指可以唯一決定關(guān)系模式R中某元組值且不含有多余屬性的屬性集 非主屬性也就是非鍵屬性 指關(guān)系模式R中不包含在任何建中的屬性 設(shè)有函數(shù)依賴W A 若存在X W 有X A成立 那么稱W A是局部依賴 否則就稱W A是完全函數(shù)依賴 在分析是否為第2范式時(shí) 應(yīng)首先確定候選鍵 然后把關(guān)系模式中的非主屬性與鍵的依賴關(guān)系進(jìn)行考察 是否都為完全函數(shù)依賴 如是 則此關(guān)系模式為2NF 如果數(shù)據(jù)庫(kù)模式中每個(gè)關(guān)系模式都是2NF的 則此數(shù)據(jù)庫(kù)模式屬于2NF的數(shù)據(jù)庫(kù)模式 3NF 第三范式如果關(guān)系模式R是第二范式 且每個(gè)非主屬性都不傳遞依賴于R的候選鍵 則稱R為第三范式的模式 這里首先要了解傳遞依賴的含義 在關(guān)系模式中 如果Y X X A 且X不決定Y和A不屬于X 那么Y A是傳遞依賴 注意的是 這里要求非主屬性都不傳遞依賴于候選鍵 BCNF 這個(gè)范式和第三范式有聯(lián)系 它是3NF的改進(jìn)形式 若關(guān)系模式R是第一范式 且每個(gè)屬性都不傳遞依賴于R的候選鍵 這種關(guān)系模式就是BCNF模式 縱觀四種范式 可以發(fā)現(xiàn)它們之間存在如下關(guān)系 5 分解成BCNF模式集的算法對(duì)于任一關(guān)系模式 可找到一個(gè)分解達(dá)到3NF 且具有無損聯(lián)接和保持函數(shù)依賴性 而對(duì)于BCNF分解 則可以保證無損聯(lián)接但不一定能保證保持函數(shù)依賴集 無損聯(lián)接分解成BCNF模式集的算法 1 置初值 R 2 如果 中所有關(guān)系模式都是BCNF 則轉(zhuǎn) 4 3 如果 中有一個(gè)關(guān)系模式S不是BCNF 則S中必能找到一個(gè)函數(shù)依賴集X A有X不是S的鍵 且A不屬于X 設(shè)S1 XA S2 S A 用分解S1 S2代替S 轉(zhuǎn) 2 4 分解結(jié)束 輸出 在這個(gè)過程中 重點(diǎn)在于 3 步 判斷哪個(gè)關(guān)系不是BCNF 并找到X和A 這里 S的判斷用BCNF的定義 而X不是S的鍵則依靠分析 6 分解成3NF模式集算法 1 如果R中的某些屬性在F的所有依賴的左邊和右邊都不出現(xiàn) 那么這些屬性可以從R中分出去 單獨(dú)構(gòu)成一個(gè)關(guān)系模式 2 如果F中有一個(gè)依賴X A有XA R 則 R 轉(zhuǎn) 4 3 對(duì)于F中每一個(gè)X A 構(gòu)成一個(gè)關(guān)系模式XA 如果F有有X A1 X A2 X An 則可以用模式XA1A2 An代替n個(gè)模式XA1 XA2 XAn 4 w分解結(jié)束 輸入 這個(gè)過程的重點(diǎn)是這一句 對(duì)于F中每一個(gè)X A 構(gòu)成一個(gè)關(guān)系模式XA 這使我們的分解十分容易 然后依據(jù)合并律 合并律 如果X Y和X Z成立 那么X YZ成立 將有關(guān)模式合并即得到所需3NF模式 7 模式設(shè)計(jì)方法的原則關(guān)系模式R相對(duì)于函數(shù)依賴集F分解成數(shù)據(jù)庫(kù)模式 R1 R2 Rk 一般具有下面四項(xiàng)特性 中每個(gè)關(guān)系模式Ri上應(yīng)具有某種范式性質(zhì) 3NF或BCNF 無損聯(lián)接性 保持函數(shù)依賴集 最小性 即 中模式個(gè)數(shù)應(yīng)最少且模式中屬性總數(shù)應(yīng)最少 一個(gè)好的模式設(shè)計(jì)方法應(yīng)符合下列三條原則 表達(dá)性分離性最小冗余性 8 多值依賴與第四范式 4NF 例 學(xué)校中某一門課程由多個(gè)教師講授 他們使用相同的一套參考書 關(guān)系模式Teaching C T B 課程C 教師T和參考書B 表5 1 用二維表表示Teaching 多值依賴與第四范式Teaching BCNF Teach具有唯一候選碼 C T B 即全碼Teaching模式中存在的問題 1 數(shù)據(jù)冗余度大 有多少名任課教師 參考書就要存儲(chǔ)多少次 2 插入操作復(fù)雜 當(dāng)某一課程增加一名任課教師時(shí) 該課程有多少本參照書 就必須插入多少個(gè)元組 例如物理課增加一名教師劉關(guān) 需要插入兩個(gè)元組 物理 劉關(guān) 普通物理學(xué) 物理 劉關(guān) 光學(xué)原理 3 刪除操作復(fù)雜 某一門課要去掉一本參考書 該課程有多少名教師 就必須刪除多少個(gè)元組 4 修改操作復(fù)雜 某一門課要修改一本參考書 該課程有多少名教師 就必須修改多少個(gè)元組 產(chǎn)生原因存在多值依賴 1 多值依賴設(shè)R U 是一個(gè)屬性集U上的一個(gè)關(guān)系模式 X Y和Z是U的子集 并且Z U X Y 多值依賴X Y成立當(dāng)且僅當(dāng)對(duì)R的任一關(guān)系r r在 X Z 上的每個(gè)值對(duì)應(yīng)一組Y的值 這組值僅僅決定于X值而與Z值無關(guān) 例Teaching C T B 對(duì)于C的每一個(gè)值 T有一組值與之對(duì)應(yīng) 而不論B取何值 2 第四范式 4NF 關(guān)系模式R 1NF 如果對(duì)于R的每個(gè)非平凡多值依賴X Y Y X X都含有候選碼 則R 4NF 如果R 4NF 則R BCNF不允許有非平凡且非函數(shù)依賴的多值依賴允許的是函數(shù)依賴 是非平凡多值依賴 本章結(jié)束 第四章關(guān)系運(yùn)算 學(xué)習(xí)目的與要求 本章總的要求是 深刻理解關(guān)系模型的運(yùn)算理論 了解查詢優(yōu)化的意義和啟發(fā)式優(yōu)化算法 本章的重點(diǎn)是關(guān)系代數(shù)運(yùn)算 應(yīng)熟練掌握 關(guān)系演算是本章的難點(diǎn) 考核知識(shí)點(diǎn)和考核要求4 1關(guān)系代數(shù)4 1 1關(guān)系代數(shù)的五個(gè)基本操作 并 差 笛卡兒積 投影 選擇 綜合運(yùn)用 4 1 2關(guān)系代數(shù)的四個(gè)組合操作 交 連接 自然連接 除法 綜合運(yùn)用 4 1 3關(guān)系代數(shù)表達(dá)式的應(yīng)用 綜合運(yùn)用 4 1 4關(guān)系代數(shù)的兩個(gè)擴(kuò)充操作 外連接 外部并 領(lǐng)會(huì) 4 2關(guān)系演算4 2 1元組關(guān)系演算的定義及表達(dá)式的含義 簡(jiǎn)單應(yīng)用 4 2 2域關(guān)系演算的定義及表達(dá)式的含義 領(lǐng)會(huì) 4 2 3關(guān)系運(yùn)算的安全約束和等價(jià)性 領(lǐng)會(huì) 4 3關(guān)系代數(shù)表達(dá)式的優(yōu)化 領(lǐng)會(huì) 關(guān)系模型有三個(gè)重要組成部分 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操縱 數(shù)據(jù)完整性規(guī)則關(guān)系查詢語(yǔ)言根據(jù)其理論基礎(chǔ)的不同分成兩類 關(guān)系代數(shù)語(yǔ)言 關(guān)系演算語(yǔ)言 4 1關(guān)系代數(shù) 1 關(guān)系代數(shù)的五個(gè)基本操作 并 差 笛卡爾積 投影和選擇 并 兩個(gè)關(guān)系需有相同的關(guān)系模式 并的對(duì)象是元組 由兩個(gè)關(guān)系所有元組構(gòu)成 差 同樣 兩個(gè)關(guān)系有相同的模式 R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合 笛卡兒積 對(duì)于兩個(gè)關(guān)系作運(yùn)算 列 n m 列的元組的集合 元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組 行 k1 k2個(gè)元組 投影 對(duì)關(guān)系進(jìn)行垂直分割 消去某些列 并重新安排列的順序 選擇 根據(jù)某些條件關(guān)系作水平分割 即選擇符合條件的元組 2 關(guān)系代數(shù)的四個(gè)組合操作 交 聯(lián)接 自然聯(lián)接和除法交 R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合 聯(lián)接包括 聯(lián)接和F聯(lián)接 是選擇R S中滿足i r j 或F條件的元組構(gòu)成的集合 特別注意等值聯(lián)接 為等號(hào) 自然聯(lián)接 R X S 在R S中 選擇R和S公共屬性值均相等的元組 并去掉R S中重復(fù)的公共屬性列 如果兩個(gè)關(guān)系沒有公共屬性 則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積 除法 首先除法的結(jié)果中元數(shù)為兩個(gè)元數(shù)的差 可以直接用觀察法來得到結(jié)果 把S看作一個(gè)塊 拿到R中去和相同屬性集中的元組作比較 如果有相同的塊 且除去此塊后留下的相應(yīng)元組均相同 那么可以得到一條元組 所有這些元組的集合就是除法的結(jié)果 對(duì)于上述的五個(gè)基本操作和組合操作 應(yīng)當(dāng)從實(shí)際運(yùn)算方面進(jìn)行理解和運(yùn)用 對(duì)其形式定義可不必深究 注意課本上的例子 關(guān)系代數(shù)運(yùn)算的三個(gè)要素 運(yùn)算對(duì)象 關(guān)系運(yùn)算結(jié)果 關(guān)系運(yùn)算符 四類 集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的 水平 方向即行的角度來進(jìn)行專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作 廣義笛卡爾積 ExtendedCartesianProduct Rn目關(guān)系 k1個(gè)元組Sm目關(guān)系 k2個(gè)元組R S列 n m 列的元組的集合元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組行 k1 k2個(gè)元組R S trts tr R ts S R S R S 選擇 Selection 1 選擇又稱為限制 Restriction 2 選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 F R t t R F t 真 F 選擇條件 是一個(gè)邏輯表達(dá)式 基本形式為 X1 Y1 X2 Y2 比較運(yùn)算符 或 X1 Y1等 屬性名 常量 簡(jiǎn)單函數(shù) 屬性名也可以用它的序號(hào)來代替 邏輯運(yùn)算符 或 表示任選項(xiàng) 表示上述格式可以重復(fù)下去 3 選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算4 舉例設(shè)有一個(gè)學(xué)生 課程數(shù)據(jù)庫(kù) 包括學(xué)生關(guān)系Student 課程關(guān)系Course和選修關(guān)系SC a Student b Course c SC 例1 查詢信息系 IS系 全體學(xué)生 Sdept IS Student 或 5 IS Student 結(jié)果 例2 查詢年齡小于20歲的學(xué)生 Sage 20 Student 或 4 20 Student 結(jié)果 投影 Projection 1 投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系 A R t A t R A R中的屬性列 2 投影操作主要是從列的角度進(jìn)行運(yùn)算但投影之后不僅取消了原關(guān)系中的某些列 而且還可能取消某些元組 避免重復(fù)行 3 舉例 例3 查詢學(xué)生的姓名和所在系即求Student關(guān)系上學(xué)生姓名和所在系兩個(gè)屬性上的投影 Sname Sdept Student 或 2 5 Student 結(jié)果 例4 查詢學(xué)生關(guān)系Student中都有哪些系 Sdept Student 結(jié)果 連接 Join 1 連接也稱為 連接2 連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組RS tr R ts S tr A ts B A和B 分別為R和S上度數(shù)相等且可比的屬性組 比較運(yùn)算符連接運(yùn)算從R和S的廣義笛卡爾積R S中選取 R關(guān)系 在A屬性組上的值與 S關(guān)系 在B屬性組上值滿足比較關(guān)系的元組 3 兩類常用連接運(yùn)算等值連接 equijoin 什么是等值連接 為 的連接運(yùn)算稱為等值連接等值連接的含義從關(guān)系R與S的廣義笛卡爾積中選取A B屬性值相等的那些元組 即等值連接為 RS tr R ts S tr A ts B A B 自然連接 Naturaljoin 什么是自然連接自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義R和S具有相同的屬性組BRS tr R ts S tr B ts B 4 一般的連接操作是從行的角度進(jìn)行運(yùn)算 自然連接還需要取消重復(fù)列 所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算 5 舉例 例5 R S RS 等值連接RS 自然連接RS 外連接 例 列出老師的有關(guān)信息 包括姓名 工資 所教授的課程 P PN SAL C CN PROF PCC 問題 有關(guān)P03號(hào)職工的姓名和工資信息沒有顯示出來 外連接為避免自然連接時(shí)因失配而發(fā)生的信息丟失 可以假定往參與連接的一方表中附加一個(gè)取值全為空值的行 它和參與連接的另一方表中的任何一個(gè)未匹配上的元組都能匹配 稱之為外連接外連接 自然連接 失配的元組外連接的形式 左外連接 右外連接 全外連接左外連接 自然連接 左側(cè)表中失配的元組右外連接 自然連接 右側(cè)表中失配的元組全外連接 自然連接 兩側(cè)表中失配的元組 所有老師的信息 所有課程的信息 所有老師和課程的信息 重要內(nèi)容分析1 1 一般規(guī)則對(duì)于只涉及到選擇 投影 聯(lián)接的查詢可用下列表達(dá)式表示 R S 或者 R S 對(duì)于否定的操作 一般要用差操作表示 例如 檢索不學(xué)C2課的學(xué)生姓名 對(duì)于檢索具有 全部 特征的操作 一般要用除法操作表示 例如 檢索學(xué)習(xí)全部課程的學(xué)生姓名 2 檢索不學(xué)C2課的學(xué)生姓名 決不能用下式表示 SNAME AGE C C2 S SC 一定要用 差 的形式 SNAME AGE S SNAME AGE C C2 S SC 3 檢索學(xué)習(xí)全部課程的學(xué)生學(xué)號(hào) 要用 S C SC C C 表示 而不能寫成 S SC C C 形式 這是因?yàn)橐粋€(gè)學(xué)生學(xué)的課程的成績(jī)可能是不一樣的 2 非過程性語(yǔ)言與過程性語(yǔ)言的區(qū)別編程時(shí)必須指出 干什么 及 怎么干 的語(yǔ)言 稱為過程性語(yǔ)言 編程時(shí)只須指出 干什么 不必指出 怎么干 的語(yǔ)言 稱為非過程性語(yǔ)言 4 2關(guān)系演算 把數(shù)理邏輯的謂詞演算引入關(guān)系運(yùn)算中 就可得到以關(guān)系演算為基礎(chǔ)的運(yùn)算 關(guān)系演算分為元組關(guān)系演算或域關(guān)系演算 前者以元組為變量 后者以域?yàn)樽兞?元組關(guān)系演算 形式化定義 t P t 表示所有使謂詞P為真的元組集合t為元組變量如果元組變量前有 全稱 或 存在 量詞 則稱其為約束變量 否則稱為自由變量 P是公式由原子公式和運(yùn)算符組成 原子公式s Rs是關(guān)系R中的一個(gè)元組s x u y s x 與u y 為元組分量 他們之間滿足比較關(guān)系 s x c分量s x 與常量c之間滿足比較關(guān)系 公式的遞歸定義原子公式是公式如果P是公式 那么 P也是公式如果P1 P2是公式 則P1 P2 P1 P2 P1 P2也是公式如果P t 是公式 R是關(guān)系 則 t R P t 和 t R P t 也是公式 公式的等價(jià)性P1 P2 P1 P2 t R P t t R P t P1 P2 P1 P2 R S t t S t A 2 t t R t S t t S u R t C u B t t R u S t C u A t v S u R u A v B t A u B t B v C t C u A 表達(dá)式的安全性元組關(guān)系演算有可能會(huì)產(chǎn)生無限關(guān)系 這樣的表達(dá)式是不安全的 如 t t R 求所有不在R中的元組引入公式P的域概念 用dom P 表示dom P 顯式出現(xiàn)在P中的值 在P中出現(xiàn)的關(guān)系的元組中出現(xiàn)的值 不必是最小集 如dom t t R 是R中出現(xiàn)的所有值的集合如果出現(xiàn)在表達(dá)式 t P t 結(jié)果中的所有值均來自dom P 則稱 t P t 是安全的 dom t R A1 A2 B1 B2 B3 R t t R 示例 找出工資在800元以上的老師 t t PROF t SAL 800 找出工資在800元以上的老師的姓名 t s PROF t PNAME s PNAME s SAL 800 給出計(jì)算機(jī)系老師的姓名 t u DEPT u DNAME 計(jì)算機(jī)系 s PROF s DNO u DNO t PNAME s PNAME 求選修了全部課程的學(xué)生號(hào) t u C s SC s CNO u CNO t SNO s SNO 求選修了張軍同學(xué)所選修的全部課程的學(xué)生姓名 課程 張軍選之 所求同學(xué)選之 t u C s SC w S s CNO u CNO w SNO s SNO w SNAME 張軍 元組關(guān)系演算與關(guān)系代數(shù)的等價(jià)性投影 A R t s R s A t A 選擇 F A R t t R F t A 廣義笛卡兒積R A S B t u R s S t A u A t B s B 并R S t t R t S 交R S t t R t S 域關(guān)系演算 形式化定義 P x1 x2 xn xi代表域變量 P為由原子構(gòu)成的公式原子公式 Rxi是域變量或域常量x y域變量x與y之間滿足比較關(guān)系 x c域變量x與常量c之間滿足比較關(guān)系 R S R1 R x3 R2 R S y 4 W R2 u v R W u v 示例 找出工資在800元以上的老師 PROF e 800 找出工資在800元以上的老師的姓名 a c d e PROF e 800 4 3關(guān)系代數(shù)表達(dá)式的優(yōu)化問題 目的在關(guān)系代數(shù)中找一種好的操作步驟 既省空間 查詢效率又比較高 在關(guān)系代數(shù)中 笛卡兒積和聯(lián)結(jié)運(yùn)算是最費(fèi)時(shí)間和空間的 在關(guān)系很大的時(shí)候 必須要考慮怎樣做才能合理的安排 做到省時(shí)省力 一個(gè)例子設(shè)關(guān)系R和S都是二元關(guān)系 屬性名分別是A B和C D 那么如下查詢 E1 A B C D 99 R S 也可以是E2 A B C R D 99 S 或E3 A R D 99 S 這三個(gè)代數(shù)表達(dá)式的等價(jià)的 但是執(zhí)行的效率不一樣 第一種 先做笛卡兒積 假設(shè)每個(gè)物理塊可以存儲(chǔ)R的B1個(gè)元組 或者S的B2個(gè)元組 R關(guān)系中有n1個(gè)元組 S關(guān)系中有n2個(gè)元組 內(nèi)存每次只能裝載m塊數(shù)據(jù) 在做聯(lián)接的時(shí)候先把R的第一個(gè)m 1塊數(shù)據(jù)裝入內(nèi)存 然后逐個(gè)調(diào)入S中的數(shù)據(jù)塊 R中的每個(gè)數(shù)據(jù)塊只要進(jìn)入內(nèi)存一次 總共需要裝入的塊數(shù)示n1 B1 S中的每個(gè)數(shù)據(jù)塊需要進(jìn)入內(nèi)存 n1 B1 m 1 次 總共需要裝入的塊數(shù)是 n1 B1 1 m 1 n2 B2 這三個(gè)代數(shù)表達(dá)式的等價(jià)的 但是執(zhí)行的效率不一樣 執(zhí)行RXS的總裝入塊數(shù)是 n1 B1 1 n2 m 1 B2 若n1 n2 10000 B1 B2 5 m 100 那么總的裝入塊數(shù)是42400 若每秒裝入20塊 需要35分鐘 耗費(fèi)時(shí)間長(zhǎng) 在實(shí)際使用中不采用 這三個(gè)代數(shù)表達(dá)式的等價(jià)的 但是執(zhí)行的效率不一樣 第二種和第三種 先做了選擇 裝入的塊數(shù)為n1 B1 n2 B2 大約需要裝入4000塊 耗費(fèi)時(shí)間3分多鐘 對(duì)于S來說 元組并不是全部進(jìn)入內(nèi)存 而且只是進(jìn)入一次 所以速度快 1 優(yōu)化的一般策略我們所說的優(yōu)化和存儲(chǔ)沒有關(guān)系 主要是如何來安排操作的順序 節(jié)省時(shí)間和空間的消費(fèi)優(yōu)化的一般技術(shù) 在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作 把笛卡兒積和其后的選擇操作合并成F聯(lián)接運(yùn)算 同時(shí)計(jì)算一連串的選擇和投影操作 避免分開運(yùn)算造成多次掃描文件 2 關(guān)系代數(shù)表達(dá)式的優(yōu)化算法對(duì)一個(gè)關(guān)系代數(shù)表達(dá)式進(jìn)行語(yǔ)法分析可以得到一棵語(yǔ)法樹 葉子式關(guān)系 非葉子結(jié)點(diǎn)式關(guān)系代數(shù)操作 算法2 1關(guān)系代數(shù)表達(dá)式的優(yōu)化 輸入 一個(gè)關(guān)系代數(shù)表達(dá)式的語(yǔ)法樹 輸出 計(jì)算表達(dá)式的一個(gè)優(yōu)化程序 方法 依次執(zhí)行下面的每一步 1 使用等價(jià)變換規(guī)則4將每個(gè)形為 F1 Fn E 的子表達(dá)式轉(zhuǎn)換成串接形式 F1 Fn E 2 對(duì)每個(gè)選擇操作 盡可能把選擇操作移近樹的葉端 盡可能早的實(shí)行選擇操作 3 對(duì)每個(gè)投影操作 盡可能把投影操作移近樹的葉端 4 把選擇和投影合并成單個(gè)選擇 單個(gè)投影或一個(gè)選擇后跟一個(gè)投影 5 將上述步驟得到的語(yǔ)法樹的內(nèi)結(jié)點(diǎn)分組 6 生成一個(gè)序列 每一組結(jié)點(diǎn)的計(jì)算是序列中的一步 見課本例子 本章結(jié)束 第五章SQL語(yǔ)言 學(xué)習(xí)目的與要求 SQL語(yǔ)言是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言 是本課程的一個(gè)重點(diǎn) 本章總的要求是 全面掌握 深刻理解 熟練應(yīng)用 要求掌握的技能是 SQL定義語(yǔ)句 嵌入式SQL語(yǔ)句的應(yīng)用 要求熟練掌握的技能是 SQL查詢語(yǔ)句 視圖 SQL更新語(yǔ)句的應(yīng)用 方法 多做題 多上機(jī)實(shí)踐 考核知識(shí)點(diǎn)與考試要求5 1SQL簡(jiǎn)介 識(shí)記 5 2SQL的數(shù)據(jù)定義 綜合應(yīng)用 5 3SQL的數(shù)據(jù)查詢5 3 1SELECT查詢語(yǔ)句的基本結(jié)構(gòu) 連接 嵌套 存在量詞的三種查詢方式 綜合應(yīng)用 5 3 2SELECT語(yǔ)句完整的結(jié)構(gòu) 分組子句 排序子句的用法 綜合應(yīng)用 5 3 3數(shù)據(jù)查詢中的限制和規(guī)定 簡(jiǎn)單應(yīng)用 5 3 4條件表達(dá)式中的比較操作 簡(jiǎn)單應(yīng)用 5 3 5嵌套查詢的改進(jìn)寫法 領(lǐng)會(huì) 5 3 6基本表的連接操作 綜合應(yīng)用 5 4SQL的數(shù)據(jù)更新 綜合應(yīng)用 5 5視圖 簡(jiǎn)單應(yīng)用 5 6嵌入式SQL 領(lǐng)會(huì) 5 7存儲(chǔ)過程SQL PSM 識(shí)記 5 1SQL簡(jiǎn)介 1 SQL發(fā)展歷程SQL從1970年美國(guó)IBM研究中心的E F Codd發(fā)表論文到1974年Boyce和Chamberlin把SQUARE語(yǔ)言改為SEQUEL語(yǔ)言 到現(xiàn)在還在不斷完善和發(fā)展之中 SQL 結(jié)構(gòu)式查詢語(yǔ)言 雖然名為查詢 但實(shí)際上具有定義 查詢 更新和控制等多種功能 2 SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)也是三級(jí)結(jié)構(gòu) 但術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不同 在SQL中 關(guān)系模式稱為 基本表 存儲(chǔ)模式稱為 存儲(chǔ)文件 子模式稱為 視圖 元組稱 行 屬性稱 列 SQL數(shù)據(jù)庫(kù)體系的結(jié)構(gòu)要點(diǎn)如下 1 一個(gè)SQL數(shù)據(jù)庫(kù)是表的匯集 2 一個(gè)SQL表由行集構(gòu)成 行是列的序列 每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng) 3 表或者是基本表 或者是視圖 基本表是實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表 視圖由是由若干基本表或其他視圖構(gòu)成的表的定義 4 一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件 一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表 存儲(chǔ)文件與物理文件對(duì)應(yīng) 5 用戶可以用SQL語(yǔ)句對(duì)表進(jìn)行操作 包括視圖和基本表 6 SQL的用戶可以是應(yīng)用程序 也可以是終端用戶 3 SQL的組成SQL由四部分組成 1 數(shù)據(jù)定義 SQLDDL 定義SQL模式 基本表 視圖和索引 2 數(shù)據(jù)操縱 SQLDML 包括數(shù)據(jù)查詢和數(shù)據(jù)更新 增 刪 改 3 數(shù)據(jù)控制 包括對(duì)基本表和視圖的授權(quán) 完整性規(guī)則的描述 事務(wù)控制等 4 嵌入式SQL的使用規(guī)定 4 SQL的特點(diǎn) 1 SQL具有十分靈活和強(qiáng)大的查詢功能 2 SQL不是一個(gè)應(yīng)用開發(fā)語(yǔ)言 它只提供對(duì)數(shù)據(jù)庫(kù)的操作功能 不能完成屏幕控制 菜單管理 報(bào)表生成等功能 3 SQL是國(guó)際性標(biāo)準(zhǔn)語(yǔ)言 有利于各種數(shù)據(jù)庫(kù)之間交換數(shù)據(jù) 有利于程序的移植 有利于實(shí)現(xiàn)高度的數(shù)據(jù)獨(dú)立性 有利于實(shí)現(xiàn)標(biāo)準(zhǔn)化 4 SQL的詞匯不多 完成核心功能只用了9個(gè)英語(yǔ)動(dòng)詞 它的語(yǔ)法結(jié)構(gòu)接近英語(yǔ) 因此容易學(xué)習(xí)和使用 5 2SQL的數(shù)據(jù)定義 1 SQL模式的創(chuàng)建和撤消 SQL模式的創(chuàng)建可簡(jiǎn)單理解為建立一個(gè)數(shù)據(jù)庫(kù) 定義一個(gè)存儲(chǔ)空間 其句法是 CREATESCHEMAAUTHORIZATION撤消SQL模式的句法為 DROPSCHEMA CASCADE RESTRICT 方括號(hào)中的選項(xiàng)參數(shù)CASCADE表示連鎖方式 執(zhí)行時(shí)將模式下所有基本表 視圖 索引等元素全部撤消 RESTRICT表示約束式 執(zhí)行時(shí)必須在SQL模式中沒有任何下屬元素時(shí)方可撤消模式 2 SQL提供的基本數(shù)據(jù)類型數(shù)值型 包括integer smallint real doubleprecision float n numeric p d 字符串型 char n varchar n 前者是定長(zhǎng) 后者為變長(zhǎng)串位串型 bit n bitvarying n 同上 時(shí)間型 date time 3 基本表的創(chuàng)建 修改和撤消基本表的創(chuàng)建 可理解為建立表結(jié)構(gòu) CREATTABLESQL模式名 基本表名 列名 類型 完整性約束 完整性約束包括主鍵子句 PRIMARYKEY 檢查子句 CHECK 和外鍵子句 FOREIGNKEY 基本表結(jié)構(gòu)的修改ALTERTABLE基本表名ADD DROP 增加 刪除 列名類型名 增加時(shí)寫出 刪除時(shí)有子句 CASCADE RESTRICT 前者為連鎖刪除 后者為約束刪除 即沒有對(duì)本列的任何引用時(shí)才能刪除 基本表的撤消DROPTABLE基本表名 CASCADE RESTRICT 4 索引的創(chuàng)建和撤消創(chuàng)建 CREATE UNIQUE INDEX索引名ON基本表名 列名表 ASC DESC 撤消 DROPINDEX索引名總結(jié) 凡創(chuàng)建都用CREATE 刪除都用DROP 改變用ALTER 再跟類型和名字 附加子句很容易了 5 3SQL的數(shù)據(jù)查詢 1 SELECT FROM WHERE句型SELECT列名表 逗號(hào)隔開 FROM基本表或視圖序列WHERE條件表達(dá)式在這里 重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用 如 等算術(shù)比較運(yùn)算符 邏輯運(yùn)算符AND OR NOT 集合成員資格運(yùn)算符 IN NOTIN 以及嵌套的SELECT語(yǔ)句的用法要特別注意理解 針對(duì)課本的例題和課后習(xí)題進(jìn)行掌握 在查詢時(shí) SELECT語(yǔ)句可以有多種寫法 如聯(lián)接查詢 嵌套查詢和使用存在量詞的嵌套查詢等 最好都掌握 但是起碼應(yīng)能寫出一種正確的查詢語(yǔ)句 2 SELECT語(yǔ)句完整的句法 SELECT列名表 逗號(hào)隔開 FROM基本表或視圖序列 WHERE條件表達(dá)式 此為和條件子句 GROUPBY列名序列 分組子句 HAVING組條件表達(dá)式 組條件子句 ORDERBY列名 ASC DESC 排序子句 這段關(guān)于完整句法的內(nèi)容能夠理解也就問題不大了 3 SELECT語(yǔ)句中的限定這一段內(nèi)容主要是對(duì)SELECT語(yǔ)句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí) 領(lǐng)會(huì)下列各種限定的使用目的和方法 要求輸出表格中不出現(xiàn)重復(fù)元組 則在SELECT后加一DISTINCTSELECT子句中允許出現(xiàn)加減乘除及列名 常數(shù)的算術(shù)表達(dá)式WHERE子句中可以用BETWEEN AND 來限定一個(gè)值的范圍同一個(gè)基本表在SELECT語(yǔ)句中多次引用時(shí)可用AS來增加別名WHERE子句中字符串匹配用LIKE和兩個(gè)通配符 和下劃線 查詢結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢進(jìn)行并 UNION 交 INTERSECT 差 EXCPT 操作 查詢空值操作不是用 null 而是用ISNULL來測(cè)試 集合成員資格比較用IN NOTIN 集合成員算術(shù)比較用元組 SOME ALL可以用子查詢結(jié)果取名 表名 列名序列 來作為導(dǎo)出表使用基本表的自然聯(lián)接操作是用NATURALINNERJOIN來實(shí)現(xiàn)的 5 4SQL的數(shù)據(jù)更新 1 數(shù)據(jù)插入 INSERTINTO基本表名 列名表 VALUES 元組值 或INSERTINTO基本表名 列名表 SELECT查詢語(yǔ)句其中元組值可以連續(xù)插入 用查詢語(yǔ)句可以按要求插入所需數(shù)據(jù) 2 數(shù)據(jù)刪除 DELETEFROM基本表名 WHERE條件表達(dá)式 3 數(shù)據(jù)修改 UPDATE基本表名SET列名 值表達(dá)式 列名 值表達(dá)式 WHERE條件表達(dá)式 5 5視圖 1 視圖的創(chuàng)建和撤消創(chuàng)建 CREATEVIEW視圖名 列名表 ASSELECT查詢語(yǔ)句撤消 DROPVIEW視圖名 2 視圖的操作查詢與關(guān)系中一致更新與關(guān)系不同如果視圖是從多個(gè)使用聯(lián)接操作導(dǎo)出的 不允許對(duì)此視圖更新如果在導(dǎo)出視圖的過程中 使用了分組和聚合函數(shù) 不允許對(duì)此視圖更新 如果視圖是從單個(gè)關(guān)系使用選擇 投影操作導(dǎo)出的 并且包含了關(guān)系的主健或某個(gè)候選健 稱此視圖為 行列子集視圖 允許對(duì)此視圖更新 CREATEVIEWS MAILASSELECTS SNAME AGEFROMSWHERESEX M INSERTINTOS MALEVALUES S28 WU 18 與INSERTINTOSVALUES S28 WU 18 M 相同 3 視圖的優(yōu)點(diǎn)使用視圖的優(yōu)點(diǎn) 視圖提供了邏輯數(shù)據(jù)的獨(dú)立性簡(jiǎn)化了用戶觀點(diǎn)用戶只需關(guān)心視圖的內(nèi)容 而不必關(guān)心構(gòu)成視圖的若干關(guān)系的聯(lián)結(jié) 投影操作 能夠?qū)?duì)數(shù)據(jù)庫(kù)的訪問限制在一定范圍內(nèi) 有利于數(shù)據(jù)安全保護(hù)功能 可針對(duì)不同的用戶定義不同的視圖 在視圖種只出現(xiàn)用戶需要的數(shù)據(jù) 系統(tǒng)提供視圖讓用戶使用 5 6嵌入式SQL 1 SQL語(yǔ)言提供了兩種不同的使用方式 交互式嵌入式為什么要引入嵌入式SQLSQL語(yǔ)言是非過程性語(yǔ)言事務(wù)處理應(yīng)用需要高級(jí)語(yǔ)言這兩種方式細(xì)節(jié)上有差別 在程序設(shè)計(jì)的環(huán)境下 SQL語(yǔ)句要做某些必要的擴(kuò)充 2 嵌入式SQL的一般形式為了區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句 需要 前綴 EXECSQL結(jié)束標(biāo)志 隨主語(yǔ)言的不同而不同以C為主語(yǔ)言的嵌入式SQL語(yǔ)句的一般形式EXECSQL 例 EXECSQLDROPTABLEStudent 以COBOL作為主語(yǔ)言的嵌入式SQL語(yǔ)句的一般形式EXECSQLEND EXEC例 EXECSQLDROPTABLEStudentEND EXEC 3 DBMS處理宿主型數(shù)據(jù)庫(kù)語(yǔ)言SQL的方法預(yù)編譯修改和擴(kuò)充主語(yǔ)言使之能處理SQL語(yǔ)句 4 嵌入式SQL語(yǔ)句與主語(yǔ)言之間的通信將SQL嵌入到高級(jí)語(yǔ)言中混合編程 程序中會(huì)含有兩種不同計(jì)算模型的語(yǔ)句SQL語(yǔ)句描述性的面向集合的語(yǔ)句負(fù)責(zé)操縱數(shù)據(jù)庫(kù)高級(jí)語(yǔ)言語(yǔ)句過程性的面向記錄的語(yǔ)句負(fù)責(zé)控制程序流程 5 工作單元之間的通信方式 SQL通信區(qū)向主語(yǔ)言傳遞SQL語(yǔ)句的執(zhí)行狀態(tài)信息主語(yǔ)言能夠據(jù)此控制程序流程 共享變量主語(yǔ)言向SQL語(yǔ)句提供參數(shù)將SQL語(yǔ)句查詢數(shù)據(jù)庫(kù)的結(jié)果交主語(yǔ)言進(jìn)一步處理 游標(biāo)解決集合性操作語(yǔ)言與過程性操作語(yǔ)言的不匹配 6 共享變量什么是共享變量嵌入式SQL語(yǔ)句中可以使用主語(yǔ)言的程序變量來輸入或輸出數(shù)據(jù)在SQL語(yǔ)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù)系統(tǒng)原理 自考 04735 數(shù)據(jù)庫(kù) 系統(tǒng) 原理 筆記
鏈接地址:http://m.appdesigncorp.com/p-8019736.html