久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數(shù)據(jù)庫考試期末總結(jié)

時間:2019-05-12 14:05:19下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫考試期末總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)據(jù)庫考試期末總結(jié)》。

第一篇:數(shù)據(jù)庫考試期末總結(jié)

第1章 數(shù)據(jù)庫系統(tǒng)概述

1、基本概念

? 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng) ? 數(shù)據(jù)庫系統(tǒng)的特點和功能 ? 數(shù)據(jù)抽象

– 三種數(shù)據(jù)抽象能力 – 三種數(shù)據(jù)庫模式 – 兩種數(shù)據(jù)獨立性

? 數(shù)據(jù)庫系統(tǒng)的用戶 ? 數(shù)據(jù)模型、數(shù)據(jù)庫語言 ? 數(shù)據(jù)庫管理系統(tǒng)的結(jié)構(gòu)

2、重點

? 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng) ? 兩種數(shù)據(jù)獨立性

第2章 關(guān)系數(shù)據(jù)庫系統(tǒng)

1、知識點

? 關(guān)系數(shù)據(jù)模型

– 數(shù)據(jù)結(jié)構(gòu) – 完整性約束 – 操作

? 關(guān)系運算的安全性

? 關(guān)系代數(shù)、元組關(guān)系演算、域關(guān)系演算的等價性 ? SQL – 交互式 – 嵌入式

2、基本概念

? 關(guān)系、屬性、元組、關(guān)系模式、關(guān)系實例 ? 關(guān)系的性質(zhì)

? 候選鍵、主鍵、鍵屬性、非鍵屬性、外部鍵 ? 實體完整性約束、關(guān)聯(lián)完整性約束 ? 關(guān)系代數(shù)操作的定義

? 關(guān)系代數(shù)的基本操作和附加操作 ? 專門的關(guān)系運算 ? SQL語言的子語言

? 每個SQL語句的功能及語法格式

3、重點

? 關(guān)系數(shù)據(jù)模型 ? 關(guān)系代數(shù) ? SQL語句

第3章 數(shù)據(jù)庫的安全性與完整性

1、知識點 ? 安全性

– 定義

– 需要解決的問題 – 解決的方法

? 完整性

– 定義 – 類型

– 定義和驗證方法

2、基本概念 ? 安全性的定義 ? 完整性的定義 ? 完整性的類型

第4章 數(shù)據(jù)庫設(shè)計概述與需求分析

1、基本概念 ? DB設(shè)計的任務(wù) ? DB的生命周期 ? DB的設(shè)計過程 ? DB的需求分析的任務(wù)、目標(biāo)、步驟

第5章 概念數(shù)據(jù)庫設(shè)計

1、知識點

? 實體聯(lián)系模型(ER模型)? 實體、實體型

? 實體的屬性、實體的屬性值、復(fù)合屬性、單值屬性、多值屬性、導(dǎo)出屬性、空值

? 鍵、簡單鍵、復(fù)合鍵 ? 實體間的聯(lián)系

? 實體對應(yīng)約束(1:

1、1:n、m:n)、實體關(guān)聯(lián)約束(全域關(guān)聯(lián)約束、部分關(guān)聯(lián)約束)

? 弱實體型、弱實體、識別實體型、識別聯(lián)系 ? 弱實體型的部分鍵 ? ER圖

2、基本概念

? 復(fù)合屬性、多值屬性、導(dǎo)出屬性 ? 1:

1、1:n、m:n聯(lián)系 ? 概念數(shù)據(jù)庫設(shè)計的任務(wù) ? 概念數(shù)據(jù)庫設(shè)計的目標(biāo) ? 概念數(shù)據(jù)庫設(shè)計的步驟

? 概念數(shù)據(jù)庫設(shè)計的方法、視圖綜合設(shè)計方法 ? 概念數(shù)據(jù)庫設(shè)計的策略

3、重點 ? ER圖

第6章 邏輯數(shù)據(jù)庫設(shè)計

1、知識點

? 形成初始關(guān)系模式

– 普通實體、弱實體、多值屬性、各種聯(lián)系

? 函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴 ? 給定關(guān)系實例,求函數(shù)依賴集 ? Armstrong公理系統(tǒng)、三條推理規(guī)則 ? 求屬性閉包、求候選鍵

? 兩個函數(shù)依賴集等價的判定、求最小函數(shù)依賴集 ? 關(guān)系模式的規(guī)范形式

– 1NF、2NF、3NF、BCNF ? 關(guān)系模式的規(guī)范化方法

– 無損連接性、函數(shù)依賴保持性、判別方法 – 關(guān)系模式的分解算法

2、基本概念

? 邏輯數(shù)據(jù)庫設(shè)計的任務(wù) ? 邏輯數(shù)據(jù)庫設(shè)計的目標(biāo) ? 邏輯數(shù)據(jù)庫設(shè)計的步驟 ? 初始關(guān)系模式可能存在的問題

? 函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴 ? Armstrong公理系統(tǒng)、三條推理規(guī)則 ? 1NF、2NF、3NF、BCNF ?

3、重點

? 形成初始關(guān)系模式,并指出每個關(guān)系模式的主鍵和外鍵 ? 給定關(guān)系實例,求函數(shù)依賴集 ? 求屬性閉包、求候選鍵 ? 判斷兩個函數(shù)依賴集等價

? 求與給定函數(shù)依賴集等價的最小函數(shù)依賴集 ? 判斷一個關(guān)系模式最高屬于幾范式 ? 判斷給定的分解是否具有無損連接性 ? 關(guān)系模式的3NF、BCNF分解算法

第7章 物理數(shù)據(jù)庫設(shè)計

1、知識點 ? 物理數(shù)據(jù)庫設(shè)計的任務(wù) ? 物理數(shù)據(jù)庫設(shè)計的步驟

第8章 物理存儲結(jié)構(gòu)

1、知識點

? 物理存儲設(shè)備

– 磁盤的存儲特性和訪問特性

? 磁盤冗余技術(shù) ? 文件和文件記錄

? 各種文件結(jié)構(gòu)的存儲空間和查詢時間的計算 ? 各種索引的存儲空間和查詢時間的計算

2、基本概念 ? 記錄

? 定長記錄文件、邊長記錄文件 ? 跨塊記錄、非跨塊記錄 ? 無序文件、有序文件 ? 索引域、索引文件、索引記錄 ? 稀疏索引、稠密索引 ? 主索引、輔助索引、聚集索引 ? B樹、B+樹

3、重點

? 各種文件和索引占用的空間計算 ? 利用各種文件和索引的查詢時間的計算

第9章 數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)字典

1、重點

? 數(shù)據(jù)字典的概念 ? 數(shù)據(jù)字典中存儲的信息

? 把數(shù)據(jù)字典作為普通關(guān)系處理具有兩個優(yōu)點

第10章 關(guān)系代數(shù)操作的實現(xiàn)算法

1、重點

? 查詢處理的過程

? 各個關(guān)系代數(shù)操作的算法及代價分析

第11章 查詢優(yōu)化技術(shù)

1、知識點

? 關(guān)系代數(shù)的等價變換規(guī)律 ? 啟發(fā)式代數(shù)優(yōu)化規(guī)則 ? 初始關(guān)系代數(shù)表達(dá)式

? 關(guān)系代數(shù)表達(dá)式到查詢樹的轉(zhuǎn)換 ? 啟發(fā)式關(guān)系代數(shù)優(yōu)化算法 ? 基于復(fù)雜性估計的查詢優(yōu)化算法 ? 語義查詢優(yōu)化方法

2、重點

? 關(guān)系代數(shù)的等價變換規(guī)律 ? 啟發(fā)式代數(shù)優(yōu)化規(guī)則 ? 初始關(guān)系代數(shù)表達(dá)式

? 關(guān)系代數(shù)表達(dá)式到查詢樹的轉(zhuǎn)換 ? 啟發(fā)式關(guān)系代數(shù)優(yōu)化算法

第12章 并發(fā)控制技術(shù)

1、知識點 ? 事務(wù)

? 不對并發(fā)事務(wù)進(jìn)行控制導(dǎo)致的問題 ? 事務(wù)的性質(zhì)

? 事務(wù)的調(diào)度、串行調(diào)度、并行調(diào)度 ? 可串行的調(diào)度 ? 沖突 ? 沖突等價 ? 沖突可串行

? 沖突可串行的測試方法 ? 兩段鎖協(xié)議

2、基本概念

? 事務(wù)處理包括哪兩方面的內(nèi)容 ? 不對并發(fā)事務(wù)進(jìn)行控制導(dǎo)致的問題

? 事務(wù)、事務(wù)的狀態(tài)、事務(wù)的性質(zhì)、事務(wù)的原子性 ? 調(diào)度、串行調(diào)度、并行調(diào)度、可串行調(diào)度 ? 沖突、沖突等價、沖突可串行

3、重點 ? 基本概念

? 沖突可串行的測試方法

? 兩段鎖協(xié)議

第13章 數(shù)據(jù)庫恢復(fù)技術(shù)

1、知識點 ? 日志 ? 日志的內(nèi)容 ? 日志的產(chǎn)生過程

? 使用日志進(jìn)行系統(tǒng)恢復(fù)的方法

2、重點

? 使用推遲更新技術(shù)(REDO日志技術(shù))和即時更新技術(shù)(UNDO/REDO日志)進(jìn)行系統(tǒng)恢復(fù)的方法,包括恢復(fù)時所做的操作以及恢復(fù)后數(shù)據(jù)庫中數(shù)據(jù)項的值。

第二篇:數(shù)據(jù)庫期末復(fù)習(xí)總結(jié)

數(shù)據(jù)庫原理綜合習(xí)題答案

1.1 名詞解釋

(1)DB:即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨立性。

(2)DBMS:即數(shù)據(jù)庫管理系統(tǒng)(Database Management System),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS。

(3)DBS:即數(shù)據(jù)庫系統(tǒng)(Database System),是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。

(4)1:1聯(lián)系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,那么實體集E1對E2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。

(5)1:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是“一對多聯(lián)系”,記為“1:N”。

(6)M:N聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是“多對多聯(lián)系”,記為“M:N”。

(7)數(shù)據(jù)模型:模型是對現(xiàn)實世界的抽象。在數(shù)據(jù)庫技術(shù)中,表示實體類型及實體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。

(6)概念數(shù)據(jù)模型:是獨門于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。

(9)結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實世界的第二層抽象。這類模型涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng),所以稱為“結(jié)構(gòu)數(shù)據(jù)模型”。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關(guān)系三種模型。

(10)層次模型:用樹型結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。

(11)網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。

(12)關(guān)系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結(jié)構(gòu)表達(dá)實體集,用外鍵表示實體間聯(lián)系。關(guān)系模型是由若干個關(guān)系模式組成的集合。

(13)概念模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。

(14)外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部

分?jǐn)?shù)據(jù)的描述。

(15)內(nèi)模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有的內(nèi)部記錄類型、索引和文件的組成方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。

(16)模式/內(nèi)模式映象:這個映象存在于概念級和內(nèi)部級之間,用于定義概念模式和內(nèi)模式間的對應(yīng)性,即概念記錄和內(nèi)部記錄間的對應(yīng)性。此映象一般在內(nèi)模式中描述。

(17)外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應(yīng)性,即外部記錄和內(nèi)部記錄間的對應(yīng)性。此映象都是在外模式中描述。

(18)數(shù)據(jù)獨立性:在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨立,不受影響。數(shù)據(jù)獨立性分成物理數(shù)據(jù)獨立性和邏輯數(shù)據(jù)獨立性兩級。

(19)物理數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的內(nèi)模式要進(jìn)行修改,即數(shù)據(jù)庫的存儲設(shè)備和存儲方法有所變化,那么模式/內(nèi)模式映象也要進(jìn)行相應(yīng)的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。

(20)邏輯數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的概念模式要進(jìn)行修改(如增加記錄類型或增加數(shù)據(jù)項),那么外模式/模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應(yīng)用程序。

(21)宿主語言:在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是一些高級程序設(shè)計語言,這些語言稱為宿主語言(host language),簡稱主語言。

(22)DDL:數(shù)據(jù)定義語言(Data Definition Language),用于定義數(shù)據(jù)庫的三級結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。

(23)DML:數(shù)據(jù)操縱語言(Data Manipulation Language),由DBMS提供,用于讓用戶或程序員使用,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。DML分成交互型DML和嵌入型DML兩類。依據(jù)語言的級別,DML又可分成過程性DML和非過程性DML兩種。

(24)交互型DML:如果DML自成系統(tǒng),可在終端上直接對數(shù)據(jù)庫進(jìn)行操作,這種DML稱為交互型DML。

(25)嵌入型DML:如果DML嵌入在主語言中使用,此時主語言是經(jīng)過擴充能處理DML語句的語言,這種DML稱為嵌入型DML。

(26)過程性DML:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的DML屬于過程性語言。

(27)非過程性DML:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。

Notice:以上關(guān)于DML的各個概念單獨出現(xiàn)時,首先要解釋DML的含義。

(28)DD:數(shù)據(jù)字典(Data Dictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問DD才能實現(xiàn)。

(29)DD系統(tǒng):管理DD的實用程序稱為“DD系統(tǒng)”。

1.2 文件系統(tǒng)階段的數(shù)據(jù)管理有些什么缺陷?試舉例說明。

文件系統(tǒng)有三個缺陷:

(1)數(shù)據(jù)冗余性(redundancy)。由于文件之間缺乏聯(lián)系,造成每個應(yīng)用程序都有對應(yīng)的文件,有可能同樣的數(shù)據(jù)在多個文件中重復(fù)存儲。

(2)數(shù)據(jù)不一致性(inconsistency)。這往往是由數(shù)據(jù)冗余造成的,在進(jìn)行更新操作時,稍不謹(jǐn)慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。

(3)數(shù)據(jù)聯(lián)系弱(poor data relationship)。這是由文件之間相互獨立,缺乏聯(lián)系造成的。

1.3 數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點?

(1)采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)

(2)有較高的數(shù)據(jù)獨立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級)

(3)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù),也可以用程序方式操作數(shù)據(jù)庫。

(4)系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性,以保證數(shù)據(jù)庫中數(shù)據(jù)是安全的、正確的和可靠的。

(5)對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項為單位,增加了系統(tǒng)的靈活性。

1.4 你怎樣理解實體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。

實體(entity):是指客觀存在可以相互區(qū)別的事物。實體可以是具體的對象,如:一個學(xué)生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。

屬性(attribute):實體有很多特性,每一個特性稱為屬性。每個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型。比如,學(xué)生(實體)有學(xué)號、姓名、年齡、性別等屬性,相應(yīng)值域為字符、字符串、整數(shù)和字符串型。

字段(field):標(biāo)記實體屬性的命名單位稱為字段或數(shù)據(jù)項。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項。字段的命名往往和屬性名相同,比如,學(xué)生有學(xué)號、姓名、年齡、性別等字段。

記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實體,所以記錄又可以定義為能完整地描述一個實體的字段集。如:一個學(xué)生記錄,由有序的字段集(學(xué)號、姓名、年齡、性別等)組成。

1.5 邏輯記錄與物理記錄,邏輯文件與物理文件有些什么聯(lián)系和區(qū)別?

聯(lián)系:

(1)邏輯記錄與物理記錄都是記錄,是字段的有序集合;

(2)邏輯文件與物理文件都是文件,是同一類記錄的匯集。

區(qū)別:

(1)邏輯記錄與邏輯文件是邏輯數(shù)據(jù)描述,物理記錄與物理文件是物理數(shù)據(jù)描述。

(2)物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設(shè)備上的存儲方式,物理記錄、物理文件(還有物理聯(lián)系、物理結(jié)構(gòu)等術(shù)語),都是用來描述實際存儲設(shè)備上的數(shù)據(jù)。

(3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結(jié)構(gòu)等術(shù)語),都是用戶觀點的數(shù)據(jù)描述。

1.6 為某百貨公司設(shè)計一個ER模型。

百 貨管轄若干個連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務(wù)于一家商店。實體類型“商店”的屬性有:商店編號,店名,店址,店經(jīng)理。實體類型“商品”的屬性有:商品編號,商品名,單價,產(chǎn)地。實體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。

試畫出反映商店、商品、職工實體類型及聯(lián)系類型的ER圖,并將其轉(zhuǎn)換成關(guān)系模式集。

實體:商店(商店編號,店名,店址,店經(jīng)理)

商品(商品編號,商品名,單價,產(chǎn)地)

職工(職工編號,職工名,性別,工資)

聯(lián)系:SC(商店—商品之間1:N的聯(lián)系,聯(lián)系屬性為“職工參加商店工作的開始時間”。

SE(商店—職工之間1:N的聯(lián)系),聯(lián)系屬性為“月銷售量”。

關(guān)系模式集:商店模式(商店編號,店名,店址,店經(jīng)理)

商品模式(商品編號,商品名,單價,產(chǎn)地,商店編號,月銷售量)

職工模式(職工編號,職工名,性別,工資,商店編號,開始時間)

1.7 試述ER模型、層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P偷闹饕攸c。

ER模型的主要特點:

(1)優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受。

(2)缺點:只能說明實體間語義的聯(lián)系,不能進(jìn)一步說明詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。

層次模型的特點:

(1)優(yōu)點:記錄之間的聯(lián)系通過指針實現(xiàn),查詢效率較高。

(2)缺點:只能表示1:N聯(lián)系,實現(xiàn)M:N結(jié)構(gòu)較復(fù)雜;由于層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和更新操作也很復(fù)雜。

網(wǎng)狀模型的特點:

(1)優(yōu)點:記錄之間聯(lián)系通過指針實現(xiàn),M:N聯(lián)系也容易實現(xiàn)(每個M:N聯(lián)系可拆成兩個1:N聯(lián)系),查詢效率較高。

(2)缺點:編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。

關(guān)系模型的特點:

用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡單,用戶易懂,編程時并不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細(xì)節(jié)。

1.8 試述概念模式在數(shù)據(jù)庫結(jié)構(gòu)中的重要地位。

概念模式是數(shù)據(jù)庫中

全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯(lián)系、操作、數(shù)據(jù)的完整性、安全性等要求。數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲在磁盤中,而概念模式提供了連接這兩級的相對穩(wěn)定的中間觀點,并使得兩級的任何一級的改變都不受另一級的牽制。

1.9 數(shù)據(jù)獨立性與數(shù)據(jù)聯(lián)系這兩個概念有什么區(qū)別?

數(shù)據(jù)獨立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨立,不受影響。

數(shù)據(jù)聯(lián)系是指同一記錄內(nèi)部各字段間的聯(lián)系,以及記錄之間的聯(lián)系。

1.10 試述DBMS在用戶訪問數(shù)據(jù)庫過程中所起的作用.用戶對數(shù)據(jù)庫進(jìn)行操作,DBMS把操作從應(yīng)用程序帶到外部級、概念級、再導(dǎo)向內(nèi)部級,進(jìn)而操作存儲器中的數(shù)據(jù)。

(結(jié)合P22“用戶訪問數(shù)據(jù)的過程”來理解)

1.11 試述DBMS的主要功能。

DBMS的主要功能有:

(1)數(shù)據(jù)庫的定義功能

(2)數(shù)據(jù)庫的操縱功能

(3)數(shù)據(jù)庫的保護(hù)功能

(4)數(shù)據(jù)庫的存儲管理

(5)數(shù)據(jù)庫的維護(hù)功能

(6)數(shù)據(jù)字典

1.12 試敘DBMS對數(shù)據(jù)庫的保護(hù)功能。

DBMS對數(shù)據(jù)庫的保護(hù)主要通過四個方面實現(xiàn):

(1)數(shù)據(jù)庫的恢復(fù)。

(2)數(shù)據(jù)庫的并發(fā)控制。

(3)數(shù)據(jù)庫的完整性控制。

(4)數(shù)據(jù)庫的安全性控制。

1.13 試敘DBMS對數(shù)據(jù)庫的維護(hù)功能。

DBMS中有一些程序提供給數(shù)據(jù)庫管理員運行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護(hù)的功能。

主要有四個實用程序:

(1)數(shù)據(jù)裝載程序(loading)

(2)備份程序(backup)

(3)文件重組織程序

(4)性能監(jiān)控程序

1.14 從模塊結(jié)構(gòu)看,DBMS由哪些部分組成?

從模塊結(jié)構(gòu)看,DBMS由兩大部分組成:查詢處理器和存儲管理器

(1)查詢處理器有四個主要成分:DDL編譯器,DML編譯器,嵌入型DML的預(yù)編譯器,查詢運行核心程序

(2)存儲管理器有四個主要成分:授權(quán)和完整性管理器,事務(wù)管理器,文件管理器,緩沖區(qū)管理器

(以上幾題具體可參照書上p20-21)

1.15 DBS由哪幾個部分組成?

DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。

1.16 什么樣的人是DBA?DBA應(yīng)具有什么素質(zhì)?DBA的職責(zé)是什么?

DBA是控制數(shù)據(jù)整體結(jié)構(gòu)的人,負(fù)責(zé)DBS的正常運行。DBA可以是一個人,在大型系統(tǒng)中也可以是由幾個人組成的小組。DBA承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)整個數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任。

DBA應(yīng)具有下列素質(zhì):

(1)熟悉企

業(yè)全部數(shù)據(jù)的性質(zhì)和用途;

(2)對用戶的需求有充分的了解;

(3)對系統(tǒng)的性能非常熟悉。

DBA的主要職責(zé)有五點:

(1)概念模式定義

(2)內(nèi)模式定義

(3)根據(jù)要求修改數(shù)據(jù)庫的概念模式和內(nèi)模式

(4)對數(shù)據(jù)庫訪問的授權(quán)

(5)完整性約束的說明

1.17 試對DBS的全局結(jié)構(gòu)作詳細(xì)解釋。

參照教材p24-25。

1.18 使用DBS的用戶有哪幾類? 使用DBS的用戶有四類:

1)DBA

2)專業(yè)用戶

3)應(yīng)用程序員

4)最終用戶

1.19 DBMS的查詢處理器有哪些功能?

DBMS的查詢處理器可分成四個成分:

1)DML編譯器

2)嵌入型DML的預(yù)編譯器

3)DDL編譯器

4)查詢運行核心程序

(各成分功能參照P24)

1.20 DBMS的存儲處理器有哪些功能?

DBMS的存儲處理器提供了應(yīng)用程序訪問數(shù)據(jù)庫中數(shù)據(jù)的界面,可分成四個成分:

1)授權(quán)和完整性管理器

2)事務(wù)管理器

3)文件管理器

4)緩沖區(qū)管理器

(各成分功能參照P25)

1.21 磁盤存儲器中有哪四類主要的數(shù)據(jù)結(jié)構(gòu)?

數(shù)據(jù)文件:存儲了數(shù)據(jù)庫中的數(shù)據(jù);

數(shù)據(jù)字典(DD):存儲三級結(jié)構(gòu)的描述;

索引文件:為提高查詢速度而設(shè)置的邏輯排序手段;

統(tǒng)計數(shù)據(jù)組織:存儲DBS運行時統(tǒng)計分析數(shù)據(jù)。

(1)關(guān)系模型:用二維表格結(jié)構(gòu)表示實體集,外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

(2)關(guān)系模式:關(guān)系模式實際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。

(3)關(guān)系實例:元組的集合稱為關(guān)系和實例,一個關(guān)系即一張二維表格。

(4)屬性:實體的一個特征。在關(guān)系模型中,字段稱為屬性。

(5)域:在關(guān)系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。

(6)元組:在關(guān)系中,記錄稱為元組。元組對應(yīng)表中的一行;表示一個實體。

(7)超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。

(8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。

(9)主鍵:用戶選作元組標(biāo)識的一個候選鍵為主鍵。(單獨出現(xiàn),要先解釋“候選鍵”)

(10)外鍵:某個關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時該主鍵在就是另一關(guān)系的外鍵,如有兩個關(guān)系S和SC,其中S#是關(guān)系S的主鍵,相應(yīng)的屬性S#在關(guān)系SC中也出現(xiàn),此時S#就是關(guān)系SC的外鍵。

(11)實體完整性規(guī)則:這條

規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標(biāo)識元組的作用。

(12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實體”。其形式定義如下:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么R2的關(guān)系中,K的取值只允許有兩種可能,或者為空值,或者等于R1關(guān)系中某個主鍵值。這條規(guī)則在使用時有三點應(yīng)注意: 1)外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可。2)R1和R2也可以是同一個關(guān)系模式,表示了屬性之間的聯(lián)系。3)外鍵值是否允許空應(yīng)視具體問題而定。

(13)過程性語言:在編程時必須給出獲得結(jié)果的操作步驟,即“干什么”和“怎么干”。如Pascal和C語言等。

(14)非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。各種關(guān)系查詢語言均屬于非過程性語言。

(15)無限關(guān)系:當(dāng)一個關(guān)系中存在無窮多個元組時,此關(guān)系為無限關(guān)系。如元組表達(dá)式{t|┐R(t)}表示所有不在關(guān)系R中的元組的集合,這是一個無限關(guān)系。

(16)無窮驗證:在驗證公式時需對無窮多個元組進(jìn)行驗證就是無窮驗證。如驗證公式(u)(P(u))的真假時需對所有的元組u進(jìn)行驗證,這是一個無窮驗證的問題。

2.2 為什么關(guān)系中的元組沒有先后順序?

因為關(guān)系是一個元組的集合,而元組在集合中的順序無關(guān)緊要。因此不考慮元組間的順序,即沒有行序。

2.3 為什么關(guān)系中不允許有重復(fù)元組?

因為關(guān)系是一個元組的集合,而集合中的元素不允許重復(fù)出現(xiàn),因此在關(guān)系模型中對關(guān)系作了限制,關(guān)系中的元組不能重復(fù),可以用鍵來標(biāo)識唯一的元組。

2.4 關(guān)系與普通的表格、文件有什么區(qū)別?

關(guān)系是一種規(guī)范化了的二維表格,在關(guān)系模型中,對關(guān)系作了下列規(guī)范性限制:

1)關(guān)系中每一個屬性值都是不可分解的。

2)關(guān)系中不允許出現(xiàn)相同的元組(沒有重復(fù)元組)。

3)由于關(guān)系是一個集合,因此不考慮元組間的順序,即沒有行序。

4)元組中,屬性在理論上也是無序的,但在使用時按習(xí)慣考慮列的順序。

2.5 笛卡爾積、等值聯(lián)接、自然聯(lián)接三者之間有什么區(qū)別?

笛卡爾積對兩個關(guān)系R和S進(jìn)行乘操作,產(chǎn)生的關(guān)系中元組個數(shù)為兩個關(guān)系中元組個數(shù)之積。

等值聯(lián)接則是在笛卡爾積的結(jié)果上再進(jìn)行選擇操作,從關(guān)系R和S的笛卡兒積中選擇對應(yīng)屬性值相等的元組;

自然連接則是在等值聯(lián)接(以所有公共屬性值相等為條件)的基礎(chǔ)上再行投影操作,并去掉重復(fù)的公共屬性列。當(dāng)兩個關(guān)系沒有公共屬性時,自然連接就轉(zhuǎn)化我笛卡爾積。

2.8 如果R是二元關(guān)

系,那么下列元組表達(dá)式的結(jié)果是什么? {t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}

這個表達(dá)式的意思是:從關(guān)系R中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。由于R是二元關(guān)系,只有兩個分量,由于沒有重復(fù)元組,上述條件顯然滿足。所以,這個表達(dá)式結(jié)果就是關(guān)系R。

2.9 假設(shè)R和S分別是三元和二元關(guān)系,試把表達(dá)式π1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成等價的:(1)漢語查詢句子;(2)元組表達(dá)式;(3)域表達(dá)式。

(1)漢語表達(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)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表達(dá)式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}

2.10 假設(shè)R和S都是二元關(guān)系,試把元組表達(dá)式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}轉(zhuǎn)換成等價的:(1)漢語查詢句子;(2)域表達(dá)式:(3)關(guān)系代數(shù)表達(dá)式。

(1)漢語表達(dá)式:選擇R關(guān)系中元組第2分量值不等于S關(guān)系中某元組第1分量值的元組。

(2)域表達(dá)式:{xy|(u)(v)(R(xy)∧S(uv)∧(u≠y))}(3)關(guān)系代數(shù)表達(dá)式:π1,2(σ2≠3(R×S))

2.11 試把域表達(dá)式{ab|R(ab)∧R(ba)}轉(zhuǎn)換成等價的:

(1)漢語查詢句子;(2)關(guān)系代數(shù)表達(dá)式;(3)元組表達(dá)式。

(1)漢語查詢句子:選擇R中元組第1分量值與第2分量值互換后仍存在于R中的元組。

(2)關(guān)系代數(shù)表達(dá)式:π1,2(σ1=4∧2=3(R×R));

(3)元組表達(dá)式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])}

試用關(guān)系代數(shù)表達(dá)式表示下列查詢語句。(見下一題)

2.14 試用元組表達(dá)式表示上題中各個查詢語句。

(1)檢索LIU老師所授課程的課程號、課程名。

πC#,CNAME(σTEACHER='LIU'(C))

{t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}

(2)檢索年齡大于23歲的男學(xué)生的學(xué)號與姓名。

πS#,SNAME(σAGE>'23'∧SEX='男'(S))

{t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}

(3)檢索學(xué)號為S3學(xué)生所學(xué)課程的課程名與任課教師名。πCNAME,TEACHER(σS#='S3'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}

(4)檢索至少選修LIU老

師所授課程中一門課程的女學(xué)生的姓名。

πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))

{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}

(5)檢索WANG同學(xué)不學(xué)的課程號。

πC#(C)-πC#(σSNAME='WANG'(SSC))

或者,πC#(SC)-πC#(σSNAME='WANG'(SSC))(全部課程號減去WANG同學(xué)所學(xué)的課程號){t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wang'))∧t[1]=u[1])}

(從C中選擇滿足條件的元組:SC中的所有元組,如果學(xué)號與C中所選元組相同的話,其在S中對應(yīng)的姓名肯定不是'wang'。)

Notice:“p1=>p2”的含義是:如果p1為真,則p2為真。

(6)檢索至少選修兩門課程的學(xué)生學(xué)號。

πS#(σ1=4∧2≠5(SC×SC))

SC自乘之后,再選擇(同一個學(xué)號中兩個課程號不同的元組),投影。

{t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}

(7)檢索全部學(xué)生都選修的課程的課程號與課程名。

πC#,CNAME(C(πS#,C#(SC)÷πS#(S)))(涉及到全部值時,應(yīng)用除法,“除數(shù)”是“全部”){t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}

(8)檢索選修課程包含LIU老師所授課程的學(xué)生學(xué)號。

πS#(σTEACHER='LIU'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}

如果LIU老師有多門課程,則選修課程包含LIU老師所授全部課程的學(xué)生學(xué)號為:

πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))

2.15 在教學(xué)數(shù)據(jù)庫S、SC、C中,用戶有一查詢語句:檢索女同學(xué)選修課程的課程名和任課教師名。(1)試寫出該查詢的關(guān)系代數(shù)表達(dá)式;(2)試寫出查詢優(yōu)化的關(guān)系代數(shù)表達(dá)式。

(1)πCNAME,TEACHER(σSEX='女'(SSCC))

(2)優(yōu)化為:πCNAME,TEACHER(CπC#(πS#,C#(SC)πS#(σSEX='女'(S))))

(基本思路:盡量提前做選擇操作;在每個操作后,應(yīng)做個投影操作,去掉不用的屬性值。

2.16 在2.15題中,(1)畫出該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹。

(2)使用2.4.4節(jié)的優(yōu)化算法,對語法樹進(jìn)行優(yōu)化,并畫出優(yōu)化后的語法樹。

該查詢初始的關(guān)系代數(shù)表達(dá)式的語法樹

優(yōu)化后的語法樹

2.17 為什么要對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化?

在關(guān)系代數(shù)運算中,各個運算所費時間和空間是不一樣的。如何安排若干關(guān)系的運算操作步驟,直接影響到整個操作所需要的時間和空間。對關(guān)系代數(shù)表達(dá)式進(jìn)行優(yōu)化,可以提高系統(tǒng)的操作效率,達(dá)到執(zhí)行過程即省時間又省空間的目的。

3.1 名詞解釋

(1)SQL模式:SQL模式是表和授權(quán)的靜態(tài)定義。一個SQL模式定義為基本表的集合。一個由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。

(2)SQL數(shù)據(jù)庫:SQL(Structured Query Language),即‘結(jié)構(gòu)

式查詢語言’,采用英語單詞表示和結(jié)構(gòu)式的語法規(guī)則。一個SQL數(shù)據(jù)庫是表的匯集,它用一個或多個SQL模式定義。

(3)基本表:在SQL中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(Base Table)。基本表是實際存儲在數(shù)據(jù)庫中的表,對應(yīng)一個關(guān)系。

(4)存儲文件:在SQL中,把傳統(tǒng)的關(guān)系模型中的存儲模式稱為存儲文件(Stored File)。每個存儲文件與外部存儲器上一個物理文件對應(yīng)。

(5)視圖:在SQL中,把傳統(tǒng)的關(guān)系模型中的子模式稱為視圖(View),視圖是從若干基本表和(或)其他視圖構(gòu)造出來的表。

(6)行:在SQL中,把傳統(tǒng)的關(guān)系模型中的元組稱為行(row)。

(7)列:在SQL中,把傳統(tǒng)的關(guān)系模型中的屬性稱為列(coloumn)。

(8)實表:基本表被稱為“實表”,它是實際存放在數(shù)據(jù)庫中的表。

(9)虛表:視圖被稱為“虛表”,創(chuàng)建一個視圖時,只把視圖的定義存儲在數(shù)據(jù)詞典中,而不存儲視圖所對應(yīng)的數(shù)據(jù)。

(10)相關(guān)子查詢:在嵌套查詢中出現(xiàn)的符合以下特征的子查詢:子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復(fù)求值,以供外層查詢使用。

(11)聯(lián)接查詢:查詢時先對表進(jìn)行笛卡爾積操作,然后再做等值聯(lián)接、選擇、投影等操作。聯(lián)接查詢的效率比嵌套查詢低。

(12)交互式SQL:在終端交互方式下使用的SQL語言稱為交互式SQL。

(13)嵌入式SQL:嵌入在高級語言的程序中使用的SQL語言稱為嵌入式SQL。

(14)共享變量:SQL和宿主語言的接口。共享變量有宿主語言程序定義,再用SQL的DECLARE語句說明,SQL語句就可引用這些變量傳遞數(shù)據(jù)庫信息。

(15)游標(biāo):游標(biāo)是與某一查詢結(jié)果相聯(lián)系的符號名,用于把集合操作轉(zhuǎn)換成單記錄處理方式。

(16)卷游標(biāo):為了克服游標(biāo)在推進(jìn)時不能返回的不便,SQL2提供了卷游標(biāo)技術(shù)。卷游標(biāo)在推進(jìn)時不但能沿查詢結(jié)果中元組順序從頭到尾一行行推進(jìn),也能一行行返回。

3.2 對于教學(xué)數(shù)據(jù)庫的三個基本表

學(xué)生 S(S#,SNAME,AGE,SEX)

學(xué)習(xí)SC(S#,C#,GRADE)

課程 C(C#,CNAME,TEACHER)

試用SQL的查詢語句表達(dá)下列查詢:

(1)檢索LIU老師所授課程的課程號和課程名。

SELECT C#,CNAME

FROM C

WHERE TEACHER=‘LIU’

(2)檢索年齡大于23歲的男學(xué)生的學(xué)號和姓名。

SELECT S#,SNAME

FROM S

WHERE(AGE>23)AND(SEX=‘M’)

(3)檢索至少選修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é)的課程的課程號。

SELECT C#

FROM C

WHERE C# NOT IN

(SELECT C#

FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG'))

FR

(5)檢索至少選修兩門課程的學(xué)生學(xué)號。

SELECT DISTINCT X.SNO

FROM SC X,SC Y

WHERE X.SNO=Y.SNO AND X.CNO<>Y.CNO Notice:對表SC進(jìn)行自連接,X,Y是SC的兩個別名。

(6)檢索全部學(xué)生都選修的課程的課程號與課程名。

SELECT C#,CNAME

FROM C

WHERE NOT EXISTS

(SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#))

要從語義上分解:(1)選擇課程的課程號與課程名,不存在不選這門課的同學(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é)號。

SELECT DISTINCT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER='LIU'))

3.3 設(shè)有兩個基本表R(A,B,C)和S(D,E,F(xiàn)),試用SQL查詢語句表達(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 WHERE R.C=S.D

3.4 3.4 設(shè)有兩個基本表R(A,B,C)和S(A,B,C)試用SQL查詢語句表達(dá)下列關(guān)系代數(shù)表達(dá)式:

(1)R∪S

(2)R∩S

(3)R-S

(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)

(4)SELECT R.A,R.B,S.C

FROM R,S

WHE

RE R.B=S.B

3.5 試敘述SQL語言的關(guān)系代數(shù)特點和元組演算特點。

(P61-62)

3.6 試用SQL查詢語句表達(dá)下列對教學(xué)數(shù)據(jù)庫中三個基本表S、SC、C的查詢:

(1)統(tǒng)計有學(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

WHERE S.S#=SC.S# AND C#='004'

(3)求LIU老師所授課程的每門課程的學(xué)生平均成績。

SELECT CNAME,AVG(GRADE)

FROM SC ,C

WHERE SC.C#=C.C# AND TEACHER='LIU'

GROUP BY C#

(4)統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。

SELECT DISTINCT C#,COUNT(S#)

FROM SC

GROUP BY C#

HAVING COUNT(S#)>10

ORDER BY 2 DESC, C# ASC

(5)檢索學(xué)號比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中檢索成績?yōu)榭罩档膶W(xué)生學(xué)號和課程號。

SELECT S#,C#

FROM SC

WHERE GRADE IS NULL

(8)求年齡大于女同學(xué)平均年齡的男學(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更新語句表達(dá)對教學(xué)數(shù)據(jù)庫中三個基本表S、SC、C的各個更新操作:

(1)往基本表S中插入一個學(xué)生元組(‘S9’,‘WU’,18)。

INSERT INTO S(S#,SNAME,AGE)VALUES('59','WU',18)

(2)在基本表S中檢索每一門課程成績都大于等于80分的學(xué)生學(xué)號、姓名和性別,并把檢索到的值送往另一個已存在的基本表STUDENT(S#,SANME,SEX)。

INSERT INTO STUDENT(S#,SNAME,SEX)

SELECT S#,SNAME,SEX

FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE

GRADE<80 AND S.S#=SC.S#)

(3)在基本表SC中刪除尚無成績的選課元組。

DELETE FROM SC

WHERE GRADE IS NULL(4)把WANG同學(xué)的學(xué)習(xí)選課和成績?nèi)縿h去。

DELE

TE FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG')

(5)把選修MATHS課不及格的成績?nèi)臑榭罩怠?/p>

UPDATE SC

SET GRADE=NULL

WHERE GRADE<60 AND C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')

(6)把低于總平均成績的女同學(xué)成績提高5%。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE)FROM SC)AND S# IN(SELECT S# FROM S WHERE SEX='F')

(7)在基本表SC中修改C4課程的成績,若成績小于等于75分時提高5%,若成績大于75分時提高4%(用兩個UPDATE語句實現(xiàn))。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE C#='C4' AND GRADE<=75

UPDATE SC

SET GRADE=GRADE*1.04

WHERE C#='C4' AND GRADE>75

3.8 在第1章例1.4中提到“倉庫管理”關(guān)系模型有五個關(guān)系模式:

零件 PART(P#,PNAME,COLOR,WEIGHT)

項目 PROJECT(J#,JNAME,DATE)

供應(yīng)商 SUPPLIER(S#,SNAME,SADDR)

供應(yīng) P_P(J#,P#,TOTOAL)

采購 P_S(P#,S#,QUANTITY)

(1)試用SQL DDL語句定義上述五個基本表,并說明主鍵和外鍵。

CREATE TABLE PART

(P# CHAR(4)NOT NULL,PNAME CHAR(12)NOT NULL,COLOR CHAR(10),WEIGHT REAL,PRIMARY KEY(P#))

CREATE 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#),F(xiàn)OREIGN KEY(J#)REFERENCE PROJECT(J#),F(xiàn)OREIGN KEY(P#)REFERENCE PART(P#))

CREATE TABLE P_S

(P# CHAR(4),S# CHAR(4),QUANTITY INTEGER,PRIMARY KEY(P#,S#),F(xiàn)OREIGN KEY(P#)REFERENCE PART(P#),F(xiàn)OREIGN KEY(S#)REFERENCE SUPLIER(S#))

(2)試將PROGECT、P_P、PART三個基本表的自然聯(lián)接定義為一個視圖VIEW1,PART、P_S、SUPPLIER 三個基本表的自然聯(lián)接定義為一個視圖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

NTITY

FROM PART,P_S,SUPPLIER

WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S#

(3)試在上述兩個視圖的基礎(chǔ)上進(jìn)行數(shù)據(jù)查詢:

1)檢索上海的供應(yīng)商所供應(yīng)的零件的編號和名字。

SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI'

2)檢索項目J4所用零件的供應(yīng)商編號和名字。

SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4')

3.9 對于教學(xué)數(shù)據(jù)庫中基本表SC,已建立下列視圖:

CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)

AS SELECT S#,COUNT(C#),AVG(GRADE)

FROM SC

GROUP BY S#

試判斷下列查詢和更新是否允許執(zhí)行。若允許,寫出轉(zhuǎn)換到基本表SC上的相應(yīng)操作。

(1)SELECT *

FROM S_GRADE

允許

SELECT S#,COUNT(C#),AVG(GRADE)FROM SC GROUP BY S#

(2)SELECT S#,C_NUM

FROM S_GRADE

WHERE AVG_GRADE>80

允許

SELECT S#,COUNT(C#)FROM SC WHERE AVG(GRADE)>80

(3)SELECT S#,AVG_GRADE

FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM

FROM S_GRADE

WHERE S#=‘S4’)

允許

SELECT S#,AVG(GRADE)

FROM SC AS X

WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#)FROM SC AS Y WHERE Y.S#='S4')

GROUP BY S#

(4)UPDATE S_GRADE

SET C_NUM=C_NUM+1

WHERE S#=‘S4’

不允許

(5)DELETE FROM S_GRADE

WHERE C_NUM>4

不允許

3.10 預(yù)處理方式對于嵌入式SQL的實現(xiàn)有什么重要意義?

預(yù)處理方式是先用預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識別出SQL語句,并處理成宿主語言的函數(shù)調(diào)用形式;然后再用宿主語言的編譯程序把源程序編譯成目標(biāo)程序。這樣,不用擴充宿主語言的編譯程序,就能處理SQL語句。

3.11 在宿主語言的程序中使用SQL語句有哪些規(guī)定?

在宿主語言的程序中使用SLQ語句有以下規(guī)定:

(1)在程序中要區(qū)分SQL語句與宿主語言語句

(2)允許嵌入的SQL語句引用宿主語言的程序變量(稱為共享變量),但有兩條規(guī)定:

1)引用時,這些變量前必須加“:”作為前綴標(biāo)識,以示與數(shù)據(jù)庫中變量有區(qū)別。

2)這些變量由宿主語言的程序定義,并用SQL的DECLARE語句說明。

(3)SQL的集合處理方式與宿主語言單記錄處理方式之間要協(xié)調(diào)。需要采用

游標(biāo)機制,把集合操作轉(zhuǎn)換成單記錄處理方式。

3.12 SQL的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調(diào)?

由于SQL語句處理的是記錄集合,而宿主語言語句一次只能處理一個記錄,因此需要用游標(biāo)(cousor)機制,把集合操作轉(zhuǎn)換成單記錄處理方式。

2.13 嵌入式SQL語句何時不必涉及到游標(biāo)?何時必須涉及到游標(biāo)?

(1)INSERT、DELETE、UPDATE語句,查詢結(jié)果肯定是單元組時的SELECT語句,都可直接嵌入在主程序中使用,不必涉及到游標(biāo)。

(2)當(dāng)SELECT語句查詢結(jié)果是多個元組時,此時宿主語言程序無法使用,一定要用游標(biāo)機制把多個元組一次一個地傳送給宿主語言處理。

4.1 名詞解釋

(1)函數(shù)依賴:FD(function dependency),設(shè)有關(guān)系模式R(U),X,Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導(dǎo)致t1[Y]=t2[Y], 則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為X→Y。X→Y為模式R的一個函數(shù)依賴。

(2)函數(shù)依賴的邏輯蘊涵:設(shè)F是關(guān)系模式R的一個函數(shù)依賴集,X,Y是R的屬性子集,如果從F中的函數(shù)依賴能夠推出X→Y,則稱F邏輯蘊涵X→Y,記為F|=X→Y。

(3)部分函數(shù)依賴:即局部依賴,對于一個函數(shù)依賴W→A,如果存在XW(X包含于W)有X→A成立,那么稱W→A是局部依賴,否則稱W→A為完全依賴。

(4)完全函數(shù)依賴:見上。

(5)傳遞依賴:在關(guān)系模式中,如果Y→X,X→A,且XY(X不決定Y),AX(A不屬于X),那么稱Y→A是傳遞依賴。

(6)函數(shù)依賴集F的閉包F+: 被邏輯蘊涵的函數(shù)依賴的全體構(gòu)成的集合,稱為F的閉包(closure),記為F+。

(7)1NF: 第一范式。如果關(guān)系模式R的所有屬性的值域中每一個值都是不可再分解的值, 則稱R是屬于第一范式模式。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項不能是屬性組合和組屬性組成。

(8)2NF: 第二范式。如果關(guān)系模式R為第一范式,并且R中每一個非主屬性完全函數(shù)依賴于R的某個候選鍵,則稱是第二范式模式;如果某個數(shù)據(jù)庫模式中每個關(guān)系模式都是第二范式的,則稱該數(shù)據(jù)庫模式屬于第二范式的數(shù)據(jù)庫模式。(注:如果A是關(guān)系模式R的候選鍵的一個屬性,則稱A是R的主屬性,否則稱A是R的非主屬性。)

(9)3NF:第三范式。如果關(guān)系模式R是第二范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式的模式。如果某個數(shù)據(jù)庫模式中的每個關(guān)系模式都是第三范式,則稱為3NF的數(shù)據(jù)庫模式。

(10)BCNF:BC范式。如果關(guān)系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵,那么稱R

是BCNF的模式。

(11)4NF:第四范式。設(shè)R是一個關(guān)系模式,D是R上的多值依賴集合。如果D中成立非平凡多值依賴X→→Y時,X必是R的超鍵,那么稱R是第四范式的模式。

(12)推理規(guī)則的正確性和完備性:正確性是指,如果X→Y是從推理規(guī)則推出的,那么X→Y在F+中。完備性是指,不能從F使用推理規(guī)則導(dǎo)出的函數(shù)依賴不在F+中。

(13)依賴集的覆蓋和等價:關(guān)系模式R(U)上的兩個函數(shù)依賴集F和G,如果滿足F+=G+,則稱F和G是等價的。如果F和G等價,則可稱F覆蓋G或G覆蓋F。

(14)最小依賴集:如果函數(shù)集合F滿足以下三個條件:(1)F中每個函數(shù)依賴的右部都是單屬性;(2)F中的任一函數(shù)依賴X→A,其F-{X→A}與F是不等價的;(3)F中的任一函數(shù)依賴X→A,Z為X的子集,(F-{X→A})∪{Z→A}與F 不等價。則稱F為最小函數(shù)依賴集合,記為Fmin。

(15)無損聯(lián)接:設(shè)R是一關(guān)系模式,分解成關(guān)系模式ρ={R1,R2...,Rk},F是R上的一個函數(shù)依賴集。如果對R中滿足F的每一個關(guān)系r都有r=πR1(r)πR2(r)...πRk(r)則稱這個分解相對于F是“無損聯(lián)接分解”。

(16)保持依賴集:所謂保持依賴就是指關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫中保持不變,即關(guān)系模式R到ρ={R1,R2,...,Rk}的分解,使函數(shù)依賴集F被F這些Ri上的投影蘊涵。

(17)多值依賴:設(shè)R(U)是屬性集U上的一個關(guān)系模式,X,Y,Z是U的子集,并且Z=U-X-Y, 用x,y,z分別代表屬性集X,Y,Z的值,只要r是R的關(guān)系,r中存在元組(x,y1,z1)和(x,y2,z2)時,就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(MultiValued Dependency MVD)X→→Y在關(guān)系模式R中成立。

4.2 關(guān)系模式R有n個屬性,在模式R上可能成立的函數(shù)依賴有多少個? 其中平凡的函數(shù)依賴有多少個?非平凡的函數(shù)依賴有多少個?

(要考慮所有可能的情況,數(shù)學(xué)排列組合問題。對于數(shù)據(jù)庫本身而言,本題沒多大意義)

所有屬性相互依賴時,函數(shù)依賴最多。

·

平凡的函數(shù)依賴:對于函數(shù)依賴X→Y,如果YX,那么稱X→Y是一個“平凡的函數(shù)依賴”。

4.3 建立關(guān)于系、學(xué)生、班級、社團等信息的一個關(guān)系數(shù)據(jù)庫,一個系有若干個專業(yè),每個專業(yè)每年只招一個班,每個班有若干個學(xué)生,一個系的學(xué)生住在同一宿舍區(qū),每個學(xué)生可以參加若干個社團,每個社團有若干學(xué)生。

描述學(xué)生的屬性有:學(xué)號、姓名、出生年月、系名、班級號、宿舍區(qū)。

描述班級的屬性有:班級號、專業(yè)名、系名、人數(shù)、入校年份。

描述系的屬性有:系名、系號、系辦公地點、人數(shù)。

描述社團的屬性有:社團名、成立年份、地點、人數(shù)、學(xué)生參加某社團的年份。

請給出關(guān)系模式,寫出每個關(guān)系模式的最小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴。指出各關(guān)系的候選鍵、外部鍵,有沒有全鍵存在?

各關(guān)系模式如下:

學(xué)生(學(xué)號,姓名,出生年月,系名,班級號,宿舍區(qū))

班級(班級號,專業(yè)名,系名,人數(shù),入校年份)

系(系名,系號,系辦公地點,人數(shù))

社團(社團名,成立年份,地點,人數(shù))

加入社團(社團名,學(xué)號,學(xué)生參加社團的年份)

學(xué)生(學(xué)號,姓名,出生年月,系名,班級號,宿舍區(qū))

●“學(xué)生”關(guān)系的最小函數(shù)依賴集為:

Fmin={學(xué)號→姓名,學(xué)號→班級號,學(xué)號→出生年月,學(xué)號→系名,系名→宿舍區(qū)} ●以上關(guān)系模式中存在傳遞函數(shù)依賴,如:學(xué)號→系名,系名→宿舍區(qū)

●候選鍵是學(xué)號,外部鍵是班級號,系名。

notice: 在關(guān)系模式中,如果Y→X,X→A,且XY(X不決定Y),A不屬于X,那么稱Y→A是傳遞依賴。

班級(班級號,專業(yè)名,系名,人數(shù),入校年份)

●“班級”關(guān)系的最小函數(shù)依賴集為:

Fmin={(系名,專業(yè)名)→班級號,班級號→人數(shù),班級號→入校年份,班級號→系名,班級號→專業(yè)名}

(假設(shè)沒有相同的系,不同系中專業(yè)名可以相同)●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●“(系名,專業(yè)名)→班級號”是完全函數(shù)依賴。

●候選鍵是(系名,專業(yè)名),班級號,外部鍵是系名。

系(系名,系號,系辦公地點,人數(shù))

●“系”關(guān)系的最小函數(shù)依賴集為: Fmin={系號→系名,系名→系辦公地點,系名→人數(shù),系名→系號}

●以上關(guān)系模式中不存在傳遞函數(shù)依賴

●候選鍵是系名,系號

社團(社團名,成立年份,地點,人數(shù))

●“社團”關(guān)系的最小函數(shù)依賴集為: Fmin={社團名→成立年份,社團名→地點,社團名→人數(shù))

●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●候選鍵是社團名

加入社團(社團名,學(xué)號,學(xué)生參加社團的年份)

●“加入社團”關(guān)系的最小函數(shù)依賴集為: Fmin={(社團名,學(xué)號)→學(xué)生參加社團的年份)●“(社團名,學(xué)號)→學(xué)生參加社團的年份”是完全函數(shù)依賴。

●以上關(guān)系模式中不存在傳遞函數(shù)依賴。

●候選鍵是(社團名,學(xué)號)。

4.4 對函數(shù)依賴X→Y的定義加以擴充,X和Y可以為空屬性集,用φ表示,那么X→φ,φ→Y,φ→φ的含義是什么?

根據(jù)函數(shù)依賴的定義,以上三個表達(dá)式的含義為:

(1)一個關(guān)系模式R(U)中,X,Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個元組t1,t2, 由t1[X]=t2[X]必有t1[φ]=t2[φ]。即X→φ表示空屬性函數(shù)依賴于X。這是任何關(guān)系中都存在的。

(2)φ→Y表示Y函數(shù)依賴于空屬性。由此可

知該關(guān)系中所有元組中Y屬性的值均相同。

(3)φ→φ表示空屬性函數(shù)依賴于空屬性。這也是任何關(guān)系中都存在的。

4.5 已知關(guān)系模式R(ABC),F(xiàn)={A→C,B→C},求F+。

可以直接通過自反律、增廣律、傳遞律加以推廣:

F+={φ→φ,A→φ,B→φ,C→φ,A→C,B→C,AB→φ,AB→A,AB→B,AB→C,AB→BC,AB→AB,AB→ABC,BC→φ,BC→C,BC→B,BC→BC,AC→φ,AC→C,AC→A,AC→AC,ABC→φ,ABC→A,ABC→B,ABC→C,ABC→BC,ABC→AB,ABC→ABC}

4.6 試分析下列分解是否具有無損聯(lián)接和保持函數(shù)依賴的特點:

(1)設(shè)R(ABC),F(xiàn)1={A→B} 在R上成立,ρ1={AB,AC}。

首先,檢查是否具有無損聯(lián)接特點:

第1種解法--算法4.2:

(1)構(gòu)造表

(2)根據(jù)A→B進(jìn)行處理

結(jié)果第二行全是a行,因此分解是無損聯(lián)接分解。

第2種解法:(定理4.8)設(shè) R1=AB,R2=AC

R1∩R2=A

R2-R1=B

∵A→B,∴該分解是無損聯(lián)接分解。

然后,檢查分解是否保持函數(shù)依賴

πR1(F1)={A→B,以及按自反率推出的一些函數(shù)依賴}

πR2(F1)={按自反率推出的一些函數(shù)依賴}

F1被πR1(F1)所蘊涵,∴所以該分解保持函數(shù)依賴。

(2)設(shè)R(ABC),F(xiàn)2={A→C,B→C}在R上成立,ρ2={AB,AC}

首先,檢查是否具有無損聯(lián)接特點:

第1種解法(略)

第2種解法:(定理4.8)設(shè) R1=AB,R2=AC

R1∩R2=A

R2-R1=C

∵A→C,∴該分解是無損聯(lián)接分解。

然后,檢查分解是否保持函數(shù)依賴

πR1(F2)={按自反率推出的一些函數(shù)依賴}

πR2(F2)={A→C,以及按自反率推出的一些函數(shù)依賴} ∵F1中的B→C沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。

(3)設(shè)R(ABC),F(xiàn)3={A→B},在R上成立,ρ3={AB,BC}.首先,檢查是否具有無損聯(lián)接特點:

第1種解法:

(1)構(gòu)造表

(2)根據(jù)A→B進(jìn)行處理

沒有一行全是a行。因此這個分解不具有無損聯(lián)接特性。

第2種解法:(定理4.8)

設(shè) R1=AB,R2=BC

R1∩R2=B

R2-R1=C,R1-R2=A

∵B→C,B→A不在F3中 ∴該分解不具有無損聯(lián)接特性。

然后,檢查分解是否保持函數(shù)依賴

πR1(F3)={A→B,以及按自反率推出的一些函數(shù)依賴}

πR2(F3)={按自反率推出的一些函數(shù)依賴}

F1被πR1(F3)所蘊涵,所以該分解保持函數(shù)依賴。

(4)設(shè)R(ABC),F(xiàn)4={A→B,B→C}在R上成立,ρ4={AC,BC}

首先,檢查是否具有無損聯(lián)接特點:

第1種解法(略)

第2種解法:(定理4.8)

設(shè) R1=AC,R2=BC

R1(AC)∩R2(BC)=C

R2-R1=B,R1-R2=A

∵C→B,C→A不在F4中 ∴該分解不具有無損聯(lián)接特性。

然后,檢查分解是否保持函數(shù)依賴

πR1(F2)={按自反率推出的一些函數(shù)依賴}

πR2(F2)={B→C,以及按自反率推出的一些函數(shù)依賴}

∵F1中的A→B沒有被蘊涵,所以該分解沒有保持函數(shù)依賴。

4.7 設(shè)R=ABCD,R上的函數(shù)依賴集F={A→B,B→C,A→D,D→C},R的一個分解ρ={AB,AC,AD},求:(1)F在ρ的每個模式上的投影。(2)ρ相對于F是無損聯(lián)接分解嗎?(3)ρ保持依賴嗎?(1)

πAB(F)={A→B,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴} πAC(F)={A→C,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴} πAD(F)={A→D,及按自反律所推導(dǎo)出的一些平凡函數(shù)依賴}(2)

(1)構(gòu)造表

(2)根據(jù)A→B,B→C,A→D,D→C進(jìn)行處理

每一行都是a,ρ相對于F是無損聯(lián)接分解。

(3)πAB(F)∪πAC(F)∪πAD(F)={A→B,A→C,A→D}, 沒有滿足B→C,D→C函數(shù)依賴,因此ρ相對于F的這個分解不保持函數(shù)依賴。

4.8 設(shè)R=ABCD,R上的F={A→C,D→C,BD→A}, 試證明ρ={AB,ACD,BCD}相對于F不是無損聯(lián)接分解。

根據(jù)算法4.2

(1)構(gòu)造表

(2)根據(jù)A→C,D→C,BD→A進(jìn)行處理

沒有一行都是a,所以,ρ相對于F不是無損聯(lián)接分解。

4.9 設(shè)R=ABCD,R上的F={A→B,B→C,D→B},把R分解成BCNF模式集。

(1)若首先把R分解成{ACD,BD},試求F在這兩個模式上的投影。

(2)ACD和BD是BCNF嗎?如果不是,請進(jìn)一步分解。

(1)πACD(F)={A→C}

πBD(F)={D→B}

(2)因為根據(jù)BCNF的定義,要求關(guān)系模式是第一范式,且每個屬性都不傳遞依賴于R的侯選鍵。BCD中(A,D)為候選鍵,可是(A,D)→A, A→C,所以它不是BCNF模式。

它可進(jìn)一步分解為:{AC,DC},此時AC,DC均為BCNF模式。

BD是BCNF,因為R2(BD)是第一范式,且每個屬性都不傳遞依賴于D(候選鍵),所以它是BCNF模式。

4.10 設(shè)R=ABCD,ρ={AB,BC,CD}。F1={A→B,B→C};F2={B→C,C→D};

(1)如果F1是R上的函數(shù)依賴集,此時ρ是無損聯(lián)接分解嗎?若不是,試舉出反例。

(2)如果F2是R上的函數(shù)依賴集呢?

(1)不是無損聯(lián)接。可由算法4.2判斷或由定理4.8判斷。

根據(jù)算法4.2

(1)構(gòu)造表

(2)根據(jù)A→B,B→C進(jìn)行處理

結(jié)果沒有出現(xiàn)一行全a的情況,所以它不是無損聯(lián)接。舉例如下:

設(shè)模式R的一關(guān)系r為{(a1b1c1d1),(a2b2c1d2)} 則有:r1=πAB(r)={(a1b1),(a2b2)}

r2=πBC(r)={(b1c1),(b2c1)}

r3=πCD(r)={(c1d1),(c1d2)} 令a=r1r2r3={(a1b1c1d1),(a1b1c1d2),(a2b2c1d1),(a2b2c1d2)} r≠a,所以ρ不是無損聯(lián)接。

(2)如果F2是R上的函數(shù)依賴,則可以判斷,ρ是無損聯(lián)接。判斷過程同上。

4.11 設(shè)關(guān)系模式R(S#,C#,GRADE,TNAME,TADDR),其屬性分別表示學(xué)生學(xué)號、選修課程的編號,成績、任課教師地址等意義。如果規(guī)定,每個學(xué)生每學(xué)一門課只有一個成績; 每門課只有一個教師任教;每個教師只有一個地址(此處不允許教師同名同姓)。

(1)試寫出關(guān)系模式R基本的函數(shù)依賴和候選鍵。

(2)試把R分解成2NF模式集并說明理由。

(3)試把R分解成3NF模式集,并說明理由。

(1)F={(S#,C#)→GRADE,C#→TNAME,TNAME→TADDR} 侯選鍵是(S#,C#)。

(2)在模式R中,TNAME不完全依賴于鍵(S#,C#),因此需進(jìn)行分解,可分解為下列兩個關(guān)系。

SC={S#,C#,GRADE} C={C#,TNAME,TADDR} 分解后,SC中,GRADE完全依賴于侯選鍵(S#,C#),在C中,主屬性是C#,TNAME、TADDR均完全依賴于C#。因此,該分解符合2NF模式。

(3)3NF:若每個關(guān)系模式是2NF,則每個非主屬性都不傳遞于R的候選鍵。

按上述已分好的兩個模式,SC中已滿足“每個非主屬性都不傳遞于R的候選鍵”,已是3NF,而在C中,C#→TNAME,TNAME→TADDR,TADDR傳遞依賴于C#,因此還需分成兩個模式:CT(C#,TNAME), T(TNAME,TADD)。

分解后,總共有SC={S#,C#,GRADE},CT(C#,TNAME), T(TNAME,TADD)三個模式。

該分解符合3NF模式。

4.12 圖4.6表示一個公司各部門的層次結(jié)構(gòu),對每個部門,數(shù)據(jù)庫中包含部門號(唯一的)D#,預(yù)算費(BUDGET)以及此部門領(lǐng)導(dǎo)人員的職工號(唯一的)E#等信息。對每一個部門,還存有部門的全部職工,生產(chǎn)科研項目以及辦公室的信息。

職工信息包括:職工號,他所參加的生產(chǎn)科研項目號(J#),他所在辦公室的電話號(PHONE#)。

生產(chǎn)科研項目包含:項目號(唯一的),預(yù)算費。

辦公室信息包含:辦公室號(唯一的),面積。

對每個職工,數(shù)據(jù)庫中有他曾擔(dān)任過的職務(wù)以及擔(dān)任某一職務(wù)時的工資歷史。對每個辦公室包含此辦公室中全部電話號嗎的信息。

請給出你認(rèn)為合理的數(shù)據(jù)依賴,把這個層次結(jié)構(gòu)轉(zhuǎn)換成一組規(guī)范化的關(guān)系。

提示:此題可分步完成,先轉(zhuǎn)換成一組1NF的關(guān)系,然后逐步轉(zhuǎn)換成2NF,3NF,...。

先得到一個泛關(guān)系的模式如下:

D={D#,Manager_E#,Budget,E#,J#,Phone#,Business,Sa_History,Office#,Area} D#:部門號, Manager_E#:部門領(lǐng)導(dǎo)人員的職工號, E#:職工號, J#:生產(chǎn)科研項目號, Phone#:辦公室的電話號,Business:職工職務(wù),Sa_History:工資歷史,Office#:辦公室號,Area:辦公室面積

根據(jù)所給信息,給出下列數(shù)據(jù)依賴:

F={D#→Manager_E#,E#→Office#,(E#,Business)→Sa_History,J#→Budget,E#→J#,Office#→Area,Office→D#,#Phone#→Office#}(假設(shè)一個部門可能有多個辦公室,有多個項目,一個辦公室只屬于一個部門,有多部電話,一個員工只參加一個項目,一個項目可能屬于多個部門)

只要保證每個屬性值不可分割,以上范式即為1NF。候選鍵為(E#,Business,Phone#)

轉(zhuǎn)換成2NF關(guān)系(消除局部依賴):

Em_Dep(E#,D#,Manager_E#,Office#,Area,J#,Budget)

對應(yīng) F={D#→Manager_E#,E#→Office#,J#→Budget,E#→J#,Office#→Area,Office→D#}

History(E#,Business,History)

對應(yīng) F={(E#,Business)→Sa_History} Phone(Phone#,Office#)

對應(yīng) F={Phone#→Office#}

轉(zhuǎn)換成3NF關(guān)系(消除非主屬性對侯選鍵的傳遞依賴):

Department(D#,Manager_E#)Office(Office#,Area,D#)Emproee(E#,J#,Office#)

History(E#,Business,History)Phone(Phone#,Office#)Project(J#,Budget)

注意:由于對題意理解的不同,可能答案不唯一。

4.13 設(shè)關(guān)系模式R(ABC)上有一個多值依賴A→→B。如果已知R的當(dāng)前關(guān)系中存在三組(ab1c1)、(ab2c2)和(ab3c3),那么這個關(guān)系中至少還應(yīng)存在哪些元組?

從多值依賴的定義可以得出,至少應(yīng)存在下列元組:

(ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)

5.1 名詞解釋

(1)數(shù)據(jù)庫設(shè)計:數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。

(2)數(shù)據(jù)庫工程:指數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā),它是一項軟件工程,但有數(shù)據(jù)庫應(yīng)用自身的特點。(3)評審:在數(shù)據(jù)庫設(shè)計過程中,評審的目的是為了確認(rèn)某一階段的任務(wù)是否全部完成,避免重大的疏漏或錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。

(4)數(shù)據(jù)字典:是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它的處理功能是存儲和檢索元數(shù)據(jù),并且為數(shù)據(jù)庫管理員提供有關(guān)的報告。對數(shù)據(jù)庫設(shè)計來說,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典主要包括四個部分:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲。

5.2 數(shù)據(jù)系統(tǒng)的生存期分成哪幾個階段?數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計在生存期中的地位如何?

分成七個階段 :規(guī)劃、需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、實現(xiàn)、運行和維護(hù)。

數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計在生存期中的地位很重要,數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計包括邏輯設(shè)計、物理設(shè)計,邏輯設(shè)計把概念模式轉(zhuǎn)化為與選用的具體機器上的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),而物理設(shè)計主要是設(shè)計DB在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法等。

5.3 什么是數(shù)據(jù)庫設(shè)計?數(shù)據(jù)庫設(shè)計過程的輸入和輸出有哪些內(nèi)容?

數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。

數(shù)據(jù)庫設(shè)計過程的輸入包括四部分內(nèi)容:1)總體信息需求;2)處理需求;(3)DBMS的特征;(4)硬件和OS(操作系統(tǒng))特征。

數(shù)據(jù)庫設(shè)計過程的輸出包括兩部分:

(1)完整的數(shù)據(jù)庫結(jié)構(gòu),其中包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu);

(2)基于數(shù)據(jù)庫結(jié)構(gòu)和處理需求的應(yīng)用程序的設(shè)計原則。這些輸出一般以說明書的形式出現(xiàn)。

5.4 基于數(shù)據(jù)庫系統(tǒng)生存期的數(shù)據(jù)庫設(shè)計分成哪幾個階段?

分為5個階段:簡記為(規(guī)需概邏物):規(guī)劃、需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計五個階段。

5.5 什么是比較好的數(shù)據(jù)庫設(shè)計方法?數(shù)據(jù)庫設(shè)計方法應(yīng)包括哪些內(nèi)容? 一個好的數(shù)據(jù)庫設(shè)計方法應(yīng)該能在合理的期限內(nèi),以合理的工作量產(chǎn)生一個有實用價值的數(shù)據(jù)庫結(jié)構(gòu)。

一種實用的數(shù)據(jù)庫設(shè)計方法應(yīng)包括以下內(nèi)容:設(shè)計過程、設(shè)計技術(shù)、評價準(zhǔn)則、信息需求、描述機制。

5.6 數(shù)據(jù)庫設(shè)計的規(guī)劃階段應(yīng)做哪些事情?

數(shù)據(jù)庫設(shè)計中的規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。

5.7 數(shù)據(jù)庫設(shè)計的需求分析階段是如何實現(xiàn)的?目標(biāo)是什么?

數(shù)據(jù)庫設(shè)計的需求分析通過三步來完成:即需求信息的收集、分析整理和評審。

其目的在于對系統(tǒng)的應(yīng)用情況作全面詳細(xì)的調(diào)查,確定企業(yè)組織的目標(biāo),收集支持系統(tǒng)總的設(shè)計目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)設(shè)計者都能夠接受的文檔。

5.8 評審在數(shù)據(jù)庫設(shè)計中有什么重要作用?為什么允許設(shè)計過程中有多次的回溯與反復(fù)?

評審的作用在于確認(rèn)某一階段的任務(wù)是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設(shè)計中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。

如果在數(shù)據(jù)庫已經(jīng)實現(xiàn)時再發(fā)現(xiàn)設(shè)計中的錯誤,那么代價比較大。因此應(yīng)該允許設(shè)計過程的回溯與反復(fù)。設(shè)計過程需要根據(jù)評審意見修改所提交的階段設(shè)計成果,有時修改甚至要回溯到前面的某一階段,進(jìn)行部分乃至全部重新設(shè)計。

5.9 數(shù)據(jù)字典的內(nèi)容和作用是什么?

數(shù)據(jù)字典的內(nèi)容一般包括:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。

其作用是對系統(tǒng)中數(shù)據(jù)做出詳盡的描述,提供對數(shù)據(jù)庫數(shù)據(jù)的集中管理。

5.10 對概念模型有些什么要求? 對概念模型一般有以下要求:

(1)概念模型是對現(xiàn)實世界的抽象和概括,它應(yīng)真實、充分地反映現(xiàn)實世界中事物和事物之間的聯(lián)系,具有豐富的語義表達(dá)能力,能表達(dá)用戶的各種需求,包括描述現(xiàn)實世界中各種對象及其復(fù)雜聯(lián)系、用戶對數(shù)據(jù)對象的處理要求和手段。

(2)概念模型應(yīng)簡潔、明晰,獨立于機器、容易理解、方便數(shù)據(jù)庫設(shè)計人員與應(yīng)用人員交換意見,使用戶能積極參與數(shù)據(jù)庫的設(shè)計工作。

(3)概念模型應(yīng)易于變動。當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和補充。

(4)概念模型應(yīng)很容易向關(guān)系、層次或網(wǎng)狀等各種數(shù)據(jù)模型轉(zhuǎn)換,易于從概念模式導(dǎo)出也DBMS有關(guān)的邏輯模式。

5.11 概念設(shè)計的具體步驟是什么? 概念設(shè)計的主要步驟為:

(1)進(jìn)行數(shù)據(jù)抽象、設(shè)計局部概念模式;

(2)將局部概念模式綜合成全局概念模式;

(3)評審。

(具體解釋參見教材p131)

5.12 什么是數(shù)據(jù)抽象?主要有哪兩種形式的抽象?數(shù)據(jù)抽象在數(shù)據(jù)庫設(shè)計過程中起什么作用?

數(shù)據(jù)抽象是對人、物、事或概念的人為處理,它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。

數(shù)據(jù)抽象有兩種形式:

(1)系統(tǒng)狀態(tài)的抽象,即抽象對象;

(2)系統(tǒng)轉(zhuǎn)換的抽象,即抽象運算。

數(shù)據(jù)抽象是概念設(shè)計中非常重要的一步。通過數(shù)據(jù)抽象,可以將現(xiàn)實世界中的客觀對象首先抽象為不依賴任何具體機器的信息結(jié)構(gòu)。

5.13 什么是ER圖?構(gòu)成ER圖的基本要素是什么? ER圖是用來表示數(shù)據(jù)庫概念設(shè)計ER模型的工具,它提供了表示實體、屬性和聯(lián)系的方法。

構(gòu)成ER圖的基本要素是實體、屬性和聯(lián)系。

5.14 試述采用ER方法的數(shù)據(jù)庫概念設(shè)計的過程.利用ER方法進(jìn)行數(shù)據(jù)庫的概念設(shè)計,可分成三步進(jìn)行: 首先設(shè)計局部ER模式,然后把各局部ER模式綜合成一個全局ER模式,最后對全局ER模式進(jìn)行優(yōu)化,得到最終的ER模式,即概念模式。

5.15 邏輯設(shè)計的目的是什么?試述邏輯設(shè)計過程的輸入和輸出

環(huán)境。

邏輯設(shè)計的目的是把概念設(shè)計階段設(shè)計好的基本ER圖轉(zhuǎn)換為與選用的具體機器上的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫模式和外模式)。

邏輯設(shè)計過程中的輸入信息有:

(1)獨立于DBMS的概念模式,即概念設(shè)計階段產(chǎn)生的所有局部和全局概念模式;

(2)處理需求,即需求分析階段產(chǎn)生的業(yè)務(wù)活動分析結(jié)果;

(3)約束條件,即完整性、一致性、安全性要求及響應(yīng)時間要求等;

(4)DBMS特性,即特定的DBMS特性,即特定的DBMS所支持的模式、子模式和程序語法的形式規(guī)則。

邏輯設(shè)計過程輸出的信息有:

(1)DBMS可處理的模式;

(2)子模式;

(3)應(yīng)用程序設(shè)計指南;

(4)物理設(shè)計指南。

5.16 試述邏輯設(shè)計階段的主要內(nèi)容。

邏輯設(shè)計主要是把概念模式轉(zhuǎn)換成DBMS能處理的模式。轉(zhuǎn)換過程中要對模式進(jìn)行評價和性能測試,以便獲得較好的模式設(shè)計。

邏輯設(shè)計的主要步驟包括:

(1)初始模式的形成(2)子模式設(shè)計

(3)應(yīng)用程序設(shè)計梗概

(4)模式評價

(5)修正模式。

5.17 規(guī)范化理論對數(shù)據(jù)庫設(shè)計有什么指導(dǎo)意義?

在概念設(shè)計階段,已經(jīng)把關(guān)系規(guī)范化的某些思想用作構(gòu)造實體類型和聯(lián)系類型的標(biāo)準(zhǔn),在邏輯設(shè)計階段,仍然要使用關(guān)系規(guī)范化的理論來設(shè)計模式和評價模式。規(guī)范化的目的是減少乃至消除關(guān)系模式中存在的各種異常,改善完整性,一致性和存儲效率。

5.18 什么是數(shù)據(jù)庫結(jié)構(gòu)的物理設(shè)計?試述其具體步驟。

數(shù)據(jù)庫結(jié)構(gòu)的物理設(shè)計是指對一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,所謂數(shù)據(jù)庫的物理結(jié)構(gòu)主要指數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法。

物理設(shè)計的步驟為:

(1)設(shè)計存儲記錄結(jié)構(gòu),包括記錄的組成、數(shù)據(jù)項的類型和長度,以及邏輯記錄到存儲記錄的映射;

(2)確定數(shù)據(jù)存儲安排;

(3)設(shè)計訪問方法,為存儲在物理設(shè)備上的數(shù)據(jù)提供存儲和檢索的能力;

(4)進(jìn)行完整性和安全性的分析、設(shè)計;

(5)程序設(shè)計。

5.19 數(shù)據(jù)實現(xiàn)階段主要做哪幾件事情? 數(shù)據(jù)庫實現(xiàn)階段的主要工作有以下幾點:

(1)建立實際數(shù)據(jù)庫結(jié)構(gòu)

(2)試運行

(3)裝入數(shù)據(jù)

(具體解釋參見教材p150)

5.20 什么是數(shù)據(jù)的再組織設(shè)計?試述其重要性。

對數(shù)據(jù)的概念模式、邏輯結(jié)構(gòu)或物理結(jié)構(gòu)的改變稱作數(shù)據(jù)再組織。

數(shù)據(jù)再組織,通常是由于環(huán)境,需求的變化或性能原因而進(jìn)行的,如信息定義的改變,增加新的數(shù)據(jù)類型,對原有的數(shù)據(jù)提出了新的使用要求,改用具有不同物理特征的新存儲設(shè)備以及數(shù)據(jù)庫性能下降等都要求進(jìn)行數(shù)據(jù)庫的重新組織。

5.21 數(shù)據(jù)系

統(tǒng)投入運行后,有哪些維護(hù)工作?

數(shù)據(jù)系統(tǒng)投入運行后,主要維護(hù)工作有:

(1)維護(hù)數(shù)據(jù)庫的安全性與完整性控制及系統(tǒng)的轉(zhuǎn)儲和恢復(fù);

(2)性能的監(jiān)督、分析與改進(jìn);

(3)增加新功能;

(4)發(fā)現(xiàn)錯誤,修改錯誤 6.1 名詞解釋

(1)事務(wù):事務(wù)是指一個操作序列,這些操作要么什么都做,要么都不做,是一個不可分割的工作單位,是數(shù)據(jù)庫環(huán)境中的邏輯工作單位,相當(dāng)于操作系統(tǒng)環(huán)境下的“進(jìn)程”概念。

(2)封鎖:封鎖就是事務(wù)可以向系統(tǒng)發(fā)出請求,對某個數(shù)據(jù)對象加鎖,此事務(wù)對這個數(shù)據(jù)對象有一定控制,而其他事務(wù)則不能更新數(shù)據(jù)直到事務(wù)釋放它的鎖為止。

(3)X封鎖:如果事務(wù)T對數(shù)據(jù)R實現(xiàn)X封鎖,那么其他的事務(wù)要等T解除X封鎖以后,才能對這個數(shù)據(jù)進(jìn)行封鎖。只有獲準(zhǔn)X封鎖的事務(wù),才能對被封鎖的數(shù)據(jù)進(jìn)行修改。

(4)PX協(xié)議:X封鎖的規(guī)則稱為PX協(xié)議,其內(nèi)容為:任何企圖更新記錄R的事務(wù)必須先執(zhí)行LOCK X(R)操作,以獲得對該記錄進(jìn)行尋址的能力,并對它取得X封鎖。如果未獲得X封鎖,那么這個事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)X封鎖,事務(wù)繼續(xù)進(jìn)行。

(5)PXC協(xié)議:它由PX協(xié)議及一條規(guī)則“X封鎖必須保留到事務(wù)終點(COMMIT或ROLLBACK)”組成。(6)死鎖:有兩個或以上的事務(wù)處于等待狀態(tài),每個事務(wù)都在等待另一個事務(wù)解除封鎖,它才能繼續(xù)執(zhí)行下去,結(jié)果任何一個事務(wù)都無法執(zhí)行,這種現(xiàn)象就是死鎖。

(7)串行調(diào)度:多個事務(wù)依次執(zhí)行,稱為串行調(diào)度。

(8)并發(fā)調(diào)度:利用分時的方法,同時處理多個事務(wù),稱為事務(wù)的并發(fā)調(diào)度。

(9)可串行化調(diào)度:如果某事務(wù)集的一個并發(fā)調(diào)度的結(jié)果與某個串行調(diào)度等價,則稱此并發(fā)調(diào)度是是可串行化調(diào)度。

(10)不可串行化調(diào)度:某事務(wù)集的一個并發(fā)調(diào)度結(jié)果,如果與任一串行調(diào)度均不等價,則該并發(fā)調(diào)度是不可串行化調(diào)度。

(11)S封鎖:共享型封鎖。果事務(wù)T對某數(shù)據(jù)R加上S封鎖,那么其它事務(wù)對數(shù)據(jù)R的X封鎖便不能成功,而對數(shù)據(jù)R的S封鎖請求可以成功。這就保證了其他事務(wù)可以讀取R但不能修改R,直到事務(wù)T釋放S封鎖。

(12)PS協(xié)議: 任何要更新記錄R的事務(wù)必須先執(zhí)行LOCK S(R)操作,以獲得對該記錄尋址的能力并對它取得S封鎖。如果未獲準(zhǔn)S封鎖,那么這個事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)S封鎖,事務(wù)才繼續(xù)進(jìn)行下去。當(dāng)事務(wù)獲準(zhǔn)對記錄R的S封鎖后,在記錄R修改前必須把S封鎖升級為X封鎖。

(13)PSC協(xié)議:由PS協(xié)議和“將S封鎖保持到事務(wù)終點”組成。任何更新記錄R的事務(wù)必須先執(zhí)行LOCK S(R)操作,以獲得對該記錄尋址的能力并對它取得S封鎖。如果未獲準(zhǔn)S封鎖,那么這個事務(wù)進(jìn)入等待狀態(tài),一直到

獲準(zhǔn)S封鎖,事務(wù)才繼續(xù)進(jìn)行下去。并將S封鎖保持到事務(wù)終點。

(14)兩段封鎖協(xié)議:(1)在對任何數(shù)據(jù)進(jìn)行讀寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖;(2)在釋放一個封鎖之后,事務(wù)不再獲得任何其他封鎖。

6.2 試敘事務(wù)的四個性質(zhì),并解釋每一個性質(zhì)對DBS有什么益處? 事務(wù)的四個性質(zhì)是:原子性、一致性、隔離性和持久性。

(1)原子性(具體含義見教材):事務(wù)中所有操作應(yīng)視為整體,不可分割。

(2)一致性(具體含義見教材):一個事務(wù)獨立執(zhí)行的結(jié)果將保證數(shù)據(jù)庫的一致性,即數(shù)據(jù)不會因事務(wù)的執(zhí)行而遭受破壞。

(3)隔離性(具體含義見教材):隔離性要求在并發(fā)事務(wù)被執(zhí)行時,系統(tǒng)應(yīng)保證與這些事務(wù)先后單獨執(zhí)行時結(jié)果一樣,使事務(wù)如同在單用戶環(huán)境下執(zhí)行一樣。

(4)持久性(具體含義見教材):要求事務(wù)對數(shù)據(jù)庫的所有更新應(yīng)永久地反映在數(shù)據(jù)庫中。

6.3 事務(wù)的COMMIT操作和ROLLBACK操作各做些什么事情? COMMIT操作表示事務(wù)成功地結(jié)束(提交),此時告訴系統(tǒng),數(shù)據(jù)庫要進(jìn)入一個新的正確狀態(tài),該事務(wù)對數(shù)據(jù)庫的所有更新都已交付實施。

ROLLBACK操作表示事務(wù)不成功地結(jié)束,此時告訴系統(tǒng),已發(fā)生錯誤,數(shù)據(jù)庫可能處在不正確的狀態(tài),該事務(wù)對數(shù)據(jù)庫的更新必須被撤銷,數(shù)據(jù)庫應(yīng)恢復(fù)該事務(wù)到初始狀態(tài)。

6.4 UNDO操作和REDO操作各做些什么事情? UNDO操作是反向掃描“日志”文件,撤銷對數(shù)據(jù)庫的更新操作,使數(shù)據(jù)庫恢復(fù)到更新前的狀態(tài); REDO操作正向掃描日志文件,重新做一次更新,使數(shù)據(jù)庫恢復(fù)到更新后的狀態(tài)。

6.5 DBS中有哪些類型的故障?哪些故障破壞了數(shù)據(jù)庫? 哪些故障未破壞數(shù)據(jù)庫,但其中某些數(shù)據(jù)變得不正確? 數(shù)據(jù)庫系統(tǒng)故障有事務(wù)故障、系統(tǒng)故障、介質(zhì)故障。

其中介質(zhì)故障破壞數(shù)據(jù)庫,事務(wù)故障、系統(tǒng)故障未破壞數(shù)據(jù)庫但使其中某些數(shù)據(jù)變得不正確。

6.6 什么是“運行記錄優(yōu)先原則”?其作用是什么?

在數(shù)據(jù)庫系統(tǒng)中,寫一個修改到數(shù)據(jù)庫中和寫一個表示這個修改的登記記錄到日志文件中是兩個不同的操作,在這兩個操作之間有可能發(fā)生故障。這時,如果先寫了數(shù)據(jù)庫修改,而在運行記錄中沒有登記這個修改,則以后就無法恢復(fù)這個修改,那么以后也就無法撤消這個修改。為了安全起見,采用“運行記錄優(yōu)先原則”。它包括兩點:

(1)至少要等相應(yīng)運行記錄已經(jīng)寫入“日志”文件后,才能允許事務(wù)往數(shù)據(jù)庫中寫記錄。

(2)直至事務(wù)的所有運行記錄都已寫入運行“日志”文件后,才能允許事務(wù)完成“END TRANSACTION”處理。

采用“運行記錄優(yōu)先原則”,可以保證所做的操作都記錄在日志中,便于故障處理,維護(hù)數(shù)據(jù)庫的一致性。

6.7 什么是數(shù)據(jù)庫的恢復(fù)?恢復(fù)的基本原則是什么,恢復(fù)如何實現(xiàn)?

數(shù)據(jù)庫的恢復(fù)是指當(dāng)數(shù)據(jù)庫系統(tǒng)發(fā)生故障時,通過一些技術(shù),使數(shù)據(jù)庫從被破壞、不正確的狀態(tài)恢復(fù)到最近一個正確的狀態(tài)。

恢復(fù)的基本原則就是冗余,即數(shù)據(jù)的重復(fù)存儲。恢復(fù)的常用方法有:(1)定期對整個數(shù)據(jù)庫進(jìn)行復(fù)制或轉(zhuǎn)儲;(2)建立日志文件;(3)恢復(fù)。用REDO或UNDO處理。

6.8 數(shù)據(jù)庫的并發(fā)操作會帶來哪些問題?如何解決?

數(shù)據(jù)庫的并發(fā)操作會帶來三類問題:

(1)丟失更新問題;(具體內(nèi)容見教材P158)

(2)不一致分析問題

(3)“臟數(shù)據(jù)”的讀出。

解決的辦法通常是采用“封鎖”技術(shù)。

6.9 有哪些“丟失更新”問題?如何處理?

(1)并發(fā)調(diào)度引起的“丟失更新”問題。在并發(fā)調(diào)度中,如兩個事務(wù)同時對某數(shù)據(jù)庫進(jìn)行更新操作,在操作中丟失了其中某個事務(wù)對某數(shù)據(jù)的更新操作。處理的辦法就是對并發(fā)操作采用X封鎖技術(shù)。

(2)由恢復(fù)引起的更新丟失現(xiàn)象。采用X封鎖以后,先執(zhí)行事務(wù)T1,再執(zhí)行事務(wù)T2,此時,如果T2做ROLLBACK操作,就把事務(wù)T2的更新丟失了。處理方式是采用PXC協(xié)議,不允許事務(wù)T1執(zhí)行解鎖操作直到事務(wù)執(zhí)行到終點(COMMIT或ROLLBACK)。

6.10 為什么DML只提供解除S封鎖的操作,而不提供解除X封鎖的操作?

為了防止由恢復(fù)引起的更新丟失現(xiàn)象,PXC協(xié)議規(guī)定:X封鎖必須保留到事務(wù)終點(COMMIT或ROLLBACK)。因此在DML中,COMMIT或ROLLBACK的語義中包含了X封鎖的解除,不用提供解除X封鎖的操作。

而對于S封鎖而言,它是一種共享型的封鎖(讀取但不能修改),其數(shù)據(jù)不可能是未提交的修改,封鎖不必等提交后才能解除,因此可以由事務(wù)用UNLOCK解除各自對數(shù)據(jù)的封鎖。

6.11 為什么有些封鎖需保留到事務(wù)終點,而有些封鎖可隨時解除? 因為有的封鎖需要更新數(shù)據(jù),保留到終點才能確認(rèn)是否提交或回退以避免臟數(shù)據(jù)的讀出,所以這些封鎖需要保留到事務(wù)終點。

而有些事務(wù)全部或部分操作只是讀取數(shù)據(jù),不涉及更新數(shù)據(jù)操作,因此這一部分操作的封鎖可以隨時解除。

6.12 死鎖的發(fā)生是壞事還是好事?試說明理由。如何解除死鎖狀態(tài)? 死鎖的發(fā)生即是壞事又是好事。

(1)使并發(fā)事務(wù)不能繼續(xù)執(zhí)行下去,造成時間開銷卻不產(chǎn)生結(jié)果。

(2)在某些時候我們要利用它來解決更新操作導(dǎo)致的數(shù)據(jù)庫不一致狀態(tài)。

解除死鎖狀態(tài):抽出某個事務(wù)作為犧牲品,把它撤消,做回退操作,解除它的所有封鎖,并恢復(fù)到初始狀態(tài)。

6.13 試敘述“串行調(diào)度”與“可串行化調(diào)度”的區(qū)別。

串行調(diào)

度是多個事務(wù)按照一定的次序依次執(zhí)行;在某一時刻只有一個事務(wù)在執(zhí)行。

而可串行化調(diào)度是并發(fā)調(diào)度中的一個概念。在并發(fā)調(diào)度中,某一時刻有多個事務(wù)同時被處理。如果某事務(wù)集的一個并發(fā)調(diào)度的結(jié)果與某個串行調(diào)度等價,則稱此并發(fā)調(diào)度是是可串行化調(diào)度。

(以上幾題具體可參照書上p20-21)

6.14 什么是數(shù)據(jù)庫的完整性? DBMS的完整性子系統(tǒng)的功能是什么?

數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。DBMS完整性子系統(tǒng)的功能是:

(1)監(jiān)督事務(wù)的執(zhí)行,并測試是否違反完整性規(guī)則;

(2)如有違反,則采取恰當(dāng)?shù)牟僮鳎缇芙^、報告違反情況,改正錯誤等方法進(jìn)行處理。

6.15 完整性規(guī)則由哪幾個部分組成?關(guān)系數(shù)據(jù)庫的完整性規(guī)則有哪幾類? 完整性規(guī)則由三部分組成:

觸發(fā)條件:即什么時候使用規(guī)則進(jìn)行檢查;

約束條件:即要檢查什么樣的錯誤;

ELSE子句:即查出錯誤后該如何處理。

完整性規(guī)則有以下三類:

域完整性規(guī)則,用于定義屬性的取值范圍;

域聯(lián)系的規(guī)則,定義一個或多個關(guān)系中,屬性值間的聯(lián)系、影響和約束。

關(guān)系完整性規(guī)則,定義更新操作對數(shù)據(jù)庫中值的影響和限制。

6.16 試詳述SQL中的完整性約束機制?

SQL中的完整性約束規(guī)則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。

△主鍵約束。它是數(shù)據(jù)中最重要的一種約束。在關(guān)系中主鍵值不允許空,也不允許出現(xiàn)重復(fù),體現(xiàn)了關(guān)系要滿足實體完整性規(guī)則。主鍵可用主鍵子句或主鍵短語進(jìn)行定義。

△ 外鍵約束。根據(jù)參照完整性規(guī)則,依賴關(guān)系中外鍵或者為空值,或者是基本關(guān)系(參照關(guān)系)中的該鍵的某個值。外鍵用外鍵關(guān)系子句定義,并考慮刪除基本關(guān)系元組或修改基本關(guān)系的主鍵值的影響,依賴關(guān)系可按需要采用RESTRICT、SET NULL、CASCADE方式。

△屬性值約束。當(dāng)要求某個屬性的值不允許空值時,那么可以在屬性定義后加上關(guān)鍵字:NOT NULL,這是非空值約束。還可以用CHECK子句對一個屬性值加以限制以及使用域約束子句CREAT DOMAIN 定義新域并加以屬性值檢查。

△全局約束。在關(guān)系定義時,可以說明一些比較復(fù)雜的完整性約束,這些約束涉及到多個屬性間的聯(lián)系 或不同關(guān)系間的聯(lián)系,稱為全局約束。主要有基于元組的檢查子句和斷言。前者是對單個關(guān)系的元組值加以約束,后者則可對多個關(guān)系或聚合操作有關(guān)的完整性約束進(jìn)行定義。

6.17 參照完整性規(guī)則在SQL可以用哪幾種方式實現(xiàn)?刪除基本關(guān)系的元組時,依賴關(guān)系可以采取的做法有哪三種?修改基本關(guān)系的主鍵值時,依賴關(guān)系可以采取的做法有哪三種? 參照完整性規(guī)

則要求“不引用不存在的實體”,參照完整性規(guī)則在SQL可用以下幾種方式實現(xiàn):

(1)在SQL中采用外鍵子句定義外鍵,并考慮刪除基本關(guān)系元組或修改基本關(guān)系的主鍵值,對依賴關(guān)系產(chǎn)生的影響;

(2)在屬性值上進(jìn)行約束如基于屬性的檢查;

(3)全局約束中的基于元組的檢查子句等。

刪除基本關(guān)系元組或修改基本關(guān)系的主鍵值時,依賴關(guān)系可以采用的做法有:

△RESTRICT方式:只有當(dāng)依賴關(guān)系中沒有一個外鍵值與基本關(guān)系中要刪除/修改的主鍵值相對應(yīng)時,系統(tǒng)才能執(zhí)行刪除/修改操作,否則拒絕刪除或修改。

△SET NULL方式:刪除基本元組時,將依賴關(guān)系中所有與基本關(guān)系中被刪除主鍵值相對應(yīng)的外鍵值置為空值。修改基本關(guān)系的主鍵值時,將依賴關(guān)系中所有與基本關(guān)系中被修改主鍵值相對應(yīng)的外鍵值置為空值。

△CASCADE方式:若刪除則將依賴關(guān)系中所有外鍵值與基本關(guān)系中要刪除的主鍵值相對應(yīng)的元組一并刪除,若修改則將依賴關(guān)系中所有與基本關(guān)系中要修改的主鍵值相對應(yīng)的外鍵值一并修改為新值。

6.18 試對SQL2中的基于屬性的檢查約束、基于元組的檢查約束和斷言 三種完整性約束進(jìn)行比較:各說明什么對象?何時激活?能保證數(shù)據(jù)庫的一致性嗎?

約束形式

說明對象

激活條件

是否保證一致性

基于屬性的檢查

只對一個屬性值加以約束

插入或修改屬性值時

不一定

基于元組的檢查

對單個關(guān)系的元組值加以約束

在插入或修改元組時 不一定

斷言

多個關(guān)系或聚合操作

任何變動

保證

6.19 設(shè)教學(xué)數(shù)據(jù)庫的模式如下:

S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

試用多種方式定義下列完整性約束:

(1)在關(guān)系S中插入學(xué)生年齡值應(yīng)在16~25歲之間

(2)在關(guān)系SC中插入元組時,其S#值和C#值必須分別在S和C中出現(xiàn)。

(3)在關(guān)系SC中修改GRADE值時,必須仍在0~100之間。

(4)在刪除關(guān)系C中一個元組時,首先要把關(guān)系SC中具有同樣C#的元組全部刪去。

(5)在關(guān)系S中把某個S#值修改為新值時,必須同時把關(guān)系SC中那些同樣的S#值也修改為新值。

(1)定義S時采用檢查子句:

CREAT TABLE S(S# CHAR(4),SNAME char(10)NOT NULL ,AGE SMALLINT ,PRIMARY key(S#),CHECK(AGE>=16 and AGE<=25))

(2)采用外鍵子句約束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,F(xiàn)OREIGN key(S#)REFERENCE S(S#),F(xiàn)OREIGN key(C#)REFERENCE C(C#))

(3)采用元組檢查

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,F(xiàn)OREIGN key(S#)REFERENCE S(S#),F(xiàn)OREIGN key(C#)RE

FERENCE C(C#),CHECK(GRADE>=0 and AGE<=100))

(4)采用外鍵約束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,F(xiàn)OREIGN key(S#)REFERENCE S(S#),F(xiàn)OREIGN key(C#)REFERENCE C(C#))

若改為:在刪除關(guān)系C中一個元組時,同時把關(guān)系SC中具有同樣C#的元組全部刪去,則為:

......FOREIGN key(C#)REFERENCE C(C#)ON DELETE CASCADE

......(5)采用外鍵約束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,F(xiàn)OREIGN key(S#)REFERENCE S(S#)ON UPDATE CASCADE ,F(xiàn)OREIGN key(C#)REFERENCE C(C#))

6.20 在教學(xué)數(shù)據(jù)庫的關(guān)系S、SC、C中,試用SQL2的斷言機制定義下列兩個完整性約束:(1)學(xué)生必須在選修Maths課后,才能選修其他課程。(2)每個男學(xué)生最多選修20門課程

(1)

CREAT ASSERTION ASSE1 CHECK

(NOT EXISTS

(SELECT S FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE CNAME<>'MATHS')

AND S# NOT IN

(SELECT S# FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')));(2)

CREAT ASSERTION ASSE2 CHECK

(ALL(SELECT COUNT(SC.C#)

FROM S,SC

WHERE S.S#=SC.S AND SEX='M'

GROUP BY S#)<=20);

6.21 什么是數(shù)據(jù)庫的安全性?有哪些安全措施?

數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫防止不合法的使用,以免數(shù)據(jù)的泄漏、非法更改和破壞。

可以從以下方面設(shè)置數(shù)據(jù)庫的安全措施:環(huán)境級、職員級、OS級、網(wǎng)絡(luò)級和數(shù)據(jù)庫系統(tǒng)級。

(具體可參見教材P173)

6.22 對銀行的數(shù)據(jù)庫系統(tǒng)應(yīng)采取哪些安全措施?分別屬于哪一級?

答案基本同上一題。

6.23 什么是“權(quán)限”?用戶訪問數(shù)據(jù)庫可以有哪些權(quán)限?對數(shù)據(jù)庫模式有哪些修改權(quán)限? 用戶使用數(shù)據(jù)庫的方式稱為權(quán)限。

用戶訪問數(shù)庫的權(quán)限有:讀權(quán)限、插入權(quán)限、修改權(quán)限、刪除權(quán)限。

用戶修改數(shù)據(jù)庫模式的權(quán)限有索引權(quán)限、資源權(quán)限、修改權(quán)限、撤銷權(quán)限。

6.24 試解釋權(quán)限的轉(zhuǎn)授與回收。

在數(shù)據(jù)庫系統(tǒng)中,為了保證數(shù)據(jù)的安全性,用戶對數(shù)據(jù)的操作必須首先從DBA處獲得權(quán)限,才能進(jìn)行對數(shù)據(jù)的操作。同時數(shù)據(jù)庫系統(tǒng)也允許用戶將獲得的權(quán)限轉(zhuǎn)授給其他用戶,也允許把已授給其他用戶的權(quán)限再回收上來。但應(yīng)保證轉(zhuǎn)授出去的權(quán)限能收得回來。

6.25 SQL 語言中的視圖機制有哪些優(yōu)點?

視圖機制使系統(tǒng)具有三個優(yōu)點:數(shù)據(jù)安全性、數(shù)據(jù)獨立性和操作簡便性。

6.26 SQL2中用戶權(quán)限有哪幾類?并作必要的解釋。

SQL2中定義了六類用戶權(quán)限,分別是:

(1)SELECT :允許用戶對關(guān)系或視圖執(zhí)行SELECT操作。

(2)INSERT :允許用戶對關(guān)系或視圖執(zhí)行INSERT操作,如果還說明了一個屬性表,那么表示只能插入這些屬性的值,關(guān)系中其他屬性值將置為缺省值或為空值。

(3)DELETE:允許用戶對關(guān)系或視圖執(zhí)行DELETE操作。

(4)UPDATE:允許用戶對關(guān)系或視圖執(zhí)行UPDATE操作,如果還說明了一個屬性表,那么表示只能修改這些屬性的值,否則表示可以修改關(guān)系中任一屬性值。

(5)REFERENCES:允許用戶定義新關(guān)系時,引用其他關(guān)系的主鍵作為外鍵。

(6)USAGE:允許用戶使用定義的域。

6.27 數(shù)據(jù)加密法有些什么優(yōu)點?如何實現(xiàn)?

數(shù)據(jù)加密可以更好地保證數(shù)據(jù)的完全性。加密采用一定的加密算法給把源文變?yōu)槊芪膩韺崿F(xiàn)。

常用的加密算法有“替換方法”和明鍵加密法。

7.1 名詞解釋

(1)集中式DBS:是指數(shù)據(jù)庫中的數(shù)據(jù)集中存儲在一臺計算機上,數(shù)據(jù)的處理集中在一臺計算機上完成。

(2)分布式DBS:是指數(shù)據(jù)存放在計算機網(wǎng)絡(luò)的不同場地的計算機中,每一場地都有自治處理能力并完成局部應(yīng)用;而每一場地也參與(至少一種)全局應(yīng)用程序的執(zhí)行,全局應(yīng)用程序可通過網(wǎng)絡(luò)通信訪問系統(tǒng)中的多個場地的數(shù)據(jù)。

(3)分布式DB:分布式數(shù)據(jù)庫,是指計算機網(wǎng)絡(luò)環(huán)境中各場地上數(shù)據(jù)庫的邏輯集合。

(4)分布式DBMS:分布式數(shù)據(jù)庫管理系統(tǒng)。是指分布式數(shù)據(jù)庫系統(tǒng)中的一組軟件,它負(fù)責(zé)管理分布環(huán)境下邏輯集成數(shù)據(jù)的存取、一致性、有效性和完備性。同時,由于數(shù)據(jù)的分布性,在管理機制還必須具有計算機網(wǎng)絡(luò)通信協(xié)議上的分布管理特性。

(5)局部自治性:是指有獨立處理能力并能完成的局部應(yīng)用。

(6)數(shù)據(jù)分配(數(shù)據(jù)分布):是指數(shù)據(jù)計算機網(wǎng)絡(luò)各場地上的分配策略。

(7)數(shù)據(jù)復(fù)制:是指數(shù)據(jù)在每個場地重復(fù)存儲。

(8)數(shù)據(jù)分片:是指分布式數(shù)據(jù)庫中的數(shù)據(jù)可以被分割和復(fù)制在網(wǎng)絡(luò)場地的各個物理數(shù)據(jù)庫中。一般數(shù)據(jù)存放的單位不是關(guān)系而是片段,一個片段是關(guān)系的一部分。數(shù)據(jù)分片是通過關(guān)系代數(shù)的基本運算實現(xiàn)的。

(9)水平分片:是指按一定條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個

子集為關(guān)系的一個片段。

(10)垂直分片:把一個全局關(guān)系的屬性集分成若干子集,并在這些子集上做投影運算,每個投影為垂直分片。

(11)分布透明性:指用戶不必關(guān)系數(shù)據(jù)的邏輯分片,不必關(guān)系數(shù)據(jù)物理位置的細(xì)節(jié),也不必關(guān)心各個場地上的數(shù)據(jù)庫的數(shù)據(jù)模型。

(12)分片透明性:分片透明性是最高層次的分布透明性,是指用戶或應(yīng)用程序只對全局關(guān)系進(jìn)行操作而不必考慮數(shù)據(jù)的分片。

(13)位置透明性:位置透明性位于分片視圖與分配視圖之間。是指用戶或應(yīng)用程序應(yīng)當(dāng)了解分片情況,但不必了解片段的存儲場地。

(14)局部數(shù)據(jù)模型透明性:這個透明性位于分配視圖與局部概念視圖之間,指用戶或應(yīng)用程序要了解分片及各片段存儲的場地,但不必了解局部場地上使用的是何種數(shù)據(jù)模型。

(15)復(fù)制透明性:即用戶不必關(guān)心數(shù)據(jù)庫在網(wǎng)絡(luò)中各個結(jié)點的數(shù)據(jù)庫復(fù)制情況,更新操作引起的波及由系統(tǒng)去處理。

7.2 試敘數(shù)據(jù)從集中存儲、分散存儲到分布存儲的演變過程。

早期的數(shù)據(jù)庫系統(tǒng)都是屬于集中式數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)集中存儲在一臺計算機上。該方式有一定優(yōu)點,比如,價格合理,易于管理,數(shù)據(jù)冗余少等等。但是,隨著數(shù)據(jù)庫應(yīng)用的不斷發(fā)展,數(shù)據(jù)庫規(guī)模不斷擴大,如采用集中存儲的數(shù)據(jù)庫,其系統(tǒng)的設(shè)計和操作都比較復(fù)雜,系統(tǒng)顯得不靈活而且安全性 也較差。因此采用了數(shù)據(jù)分散存儲的辦法,將數(shù)據(jù)庫分成多個,建立在多臺計算機上,此時的各個數(shù)據(jù)庫的管理和應(yīng)用程序均是分開并獨立的。它們之間不存在數(shù)據(jù)通信聯(lián)系。隨著計算機網(wǎng)絡(luò)通信的發(fā)展,有可能把分散在各處的數(shù)據(jù)庫系統(tǒng)通過網(wǎng)絡(luò)通信連接起來,這樣形成的系統(tǒng)稱為分布式的數(shù)據(jù)庫系統(tǒng),這時的數(shù)據(jù)庫雖然分別存在各地的計算機上,但它們之間通過分布式數(shù)據(jù)管理系統(tǒng)可以進(jìn)行聯(lián)系。

7.3 與集中式DBS、分散式DBS相比,分布式DBS有哪些特點?

與集中式DBS相比,分布式DBS中數(shù)據(jù)庫的存儲是分布性的,即數(shù)據(jù)不是存儲在同一場地,而是分布存儲在多個場地。與分散式DBS相比,分布式DBS中數(shù)據(jù)庫具有“邏輯整體性”,即表面上看,分布式數(shù)據(jù)的數(shù)據(jù)庫分散在各個場地,但這些數(shù)據(jù)在邏輯上卻是一個整

體,如同一個集中式數(shù)據(jù)庫。

7.4 試解釋下列術(shù)語:同構(gòu)同質(zhì)型DDBS,同構(gòu)異質(zhì)型DDBS,異構(gòu)DDBS。

(1)同構(gòu)同質(zhì)型DDBS:是指各個場地都采用同一類型的數(shù)據(jù)模型,并且是同一型號數(shù)據(jù)庫管理系統(tǒng)。

(2)同構(gòu)異質(zhì)型DDBS:是指各個場地都采用同一類型的數(shù)據(jù)模型,但是數(shù)據(jù)庫管理系統(tǒng)是不同型號的。

(3)異構(gòu)型DDBS:是指各個場地的數(shù)據(jù)模型是不同的類型。

7.5 分布式數(shù)據(jù)庫系統(tǒng)有哪些優(yōu)點和缺點? 分布式數(shù)據(jù)庫系統(tǒng)的優(yōu)點:

(1)具有靈活的體系結(jié)構(gòu)

(2)適應(yīng)分布式的管理和控制機構(gòu)

(3)經(jīng)濟性能優(yōu)越

(4)系統(tǒng)的可靠性高、可用性好

(5)局部應(yīng)用的響應(yīng)速度快

(6)可擴展性好,易于集成現(xiàn)有系統(tǒng)

分布式數(shù)據(jù)庫系統(tǒng)的缺點:

(1)系統(tǒng)開銷大,主要花在通信部分;

(2)復(fù)雜的存取結(jié)構(gòu),原來在集中式系統(tǒng)中有效存取數(shù)據(jù)的技術(shù),在分布式系統(tǒng)中都不再適用;

(3)數(shù)據(jù)的安全生和保密性較難處理。

7.6 分布式數(shù)據(jù)庫中,“數(shù)據(jù)分配”有哪些策略?“數(shù)據(jù)分片”有哪些策略? 數(shù)據(jù)分片的準(zhǔn)則是什么?

數(shù)據(jù)分配是指數(shù)據(jù)在計算機網(wǎng)絡(luò)各場地上的分配策略。包括:

(1)集中式:所有數(shù)據(jù)均安排在同一個場地上。

(2)分割式:所有數(shù)據(jù)只有一份,分別被安置在若干個場地。

(3)全復(fù)制式:數(shù)據(jù)在每個場地重復(fù)存儲。

(4)混合式:數(shù)據(jù)庫分成若干可相交的子集,每一子集安置在一個或多個場地上,但是每一場地未必保存全部數(shù)據(jù)。

數(shù)據(jù)分片的方式有以下三種:

(1)水平分片:按一定的條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個子集為關(guān)系的一個片段。

(2)垂直分片:把一個全局關(guān)系的屬性集分成若干子集,并在這些子集上做投影運算,每個投影為垂直分片。

(3)混合型分片:將水平分片與垂直分片方式綜合使用則為混合型分片。

數(shù)據(jù)分片應(yīng)遵循的準(zhǔn)則為:

(1)完備性條件:必須把全局關(guān)系的所有數(shù)據(jù)映射到各個片段中,絕不允許發(fā)生屬于全局關(guān)系的某個數(shù)據(jù)不屬于任何一個片段。

(2)重構(gòu)條件:劃分所采用的方法必須確保能夠由各個片段重建全局關(guān)系。

(3)不相交條件:要求一個全局關(guān)系被劃分后得到的各個數(shù)據(jù)片段互相不重

疊。

7.7 試敘述分布式DBS的體系結(jié)構(gòu),它有什么特征?

分布式DBS的體系結(jié)構(gòu)分為四級:全局外模式、全局概念模式、分片模式和分配模式。

(1)全局外模式:它們是全局應(yīng)用的用戶視圖,是全局概念模式的子集。

(2)全局概念模式:全局概念模式定義了分布式數(shù)據(jù)庫中所有數(shù)據(jù)的邏輯結(jié)構(gòu)。

(3)分片模式:分片模式定義片段以及定義全局關(guān)系與片段之間的映象。這種映象是一對多的,即每個片段來自一個全局關(guān)系,而一個全局關(guān)系可分成多個片段。

(4)分配模式:片段是全局關(guān)系的邏輯部分,一個片段在物理上可以分配到網(wǎng)絡(luò)的不同場地上。分配模式根據(jù)數(shù)據(jù)分配策略的選擇定義片段的存放場地。

分布式DBS的分層體系結(jié)構(gòu)有三個特征:

(1)數(shù)據(jù)分片和數(shù)據(jù)分配概念的分離,形成了“數(shù)據(jù)分布獨立性”概念。

(2)數(shù)據(jù)冗余的顯式控制。

(3)局部DBMS的獨立性。

7.8 試敘述分布式DBMS的功能及組成。

主要功能有:

(1)接受用戶請求,并判定把它送到哪里,或必須訪問哪些計算機才能滿足該請求。

(2)訪問網(wǎng)絡(luò)數(shù)據(jù)字典,或者至少了解如何請求和使用其中的信息。

(3)如果目標(biāo)數(shù)據(jù)存儲于系統(tǒng)的多個計算機上,就必須進(jìn)行分布式處理。

(4)通信接口功能,在用戶、局部DBMS和其他計算機的DBMS之間進(jìn)行協(xié)調(diào)。

(5)在一個異構(gòu)型分布式處理環(huán)境中,還需提供數(shù)據(jù)和進(jìn)程移植的支持。這里的異構(gòu)型是指各個場地的硬件、軟件之間存在一定差別。

DDBMS組成——應(yīng)包括以下四個子系統(tǒng):

(1)查詢子系統(tǒng)

(2)完整性子系統(tǒng)

(3)調(diào)度子系統(tǒng)

(4)可靠性子系統(tǒng)

7.9 分布式系統(tǒng)中影響查詢的主要因素是什么?

分布式系統(tǒng)中,影響查詢的主要因素數(shù)據(jù)經(jīng)網(wǎng)絡(luò)的傳輸時間,數(shù)據(jù)傳輸量是衡量查詢時間的一個主要指標(biāo),不同場地間的聯(lián)接操作和并操作是影響數(shù)據(jù)傳輸量的主要原因。

7.10 基于半聯(lián)接的查詢優(yōu)化策略的基本思想是什么?

數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時,如果以整個關(guān)系傳輸,則傳輸數(shù)據(jù)量大,是一種冗余的做法,而實際上,在聯(lián)接時并非每個數(shù)據(jù)都參與操作或有用。因此,考慮到不參與操作的值或無用的值不必經(jīng)網(wǎng)絡(luò)來回傳輸,則可以減少傳輸?shù)臄?shù)據(jù)量。

第三篇:數(shù)據(jù)庫期末

一.ER圖作成及向關(guān)系模式轉(zhuǎn)化

1.學(xué)校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個班有若干學(xué)生,每個學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請用 E 一 R 圖畫出此學(xué)校的概念模型。

2.某學(xué)生宿舍管理系統(tǒng),涉及的部分信息如下:(1)學(xué)生:學(xué)號,姓名,性別,專業(yè),班級。(2)寢室:寢室號,房間電話。

(3)管理員:員工號,姓名,聯(lián)系電話。

其中:每個寢室可同時住宿多名學(xué)生,每名學(xué)生只分配一個寢室;每個寢室指定其中一名學(xué)生擔(dān)當(dāng)寢室長;每個管理員同時管理多個寢室,但每個寢室只有一名管理員。(1)建立一個反映上述局部應(yīng)用的ER模型,要求標(biāo)注聯(lián)系類型。

(2)根據(jù)轉(zhuǎn)換規(guī)則,將ER模型轉(zhuǎn)換為關(guān)系模型。要求標(biāo)注每個關(guān)系模型的主鍵和外鍵(如果存在)。(1)

(2)

? 學(xué)生(學(xué)號,姓名,性別,專業(yè),班級)主鍵:學(xué)號

? 住宿(寢室號,學(xué)號)主鍵:學(xué)號

寢室號是外鍵;學(xué)號也是外鍵

? 學(xué)生管理寢室(寢室號,寢室長學(xué)號)主鍵:寢室號或者寢室長學(xué)號

寢室號是外鍵;寢室長學(xué)號也是外鍵

? 寢室(寢室號,房間電話)主鍵:寢室號

? 管理(寢室號,員工號)主鍵:寢室號

寢室號是外鍵;員工號是外鍵

? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號

合并后的答案:

? 學(xué)生(學(xué)號,姓名,性別,專業(yè),班級,寢室號)主鍵:學(xué)號 寢室號是外鍵

? 寢室(寢室號,房間電話,寢室長學(xué)號,員工號)主鍵:寢室號或者寢室長學(xué)號 員工號是外鍵;寢室長學(xué)號是外鍵

? 管理員(員工號,姓名,聯(lián)系電話)主鍵:員工號

3設(shè)某工廠數(shù)據(jù)庫中有四個實體集。

一是“倉庫”實體集,屬性有倉庫號、倉庫面積等; 二是“零件”實體集,屬性有零件號、零件名、規(guī)格、單價等; 三是“供應(yīng)商”實體集,屬性有供應(yīng)商號、供應(yīng)商名、地址等; 四是“保管員”實體集,屬性有職工號、姓名等。

設(shè)倉庫與零件之間有“存放”聯(lián)系,每個倉庫可存放多種零件,每種零件可存放于若干倉庫中,每個倉庫存放每種零件要記錄庫存量;供應(yīng)商與零件之間有“供應(yīng)”聯(lián)系,一個供應(yīng)商可供應(yīng)多種零件,每種零件也可由多個供應(yīng)商提供,每個供應(yīng)商每提供一種零件要記錄供應(yīng)量;倉庫與保管員之間有“工作”聯(lián)系,一個倉庫可以有多名保管員,但一名保管員只能在一個倉庫工作。

(1)試為該工廠的數(shù)據(jù)庫設(shè)計一個ER模型,要求標(biāo)注聯(lián)系類型。

(2)根據(jù)轉(zhuǎn)換規(guī)則,將ER模型轉(zhuǎn)換成關(guān)系模型,要求標(biāo)明每個關(guān)系模式的主鍵和外鍵。

(2)

? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號

? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號

倉庫號是外鍵,零件好也是外鍵。

? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號

? 供應(yīng)(零件號,供應(yīng)商號,供應(yīng)量)主鍵:零件號,供應(yīng)商號

零件號是外鍵,供應(yīng)商號是外鍵

? 供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)主鍵:供應(yīng)商號

? 工作(職工號,倉庫號)主鍵:職工號

職工號是外鍵,倉庫號是外鍵

? 保管員(職工號、姓名)主鍵:職工號

合并后的答案:

? 倉庫(倉庫號,倉庫面積)主鍵:倉庫號

? 存放(倉庫號,零件號,庫存量)主鍵:倉庫號,零件號

倉庫號是外鍵,零件好也是外鍵。

? 零件(零件號,零件名,規(guī)格,單價)主鍵:零件號

? 供應(yīng)(零件號,供應(yīng)商號,供應(yīng)量)主鍵:零件號,供應(yīng)商號

零件號是外鍵,供應(yīng)商號是外鍵

? 供應(yīng)商(供應(yīng)商號,供應(yīng)商名,地址)主鍵:供應(yīng)商號

? 保管員(職工號,姓名,倉庫號)主鍵:職工號 倉庫號是外鍵

二. 函數(shù)依賴識別以及規(guī)范到3NF 1.設(shè)某人才市場數(shù)據(jù)庫中有一個記錄應(yīng)聘人員信息的關(guān)系模式: R(人員編號,姓名,性別,職位編號,職位名稱,考試成績)

如果規(guī)定:每人可應(yīng)聘多個職位,每個職位可由多人應(yīng)聘且必須參加相關(guān)考試,考試成績由人員編號和職位編號確定。

姓名可以重復(fù)。職位名稱不可重復(fù)。

(1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼。(2)R最高屬于第幾范式。(3)將R規(guī)范到3NF。答案:

(1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼。人員編號→姓名 人員編號→性別 職位編號→職位名稱 職位名稱→職位編號

(人員編號,職位編號)→考試成績 候選碼:(人員編號,職位編號)(2)R最高屬于第幾范式。

R最高屬于第一范式。因為非主屬性姓名,性別部分依賴于碼,不屬于第二范式。(3)將R規(guī)范到3NF。

人員(人員編號,姓名,性別)職位(職位編號,職位名稱)

應(yīng)聘(人員編號,職位編號,考試成績)2.設(shè)有一個反映教師參加科研項目的關(guān)系模式:

R(教師號,教師名稱,項目名稱,科研工作量,項目類別,項目金額,負(fù)責(zé)人)

如果規(guī)定:每個項目可有多人參加,每名教師每參加一個項目有一個科研工作量;每個項目只屬于一種類別,只有一名負(fù)責(zé)人。教師名稱可以重復(fù)。(1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼。(2)說明R不是2NF的理由。(3)將R規(guī)范到3NF。答案:(1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼。教師號→教師名稱 項目名稱→項目類別 項目名稱→項目金額 項目名稱→負(fù)責(zé)人

(教師號,項目名稱)→科研工作量 主鍵:(教師號,項目名稱)(2)說明R不是2NF的理由。

非主屬性教師名稱,項目類別,項目金額,負(fù)責(zé)人部分依賴碼。(3)將R規(guī)范到3NF。教師(教師號,教師名稱)

項目(項目名稱,項目類別,項目金額,負(fù)責(zé)人)項目開發(fā)(教師號,項目名稱,科研工作量)3.設(shè)有一個記錄學(xué)生畢業(yè)設(shè)計情況的關(guān)系模式:

R(學(xué)號,學(xué)生名,班級,教師號,教師名,職稱,畢業(yè)設(shè)計題目,成績)

如果規(guī)定:每名學(xué)生只有一位畢業(yè)設(shè)計指導(dǎo)教師,每位教師可指導(dǎo)多名學(xué)生;學(xué)生的畢業(yè)設(shè)計題目可能重復(fù)。

(1)根據(jù)上述規(guī)定,寫出模式R的基本FD和關(guān)鍵碼。(2)R最高屬于幾范式。(3)將R規(guī)范到3NF。

三. SQL語句

1.零件、供應(yīng)商、采購 ? 設(shè)有以下關(guān)系模式

PART(PNO, PNAME, PMODEL)零件號、零件名稱、零件型號

BUY(PNO, SNO, BDATE, BPRICE, BNUM)零件號、供應(yīng)商號、采購日期、采購價格、采購數(shù)量

SUPPLIER(SNO, SNAME, SADDRESS)供應(yīng)商號,供應(yīng)商名稱,供應(yīng)商地址

? 要求寫出符合下列題目要求的SQL語句

(1)查詢供應(yīng)商名稱為?創(chuàng)新零件?的所有零件購買記錄(零件號、零件名稱、零件型號、供應(yīng)商號、供應(yīng)商名稱、采購日期、采購價格、采購數(shù)量)。

查詢供應(yīng)商名稱為?創(chuàng)新零件?的所有零件購買記錄(零件號、零件名稱、零件型號、供應(yīng)商號、供應(yīng)商名稱、采購日期、采購價格、采購數(shù)量)。

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUPPLIER.SNO, SUPPLIER.SNAME, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

SUPPLIER.SNAME = '創(chuàng)新零件';(2)查詢零件?O性密封圈?并且型號為?5*5?的零件購買記錄。

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUPPLIER.SNO, SUPPLIER.SNAME, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

PART.PNAME = 'O型密封圈' AND

PART.PMODEL = '5*5';(3)查詢2011年5月份的零件購買記錄

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUPPLIER.SNO, SUPPLIER.SNAME, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

BUY.BDATE BETWEEN TO_DATE(‘2011-05-01', 'YYYY-MM-DD')AND TO_DATE('2011-05-31', 'YYYY-MM-DD');(4)查詢2011采購價格1000元以上的零件購買記錄

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUPPLIER.SNO, SUPPLIER.SNAME, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY

WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

BUY.BPRICE >= 1000 AND

BUY.BDATE BETWEEN TO_DATE('2011-1-1', 'YYYY-MM-DD')AND TO_DATE('2011-12-31', 'YYYY-MM-DD');(5)查詢2011各零件的購買總數(shù)量和總金額,按零件號排列

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUM(BUY.BNUM)AS CNT, SUM(BUY.BPRICE * BUY.BNUM)AS AMOUNT FROM PART, BUY WHERE PART.PNO = BUY.PNO AND

BUY.BDATE BETWEEN TO_DATE('2011-1-1', 'YYYY-MM-DD')AND TO_DATE('2011-12-31', 'YYYY-MM-DD')GROUP BY PART.PNO, PART.PNAME, PART.PMODEL ORDER BY PART.PNO;(6)查詢各供應(yīng)商2011的零件供應(yīng)總數(shù)量和總金額,按總金額逆序排列

SELECT SUPPLIER.SNO, SUPPLIER.SNAME, SUM(BUY.BNUM)AS CNT, SUM(BUY.BPRICE * BUY.BNUM)AS AMOUNT FROM SUPPLIER, BUY WHERE BUY.SNO = SUPPLIER.SNO AND

BUY.BDATE BETWEEN TO_DATE('2011-1-1', 'YYYY-MM-DD')AND TO_DATE('2011-12-31', 'YYYY-MM-DD')

GROUP BY SUPPLIER.SNO, SUPPLIER.SNAME ORDER BY AMOUNT DESC;(7)查詢供應(yīng)商?創(chuàng)新零件?2011的零件供應(yīng)總數(shù)量和總金額

SELECT SUPPLIER.SNO, SUPPLIER.SNAME, SUM(BUY.BNUM)AS CNT, SUM(BUY.BPRICE * BUY.BNUM)AS AMOUNT FROM SUPPLIER, BUY WHERE BUY.SNO = SUPPLIER.SNO AND

SUPPLIER.SNAME = '創(chuàng)新零件' AND

BUY.BDATE BETWEEN TO_DATE('2011-1-1', 'YYYY-MM-DD')AND TO_DATE('2011-12-31', 'YYYY-MM-DD')

GROUP BY SUPPLIER.SNO, SUPPLIER.SNAME;(8)查詢符合下列條件的零件購買記錄 零件號?PART01? 非?創(chuàng)新零件?供應(yīng)商

零件采購價格低于?創(chuàng)新零件?且零件號為?PART01?的最低價格

SELECT PART.PNO, PART.PNAME, PART.PMODEL, SUPPLIER.SNO, SUPPLIER.SNAME, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

PART.PNO = 'PART01' AND

SUPPLIER.SNAME <> '創(chuàng)新零件' AND

BUY.BPRICE <(SELECT MIN(BUY.BPRICE)FROM BUY, SUPPLIER WHERE BUY.SNO = SUPPLIER.SNO AND BUY.PNO = 'PART01' AND SUPPLIER.SNAME = '創(chuàng)新零件');(9)在零件表中插入記錄(?PART06?, ?輪胎?, ?225/55 R17?)INSERT INTO PART

VALUES('PART06', '輪胎', '225/55 R17');(10)在零件表中刪除零件規(guī)格為?225/55 R17?的記錄 DELETE FROM PART

WHERE PART.PMODEL = '225/55 R17';

(11)更新供應(yīng)商?創(chuàng)新零件?的地址為?杭州市? UPDATE SUPPLIER SET SUPPLIER.SADDRESS ='杭州市' WHERE SUPPLIER.SNAME = '創(chuàng)新零件';(12)生成一個視圖ANNUALBUY顯示2011所有零件購買記錄,按照供應(yīng)商號排序,一個供應(yīng)商內(nèi)按照零件號排序 CREATE VIEW ANNUALBUY AS SELECT SUPPLIER.SNO, SUPPLIER.SNAME, PART.PNO, PART.PNAME, PART.PMODEL, BUY.BDATE, BUY.BPRICE, BUY.BNUM FROM PART, SUPPLIER, BUY WHERE PART.PNO = BUY.PNO AND

BUY.SNO = SUPPLIER.SNO AND

BUY.BDATE BETWEEN TO_DATE('2011-1-1', 'YYYY-MM-DD')AND TO_DATE('2011-12-31', 'YYYY-MM-DD')

ORDER BY SUPPLIER.SNO, PART.PNO;

(13)賦予用戶張小明對零件表有SELECT權(quán)利,對購買表的采購數(shù)量字段有更新權(quán)限。GRANT SELECT ON PART, UPDATE(BNUM)ON BUY TO 張小明;(14)收回用戶張小明對零件表有SELECT權(quán)利。REVOKE SELECT ON PART FROM 張小明;2.試用SQL語言查詢項目金額在20000元~30000元(包括20000元和30000元)之間并且項目名稱以?銀行?開頭的項目名稱,項目類別,項目金額。SELECT PNAME,PCATOGERY,AMOUNT FROM PROJECT WHERE AMOUNT BETWEEN 20000 AND 30000 AND PNAME LIKE ‘銀行%’;

3.試用SQL語言查詢參加項目名稱為“網(wǎng)上書城”的教師姓名。

SELECT TNAME FROM TEACHER, DELIVERY,PROJECT WHERE TEACHER.TNO=DELIVERY.TNO AND DELIVERY.PNO=PROJECT.PNO AND PROJECT.PNAME=‘網(wǎng)上書城’;

第四篇:數(shù)據(jù)庫考試試題總結(jié)

數(shù)據(jù)庫重點習(xí)題總結(jié):(標(biāo)注顏色的是我考到的簡答題).試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。

(l)數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、圖像、聲音、正文等。

(2)數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲存在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。

(3)數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。

(4)數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。

2.關(guān)系的完整性約束條件三大類:實體完整性,參照完整性,用戶定義的完整性。3.試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個要素。

數(shù)據(jù)模型是數(shù)據(jù)庫中用來對現(xiàn)實世界進(jìn)行抽象的工具,是數(shù)據(jù)庫中用于提供信息表示和操作手段的形式構(gòu)架。數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。(l)數(shù)據(jù)結(jié)構(gòu):是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。

(2)數(shù)據(jù)操作:是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒng)動態(tài)特性的描述。

(3)數(shù)據(jù)的約束條件:是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。

4.試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點是什么?

數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式,是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它把數(shù)據(jù)的具體組織留給 DBMs 管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的表示和存儲。為了能夠在內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。5.試述數(shù)據(jù)庫系統(tǒng)的特點。

(l)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化

(2)數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)庫的數(shù)據(jù)不再面向某個應(yīng)用而是面向整個系統(tǒng),因此可以被多個用戶、多個應(yīng)用以多種不同的語言共享使用。

(3)數(shù)據(jù)獨立性高數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。

(4)數(shù)據(jù)由 DBMS 統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個用戶可以同時存 6.授權(quán)與回收

GRAND INSERT ON TABLE Student TO PUBLIC WITH GRAND OPTION REVOKE INSERT ON TABLE Student FROM SC 7.針對習(xí)題 3 中的四個表試用 SQL 語言完成以下各項操作:(1)找出所有供應(yīng)商的姓名和所在城市。SELECT SNAME,CITY FROM S(2)找出所有零件的名稱、顏色、重量。SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供應(yīng)商 S1 所供應(yīng)零件的工程號碼。SELECT DIST JNO FROM SPJ WHERE SNO='S1'(4)找出工程項目 J2 使用的各種零件的名稱及其數(shù)量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5)找出上海廠商供應(yīng)的所有零件號碼。SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海產(chǎn)的零件的工程名稱。SELECT JNAME FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO(7)找出沒有使用天津產(chǎn)的零件的工程號碼。

注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN(SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津')適用于 JNO 是唯一或不唯一的情況.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'適用于 JNO 是唯一的情況

(8)把全部紅色零件的顏色改成藍(lán)色。UPDATE P SET COLOR='藍(lán)' WHERE COLOR='紅'(9)由 S5 供給 J4 的零件 P6 改為由 S3 供應(yīng)。UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號是 S2 的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。A、DELETE FROM S WHERE SNO=’S2’ B、DELETE FROM SPJ WHERE SNO=‘S2’(11)請將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)

8.試述數(shù)據(jù)庫設(shè)計過程。

答:數(shù)據(jù)庫設(shè)計過程的六個階段:(l)需求分析;(2)概念結(jié)構(gòu)設(shè)計;(3)邏輯結(jié)構(gòu)設(shè)計;(4)數(shù)據(jù)庫物理設(shè)計;(5)數(shù)據(jù)庫實施;(6)數(shù)據(jù)庫運行和維 9.什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么?視圖的優(yōu)點。所有的視圖是否都可以更新

基本表是本身獨立存在的表,在 sQL 中一個關(guān)系就對應(yīng)一個表。視圖是從一個或幾個基本表導(dǎo)出的表。視圖本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。

(l)視圖能夠簡化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);(3)視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性;(4)視圖能夠?qū)C密數(shù)據(jù)提供安全保護(hù)。不是。視圖是不實際存儲數(shù)據(jù)的虛表,因此對視圖的更新,最終要轉(zhuǎn)換為對基本表的更新。因為有些視圖的更新不能惟一有意義地轉(zhuǎn)換成對相應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的.10.哪類視圖是可以更新的?哪類視圖是不可更新的?各舉一例說明。

答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來自集函數(shù)、表達(dá)式,則該視圖 肯定是不可以更新的。

9.登記日志文件的基本原則:1)登記的次序嚴(yán)格按并發(fā)事物執(zhí)行的時間次序 2)必須先寫日志文件后寫數(shù)據(jù)庫

11.事物具有四個特性:

原子性:事物是數(shù)據(jù)庫的邏輯基本工作單位。

一致性:事物執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)編導(dǎo)另一個一致性狀態(tài)。隔離性:一個事物的執(zhí)行不能被其他事物干擾

持續(xù)性:一個事物一旦提交,他對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的!

12.并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況? 答:包括三類:丟失修改、不可重復(fù)讀和讀“臟’夕數(shù)據(jù)。

(l)丟失修改兩個事務(wù) Tl 和 T2 讀入同一數(shù)據(jù)并修改,T2 提交的結(jié)果破壞了(覆蓋了)Tl 提交的結(jié)果,導(dǎo)致 Tl 的修改被丟失。(2)不可重復(fù)讀不可重復(fù)讀是指事務(wù) Tl 讀取數(shù)據(jù)后,事務(wù)幾執(zhí)行更新操作,使 Tl 無法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)讀“臟’夕數(shù)據(jù)是指事務(wù) Tl 修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)幾讀取同一數(shù)據(jù)后,Tl 由于某種原因被撤銷,這時Tl 已修改過的數(shù)據(jù)恢復(fù)原值,幾讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則幾讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。最常用的技術(shù)是封鎖技術(shù)。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進(jìn)行并發(fā)控制。

13.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。

答:封鎖就是事務(wù) T 在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù) T 就對該數(shù)據(jù)對象有了一定的控制,在事務(wù) T 釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術(shù)。

基本的封鎖類型有兩種:排它鎖和共享鎖。排它鎖又稱為寫鎖。若事務(wù) T 對數(shù)據(jù)對象 A 加上 X 鎖,則只允許 T讀取和修改 A,其他任何事務(wù)都不能再對 A 加任何類型的鎖,直到 T 釋放 A 上的鎖。這就保證了其他事務(wù)在 T 釋放 A 上的鎖之前不能再讀取和修改 A。共享鎖又稱為讀鎖。若事務(wù) T 對數(shù)據(jù)對象 A 加上 S 鎖,則事務(wù) T 可以讀 A 但不能修改 A,其他事務(wù)只能再對A 加 S 鎖,而不能加 X 鎖,直到 T 釋放 A 上的 S 鎖。這就保證了其他事務(wù)可以讀 A,但在 T 釋放 A 上的 S 鎖之前不能對 A 做任何修改。14.如何用封鎖機制保證數(shù)據(jù)的一致性? 答: DBMS 在對數(shù)據(jù)進(jìn)行讀、寫操作之前首先對該數(shù)據(jù)執(zhí)行封鎖操作,例如下圖中事務(wù)Tl 在對 A 進(jìn)行修改之前先對 A 執(zhí)行 xock(A),即對 A 加 x 鎖。這樣,當(dāng)幾請求對 A 加x 鎖時就被拒絕,幾只能等待 Tl 釋放 A 上的鎖后才能獲得對 A 的 x 鎖,這時它讀到的A 是 Tl 更新后的值,再按此新的 A 值進(jìn)行運算。這樣就不會丟失 Tl 的更新。

第五篇:數(shù)據(jù)庫考試

Three schema architecture of dbs

1.外模式:也稱子模式或用戶模式,他是數(shù)據(jù)用戶能夠看見和使用的局部的數(shù)據(jù)結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,且與某一應(yīng)用有關(guān)的數(shù)據(jù)邏輯表示。

2.模式:也稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。他是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、所使用的應(yīng)用開發(fā)工具及高級程序設(shè)計語言無關(guān)。綜合的考慮了所有用戶的需求。

3.內(nèi)模式:也稱存儲模式,一個數(shù)據(jù)庫只有一個內(nèi)模式,他是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。Independence of data

1.邏輯獨立性:1它通過外模式/模式映像表現(xiàn)出來。2模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)。3對同一模式可以有多個外模式,對于一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系;當(dāng)模式改變時,由數(shù)據(jù)庫管理員對各個外模式的映像作用相應(yīng)改變可以使外模式保持不變。

2.物理獨立性:1它通過模式/內(nèi)模式反映出來。2模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。3當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,而應(yīng)用程序不用改變。

Main factors of the data model

1.數(shù)據(jù)結(jié)構(gòu):指所研究數(shù)據(jù)集合及數(shù)據(jù)間的聯(lián)系,是對系統(tǒng)靜態(tài)特性的描述

2.數(shù)據(jù)操作:對數(shù)據(jù)庫中各類數(shù)據(jù)允許執(zhí)行的操作及有關(guān)的操作規(guī)則,檢索、更新(包括插入、刪除、修改),是對系統(tǒng)動態(tài)特性的描述

3數(shù)據(jù)的約束條件:一組數(shù)據(jù)及其聯(lián)系所具有的制約規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容

Design strategies for conceptual design 1自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。

2自底向下:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)。

3逐步擴張:首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)。

4混合策略:將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。

Translation Rules

一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對實體間的聯(lián)系:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意對應(yīng)的關(guān)系模式合并;一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,它的碼為n端實體的碼;也可以與n端對應(yīng)的關(guān)系模式合并;一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,碼為兩端實體碼的組合;三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式;具有相同碼的關(guān)系模式可以合并。

The Phases of Database Design

1需求分析:通過詳細(xì)調(diào)查顯示世界要處理的對象,充分了解原系統(tǒng)工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。

2概念設(shè)計:將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型。

3邏輯結(jié)構(gòu)設(shè)計:把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用dbms產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。

4物理結(jié)構(gòu)設(shè)計為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。5數(shù)據(jù)庫實施:用rdbms提供的數(shù)據(jù)定義語言和其他實用程序?qū)?shù)據(jù)庫邏輯設(shè)計和物理設(shè)計結(jié)果嚴(yán)格描述出來,成為dbms可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式,然后組織數(shù)據(jù)入庫。

6數(shù)據(jù)庫運行和維護(hù):對數(shù)據(jù)庫設(shè)計進(jìn)行評價、調(diào)整、修改、等維護(hù)工作。

下載數(shù)據(jù)庫考試期末總結(jié)word格式文檔
下載數(shù)據(jù)庫考試期末總結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    數(shù)據(jù)庫考試總結(jié)- 你懂得

    第一章 數(shù)據(jù) 數(shù)據(jù)庫中存儲的基本對象 描述事物的符號記錄。 數(shù)據(jù)庫 長期存儲在計算機內(nèi),有組織,可共享的大量數(shù)據(jù)的集合,數(shù)據(jù)有較小冗余度,較高數(shù)據(jù)獨立性,易擴展性,并可為各種用......

    數(shù)據(jù)庫期末考試題及答案

    數(shù)據(jù)庫系統(tǒng)概論習(xí)題集 第一章 緒論 一、選擇題 1. DBS是采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng),它是一個集合體,包含數(shù)據(jù)庫、計算機硬件、軟件和( ) 。 A. 系統(tǒng)分析員B. 程序員 C. 數(shù)......

    數(shù)據(jù)庫期末復(fù)習(xí)教案[定稿]

    15計科本《數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用》期末復(fù)習(xí)綱要 一、 題型與分值分布 1、 2、 3、 4、 單項選擇20題,計20分 填空題,每空1分,計10分 簡答題4小題,計20分 綜合應(yīng)用題2題,計50分 (1......

    數(shù)據(jù)庫 考試大題

    假設(shè)教學(xué)管理規(guī)定: ①一個學(xué)生可選修多門課,一門課有若干學(xué)生選修; ②一個教師可講授多門課,一門課只有一個教師講授; ③一個學(xué)生選修一門課,僅有一個成績。 學(xué)生的屬性有學(xué)號、學(xué)......

    數(shù)據(jù)庫總結(jié)

    數(shù)據(jù)庫老師畫的重點 數(shù)據(jù)庫:數(shù)據(jù)庫是長期存儲在計算機內(nèi)、有組織、可共享的大數(shù)據(jù)集合。 數(shù)據(jù)庫操縱功能:查詢select、插入insert、刪除delete、修改update 數(shù)據(jù)庫系統(tǒng)的特點:1......

    數(shù)據(jù)庫總結(jié)

    數(shù)據(jù)庫總結(jié):共三天的課程 數(shù)據(jù)庫的概念:數(shù)據(jù)庫是一組有序的數(shù)據(jù)的集合; 數(shù)據(jù)庫的作用:為了有效的管理數(shù)據(jù); 數(shù)據(jù)類型: 一 字符串相關(guān)的類型:一般用于人名、大于2147483647(10位數(shù))的......

    燕山大學(xué)數(shù)據(jù)庫考試總結(jié)(精選5篇)

    三、問答題 1.數(shù)據(jù)庫、數(shù)據(jù)管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三者之間有何區(qū)別?有何關(guān)系? 數(shù)據(jù)庫簡稱(DB )是長期存儲在計算機內(nèi)的,有組織的可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)簡稱 (DBMs ) :數(shù)......

    小學(xué)考試期末總結(jié)(合集)

    小學(xué)考試期末總結(jié)15篇總結(jié)是對某一階段的工作、學(xué)習(xí)或思想中的經(jīng)驗或情況進(jìn)行分析研究的書面材料,它能夠給人努力工作的動力,我想我們需要寫一份總結(jié)了吧。你想知道總結(jié)怎么寫......

主站蜘蛛池模板: 无码性午夜视频在线观看| 强行糟蹋人妻hd中文| 五十老熟妇乱子伦免费观看| 麻豆av久久无码精品九九| 国产香蕉尹人在线观看视频| www一区二区www免费| 亚洲日本国产综合高清| 最新国产福利在线观看精品| 色噜噜狠狠一区二区三区| 色综合视频一区二区三区44| 国产又色又爽无遮挡免费| 久久九九国产精品怡红院| 亚洲国产日韩精品一区二区三区| 亚洲香蕉中文日韩v日本| JUL-632无码中文字幕| 亚洲av成人无码一区二区三区在线观看| 97久久精品人妻人人搡人人玩| 人妻少妇精品无码专区漫画| 台湾无码一区二区| 亚洲第一av导航av尤物| 国产精品白丝av网站在线观看| 国产永久av福利在线观看| 日韩av无码成人无码免费| 国产精品人人妻人人爽麻豆| 国产超碰无码最新上传| 伦理片免费完整片在线观看| 麻豆人妻无码性色av专区| 碰超免费人妻中文字幕| 国产精品无码a∨精品影院| 99久久国产宗和精品1上映| 日日av拍夜夜添久久免费| 含羞草亚洲av无码久久精品| 日本五月天婷久久网站| 日韩在线一区二区不卡视频| 亚洲综合色区中文字幕| 色多多www视频在线观看免费| 久久精品日韩av无码| 美女啪啪网站又黄又免费| 99久久精品国产波多野结衣| 久久精品女人天堂av免费观看| 亚洲图片日本视频免费|