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