數(shù)據(jù)庫(kù)考試期末總結(jié)_第1頁(yè)
數(shù)據(jù)庫(kù)考試期末總結(jié)_第2頁(yè)
數(shù)據(jù)庫(kù)考試期末總結(jié)_第3頁(yè)
數(shù)據(jù)庫(kù)考試期末總結(jié)_第4頁(yè)
數(shù)據(jù)庫(kù)考試期末總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)考試期末總結(jié)簡(jiǎn)介第一篇:數(shù)據(jù)庫(kù)考試期末總結(jié)第1章 數(shù)據(jù)庫(kù)系統(tǒng)概述 1、基本概念 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)和功能 數(shù)據(jù)抽象 三種數(shù)據(jù)抽象能力 三種數(shù)據(jù)庫(kù)模式 兩種數(shù)據(jù)獨(dú)立性 數(shù)據(jù)庫(kù)系統(tǒng)的用戶 數(shù)據(jù)模型、數(shù)據(jù)庫(kù)語(yǔ)言 數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu) 2、重點(diǎn) 數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng) 兩種數(shù)據(jù)獨(dú)立性 第2章 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng) 1、知識(shí)點(diǎn) 關(guān)系數(shù)據(jù)模型 數(shù)據(jù)結(jié)構(gòu) 完整性約束 操作 關(guān)系運(yùn)算的安全性 關(guān)系代數(shù)、元組關(guān)系演算、域關(guān)系演算的等價(jià)性 sql 交互式 嵌入式 2、基本概念 關(guān)系、屬性、元組、關(guān)系模式、關(guān)系實(shí)例 關(guān)系的性質(zhì) 候選鍵、主鍵、鍵屬性、非鍵屬性、外部鍵 實(shí)

2、體完整性約束、關(guān)聯(lián)完整性約束 關(guān)系代數(shù)操作的定義 關(guān)系代數(shù)的基本操作和附加操作 專門的關(guān)系運(yùn)算 sql語(yǔ)言的子語(yǔ)言 每個(gè)sql語(yǔ)句的功能及語(yǔ)法格式 3、重點(diǎn) 關(guān)系數(shù)據(jù)模型 關(guān)系代數(shù) sql語(yǔ)句 第3章 數(shù)據(jù)庫(kù)的安全性與完整性 1、知識(shí)點(diǎn) 安全性 定義 需要解決的問(wèn)題 解決的方法 完整性 定義 類型 定義和驗(yàn)證方法 2、基本概念 安全性的定義 完整性的定義 完整性的類型 第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)概述與需求分析 1、基本概念 db設(shè)計(jì)的任務(wù) db的生命周期 db的設(shè)計(jì)過(guò)程 db的需求分析的任務(wù)、目標(biāo)、步驟 第5章 概念數(shù)據(jù)庫(kù)設(shè)計(jì) 1、知識(shí)點(diǎn) 實(shí)體聯(lián)系模型(er模型) 實(shí)體、實(shí)體型 實(shí)體的屬性、實(shí)體的屬性

3、值、復(fù)合屬性、單值屬性、多值屬性、導(dǎo)出屬性、空值 鍵、簡(jiǎn)單鍵、復(fù)合鍵 實(shí)體間的聯(lián)系 實(shí)體對(duì)應(yīng)約束(1:1、1:n、m:n)、實(shí)體關(guān)聯(lián)約束(全域關(guān)聯(lián)約束、部分關(guān)聯(lián)約束) 弱實(shí)體型、弱實(shí)體、識(shí)別實(shí)體型、識(shí)別聯(lián)系 弱實(shí)體型的部分鍵 er圖 2、基本概念 復(fù)合屬性、多值屬性、導(dǎo)出屬性 1:1、1:n、m:n聯(lián)系 概念數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù) 概念數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo) 概念數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 概念數(shù)據(jù)庫(kù)設(shè)計(jì)的方法、視圖綜合設(shè)計(jì)方法 概念數(shù)據(jù)庫(kù)設(shè)計(jì)的策略 3、重點(diǎn) er圖 第6章 邏輯數(shù)據(jù)庫(kù)設(shè)計(jì) 1、知識(shí)點(diǎn) 形成初始關(guān)系模式 普通實(shí)體、弱實(shí)體、多值屬性、各種聯(lián)系 函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴 給定

4、關(guān)系實(shí)例,求函數(shù)依賴集 armstrong公理系統(tǒng)、三條推理規(guī)則 求屬性閉包、求候選鍵 兩個(gè)函數(shù)依賴集等價(jià)的判定、求最小函數(shù)依賴集 關(guān)系模式的規(guī)范形式 1nf、2nf、3nf、bcnf 關(guān)系模式的規(guī)范化方法 無(wú)損連接性、函數(shù)依賴保持性、判別方法 關(guān)系模式的分解算法 2、基本概念 邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù) 邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo) 邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 初始關(guān)系模式可能存在的問(wèn)題 函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴 armstrong公理系統(tǒng)、三條推理規(guī)則 1nf、2nf、3nf、bcnf 3、重點(diǎn) 形成初始關(guān)系模式,并指出每個(gè)關(guān)系模式的主鍵和外鍵 給定關(guān)系實(shí)例,求函數(shù)依賴集 求屬性閉包

5、、求候選鍵 判斷兩個(gè)函數(shù)依賴集等價(jià) 求與給定函數(shù)依賴集等價(jià)的最小函數(shù)依賴集 判斷一個(gè)關(guān)系模式最高屬于幾范式 判斷給定的分解是否具有無(wú)損連接性 關(guān)系模式的3nf、bcnf分解算法 第7章 物理數(shù)據(jù)庫(kù)設(shè)計(jì) 1、知識(shí)點(diǎn) 物理數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù) 物理數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 第8章 物理存儲(chǔ)結(jié)構(gòu) 1、知識(shí)點(diǎn) 物理存儲(chǔ)設(shè)備 磁盤的存儲(chǔ)特性和訪問(wèn)特性 磁盤冗余技術(shù) 文件和文件記錄 各種文件結(jié)構(gòu)的存儲(chǔ)空間和查詢時(shí)間的計(jì)算 各種索引的存儲(chǔ)空間和查詢時(shí)間的計(jì)算 2、基本概念 記錄 定長(zhǎng)記錄文件、邊長(zhǎng)記錄文件 跨塊記錄、非跨塊記錄 無(wú)序文件、有序文件 索引域、索引文件、索引記錄 稀疏索引、稠密索引 主索引、輔助索引、聚集索

6、引 b樹、b+樹 3、重點(diǎn) 各種文件和索引占用的空間計(jì)算 利用各種文件和索引的查詢時(shí)間的計(jì)算 第9章 數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)字典 1、重點(diǎn) 數(shù)據(jù)字典的概念 數(shù)據(jù)字典中存儲(chǔ)的信息 把數(shù)據(jù)字典作為普通關(guān)系處理具有兩個(gè)優(yōu)點(diǎn) 第10章 關(guān)系代數(shù)操作的實(shí)現(xiàn)算法 1、重點(diǎn) 查詢處理的過(guò)程 各個(gè)關(guān)系代數(shù)操作的算法及代價(jià)分析 第11章 查詢優(yōu)化技術(shù) 1、知識(shí)點(diǎn) 關(guān)系代數(shù)的等價(jià)變換規(guī)律 啟發(fā)式代數(shù)優(yōu)化規(guī)則 初始關(guān)系代數(shù)表達(dá)式 關(guān)系代數(shù)表達(dá)式到查詢樹的轉(zhuǎn)換 啟發(fā)式關(guān)系代數(shù)優(yōu)化算法 基于復(fù)雜性估計(jì)的查詢優(yōu)化算法 語(yǔ)義查詢優(yōu)化方法 2、重點(diǎn) 關(guān)系代數(shù)的等價(jià)變換規(guī)律 啟發(fā)式代數(shù)優(yōu)化規(guī)則 初始關(guān)系代數(shù)表達(dá)式 關(guān)系代數(shù)表達(dá)式

7、到查詢樹的轉(zhuǎn)換 啟發(fā)式關(guān)系代數(shù)優(yōu)化算法 第12章 并發(fā)控制技術(shù) 1、知識(shí)點(diǎn) 事務(wù) 不對(duì)并發(fā)事務(wù)進(jìn)行控制導(dǎo)致的問(wèn)題 事務(wù)的性質(zhì) 事務(wù)的調(diào)度、串行調(diào)度、并行調(diào)度 可串行的調(diào)度 沖突 沖突等價(jià) 沖突可串行 沖突可串行的測(cè)試方法 兩段鎖協(xié)議 2、基本概念 事務(wù)處理包括哪兩方面的內(nèi)容 不對(duì)并發(fā)事務(wù)進(jìn)行控制導(dǎo)致的問(wèn)題 事務(wù)、事務(wù)的狀態(tài)、事務(wù)的性質(zhì)、事務(wù)的原子性 調(diào)度、串行調(diào)度、并行調(diào)度、可串行調(diào)度 沖突、沖突等價(jià)、沖突可串行 3、重點(diǎn) 基本概念 沖突可串行的測(cè)試方法 兩段鎖協(xié)議 第13章 數(shù)據(jù)庫(kù)恢復(fù)技術(shù) 1、知識(shí)點(diǎn) 日志 日志的內(nèi)容 日志的產(chǎn)生過(guò)程 使用日志進(jìn)行系統(tǒng)恢復(fù)的方法 2、重點(diǎn) 使用推遲更新技術(shù)(

8、redo日志技術(shù))和即時(shí)更新技術(shù)(undo/redo日志)進(jìn)行系統(tǒng)恢復(fù)的方法,包括恢復(fù)時(shí)所做的操作以及恢復(fù)后數(shù)據(jù)庫(kù)中數(shù)據(jù)項(xiàng)的值。 第二篇:數(shù)據(jù)庫(kù)期末復(fù)習(xí)總結(jié)數(shù)據(jù)庫(kù)原理綜合習(xí)題答案1.1 名詞解釋 (1) db:即數(shù)據(jù)庫(kù)(database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。 db能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨(dú)立性。 (2) dbms:即數(shù)據(jù)庫(kù)管理系統(tǒng)(database management system),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)db的方法,包括db的建立、查詢、更新及各種數(shù)據(jù)控制。 dbms總是基于某種數(shù)據(jù)模型,可以

9、分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮蚫bms。 (3) dbs:即數(shù)據(jù)庫(kù)系統(tǒng)(database system),是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問(wèn)的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)。 (4) 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”。 (5) 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”。 (

10、6) 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”。 (7) 數(shù)據(jù)模型:模型是對(duì)現(xiàn)實(shí)世界的抽象。在數(shù)據(jù)庫(kù)技術(shù)中,表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。 它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。 (6) 概念數(shù)據(jù)模型:是獨(dú)門于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來(lái)描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)。 (9) 結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。這類模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng),所以稱為“結(jié)構(gòu)數(shù)據(jù)模型”。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:

11、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關(guān)系三種模型。(10) 層次模型:用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。(11) 網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。 (12) 關(guān)系模型:是目前最流行的數(shù)據(jù)庫(kù)模型。其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合。 (13) 概念模式:是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個(gè)概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。 (14) 外模式:是用戶與數(shù)據(jù)庫(kù)系統(tǒng)的接口,是用戶用到的那部分

12、數(shù)據(jù)的描述。 (15) 內(nèi)模式:是數(shù)據(jù)庫(kù)在物理存儲(chǔ)方面的描述,定義所有的內(nèi)部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。 (16) 模式/內(nèi)模式映象:這個(gè)映象存在于概念級(jí)和內(nèi)部級(jí)之間,用于定義概念模式和內(nèi)模式間的對(duì)應(yīng)性,即概念記錄和內(nèi)部記錄間的對(duì)應(yīng)性。此映象一般在內(nèi)模式中描述。 (17) 外模式/模式映象:這人映象存在于外部級(jí)和概念級(jí)之間,用于定義外模式和概念模式間的對(duì)應(yīng)性,即外部記錄和內(nèi)部記錄間的對(duì)應(yīng)性。此映象都是在外模式中描述。 (18) 數(shù)據(jù)獨(dú)立性:在數(shù)據(jù)庫(kù)技術(shù)中,數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨(dú)立,不受影響。數(shù)據(jù)獨(dú)立性分成物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性兩級(jí)。 (19)

13、 物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫(kù)的內(nèi)模式要進(jìn)行修改,即數(shù)據(jù)庫(kù)的存儲(chǔ)設(shè)備和存儲(chǔ)方法有所變化,那么模式/內(nèi)模式映象也要進(jìn)行相應(yīng)的修改,使概念模式盡可能保持不變。也就是對(duì)模式的修改盡量不影響概念模式。(20) 邏輯數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫(kù)的概念模式要進(jìn)行修改(如增加記錄類型或增加數(shù)據(jù)項(xiàng)),那么外模式/模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。 也就是對(duì)概念模式的修改盡量不影響外模式和應(yīng)用程序。 (21) 宿主語(yǔ)言:在數(shù)據(jù)庫(kù)技術(shù)中,編寫應(yīng)用程序的語(yǔ)言仍然是一些高級(jí)程序設(shè)計(jì)語(yǔ)言,這些語(yǔ)言稱為宿主語(yǔ)言(host language),簡(jiǎn)稱主語(yǔ)言。 (22) ddl:數(shù)據(jù)定義語(yǔ)言(data definit

14、ion language),用于定義數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。(23) dml:數(shù)據(jù)操縱語(yǔ)言(data manipulation language),由dbms提供,用于讓用戶或程序員使用,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作。 dml分成交互型dml和嵌入型dml兩類。依據(jù)語(yǔ)言的級(jí)別,dml又可分成過(guò)程性dml和非過(guò)程性dml兩種。 (24) 交互型dml:如果dml自成系統(tǒng),可在終端上直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,這種dml稱為交互型dml。 (25) 嵌入型dml:如果dml嵌入在主語(yǔ)言中使用,此時(shí)主語(yǔ)言是經(jīng)過(guò)擴(kuò)充能處理dml語(yǔ)句的語(yǔ)

15、言,這種dml稱為嵌入型dml。 (26) 過(guò)程性dml:用戶編程時(shí),不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的dml屬于過(guò)程性語(yǔ)言。(27) 非過(guò)程性dml:用戶編程時(shí),只需要指出“做什么”,不需要指出“怎么做”。notice:以上關(guān)于dml的各個(gè)概念單獨(dú)出現(xiàn)時(shí),首先要解釋dml的含義。 (28) dd:數(shù)據(jù)字典(data dictionary),數(shù)據(jù)庫(kù)系統(tǒng)中存放三級(jí)結(jié)構(gòu)定義的數(shù)據(jù)庫(kù)稱為數(shù)據(jù)字典。對(duì)數(shù)據(jù)庫(kù)的操作都要通過(guò)訪問(wèn)dd才能實(shí)現(xiàn)。(29) dd系統(tǒng):管理dd的實(shí)用程序稱為“dd系統(tǒng)”。1.2 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例

16、說(shuō)明。文件系統(tǒng)有三個(gè)缺陷: (1)數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個(gè)應(yīng)用程序都有對(duì)應(yīng)的文件,有可能同樣的數(shù)據(jù)在多個(gè)文件中重復(fù)存儲(chǔ)。 (2)數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進(jìn)行更新操作時(shí),稍不謹(jǐn)慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。 (3)數(shù)據(jù)聯(lián)系弱(poor data relationship)。這是由文件之間相互獨(dú)立,缺乏聯(lián)系造成的。1.3 數(shù)據(jù)庫(kù)階段的數(shù)據(jù)管理有些什么特點(diǎn)?(1) 采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu) (2) 有較高的數(shù)據(jù)獨(dú)立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級(jí)) (3) 數(shù)據(jù)庫(kù)系

17、統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語(yǔ)言、終端命令或程序方式操作數(shù)據(jù), 也可以用程序方式操作數(shù)據(jù)庫(kù)。 (4) 系統(tǒng)提供了四個(gè)方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性, 以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)是安全的、正確的和可靠的。 (5) 對(duì)數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項(xiàng)為單位,增加了系統(tǒng)的靈活性。1.4 你怎樣理解實(shí)體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說(shuō)明。實(shí)體(entity):是指客觀存在可以相互區(qū)別的事物。實(shí)體可以是具體的對(duì)象,如:一個(gè)學(xué)生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場(chǎng)足球賽等。 屬性(attribute):實(shí)體有很多特性,每

18、一個(gè)特性稱為屬性。每個(gè)屬性有一個(gè)值域,其類型可以是整數(shù)型、實(shí)數(shù)型、字符串型。比如,學(xué)生(實(shí)體)有學(xué)號(hào)、姓名、年齡、性別等屬性, 相應(yīng)值域?yàn)樽址?、字符串、整?shù)和字符串型。 字段(field):標(biāo)記實(shí)體屬性的命名單位稱為字段或數(shù)據(jù)項(xiàng)。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項(xiàng)。字段的命名往往和屬性名相同,比如,學(xué)生有學(xué)號(hào)、姓名、年齡、性別等字段。 記錄(record):字段的有序集合稱為記錄。一般用一個(gè)記錄描述一個(gè)實(shí)體,所以記錄又可以定義為能完整地描述一個(gè)實(shí)體的字段集。如:一個(gè)學(xué)生記錄,由有序的字段集(學(xué)號(hào)、姓名、年齡、性別等)組成。1.5 邏輯記錄與物理記錄,邏輯文件與物理文件有些什

19、么聯(lián)系和區(qū)別?聯(lián)系: (1)邏輯記錄與物理記錄都是記錄,是字段的有序集合;(2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。區(qū)別: (1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。 (2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲(chǔ)設(shè)備上的存儲(chǔ)方式,物理記錄、物理文件(還有物理聯(lián)系、物理結(jié)構(gòu)等術(shù)語(yǔ)),都是用來(lái)描述實(shí)際存儲(chǔ)設(shè)備上的數(shù)據(jù)。 (3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。 邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結(jié)構(gòu)等術(shù)語(yǔ)),都是用戶觀點(diǎn)的數(shù)據(jù)描述。1.6 為某百貨公司設(shè)計(jì)一個(gè)er模型。 百 貨管轄若干個(gè)連鎖商店,每家商店經(jīng)營(yíng)若干商品, 每家商店

20、有若干職工,但每個(gè)職工只能服務(wù)于一家商店。實(shí)體類型“商店”的屬性有:商店編號(hào),店名,店址,店經(jīng)理。 實(shí)體類型“商品”的屬性有:商品編號(hào),商品名,單價(jià),產(chǎn)地。實(shí)體類型“職工”的屬性有:職工編號(hào),職工名,性別,工資。 在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時(shí)間,商店銷售商品的月銷售量。試畫出反映商店、商品、職工實(shí)體類型及聯(lián)系類型的er圖,并將其轉(zhuǎn)換成關(guān)系模式集。實(shí)體:商店(商店編號(hào),店名,店址,店經(jīng)理) 商品(商品編號(hào),商品名,單價(jià),產(chǎn)地) 職工(職工編號(hào),職工名,性別,工資) 聯(lián)系:sc(商店商品之間1:n的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時(shí)間”。 se(商店職工之間1:n的聯(lián)系),聯(lián)

21、系屬性為“月銷售量”。關(guān)系模式集:商店模式(商店編號(hào),店名,店址,店經(jīng)理) 商品模式(商品編號(hào),商品名,單價(jià),產(chǎn)地,商店編號(hào),月銷售量)職工模式(職工編號(hào),職工名,性別,工資,商店編號(hào),開始時(shí)間)1.7 試述er模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c(diǎn)。er模型的主要特點(diǎn): (1)優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無(wú)關(guān),用戶容易接受。(2)缺點(diǎn):只能說(shuō)明實(shí)體間語(yǔ)義的聯(lián)系,不能進(jìn)一步說(shuō)明詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。 層次模型的特點(diǎn): (1)優(yōu)點(diǎn):記錄之間的聯(lián)系通過(guò)指針實(shí)現(xiàn),查詢效率較高。 (2)缺點(diǎn):只能表示1:n聯(lián)系,實(shí)現(xiàn)m:n結(jié)構(gòu)較復(fù)雜;由于層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和

22、更新操作也很復(fù)雜。網(wǎng)狀模型的特點(diǎn): (1)優(yōu)點(diǎn):記錄之間聯(lián)系通過(guò)指針實(shí)現(xiàn),m:n聯(lián)系也容易實(shí)現(xiàn)(每個(gè)m:n聯(lián)系可拆成兩個(gè)1:n聯(lián)系),查詢效率較高。 (2)缺點(diǎn):編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。關(guān)系模型的特點(diǎn): 用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡(jiǎn)單,用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu)、訪問(wèn)技術(shù)等細(xì)節(jié)。1.8 試述概念模式在數(shù)據(jù)庫(kù)結(jié)構(gòu)中的重要地位。概念模式是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個(gè)概念記錄類型組成。 概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲(chǔ)在磁盤中,而概念

23、模式提供了連接這兩級(jí)的相對(duì)穩(wěn)定的中間觀點(diǎn), 并使得兩級(jí)的任何一級(jí)的改變都不受另一級(jí)的牽制。1.9 數(shù)據(jù)獨(dú)立性與數(shù)據(jù)聯(lián)系這兩個(gè)概念有什么區(qū)別? 數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨(dú)立,不受影響。 數(shù)據(jù)聯(lián)系是指同一記錄內(nèi)部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。1.10 試述dbms在用戶訪問(wèn)數(shù)據(jù)庫(kù)過(guò)程中所起的作用. 用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,dbms把操作從應(yīng)用程序帶到外部級(jí)、概念級(jí)、再導(dǎo)向內(nèi)部級(jí),進(jìn)而操作存儲(chǔ)器中的數(shù)據(jù)。 (結(jié)合p22“用戶訪問(wèn)數(shù)據(jù)的過(guò)程”來(lái)理解)1.11 試述dbms的主要功能。dbms的主要功能有: (1)數(shù)據(jù)庫(kù)的定義功能(2)數(shù)據(jù)庫(kù)的操縱功能(3)數(shù)據(jù)庫(kù)的保護(hù)功能(4)數(shù)據(jù)庫(kù)的

24、存儲(chǔ)管理(5)數(shù)據(jù)庫(kù)的維護(hù)功能(6)數(shù)據(jù)字典1.12 試敘dbms對(duì)數(shù)據(jù)庫(kù)的保護(hù)功能。 dbms對(duì)數(shù)據(jù)庫(kù)的保護(hù)主要通過(guò)四個(gè)方面實(shí)現(xiàn):(1)數(shù)據(jù)庫(kù)的恢復(fù)。(2)數(shù)據(jù)庫(kù)的并發(fā)控制。 (3)數(shù)據(jù)庫(kù)的完整性控制。(4)數(shù)據(jù)庫(kù)的安全性控制。1.13 試敘dbms對(duì)數(shù)據(jù)庫(kù)的維護(hù)功能。 dbms中有一些程序提供給數(shù)據(jù)庫(kù)管理員運(yùn)行數(shù)據(jù)庫(kù)系統(tǒng)時(shí)使用,這些程序起著數(shù)據(jù)庫(kù)維護(hù)的功能。 主要有四個(gè)實(shí)用程序: (1)數(shù)據(jù)裝載程序(loading) (2)備份程序(backup) (3)文件重組織程序(4)性能監(jiān)控程序1.14 從模塊結(jié)構(gòu)看,dbms由哪些部分組成? 從模塊結(jié)構(gòu)看,dbms由兩大部分組成:查詢處理器和存儲(chǔ)

25、管理器 (1)查詢處理器有四個(gè)主要成分:ddl編譯器,dml編譯器,嵌入型dml的預(yù)編譯器,查詢運(yùn)行核心程序 (2)存儲(chǔ)管理器有四個(gè)主要成分:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器(以上幾題具體可參照書上p20-21) 1.15 dbs由哪幾個(gè)部分組成? dbs由四部分組成:數(shù)據(jù)庫(kù)、硬件、軟件、數(shù)據(jù)庫(kù)管理員。1.16 什么樣的人是dba?dba應(yīng)具有什么素質(zhì)?dba的職責(zé)是什么? dba是控制數(shù)據(jù)整體結(jié)構(gòu)的人,負(fù)責(zé)dbs的正常運(yùn)行。dba可以是一個(gè)人,在大型系統(tǒng)中也可以是由幾個(gè)人組成的小組。 dba承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的責(zé)任。 dba應(yīng)具有下列素質(zhì):(1)熟悉企

26、業(yè)全部數(shù)據(jù)的性質(zhì)和用途; (2)對(duì)用戶的需求有充分的了解;(3)對(duì)系統(tǒng)的性能非常熟悉。dba的主要職責(zé)有五點(diǎn):(1)概念模式定義(2)內(nèi)模式定義 (3)根據(jù)要求修改數(shù)據(jù)庫(kù)的概念模式和內(nèi)模式(4)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的授權(quán)(5)完整性約束的說(shuō)明1.17 試對(duì)dbs的全局結(jié)構(gòu)作詳細(xì)解釋。參照教材p24-25。1.18 使用dbs的用戶有哪幾類? 使用dbs的用戶有四類:1)dba 2)專業(yè)用戶3)應(yīng)用程序員4)最終用戶1.19 dbms的查詢處理器有哪些功能?dbms的查詢處理器可分成四個(gè)成分:1)dml編譯器 2)嵌入型dml的預(yù)編譯器3)ddl編譯器 4)查詢運(yùn)行核心程序(各成分功能參照p24)1.2

27、0 dbms的存儲(chǔ)處理器有哪些功能? dbms的存儲(chǔ)處理器提供了應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)中數(shù)據(jù)的界面,可分成四個(gè)成分:1)授權(quán)和完整性管理器2)事務(wù)管理器3)文件管理器4)緩沖區(qū)管理器(各成分功能參照p25)1.21 磁盤存儲(chǔ)器中有哪四類主要的數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)文件:存儲(chǔ)了數(shù)據(jù)庫(kù)中的數(shù)據(jù);數(shù)據(jù)字典(dd):存儲(chǔ)三級(jí)結(jié)構(gòu)的描述;索引文件:為提高查詢速度而設(shè)置的邏輯排序手段;統(tǒng)計(jì)數(shù)據(jù)組織:存儲(chǔ)dbs運(yùn)行時(shí)統(tǒng)計(jì)分析數(shù)據(jù)。(1)關(guān)系模型:用二維表格結(jié)構(gòu)表示實(shí)體集,外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。(2)關(guān)系模式:關(guān)系模式實(shí)際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式不涉

28、及到物理存儲(chǔ)方面的描述,僅僅是對(duì)數(shù)據(jù)特性的描述。(3)關(guān)系實(shí)例:元組的集合稱為關(guān)系和實(shí)例,一個(gè)關(guān)系即一張二維表格。(4)屬性:實(shí)體的一個(gè)特征。在關(guān)系模型中,字段稱為屬性。 (5)域:在關(guān)系中,每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域,簡(jiǎn)稱域。(6)元組:在關(guān)系中,記錄稱為元組。元組對(duì)應(yīng)表中的一行;表示一個(gè)實(shí)體。(7)超鍵:在關(guān)系中能唯一標(biāo)識(shí)元組的屬性集稱為關(guān)系模式的超鍵。(8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。(9)主鍵:用戶選作元組標(biāo)識(shí)的一個(gè)候選鍵為主鍵。(單獨(dú)出現(xiàn),要先解釋“候選鍵”)(10)外鍵:某個(gè)關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時(shí)該主鍵在就是另一關(guān)系的外鍵,如有兩個(gè)關(guān)

29、系s和sc,其中s#是關(guān)系s的主鍵,相應(yīng)的屬性s#在關(guān)系sc中也出現(xiàn),此時(shí)s#就是關(guān)系sc的外鍵。(11)實(shí)體完整性規(guī)則:這條規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標(biāo)識(shí)元組的作用。 (12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實(shí)體”。 其形式定義如下:如果屬性集k是關(guān)系模式r1的主鍵,k也是關(guān)系模式r2的外鍵,那么r2的關(guān)系中, k的取值只允許有兩種可能,或者為空值,或者等于r1關(guān)系中某個(gè)主鍵值。 這條規(guī)則在使用時(shí)有三點(diǎn)應(yīng)注意: 1)外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可。 2)r1和r2也可以是同一個(gè)關(guān)系模式,表示了屬性之

30、間的聯(lián)系。 3)外鍵值是否允許空應(yīng)視具體問(wèn)題而定。 (13)過(guò)程性語(yǔ)言:在編程時(shí)必須給出獲得結(jié)果的操作步驟,即“干什么”和“怎么干”。如pascal和c語(yǔ)言等。 (14)非過(guò)程性語(yǔ)言:編程時(shí)只須指出需要什么信息,不必給出具體的操作步驟。各種關(guān)系查詢語(yǔ)言均屬于非過(guò)程性語(yǔ)言。 (15)無(wú)限關(guān)系:當(dāng)一個(gè)關(guān)系中存在無(wú)窮多個(gè)元組時(shí),此關(guān)系為無(wú)限關(guān)系。如元組表達(dá)式t|r(t)表示所有不在關(guān)系r中的元組的集合,這是一個(gè)無(wú)限關(guān)系。(16)無(wú)窮驗(yàn)證:在驗(yàn)證公式時(shí)需對(duì)無(wú)窮多個(gè)元組進(jìn)行驗(yàn)證就是無(wú)窮驗(yàn)證。如驗(yàn)證公式(u)(p(u)的真假時(shí)需對(duì)所有的元組u進(jìn)行驗(yàn)證,這是一個(gè)無(wú)窮驗(yàn)證的問(wèn)題。2.2 為什么關(guān)系中的元組沒(méi)有

31、先后順序? 因?yàn)殛P(guān)系是一個(gè)元組的集合,而元組在集合中的順序無(wú)關(guān)緊要。因此不考慮元組間的順序,即沒(méi)有行序。2.3 為什么關(guān)系中不允許有重復(fù)元組? 因?yàn)殛P(guān)系是一個(gè)元組的集合,而集合中的元素不允許重復(fù)出現(xiàn),因此在關(guān)系模型中對(duì)關(guān)系作了限制, 關(guān)系中的元組不能重復(fù),可以用鍵來(lái)標(biāo)識(shí)唯一的元組。2.4 關(guān)系與普通的表格、文件有什么區(qū)別? 關(guān)系是一種規(guī)范化了的二維表格,在關(guān)系模型中,對(duì)關(guān)系作了下列規(guī)范性限制:1)關(guān)系中每一個(gè)屬性值都是不可分解的。 2)關(guān)系中不允許出現(xiàn)相同的元組(沒(méi)有重復(fù)元組)。 3)由于關(guān)系是一個(gè)集合,因此不考慮元組間的順序,即沒(méi)有行序。 4)元組中,屬性在理論上也是無(wú)序的,但在使用時(shí)按習(xí)慣

32、考慮列的順序。2.5 笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別? 笛卡爾積對(duì)兩個(gè)關(guān)系r和s進(jìn)行乘操作,產(chǎn)生的關(guān)系中元組個(gè)數(shù)為兩個(gè)關(guān)系中元組個(gè)數(shù)之積。 等值聯(lián)接則是在笛卡爾積的結(jié)果上再進(jìn)行選擇操作,從關(guān)系r和s的笛卡兒積中選擇對(duì)應(yīng)屬性值相等的元組; 自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎(chǔ)上再行投影操作,并去掉重復(fù)的公共屬性列。當(dāng)兩個(gè)關(guān)系沒(méi)有公共屬性時(shí),自然連接就轉(zhuǎn)化我笛卡爾積。2.8 如果r是二元關(guān)系,那么下列元組表達(dá)式的結(jié)果是什么? t|(u)(r(t)r(u)(t1u1t2u2) 這個(gè)表達(dá)式的意思是:從關(guān)系r中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個(gè)不

33、等于其他某元組。 由于r是二元關(guān)系,只有兩個(gè)分量,由于沒(méi)有重復(fù)元組,上述條件顯然滿足。 所以,這個(gè)表達(dá)式結(jié)果就是關(guān)系r。2.9 假設(shè)r和s分別是三元和二元關(guān)系,試把表達(dá)式1,5(2=43=4(r×s)轉(zhuǎn)換成等價(jià)的:(1)漢語(yǔ)查詢句子;(2)元組表達(dá)式;(3)域表達(dá)式。(1)漢語(yǔ)表達(dá)式: 從r×s關(guān)系中選擇滿足下列條件的元組: 第2分量(r中第2分量)與第4分量(s中第1分量)值相等,或第3分量(r中第3分量)與第4分量(s中第1分量)值相等;并取第1列與第5列組成的新關(guān)系。(2)元組表達(dá)式:t|(u)(v)(r(u)s(v)(u2=v1u3=v1)t1=u1t2=v2) (

34、3)域表達(dá)式:xv|(y)(z)(u)(r(xyz)s(uv)(y=uz=u) 2.10 假設(shè)r和s都是二元關(guān)系,試把元組表達(dá)式t|r(t)(u)(s(u)u1t2)轉(zhuǎn)換成等價(jià)的: (1)漢語(yǔ)查詢句子;(2)域表達(dá)式:(3)關(guān)系代數(shù)表達(dá)式。 (1)漢語(yǔ)表達(dá)式:選擇r關(guān)系中元組第2分量值不等于s關(guān)系中某元組第1分量值的元組。(2)域表達(dá)式:xy|(u) (v)(r(xy)s(uv)(uy) (3)關(guān)系代數(shù)表達(dá)式:1,2(23(r×s) 2.11 試把域表達(dá)式ab|r(ab)r(ba)轉(zhuǎn)換成等價(jià)的:(1)漢語(yǔ)查詢句子;(2)關(guān)系代數(shù)表達(dá)式;(3)元組表達(dá)式。 (1)漢語(yǔ)查詢句子:選擇r中

35、元組第1分量值與第2分量值互換后仍存在于r中的元組。(2)關(guān)系代數(shù)表達(dá)式:1,2(1=42=3(r×r); (3)元組表達(dá)式:t|(u)(r(t)r(u)t1=u2t2=u1) 試用關(guān)系代數(shù)表達(dá)式表示下列查詢語(yǔ)句。(見下一題)2.14 試用元組表達(dá)式表示上題中各個(gè)查詢語(yǔ)句。(1)檢索liu老師所授課程的課程號(hào)、課程名。c#,cname(teacher='liu'(c) t|(u)(c(u)c3='liu't1=u1t2=u2) (2)檢索年齡大于23歲的男學(xué)生的學(xué)號(hào)與姓名。s#,sname(age'23'sex='男'(

36、s) t|(u)(s(u)u3'23'u4='男't1=u1t2=u2) (3)檢索學(xué)號(hào)為s3學(xué)生所學(xué)課程的課程名與任課教師名。 cname,teacher(s#='s3'(scc) t|(u)(v)(sc(u)c(v)u1='s3'v1=u2t1=v2t2=v3) (4)檢索至少選修liu老師所授課程中一門課程的女學(xué)生的姓名。 sname(sex='女'teacher='liu'(sscc) t|(u)(v)(w)(s(u)sc(v)c(w)u4='女'v1=u1v2=w1w3=&

37、#39;liu't1=u2) (5)檢索wang同學(xué)不學(xué)的課程號(hào)。c#(c)-c#(sname='wang'(ssc) 或者, c#(sc)-c#(sname='wang'(ssc) (全部課程號(hào)減去wang同學(xué)所學(xué)的課程號(hào)) t|(u)(v)(c(u)sc(v)(u1=v2=>(w)(s(w)w1=v1w2'wang')t1=u1) (從c中選擇滿足條件的元組:sc中的所有元組,如果學(xué)號(hào)與c中所選元組相同的話,其在s中對(duì)應(yīng)的姓名肯定不是'wang'。) notice:"p1=>p2"的含義

38、是:如果p1為真,則p2為真。(6)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)。s#(1=425(sc×sc) sc自乘之后,再選擇(同一個(gè)學(xué)號(hào)中兩個(gè)課程號(hào)不同的元組),投影。t|(u)(v)(sc(u)sc(v)u1=v1u2v2)t1=u1 (7)檢索全部學(xué)生都選修的課程的課程號(hào)與課程名。 c#,cname(c(s#,c#(sc)÷s#(s) (涉及到全部值時(shí),應(yīng)用除法,“除數(shù)”是"全部") t|(u)(v)(w)(s(u)sc(v)c(w)u1=v1v2=w1t1=v1t2=v2) (8)檢索選修課程包含liu老師所授課程的學(xué)生學(xué)號(hào)。s#(teacher=&#

39、39;liu'(scc) t|(u)(v)(sc(u)c(v)u2=v1v3='liu't1=u1) 如果liu老師有多門課程,則選修課程包含liu老師所授全部課程的學(xué)生學(xué)號(hào)為:s#,c#(sc)÷c#(teacher='liu'(c) 2.15 在教學(xué)數(shù)據(jù)庫(kù)s、sc、c中,用戶有一查詢語(yǔ)句:檢索女同學(xué)選修課程的課程名和任課教師名。(1)試寫出該查詢的關(guān)系代數(shù)表達(dá)式;(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式。(1)cname,teacher(sex='女'(sscc) (2)優(yōu)化為:cname,teacher(cc#(s#,c#(s

40、c)s#(sex='女'(s) (基本思路:盡量提前做選擇操作;在每個(gè)操作后,應(yīng)做個(gè)投影操作,去掉不用的屬性值。2.16 在2.15題中, (1)畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語(yǔ)法樹。 (2)使用2.4.4節(jié)的優(yōu)化算法,對(duì)語(yǔ)法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語(yǔ)法樹。該查詢初始的關(guān)系代數(shù)表達(dá)式的語(yǔ)法樹優(yōu)化后的語(yǔ)法樹 2.17 為什么要對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化? 在關(guān)系代數(shù)運(yùn)算中,各個(gè)運(yùn)算所費(fèi)時(shí)間和空間是不一樣的。如何安排若干關(guān)系的運(yùn)算操作步驟,直接影響到整個(gè)操作所需要的時(shí)間和空間。對(duì)關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化, 可以提高系統(tǒng)的操作效率,達(dá)到執(zhí)行過(guò)程即省時(shí)間又省空間的目的。3.1 名詞解釋

41、(1)sql模式:sql模式是表和授權(quán)的靜態(tài)定義。一個(gè)sql模式定義為基本表的集合。 一個(gè)由模式名和模式擁有者的用戶名或賬號(hào)來(lái)確定,并包含模式中每一個(gè)元素(基本表、視圖、索引等)的定義。(2)sql數(shù)據(jù)庫(kù):sql(structured query language),即結(jié)構(gòu)式查詢語(yǔ)言,采用英語(yǔ)單詞表示和結(jié)構(gòu)式的語(yǔ)法規(guī)則。一個(gè)sql數(shù)據(jù)庫(kù)是表的匯集,它用一個(gè)或多個(gè)sql模式定義。 (3)基本表:在sql中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(base table)。 基本表是實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表,對(duì)應(yīng)一個(gè)關(guān)系。 (4)存儲(chǔ)文件:在sql中,把傳統(tǒng)的關(guān)系模型中的存儲(chǔ)模式稱為存儲(chǔ)文件(stor

42、ed file)。 每個(gè)存儲(chǔ)文件與外部存儲(chǔ)器上一個(gè)物理文件對(duì)應(yīng)。 (5)視圖:在sql中,把傳統(tǒng)的關(guān)系模型中的子模式稱為視圖(view),視圖是從若干基本表和(或)其他視圖構(gòu)造出來(lái)的表。 (6)行:在sql中,把傳統(tǒng)的關(guān)系模型中的元組稱為行(row)。(7)列:在sql中,把傳統(tǒng)的關(guān)系模型中的屬性稱為列(coloumn)。(8)實(shí)表:基本表被稱為“實(shí)表”,它是實(shí)際存放在數(shù)據(jù)庫(kù)中的表。(9)虛表:視圖被稱為“虛表”,創(chuàng)建一個(gè)視圖時(shí),只把視圖的定義存儲(chǔ)在數(shù)據(jù)詞典中,而不存儲(chǔ)視圖所對(duì)應(yīng)的數(shù)據(jù)。 (10)相關(guān)子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個(gè)值,所以

43、子查詢的處理不只一次,要反復(fù)求值,以供外層查詢使用。(11)聯(lián)接查詢:查詢時(shí)先對(duì)表進(jìn)行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。 (12)交互式sql:在終端交互方式下使用的sql語(yǔ)言稱為交互式sql。 (13)嵌入式sql:嵌入在高級(jí)語(yǔ)言的程序中使用的sql語(yǔ)言稱為嵌入式sql。 (14)共享變量:sql和宿主語(yǔ)言的接口。共享變量有宿主語(yǔ)言程序定義,再用sql的declare語(yǔ)句說(shuō)明, sql語(yǔ)句就可引用這些變量傳遞數(shù)據(jù)庫(kù)信息。(15)游標(biāo):游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號(hào)名,用于把集合操作轉(zhuǎn)換成單記錄處理方式。(16)卷游標(biāo):為了克服游標(biāo)在推進(jìn)時(shí)不能返回

44、的不便,sql2提供了卷游標(biāo)技術(shù)。 卷游標(biāo)在推進(jìn)時(shí)不但能沿查詢結(jié)果中元組順序從頭到尾一行行推進(jìn),也能一行行返回。3.2 對(duì)于教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表 學(xué)生 s(s#,sname,age,sex) 學(xué)習(xí) sc(s#,c#,grade) 課程 c(c#,cname,teacher) 試用sql的查詢語(yǔ)句表達(dá)下列查詢: (1)檢索liu老師所授課程的課程號(hào)和課程名。select c#,cname from c where teacher=liu(2)檢索年齡大于23歲的男學(xué)生的學(xué)號(hào)和姓名。select s#,sname from s where (age>23) and (sex=m) (3)檢

45、索至少選修liu老師所授課程中一門課程的女學(xué)生姓名。select sname from s where sex=f and s# in (select s# from sc where c# in (select c# om c where teacher=liu) notice:有多種寫法,比如聯(lián)接查詢寫法:select sname from s,sc,c where sex=f and sc.s#=s.s# and sc.c#=c.c# and teacher='liu' 但上一種寫法更好一些。(4)檢索wang同學(xué)不學(xué)的課程的課程號(hào)。select c# from c wh

46、ere c# not in (select c# from sc where s# in (select s# from s where sname='wang') fr (5)檢索至少選修兩門課程的學(xué)生學(xué)號(hào)。select distinct x.sno from sc x,sc y where x.sno=y.sno and x.cno<>y.cno notice:對(duì)表sc進(jìn)行自連接,x,y是sc的兩個(gè)別名。(6)檢索全部學(xué)生都選修的課程的課程號(hào)與課程名。select c#,cname from c where not exists (select * from s

47、 where s# not in (select * from sc where sc.c#=c.c#) 要從語(yǔ)義上分解:(1)選擇課程的課程號(hào)與課程名,不存在不選這門課的同學(xué)。 其中,“不選這門課的同學(xué)”可以表示為:select * from s where s# not in (select * from sc where sc.c#=c.c#) 或者 select * from s where not exists (select * from sc where s.s#=c.s# and sc.c#=c.c# ) (7)檢索選修課程包含liu老師所授課的學(xué)生學(xué)號(hào)。 select dis

48、tinct s# from sc where c# in (select c# from c where teacher='liu') 3.3 設(shè)有兩個(gè)基本表r(a,b,c)和s(d,e,f),試用sql查詢語(yǔ)句表達(dá)下列關(guān)系代數(shù)表達(dá)式: (1)a(r)(2)b='17'(r) (3)r×s(4)a,f(c=d(r×s) (1)select a from r (2)select * from r where b='17' (3)select a,b,c,d,e,f from r,s (4)select a,f from r,s

49、where r.c=s.d 3.4 3.4 設(shè)有兩個(gè)基本表r(a,b,c)和s(a,b,c)試用sql查詢語(yǔ)句表達(dá)下列關(guān)系代數(shù)表達(dá)式: (1)rs(2)rs(3)rs(4)a,b(r)b,c(s) (1)select a,b,c from r union select a,b,c from s (2)select a,b,c from r intersect select a,b,c from s (3)select a,b,c from r where not exists (select a,b,c from s where r.a=s.a and r.b=s.b and r.c=s.c)

50、 (4)select r.a,r.b,s.c from r,s whe re r.b=s.b 3.5 試敘述sql語(yǔ)言的關(guān)系代數(shù)特點(diǎn)和元組演算特點(diǎn)。(p61-62)3.6 試用sql查詢語(yǔ)句表達(dá)下列對(duì)教學(xué)數(shù)據(jù)庫(kù)中三個(gè)基本表s、sc、c的查詢: (1)統(tǒng)計(jì)有學(xué)生選修的課程門數(shù)。 select count(distinct c#) from sc (2)求選修c4課程的學(xué)生的平均年齡。select avg(age) from s where s# in (select s# from sc where c#='c4') 或者, select avg(age) from s,sc w

51、here s.s#=sc.s# and c#='004' (3)求liu老師所授課程的每門課程的學(xué)生平均成績(jī)。 select cname,avg(grade) from sc ,c where sc.c#=c.c# and teacher='liu' group by c# (4)統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過(guò)10人的課程才統(tǒng)計(jì))。要求輸出課程號(hào)和選修人數(shù), 查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號(hào)升序排列。select distinct c#,count(s#) from sc group by c# having count(s#)>10 ord

52、er by 2 desc, c# asc (5)檢索學(xué)號(hào)比wang同學(xué)大,而年齡比他小的學(xué)生姓名。select x.sname from s as x, s as y where y.sname='wang' and x.s#>y.s# and x.age(6)檢索姓名以wang打頭的所有學(xué)生的姓名和年齡。select sname,age from s where sname like 'wang%' (7)在sc中檢索成績(jī)?yōu)榭罩档膶W(xué)生學(xué)號(hào)和課程號(hào)。select s#,c# from sc where grade is null (8)求年齡大于女同學(xué)平均

53、年齡的男學(xué)生姓名和年齡。select sname,age from s as x where x.sex='男' and x.age>(select avg(age) from s as y where y.sex='女') (9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。select sname,age from s as x where x.sex='男' and x.age>all (select age from s as y where y.sex='女') 3.7 試用sql更新語(yǔ)句表達(dá)對(duì)教學(xué)數(shù)據(jù)庫(kù)中三個(gè)

54、基本表s、sc、c的各個(gè)更新操作:(1)往基本表s中插入一個(gè)學(xué)生元組(s9,wu,18)。insert into s(s#,sname,age) values('59','wu',18) (2)在基本表s中檢索每一門課程成績(jī)都大于等于80分的學(xué)生學(xué)號(hào)、姓名和性別, 并把檢索到的值送往另一個(gè)已存在的基本表student(s,sanme,sex)。insert into student(s#,sname,sex) select s#,sname,sex from s where not exists (select * from sc where grade75 3

55、.8 在第1章例1.4中提到“倉(cāng)庫(kù)管理”關(guān)系模型有五個(gè)關(guān)系模式: 零件 part(p,pname,color,weight) 項(xiàng)目 project(j,jname,date) 供應(yīng)商 supplier(s,sname,saddr) 供應(yīng) pp(j,p,totoal) 采購(gòu) ps(p,s,quantity)(1)試用sql ddl語(yǔ)句定義上述五個(gè)基本表,并說(shuō)明主鍵和外鍵。create table part (p# char(4) not null,pname char(12) not null, color char(10),weight real, primary key(p#) create

56、 table project (j# char(4) not null,jname char(12) not null, date date, primary key(j#) create table suplier (s# char(4) not null,sname char(12),saddr varchar(20), primary key(s#) create table p_p (j# char(4),p# char(4),total integer, primary key(j#,p#), foreign key(j#) reference project(j#), foreig

57、n key(p#) reference part(p#) create table p_s (p# char(4),s# char(4),quantity integer, primary key(p#,s#), foreign key(p#) reference part(p#), foreign key(s#) reference suplier(s#) (2)試將progect、pp、part三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖view1,part、ps、supplier 三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖view2。 create view view1(j#,jname,date,p#,pname,color,weight,total) as select project.j#,jname,date,part.p#,pname,color,weight,total from project,part,p_p where part.p#=p_p.p# and p_p.j#=project.j#create view view2(p#,pname,color,weight,s#,sname,saddr,quantity) as select part.p#,pname,color,weight,supplier.s#,sname,saddr,qua nti

溫馨提示

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

評(píng)論

0/150

提交評(píng)論