《數(shù)據(jù)庫原理》數(shù)據(jù)庫技術(shù)與應用
《《數(shù)據(jù)庫原理》數(shù)據(jù)庫技術(shù)與應用》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫原理》數(shù)據(jù)庫技術(shù)與應用(54頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、數(shù)據(jù)庫技術(shù)與應用 Visual FoxPro 6.0篇 鄭州輕院民族學院 2021/4/17 目 錄 第 2章 Visual FoxPro 6.0基礎 第 3章 項目管理器 第 4章 創(chuàng)建數(shù)據(jù)庫和表 第 5章 表的基本操作 第 6章 索引和排序 第 7章 多表操作 第 8章 查詢與視圖 第 1章 數(shù)據(jù)庫基本原理 2021/4/17 第 9章 結(jié)構(gòu)化查詢語言 SQL 第 10章 報表設計 第 11章 程序設計基礎 第 12章 程序設計 第 13章 表單設計 第 14章 菜單設計 第 15章 應用程序的生成與發(fā)布 目 錄 2021/4/17 第 1章 數(shù)據(jù)庫基本原理 信息在現(xiàn)代社會和經(jīng)濟發(fā)展中所起
2、的作用越來越大 , 信息資源的開發(fā)和利 用水平已成為衡量一個國家綜合國力的重要標志之一 。 在計算機的三大主要應 用領域 ( 科學計算 、 數(shù)據(jù)處理和過程控制 ) 中 , 數(shù)據(jù)處理是計算機應用的主要 方面 。 數(shù)據(jù)庫技術(shù)就是作為數(shù)據(jù)處理中的一門技術(shù)而發(fā)展起來的 。 數(shù)據(jù)處理是指對各種形式的數(shù)據(jù)進行收集 、 存儲 、 加工和傳播的一系列活 動的總和 。 其目的之一是從大量的 、 原始的數(shù)據(jù)中抽取 、 推導出對人們有價值 的信息以作為行動和決策的依據(jù);目的之二是為了借助計算機科學地保存和管 理復雜的 、 大量的數(shù)據(jù) , 以便人們能夠方便而充分地利用這些寶貴的信息資源 。 數(shù)據(jù)庫技術(shù)所研究的問題就是
3、如何科學地組織和存儲數(shù)據(jù) , 如何高效地獲 取和處理數(shù)據(jù) 。 數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的主要技術(shù)目前已廣泛應用于各個領 域 , 數(shù)據(jù)庫系統(tǒng)已成為計算機系統(tǒng)的重要組成部分 。 數(shù)據(jù)庫技術(shù) 數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫 2021/4/17 數(shù)據(jù)庫發(fā)展與應用 數(shù)據(jù)庫的應用已越來越廣泛。從小型的單項事 務處理系統(tǒng)到大型復雜的信息系統(tǒng)大都用先進 的數(shù)據(jù)庫技術(shù)來保持系統(tǒng)數(shù)據(jù)的整體性、完整 性和共享性。 1)電腦抽獎 : 采用數(shù)據(jù)庫技術(shù) ,不必修改程序 ,只變 更獎項設置 ,即可應用于不同的抽獎活動 。 2)招生考試 : 通過對數(shù)據(jù)庫排序和索引 ,完成考生 按志愿從高分到低分排列 ,根據(jù)學校招生計劃錄取 , 錄滿為止
4、 。 3)銀行儲蓄 : 為每個用戶建立能夠唯一識別的帳戶 , 同時記錄用戶的往來明細 ,做到存儲量大 ,運算速度 快 ,準確程度高 。 2021/4/17 數(shù)據(jù)庫技術(shù)產(chǎn)生于 20世紀 60年代末 70年代初 , 其主要目的是有效地管理和 存取大量的數(shù)據(jù)資源 。 數(shù)據(jù)庫技術(shù)主要研究如何存儲 、 使用和管理數(shù)據(jù) , 是計 算機數(shù)據(jù)管理技術(shù)發(fā)展的新階段 。 近年來 , 數(shù)據(jù)庫技術(shù)和計算機網(wǎng)絡技術(shù)的發(fā)展相互滲透 、 相互促進 , 已成 為當今計算機領域發(fā)展迅速 、 應用廣泛的兩大領域 。 數(shù)據(jù)庫技術(shù)不僅應用于事 務處理 , 并且進一步應用到情報檢索 、 人工智能 、 專家系統(tǒng) 、 計算機輔助設計 等領
5、域 。 1.1 數(shù)據(jù)庫技術(shù) 數(shù)據(jù)庫的基本概念 數(shù)據(jù)管理技術(shù)的發(fā)展 數(shù)據(jù)庫系統(tǒng)的組成 2021/4/17 數(shù)據(jù)庫技術(shù)涉及到許多基本概念 , 主要包括:數(shù)據(jù) 、 數(shù)據(jù)處理 、 數(shù)據(jù)庫 、 數(shù)據(jù)庫管理系統(tǒng) 以及 數(shù)據(jù)庫系統(tǒng) 等 。 1.數(shù)據(jù) 數(shù)據(jù)是指存儲在某一種媒體上能夠識別的物理符號 。 數(shù)據(jù)的概念包括兩個 方面:其一是描述事物特性的數(shù)據(jù)內(nèi)容;其二是存儲在某一種媒體上的數(shù)據(jù)形 式 。 由于描述事物特性必須借助一定的符號 , 這些符號就是數(shù)據(jù)形式 。 數(shù)據(jù)形 式可以是多種多樣的 , 例如某人的出生日期是 “ 1964年 2月 17日 ” , 當然也可以 將該形式改寫為 “ 02/17/64”, 但其
6、含義并沒有改變 。 數(shù)據(jù)的概念在數(shù)據(jù)處理領域已經(jīng)大大地拓寬了 。 數(shù)據(jù)不僅僅指數(shù)字 、 字母 、 文字和其他特殊字符組成的文本形式的數(shù)據(jù) , 而且還包括圖形 、 圖像 、 動畫 、 影像 、 聲音 ( 包括語音 、 音樂 ) 等多媒體數(shù)據(jù) 。 1.1.1 數(shù)據(jù)庫的基本概念 2021/4/17 2.數(shù)據(jù)處理 數(shù)據(jù)處理是指對各種形式的數(shù)據(jù)進行收集 、 存儲 、 加工和傳播的一系列活動的總 和 。 其目的之一是從大量的 、 原始的數(shù)據(jù)中抽取 、 推導出對人們有價值的信息以作為 行動和決策的依據(jù);目的之二是為了借助計算機科學地保存和管理復雜的 、 大量的數(shù) 據(jù) , 以便人們能夠方便而充分地利用這些寶貴
7、的信息資源 。 3.數(shù)據(jù)庫 數(shù)據(jù)庫可以直觀地理解為存放數(shù)據(jù)的倉庫 。 只不過這個倉庫是在計算機的大容量 存儲器上 , 例如硬盤就是一種最常見的計算機大容量存儲設備 。 而且數(shù)據(jù)必須按一定 的格式存放 , 因為它不僅需要存放 , 而且還要便于查找 。 所以可以認為數(shù)據(jù)是被長期存放在計算機內(nèi) 、 有組織的 、 可以表現(xiàn)為多種形式的 可共享的數(shù)據(jù)集合 。 數(shù)據(jù)庫技術(shù)使數(shù)據(jù)能按一定格式組織 、 描述和存儲 , 且具有較小 的冗余度 , 較高的數(shù)據(jù)獨立性和易擴展性 , 并可為多個用戶所共享 。 人們總是盡可能地收集各種各樣的數(shù)據(jù) , 然后對它們進行加工 , 目的是要從這些 數(shù)據(jù)中得到有用的信息 。 在社
8、會飛速發(fā)展的今天 , 人們接觸的事物越來越多 , 反映這 些事物的數(shù)據(jù)量也急劇增加 。 過去人們手工管理和處理數(shù)據(jù) , 現(xiàn)在借助計算機來保存 和管理復雜的大量數(shù)據(jù) , 這樣就可能方便而充分地利用這些寶貴的數(shù)據(jù)資源 , 數(shù)據(jù)庫 技術(shù)正是由于這一需求驅(qū)動而發(fā)展起來的一種計算機軟件技術(shù) 。 2021/4/17 4.數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) ( DataBase Management System, 簡稱 DBMS) 是計算機系統(tǒng)軟 件 , 它的職能是有效地組織和存儲數(shù)據(jù) 、 獲取和管理數(shù)據(jù) , 接受和完成用戶提出的訪 問數(shù)據(jù)的各種請求 。 數(shù)據(jù)庫管理系統(tǒng)主要功能包括以下幾個方面: ( 1) 數(shù)
9、據(jù)定義功能 DBMS提供了數(shù)據(jù)定義語言 DDL( Data Definition Language) , 用戶通過它可以 方便地對數(shù)據(jù)庫中的相關(guān)內(nèi)容進行定義 。 例如 , 對數(shù)據(jù)庫 、 表 、 索引進行定義 。 ( 2) 數(shù)據(jù)操縱功能 DBMS提供了數(shù)據(jù)操縱語言 DML( Data Manipulation Language) , 用戶通過它可 以實現(xiàn)對數(shù)據(jù)庫的基本操作 。 例如 , 對表中數(shù)據(jù)的查詢 、 插入 、 刪除和修改 。 ( 3) 數(shù)據(jù)庫運行控制功能 這是 DBMS的核心部分 , 它包括并發(fā)控制 ( 即處理多個用戶同時使用某些數(shù)據(jù)時 可能產(chǎn)生的問題 ) 、 安全性檢查 、 完整性約束
10、條件的檢查和執(zhí)行 、 數(shù)據(jù)庫的內(nèi)部維護 ( 例如 , 索引的自動維護 ) 等 。 所有數(shù)據(jù)庫的操作都要在這些控制程序的統(tǒng)一管理下 進行 , 以保證數(shù)據(jù)的安全性 、 完整性以及多個用戶對數(shù)據(jù)庫的并發(fā)使用 。 2021/4/17 ( 4) 數(shù)據(jù)庫的建立和維護功能 數(shù)據(jù)庫的建立和維護功能包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入 、 轉(zhuǎn)換功能 , 數(shù)據(jù) 庫的轉(zhuǎn)儲 、 恢復功能 , 數(shù)據(jù)庫的重新組織功能和性能監(jiān)視 、 分析功能等 。 這 些功能通常是由一些實用程序完成的 。 它是數(shù)據(jù)庫管理系統(tǒng)的一個重要組成 部分 。 5.數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫系統(tǒng)是指擁有數(shù)據(jù)庫技術(shù)支持的計算機系統(tǒng) , 它可以實現(xiàn)有組織 地 、 動態(tài)地存儲
11、大量相關(guān)數(shù)據(jù) , 提供數(shù)據(jù)處理和信息資源共享服務 。 數(shù)據(jù)庫 系統(tǒng)不僅包括數(shù)據(jù)本身 , 即實際存儲在計算機中的數(shù)據(jù) , 還包括相應的硬件 、 軟件和各類人員 。 DBS=DB + DBMS + 硬件 + 相應軟件 + DBA + 用戶 2021/4/17 計算機對數(shù)據(jù)的管理是指對數(shù)據(jù)的組織 、 分類 、 編碼 、 存儲 、 檢索 和維護提供操作手段 。 與其他技術(shù)的發(fā)展一樣 , 計算機數(shù)據(jù)管理也經(jīng)歷了由低級到高級的 發(fā)展過程 。 計算機數(shù)據(jù)管理隨著計算機硬件 、 軟件技術(shù)和計算機應用范 圍的發(fā)展而不斷發(fā)展 , 多年來大致經(jīng)歷了如下三個階段: l 人工管理階段 l 文件系統(tǒng)階段 l 數(shù)據(jù)庫系統(tǒng)階
12、段 1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展 2021/4/17 應用程序 A1 應用程序 A2 應用程序 An 數(shù)據(jù)集 S1 數(shù)據(jù)集 S2 數(shù)據(jù)集 Sn 圖 1-1 數(shù)據(jù)的人工管理 1.人工管理階段 20世紀 50年代以前 , 計算機主要用于數(shù)值計算 。 從當時的硬件看 , 外存 只有紙帶 、 卡片 、 磁帶 , 沒有直接存取設備;從軟件看 ( 實際上 , 當時還未 形成軟件的整體概念 ) , 沒有操作系統(tǒng)及管理數(shù)據(jù)的軟件;從數(shù)據(jù)看 , 數(shù)據(jù) 量小 , 數(shù)據(jù)無結(jié)構(gòu) , 由用戶直接管理 , 且數(shù)據(jù)間缺乏邏輯組織 , 數(shù)據(jù)依賴于 特定的應用程序 , 缺乏獨立性 。 2021/4/17 2.文件系統(tǒng)階段 2
13、0世紀 50年代后期到 20世紀 60年代中期 , 出現(xiàn)了磁鼓 、 磁盤等直接存取數(shù)據(jù)的存 儲設備 。 1954年出現(xiàn)了第一臺商業(yè)數(shù)據(jù)處理的電子計算機 UNIVACI, 標志著計算機開 始應用于以加工數(shù)據(jù)為主的事務處理 。 人們得益于計算機驚人的處理速度和大容量的 存儲能力 , 從而解脫了從大量傳統(tǒng)紙張文件中尋找數(shù)據(jù)的困難 , 這種基于計算機的數(shù) 據(jù)處理系統(tǒng)也就從此迅速發(fā)展起來 。 這種數(shù)據(jù)處理系統(tǒng)是把計算機中的數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件 , 系統(tǒng)可以按 照文件的名稱對其進行訪問 , 對文件中的記錄進行存取 , 并可以實現(xiàn)對文件的修改 、 插入和刪除 , 這就是文件系統(tǒng) 。 文件系統(tǒng)實現(xiàn)了記
14、錄內(nèi)的結(jié)構(gòu)化 , 即給出了記錄內(nèi)各 種數(shù)據(jù)間的關(guān)系 。 但是 , 文件從整體來看卻是無結(jié)構(gòu)的 。 其數(shù)據(jù)面向特定的應用程序 , 因此數(shù)據(jù)共享性 、 獨立性差 , 且冗余度大 , 管理和維護的代價也很大 。 應用程序 A1 應用程序 A2 應用程序 An 數(shù)據(jù)集 S1 數(shù)據(jù)集 S2 數(shù)據(jù)集 Sn 文件 系統(tǒng) 圖 1-2 數(shù)據(jù)的文件系統(tǒng) 2021/4/17 3.數(shù)據(jù)庫系統(tǒng)階段 20世紀 60年代后期 , 計算機性能得到提高 , 更重要的是出現(xiàn)了大容量磁盤 , 存儲 容量大大增加且價格下降 。 在此基礎上 , 有可能克服文件系統(tǒng)管理數(shù)據(jù)時的不足 , 而 去滿足和解決實際應用中多個用戶 , 多個應用程
15、序共享數(shù)據(jù)的要求 , 從而使數(shù)據(jù)能為 盡可能多的應用程序服務 , 這就出現(xiàn)了數(shù)據(jù)庫這樣的數(shù)據(jù)管理技術(shù) 。 數(shù)據(jù)庫的特點是 數(shù)據(jù)不再只針對某一特定應用 , 而是面向全組織 , 具有整體的結(jié)構(gòu)性 , 共享性高 , 因 此冗余度小 , 具有一定的程序與數(shù)據(jù)間的獨立性 , 并且實現(xiàn)了對數(shù)據(jù)進行統(tǒng)一的控制 。 應用程序 A1 應用程序 A2 應用程序 An 數(shù) 據(jù) 庫 數(shù)據(jù)庫 管理系統(tǒng) 圖 1-3 數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng) 從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng) , 標志著數(shù)據(jù)管理技術(shù)質(zhì)的飛躍 。 20世紀 80年代后不僅 在大 、 中型機上實現(xiàn)并應用了數(shù)據(jù)庫管理系統(tǒng) , 即使在微型計算機上也配置了經(jīng)過功 能簡化的數(shù)據(jù)庫管理系
16、統(tǒng) ( 例如 , Visual FoxPro等 ) , 使數(shù)據(jù)庫技術(shù)得到廣泛的應用 和普及 。 2021/4/17 數(shù)據(jù)庫系統(tǒng)由四部分組成: 硬件系統(tǒng) 、 系統(tǒng)軟件 ( 包括操作系統(tǒng)和數(shù)據(jù)庫 管理系統(tǒng) ) 、 數(shù)據(jù)庫應用系統(tǒng) 和 各類人員 。 1.1.3 數(shù)據(jù)庫系統(tǒng)的組成 數(shù)據(jù)庫應用系統(tǒng) 圖 1-4 數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) 操作系統(tǒng) 硬件 2021/4/17 1.硬件系統(tǒng) 由于一般數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)量很大 , 加之 DBMS豐富的強有力的功能使得自身的體 積就很大 , 因此整個數(shù)據(jù)庫系統(tǒng)對硬件資源提出了較高的要求 , 這些要求是: ( 1) 有足夠大的內(nèi)存以存放操作系統(tǒng) 、 DBMS的核
17、心模塊 、 數(shù)據(jù)緩沖區(qū)和應用 程序 。 ( 2) 有足夠大的直接存取設備存放數(shù)據(jù) ( 例如 , 磁盤 ) , 有足夠的其它存儲設 備來進行數(shù)據(jù)備份 。 ( 3) 要求計算機有較高的數(shù)據(jù)傳輸能力 , 以提高數(shù)據(jù)傳送率 。 2.系統(tǒng)軟件 系統(tǒng)軟件主要包括操作系統(tǒng) 、 數(shù)據(jù)庫管理系統(tǒng) 、 與數(shù)據(jù)庫接口的高級語言及其編 譯系統(tǒng)和以 DBMS為核心的應用開發(fā)工具 。 操作系統(tǒng)是計算機系統(tǒng)必不可少的系統(tǒng)軟件 , 也是支持 DBMS運行必不可少的系 統(tǒng)軟件 。 數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)不可或缺的系統(tǒng)軟件 , 它提供數(shù)據(jù)庫的建立 、 使用 和維護功能 。 一般來講 , 數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)處理能力較弱 ,
18、所以需要提供與數(shù)據(jù)庫接口的 高級語言及其編譯系統(tǒng) , 以便于開發(fā)應用程序 。 2021/4/17 以 DBMS為核心的應用開發(fā)工具 。 應用開發(fā)工具是系統(tǒng)為應用開發(fā)人員和最終用 戶提供的高效率 、 多功能的應用生成器 、 第四代語言等各種軟件工具 。 例如 , 報表設 計器 、 表單設計器等 。 它們?yōu)閿?shù)據(jù)庫系統(tǒng)的開發(fā)和應用提供了有力的支持 。 當前開發(fā) 工具已成為數(shù)據(jù)庫軟件的有機組成部分 。 3.數(shù)據(jù)庫應用系統(tǒng) 數(shù)據(jù)庫應用系統(tǒng)是為特定應用開發(fā)的數(shù)據(jù)庫應用軟件 。 數(shù)據(jù)庫管理系統(tǒng)為數(shù)據(jù)的 定義 、 存儲 、 查詢和修改提供支持 , 而數(shù)據(jù)庫應用系統(tǒng)是對數(shù)據(jù)庫中的數(shù)據(jù)進行處理 和加工的軟件 ,
19、它面向特定應用 。 例如 , 基于數(shù)據(jù)庫的各種管理軟件:管理信息系統(tǒng) 、 決策支持系統(tǒng)和辦公自動化等都屬于數(shù)據(jù)庫應用系統(tǒng) 。 4.各類人員 參與分析 、 設計 、 管理 、 維護和使用數(shù)據(jù)庫的人員均是數(shù)據(jù)庫系統(tǒng)的組成部分 。 他們在數(shù)據(jù)庫系統(tǒng)的開發(fā) 、 維護和應用中起著重要的作用 。 分析 、 設計 、 管理和使用 數(shù)據(jù)庫系統(tǒng)的人員主要是:數(shù)據(jù)庫管理員 、 系統(tǒng)分析員 、 應用程序員和最終用戶 。 ( 1) 數(shù)據(jù)庫管理員 ( DataBase Administrator, 簡稱 DBA) 數(shù)據(jù)庫是整個企業(yè)或組織的數(shù)據(jù)資源 , 因此企業(yè)或組織設立了專門的數(shù)據(jù)資源管 理機構(gòu)來管理數(shù)據(jù)庫 , 數(shù)據(jù)庫
20、管理員則是這個機構(gòu)的一組人員 , 負責全面管理和控制 數(shù)據(jù)庫系統(tǒng) 。 具體的職責包括: 2021/4/17 l 決定數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容和結(jié)構(gòu):數(shù)據(jù)庫中要存放哪些數(shù)據(jù) , 是由系統(tǒng)需求來決定的 。 為了更好地對數(shù)據(jù)庫系統(tǒng)進行有效的管理和維護 , DBA應該參加或了解數(shù)據(jù)庫設計的全過 程 , 并與最終用戶 、 應用程序員 、 系統(tǒng)分析員密切合作共同協(xié)商 , 搞好數(shù)據(jù)庫設計 。 l 決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略: DBA要綜合最終用戶的應用要求 , 和數(shù)據(jù)庫設 計人員共同決定數(shù)據(jù)庫的存儲策略以求獲得較高的存取效率和存儲空間利用率 。 l 定義數(shù)據(jù)的安全性要求和完整性約束條件: DBA的重要職責是保證
21、數(shù)據(jù)庫的安全性 和完整性 , 即數(shù)據(jù)不被非法用戶所獲得 , 并且保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和數(shù)據(jù)間的相容 性 。 因此 DBA負責確定各個最終用戶對數(shù)據(jù)庫的存取權(quán)限 , 數(shù)據(jù)的保密級別和完整性約束 條件 。 l 監(jiān)控數(shù)據(jù)庫的使用和運行: DBA還有一個重要職責就是監(jiān)視數(shù)據(jù)庫系統(tǒng)的運行情況 , 及時處理運行過程中出現(xiàn)的問題 。 當系統(tǒng)發(fā)生某些故障時 , 數(shù)據(jù)庫中的數(shù)據(jù)會因此遭到不 同程度的破壞 , DBA必須在最短時間內(nèi)將數(shù)據(jù)庫恢復到某種一致狀態(tài) , 并盡可能不影響或 少影響計算機系統(tǒng)其它部分的正常運行 。 為此 , DBA要定義和實施適當?shù)暮笤突謴筒呗?。 例如 , 采用周期性的轉(zhuǎn)儲數(shù)據(jù)和維護
22、日志文件等方法 。 l 數(shù)據(jù)庫的改進和重組: DBA還負責在系統(tǒng)運行期間監(jiān)視系統(tǒng)的存儲空間利用率 、 處 理效率等性能指標 , 對運行情況進行記錄 , 統(tǒng)計分析 、 依靠工作實踐并根據(jù)實際應用環(huán)境 , 不斷改進數(shù)據(jù)庫設計 。 不少數(shù)據(jù)庫產(chǎn)品都提供了對數(shù)據(jù)庫運行情況進行監(jiān)視和分析的實用 程序 , DBA可以方便地使用這些實用程序來完成這些工作 。 2021/4/17 l 另外 , 在數(shù)據(jù)庫運行過程中 , 大量數(shù)據(jù)不斷插入 、 刪除 、 修改 , 隨著運行時間的延 長 , 在一定程度上會影響系統(tǒng)的性能 。 因此 , DBA要定期對數(shù)據(jù)庫進行重新組織 , 以提高系 統(tǒng)的性能 。 l 當最終用戶的需求
23、增加和改變時 , DBA還要對數(shù)據(jù)庫進行較大的改造 , 包括修改部分 設計 , 實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的重新組織和加工 。 ( 2) 系統(tǒng)分析員 系統(tǒng)分析員是數(shù)據(jù)庫系統(tǒng)建設期的主要參與人員 , 負責應用系統(tǒng)的需求分析和規(guī)范說明 , 要和最終用戶相結(jié)合 , 確定系統(tǒng)的基本功能 , 數(shù)據(jù)庫結(jié)構(gòu)和應用程序的設計 , 以及軟硬件的 配置 , 并組織整個系統(tǒng)的開發(fā) 。 所以系統(tǒng)分析員是一類具有各領域業(yè)務和計算機知識的專家 , 在很大程度上影響數(shù)據(jù)庫系統(tǒng)的質(zhì)量和成敗 。 ( 3) 應用程序員 應用程序員根據(jù)系統(tǒng)的功能需求負責設計和編寫應用系統(tǒng)的程序模塊 , 并參與對程序模 塊的測試 。 ( 4) 最終用戶 數(shù)
24、據(jù)庫系統(tǒng)的最終用戶是有不同層次的 , 不同層次的用戶其需求的信息以及獲得信息的 方式也是不同的 。 一般可將最終用戶分為操作層 、 管理層和決策層 。 他們通過應用系統(tǒng)的用 戶接口使用數(shù)據(jù)庫 。 常用的接口方式有菜單驅(qū)動 、 表格操作 、 圖形顯示 、 隨機查詢和對數(shù)據(jù) 庫中的數(shù)據(jù)進行統(tǒng)計 , 分析時使用專用的軟件和分析決策模型 。 2021/4/17 1.2 數(shù)據(jù)庫中的兩種模型 信息模型 數(shù)據(jù)模型 1.2.1 信息模型 信息模型用于總結(jié)、抽象現(xiàn)實世界中的事物、現(xiàn)象。目前在數(shù)據(jù)庫設 計中廣泛使用的信息模型設計方法是實體 聯(lián)系法( EntityRelationship Approach),簡稱
25、ER方法。此方法是由 P.P.S.Chen于 1976年提出,由于 它將各種元素歸納總結(jié)后以不同的圖形表示,所以也被稱為 ER圖法。 1實體 實體即現(xiàn)實世界中存在的事物。例如學校、學生、課程、教師等等, 都是實體的例子。在 ER圖中實體集用長方形框表示,在長方形框中寫入 實體集的名稱,如圖 1-2所示。 2聯(lián)系 現(xiàn)實世界中事物之間的種種關(guān)系即為實體集間的聯(lián)系。例如學生與老 師之間有學生向老師學習,老師教學生的聯(lián)系。 2021/4/17 1.2.1 信息模型 在 ER圖中聯(lián)系用菱形框表示,在菱形框中寫入聯(lián)系的名稱。例 如校 長與學校的聯(lián)系是 “ 領導 ” ;培訓班與某種培訓的聯(lián)系是 “ 屬于 ”
26、 ;學生與 培訓班的聯(lián)系是 “ 選擇 ” ,如圖 1-3所示。 圖 1-2 實體集的表示 圖 1-3 聯(lián)系的表示 2021/4/17 1.2.1 信息模型 實體集間的聯(lián)系根據(jù)它們之間的 對應關(guān)系可分為一對一( 1: 1)類型, 例如學校與校長,因為一所學校只能 有一個校長,一個校長只能領導一所 學校,故一個校長對應一所學校,一 所學校對應一個校長,如圖 1-4( a)所 示;一對多( 1: M)類型,例如培訓 種類與培訓班,因為一種培訓可以開 設多個班,而一個班只能屬于某一種 培訓,如圖 1-4( b)所示;多對多( N: M)類型,例如學生與培訓班,因為一 名學生可以選擇上多個培訓班,一個
27、培訓班也可以同時允許多名學生參加, 如圖 1-4( c)所示。 圖 1-4 聯(lián)系的種類 2021/4/17 1.2.1 信息模型 3屬性 屬性是實體的特征。每個實體都可以有多個屬性,將這些屬性結(jié)合起 來就刻畫了這個實體。例如在學生管理系統(tǒng)中,每個學生可以有身份證號、 姓名、性別、年齡等屬性。這些屬性構(gòu)成了實體的屬性集。另外,聯(lián)系也可 以有屬性,例如學生經(jīng)過某項培訓后取得的成績。成績屬性既不能算是學生 的屬性,也不能算是培訓的屬性,只是當學生參加了培訓后才出現(xiàn)的屬性, 所以把成績屬性作為學生與培訓的聯(lián)系的屬性。但并不是所有的聯(lián)系都有屬 性。 在 ER圖中屬性用橢圓形框表示,在橢圓形框中寫入屬性的
28、名 稱,如圖 1-5所示。 圖 1-5 屬性的表示 2021/4/17 1.2.1 信息模型 4用 E R 圖描述信息模型 有了基本符號后,便可以描述事物、現(xiàn)象,構(gòu)建信息模型了。在 ER 圖中通常用有向線段或無向線段連接各基本元素。例如連接實體與屬性、實 體與聯(lián)系、聯(lián)系與屬性。 由于任何一個屬性都是描述某個實體集的,所以在 ER圖中屬性均唯 一的與其實體集相連。通常使用無向線段。 實例 1: 招生管理系統(tǒng)中系統(tǒng)管理員實體集與其屬性間的連接 2021/4/17 1.2.1 信息模型 若系統(tǒng)管理員實體集有管理員編號、姓名、密碼、權(quán)限四個屬性,則 表示系統(tǒng)管理員實體集與其屬性間的連接如圖 1-6所示
29、。 實體集間若彼此有關(guān)系可以通過聯(lián)系表示,所以在實體集與聯(lián)系之間 就要有連接。此連接通常也使用無向線段表示。但若兩個實體集間有包含 關(guān)系,就必須用有向線段表示。例如學校中的系主任和教師,因為系主任 也是教師,所以教師中包含系主任,有一種包含關(guān)系。 2021/4/17 1.2.1 信息模型 實例 2: 招生管理系統(tǒng)中培訓班與培訓的聯(lián)系 若培訓班實體集有培訓編號、開班編號、開課日期、負責人等屬性, 培訓項目實體集有培訓編號、培訓名稱、面向?qū)ο蟆⑺谡n程等屬性。 兩個實體集間的聯(lián)系是“開設”。則表示培訓班與培訓項目間的聯(lián)系如 圖 1-7所示。 圖 1-7 實體間的聯(lián)系 2021/4/17 1.5 招
30、生管理系統(tǒng)的設計 圖 1-11 培訓學校招生管理系統(tǒng) E-R圖 2021/4/17 作 業(yè) 某醫(yī)院病房計算機管理中需要下列信息: 科室:科名、科地址、科電話、醫(yī)生姓名 病房:病房號、床位號、所屬科室名 醫(yī)生:姓名、職稱、所屬科室名、年齡、工作證號 病人:病歷號、姓名、性別、診斷、主管醫(yī)生、病房號 其中,一個科室有多個病房、多個醫(yī)生,一個病房只能屬于一個科 室,一個醫(yī)生只能屬于一個科室,但可負責多個病人的診斷,一個病人 的主管醫(yī)生只有一個。 請設計出計算機管理系統(tǒng)的 E-R圖。 2021/4/17 人們經(jīng)常以模型來刻畫現(xiàn)實世界中的實際事物 。 地圖 , 沙盤 , 航模都是具 體的實物模型 , 它
31、們會使人們聯(lián)想到真實生活中的事物 , 人們也可以用抽象的 模型來描述事物及事物運動的規(guī)律 。 這里討論的數(shù)據(jù)模型就是這一類模型 , 它 是以實際事物的數(shù)據(jù)特征的抽象來刻畫事物的 , 描述的是事物數(shù)據(jù)的表征及其 特性 。 數(shù)據(jù)庫是某個企業(yè)或組織所涉及的數(shù)據(jù)的提取和綜合 , 它不僅反映數(shù)據(jù)本 身 , 而且反映數(shù)據(jù)之間的聯(lián)系 , 也是事物之間的聯(lián)系的反映 。 如何在數(shù)據(jù)庫系 統(tǒng)的形式化結(jié)構(gòu)中抽象表示和處理現(xiàn)實世界中的數(shù)據(jù)是非常重要的問題 。 在數(shù) 據(jù)庫中是用數(shù)據(jù)模型對現(xiàn)實世界進行抽象的 , 現(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種 數(shù)據(jù)模型的 。 因此 , 了解數(shù)據(jù)模型的基本概念是學習數(shù)據(jù)庫的基礎 。 數(shù)據(jù)庫中
32、最常見的數(shù)據(jù)模型有三種 , 它們是: 1.2.2 數(shù)據(jù)模型 層次模型 網(wǎng)狀模型 關(guān)系模型 2021/4/17 若用圖來表示 , 層次模型是一棵倒立的樹 。 在數(shù)據(jù)庫中 , 滿足以下兩個條 件的數(shù)據(jù)模型稱為層次模型: ( 1) 有且僅有一個結(jié)點無父結(jié)點 , 這個結(jié)點稱為 “ 根結(jié)點 ” ; ( 2) 其他結(jié)點有且僅有一個父結(jié)點 。 在層次模型中 , 結(jié)點層次從根開始定義 , 根為第一層 , 根的子結(jié)點為第二 層 , 根為其子結(jié)點的父結(jié)點 , 同一父結(jié)點的子結(jié)點稱為兄弟結(jié)點 , 沒有子結(jié)點 的結(jié)點稱為葉結(jié)點 。 在圖 1-5所示的抽象層次模型中 , R1為根結(jié)點; R2和 R3為兄弟結(jié)點 , 并且
33、 是 R1的子結(jié)點; R4和 R5為兄弟結(jié)點 , 并且是 R2的子結(jié)點; R3、 R4和 R5為葉結(jié) 點 。 1.2.2.1 層次模型 2021/4/17 層次模型對具有一對多層次關(guān)系的描述非常自然 、 直觀 、 容易理解 , 這 是層次數(shù)據(jù)庫的突出優(yōu)點 。 R1 R2 R3 R4 R5 圖 1-5 層次模型 2021/4/17 若用圖來表示 , 網(wǎng)狀模型是一個網(wǎng)絡 。 在數(shù)據(jù)庫中 , 滿足以下兩個條件的 數(shù)據(jù)模型稱為網(wǎng)狀模型 。 ( 1) 允許一個以上的結(jié)點無父結(jié)點; ( 2) 一個結(jié)點可以有個父結(jié)點 。 1.2.2.2 網(wǎng)狀模型 R1 R2 R4 R5 R3 L3 L4 L5 L2 L1
34、圖 1-6 網(wǎng)狀模型 2021/4/17 在圖 1-6所示的抽象網(wǎng)狀模型中 , R1與 R4之間的聯(lián)系被命名為 L1, R1與 R3之間的聯(lián)系被命名為 L2, R2與 R3之間的聯(lián)系被命名為 L3, R3與 R5之間的 聯(lián)系被命名為 L4, R4與 R5之間的聯(lián)系被命名為 L5。 R1為 R3和 R4的父結(jié)點 , R2也是 R3的父結(jié)點 。 R1和 R2沒有父結(jié)點 。 網(wǎng)狀模型允許一個以上的結(jié)點無父結(jié)點或某一個結(jié)點有一個以上的父結(jié) 點 , 從而構(gòu)成了比層次結(jié)構(gòu)復雜的網(wǎng)狀結(jié)構(gòu) 。 2021/4/17 在關(guān)系模型中 , 數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表 。 在數(shù)據(jù)庫中 , 滿足下列條 件的二維表稱為關(guān)系
35、模型: ( 1) 每一列中的分量是類型相同的數(shù)據(jù); ( 2) 列的順序可以是任意的; ( 3) 行的順序可以是任意的; ( 4) 表中的分量是不可再分割的最小數(shù)據(jù)項 , 即表中不允許有子表: ( 5) 表中的任意兩行不能完全相同 。 表 1-1給出的 Student( 學生基本情況 ) 表便是一個關(guān)系模型 。 1.2.2.3 關(guān)系模型 2021/4/17 關(guān)系數(shù)據(jù)庫采用關(guān)系模型作為數(shù)據(jù)的組織方式 。 層次數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的先驅(qū) , 而網(wǎng)狀數(shù)據(jù)庫則為數(shù)據(jù)庫在概念 、 方法 、 技術(shù) 上的發(fā)展奠定了基礎 。 它們是數(shù)據(jù)庫技術(shù)研究最早的兩種數(shù)據(jù)庫 , 而且也曾得到廣泛 的應用 。 但是 , 這兩種
36、數(shù)據(jù)庫管理系統(tǒng)存在著結(jié)構(gòu)比較復雜 、 用戶不易掌握 、 數(shù)據(jù)存 取操作必須按照模型結(jié)構(gòu)中已定義好的存取路徑進行 、 操作比較復雜等缺點 , 這就限 制了這兩種數(shù)據(jù)庫管理系統(tǒng)的發(fā)展 。 關(guān)系數(shù)據(jù)庫以其具有嚴格的數(shù)學理論 、 使用簡單靈活 、 數(shù)據(jù)獨立性強等特點 , 而 被公認為是最有前途的一種數(shù)據(jù)庫管理系統(tǒng) 。 它的發(fā)展十分迅速 , 目前已成為占據(jù)主 導地位的數(shù)據(jù)庫管理系統(tǒng) 。 自 20世紀 80年代以來 , 作為商品推出的數(shù)據(jù)庫管理系統(tǒng)幾 乎都是關(guān)系型的 。 例如 , ORACLE、 SYBASE、 INFORMIX、 Visual FoxPro等 。 RecNo StudID Name Se
37、x Birthday EntranceScore 1 981101 趙文化 男 2-28-80 500 2 981102 徐逸華 男 6-7-81 630 3 981103 郭茜茜 女 11-17-82 650 4 981201 錢 途 男 5-1-80 380 5 981202 高 涵 男 11-06-80 630 6 981203 李曉鳴 女 11-17-82 400 表 1-1 Student表 2021/4/17 綜 合 習 題 某工廠(包括廠名和廠長姓名)需建立一個數(shù)據(jù)庫來存儲以下信息: 一個廠內(nèi)有多個車間,每個車間有車間號、車間主任姓名、地址和電話。 一個車間多個工人,每個工人有職
38、工號、姓名、年齡、性別和工種。 一個車間生產(chǎn)多種產(chǎn)品,產(chǎn)品有產(chǎn)品號、產(chǎn)品名和價格。 一個車間生產(chǎn)多種零件,一個零件也可能為多個車間制造。零件有零件號、零 件名、重量和價格。 一個產(chǎn)品由多種零件組成,一種零件也可裝配出多種產(chǎn)品。 產(chǎn)品和零件均寸入倉庫中。 廠內(nèi)有多個倉庫,倉庫有倉庫號、倉庫主任姓名和電話。 試: ( 1)畫出該系統(tǒng)的實體 聯(lián)系模型 E-R圖。 ( 2)給出相應的關(guān)系數(shù)據(jù)模型。 ( 3)畫出該系統(tǒng)的層次模型。 2021/4/17 關(guān)系數(shù)據(jù)庫采用了關(guān)系模型作為數(shù)據(jù)的組織方式 , 這就涉及到關(guān)系模型中 的一些基本概念 。 另外 , 對關(guān)系數(shù)據(jù)庫進行查詢時 , 若要找到用戶關(guān)心的數(shù)據(jù) ,
39、 就需要對關(guān)系進行一定的關(guān)系運算 。 1.3 關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫的基本概念 傳統(tǒng)的集合運算 關(guān)系運算 2021/4/17 在關(guān)系數(shù)據(jù)庫中 , 經(jīng)常會提到關(guān)系 、 屬性等關(guān)系模型中的一些基本概念 。 為了進一 步了解關(guān)系數(shù)據(jù)庫 , 首先給出關(guān)系模型中的一些基本概念 。 關(guān)系:一個關(guān)系就是一張二維表 , 每個關(guān)系有一個關(guān)系名 。 在計算機中 , 一個關(guān)系 可以存儲為一個文件 。 在 Visual FoxPro中 , 一個關(guān)系就是一個表文件 。 屬性:二維表中垂直方向的列稱為屬性 , 有時也叫做一個字段 。 域:一個屬性的取值范圍叫做一個域 。 元組:二維表中水平方向的行稱為元組 , 有時也叫做
40、一條記錄 。 碼:又稱為關(guān)鍵字 。 二維表中的某個屬性 , 若它的值唯一地標識了一個元組 , 則稱 該屬性為侯選碼 。 若一個關(guān)系有多個侯選碼 , 則選定其中一個為主碼 , 這個屬性稱為主 屬性 。 分量:元組中的一個屬性值叫做元組的一個分量 。 關(guān)系模式:是對關(guān)系的描述 , 它包括關(guān)系名 、 組成該關(guān)系的屬性名 、 屬性到域的映 像 。 通常簡記為: 關(guān)系名 ( 屬性名 1, 屬性名 2, , 屬性名 n) 1.3.1 關(guān)系數(shù)據(jù)庫的基本概念 2021/4/17 屬性到域的映像通常直接說明為屬性的類型 、 長度等 。 關(guān)系數(shù)據(jù)庫:采用關(guān)系模式作為數(shù)據(jù)的組織方式的數(shù)據(jù)庫叫做關(guān)系數(shù)據(jù)庫 。 對關(guān)
41、系數(shù)據(jù)庫的描述 , 稱為關(guān)系數(shù)據(jù)庫的型 , 它包括若干域的定義以及在這些域上定義的 若干關(guān)系模式 。 這些關(guān)系模式在某一時刻對應的關(guān)系的集合 , 稱為關(guān)系數(shù)據(jù)庫的值 。 表 1-1中的關(guān)系是一個學生基本情況表 。 表中的每一行是一條學生記錄 , 是關(guān)系的 一個元組 , Studid( 學號 ) 、 Name( 姓名 ) 、 Sex( 性別 ) 、 Birthday( 出生日期 ) 、 Entrancescore( 入學成績 ) 等均是屬性 。 其中學號是唯一識別一條記錄的屬性 , 因此 稱為主碼 。 對于學號這一屬性 , 域是 “ 000001”“ 999999”, 對于姓名屬性 , 域是由
42、2 4個漢字組成的字符串 , 對于性別屬性 , 域是 “ 男 ” 、 “ 女 ” 。 學生基本情況表的關(guān)系模式可記為: Student( Studid, Name, Sex, Birthday, Entrancescore) 一個關(guān)系模式在某一時刻的內(nèi)容 ( 稱為相應模式的狀態(tài) ) , 是元組的集合 , 稱為 關(guān)系 。 在不至于引起混淆的情況下 , 往往將關(guān)系模式和關(guān)系統(tǒng)稱為關(guān)系 。 2021/4/17 1.3.2 傳統(tǒng)的集合運算 運算符 符號 含義 鍵盤格式 示例 集合 運算符 并 UNION RS, 或 R UNION S 交 INTERSECT RS ,或 R INTERSECT S -
43、 差 MINUS R-S,或 R MINUS S 乘 TIMES R S,或 R TIMES S 2021/4/17 傳統(tǒng)集合運算舉例 R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 RS A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 RS A B C a1 b2 c2 a2 b2 c1 2021/4/17 傳統(tǒng)集合運算舉例 R A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 R-S A B C a1 b1 c1 R S A B C A B C a
44、1 b2 c1 a1 b2 c2 a1 b2 c1 a1 b3 c2 a1 b2 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b2 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 2021/4/17 對關(guān)系數(shù)據(jù)庫進行查詢時 , 若要找到用戶關(guān)心的數(shù)據(jù) , 就需要對關(guān)系進行一定的關(guān) 系運算 。 關(guān)系運算有兩種:一種是傳統(tǒng)的集合運算 ( 并 、 差 、 交 、 廣義笛卡爾積等 ) ; 另一
45、種是專門的關(guān)系運算 ( 選擇 、 投影 、 連接 ) 。 傳統(tǒng)的集合運算 ( 并 、 差 、 交 、 廣義笛卡爾積 ) 不僅涉及關(guān)系的水平方向 ( 即二維 表的行 ) , 而且涉及關(guān)系的垂直方向 ( 即二維表的列 ) 。 關(guān)系運算的操作對象是關(guān)系 , 運算的結(jié)果仍為關(guān)系 。 ( 1) 選擇 選擇運算即在關(guān)系中選擇滿足某些條件的元組 。 也就是說 , 選擇運算是在二維表中 選擇滿足指定條件的行 。 例如 , 在 Student( 學生基本情況 ) 表中 , 若要找出所有女學生 的元組 , 就可以使用選擇運算來實現(xiàn) , 條件是: Sex=“女 ” 。 ( 2) 投影 投影運算是在關(guān)系中選擇某些屬性
46、列 。 例如 , 在 Student( 學生基本情況 ) 表中 , 若 要僅顯示所有學生的 Studid( 學號 ) 、 Name( 姓名 ) 和 Sex( 性別 ) , 那么可以使用投影 運算來實現(xiàn) 。 ( 3) 連接 連接運算是從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組 。 1.3.3 關(guān)系運算 2021/4/17 關(guān)系運算符 專門 關(guān)系 運算符 選擇 R where C 姓名 =“張三 ” (S)或 S where 姓名 =張三 投影 R 考號,姓名 (S)或 S考號 ,姓名 連接 JOIN RS ,或 R JOIN S 2021/4/17 假設現(xiàn)有兩個關(guān)系:關(guān)系 R和關(guān)系 S,
47、 關(guān)系 R如表 1-2所示 , 關(guān)系 S如表 1-3所示 。 現(xiàn) 在對關(guān)系 R和關(guān)系 S進行廣義笛卡爾積運算 , 那么運算結(jié)果為表 1 4所示的關(guān)系 T。 StudID Name Sex 981102 徐逸華 男 981103 郭茜茜 女 981202 高 涵 男 表 1-2 關(guān)系 R StudID Subid Score 981102 1021 100 981103 1031 98 981101 1011 88 981202 1021 90 表 1-3 關(guān)系 S 2021/4/17 表 1-4 關(guān)系 T StudID Name Sex StudID Subid Score 981102 徐逸
48、華 男 981102 1021 100 981102 徐逸華 男 981103 1031 98 981102 徐逸華 男 981101 1011 88 981102 徐逸華 男 981202 1021 90 981103 郭茜茜 女 981102 1021 100 981103 郭茜茜 女 981103 1031 98 981103 郭茜茜 女 981101 1011 88 981103 郭茜茜 女 981202 1021 90 981202 高 涵 男 981102 1021 100 981202 高 涵 男 981103 1031 98 981202 高 涵 男 981101 1011 8
49、8 981202 高 涵 男 981202 1021 90 2021/4/17 如果進行條件為 “ R. StudID=S. StudID”的連接運算 , 那么連接結(jié)果為關(guān)系 U, 如 表 1-5所示 。 從表 1-5可以看出關(guān)系 U是關(guān)系 T的一個子集 。 表 1-5 關(guān)系 U StudID Name Sex StudID Subid Score 981102 徐逸華 男 981102 1021 100 981103 郭茜茜 女 981103 1031 98 981202 高 涵 男 981202 1021 90 連接條件中的屬性稱為連接屬性 , 兩個關(guān)系中的連接屬性應該有相同的數(shù)據(jù)類型 ,
50、 以保證其是可比的 。 當連接條件中的關(guān)系運算符為 “ ” 時 , 表示等值連接 。 表 1-5的 關(guān)系 U為關(guān)系 R和關(guān)系 S在條件 “ R. StudID=S. StudID”下的等值連接 。 若在等值連接的 關(guān)系 U中去掉重復的屬性 ( 或?qū)傩越M ) , 則此連接稱為自然連接 。 表 1-6所示的關(guān)系 V 是關(guān)系 R和關(guān)系 S在條件 “ R. StudID=S. StudID”下的自然連接 。 對關(guān)系數(shù)據(jù)庫的實際操作 , 往往是以上幾種操作的綜合應用 。 例如:對關(guān)系 V再 進行投影運算 , 可以得到僅有屬性 Studid( 學號 ) 、 Name( 姓名 ) 、 Subid( 課程編號
51、 ) 和 Score( 成績 ) 的關(guān)系 W, 如表 1-7所示 。 2021/4/17 表 1-6 關(guān)系 V StudID Name Sex Subid Score 981102 徐逸華 男 1021 100 981103 郭茜茜 女 1031 98 981202 高 涵 男 1021 90 以上這些關(guān)系運算 , 在關(guān)系數(shù)據(jù)庫管理系統(tǒng)中都有相應的操作命令 。 表 1-7 關(guān)系 W StudID Name Subid Score 981102 徐逸華 1021 100 981103 郭茜茜 1031 98 981202 高 涵 1021 90 2021/4/17 連接運算舉例 R A B C
52、a1 b1 5 a1 b2 6 a2 b3 8 a2 b4 12 S B E b1 3 b2 7 b3 10 b3 2 b5 2 自然連接 R S A B C E a1 b1 5 3 a1 b2 6 7 a2 b3 8 10 a2 b3 8 2 2021/4/17 學生 -課程數(shù)據(jù)庫 S 學生表 學 號 姓名 性別 年齡 S# SNAME SEX AGE 2004101 張明 男 19 2004102 李華 女 20 2004103 王強 男 18 2004104 秦永 男 19 C 課程表 課程號 課程名 學分 任課教師 C# CNAME CREDIT TEACHER 1 數(shù)據(jù)庫 6 呂 睿
53、 2 應用軟件 4 方志廣 3 C語言 6 盧建增 4 科技導論 3 賈新建 SC 學生選課表 學號 課程號 成績 S# C# GRADE 200401 1 92 200401 2 85 200401 3 88 200402 2 90 200402 3 80 200403 1 78 200403 4 86 200404 2 70 200404 3 68 200404 4 90 關(guān)系數(shù)據(jù)庫的規(guī)范化設計 2021/4/17 關(guān)系模式可能存在的問題 例 有一個關(guān)系模式 R( TNAME, ADDRESS, C#, CNAME),其屬性分別表示教師姓名、教師地址、教的 課程號和課程名。 TNAME ADDRESS C# CNAME T1 A1 C1 N1 T1 A1 C2 N2 T1 A1 C3 N3 T2 A2 C4 N4 T2 A2 C5 N5 T2 A2 C6 N6 2021/4/17 在上例中,關(guān)系 R存在著數(shù)據(jù)冗余和更新 異常現(xiàn)象,應該用下面兩個關(guān)系模式 R1和 R2替代 R。 R1( TNAME, ADDRESS) R2( TNAME, C#, CNAME) 2021/4/17 謝謝大家!
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語一年級上冊Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認識線段課件
- 患者病情評估培訓完整
- 早產(chǎn)兒的護理教學
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級科學上冊課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細部處理龍湖
- 人教版小學二年級上冊數(shù)學8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟的發(fā)展
- 如何繪制出高品質(zhì)的學科思維導圖
- 美國癲癇學會驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設計理論及方法課件
- (課件)正弦定理公開課