第一篇:數據庫總結(簡答題)
數據的定義 :描述事物的符號記錄
數據庫的定義:數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據集合
DBMS的定義:數據庫管理系統(Database Management System,簡稱DBMS):位于用戶與操作系統之間的一層數據管理軟件(系統軟件)。
DBMS的用途:
(1)科學地組織和存儲數據(2)高效地獲取和維護數據 DBMS的主要功能:
(1)數據定義功能:提供數據定義語言(DDL)定義數據庫中的數據對象
(2)數據操縱功能:提供數據操縱語言(DML),實現對數據庫的基本操作(查詢、插入、刪除和修改)。
(3)數據庫的運行管理:在數據庫建立、運用和維護時對數據庫進行統 一控制,以保證數據的完整性、安全性、并在多用戶同時使用數據庫時進行并發控制,且在數據庫系統發生故障后對系統進行恢復。
(4)數據庫的建立和維護功能(實用程序):數據庫數據批量裝載、數據庫轉儲、恢復、數據庫的重組織、性能監視等
(5)數據庫系統(Database System,簡稱DBS):指在計算機系統中引入數據庫后的系統 在不引起混淆的情況下常常把數據庫系統簡稱為數據庫
數據庫系統的構成(1)數據庫
(2)數據庫管理系統(及其開發工具)
應用系統
數據庫管理員(DBA)和用戶
數據管理是指對數據的組織、分類、編碼、存儲、檢索和維護。數據管理技術的發展過程 人工管理階段特點:
(1)數據不保存
(2)系統沒有專用的軟件對數據進行管理
(3)數據不共享
(4)數據不具有獨立性 文件系統階段特點:
(1)數據以文件形式長期保存(2)數據由文件系統統一管理(3)應用程序直接訪問數據文件(4)數據的存取基本上以記錄為單位 缺點:(1)數據冗余度大(2)數據獨立性低(2)數據一致性差
數據庫系統階段特點:(1)數據共享性高、冗余少(2)數據結構化(3)數據獨立性高
(4)由DBMS進行統一的數據控制功能 A)數據的安全性(security)控制 B)數據的完整性(integrity)控制 C)并發(concurrency)控制 D)數據恢復(recovery)
數據模型分成兩個不同的層次:
(1)概念模型(概念層數據模型,也稱信息模型):它是按用戶的觀點來 對數據和信息建模。
(2)數據模型(組織層數據模型):它是按計算機系統的觀點對數據建模,主要用于DBMS的實現。
抽象過程---兩步抽象
(1)現實世界中的客觀對象抽象為概念模型;
(2)把概念模型轉換為某一DBMS支持的數據模型。
數據模型通常由數據結構、數據操作和數據的約束條件三個要素組成(7)聯系(Relationship)
實體內部的聯系:組成實體的各屬性之間的聯系。實體之間的聯系:不同實體集之間的聯系。(1)一對一(2)一對多(3)多對多 目前最常用的數據模型有
層次模型(Hierarchical Model)網狀模型(Network Model)關系模型(Relational Model)面向對象的數據模型(5)關系模型的優缺點 優點:
1)建立在嚴格的數學概念的基礎上
2)數據結構簡單、清晰,用戶易懂易用實體和各類聯系都用關系來表示。
3)關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作 缺點
1)存取路徑對用戶透明, 導致查詢效率往往不如非關系數據模型 2)為提高性能,必須對用戶的查詢請求進行優化 三級模式結構: 外模式:是數據庫中全體數據的邏輯結構和特征的描述
概念模式:是數據庫用戶使用的局部數據的邏輯結構和特征的描述 內模式:是數據物理結構和存儲方式的描述
二級映象
(1)外模式/模式映象:定義外模式與模式之間的對應關系 用途: 保證數據的邏輯獨立性
(2)模式/內模式映象:模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。
用途:保證數據的物理獨立性 關系數據庫的規范化理論主要包括三個方面的內容: 函數信賴
范式(Normal Form)模式設計和模式分解
進行數據庫的操作時,會出現以下幾方面的問題: 1.數據冗余
2.插入異常 3.刪除異常 4.更新異常
一個好的關系模式應該具備以下四個條件: 1.盡可能少的數據冗余 2.沒有插入異常 3.沒有刪除異常 4.沒有更新異常
1.第一范式
第一范式(First Normal Form)是最基本的規范形式,即關系中每個屬性都是不可再分的簡單項。
2.第二范式
定義:如果關系模式R∈1NF,并且R中的每個非主屬性都完全函數依賴于主碼,則R∈2NF。存在問題:(1)數據冗余
(2)插入異常(3)刪除異常(4)更新異常
之所以存在這些問題,是由于在S-L表中存在著非主屬性對主碼的傳遞依賴。3.第三范式
定義:如果R(U,F)∈2NF,并且所有非主屬性都不傳遞依賴于主碼,則 R(U,F)∈3NF。
關系模式S-L由2NF分解為3NF后,既沒有非主屬性對主碼的部分依賴,也沒有非主屬性對主碼的傳遞依賴,解決了2NF中存在的四個問題。(1)數據冗余降低(2)不存在插入異常(3)不存在刪除異常(4)不存在更新異常值
4.BC范式
(BCNF)
定義:若關系模式R∈1NF,對于關系R的每個函數依賴X→Y且Y?X,X必含有候選碼,則R∈BCNF。
即每個決定屬性集都包含候選碼。
關系規范化的目的:解決關系模式中存在的插入、刪除、更新操作異常,數據冗余問題.關系規范化的方法:圍繞函數依賴的主線,對一個關系模式進行分解,使關系從較低級范式變換到較高級范式。模式分解的準則:(1)無損連接性(2)保持函數依賴 SQL語言特點
(1)高度非過程化的語言(2)面向集合的語言(3)能以多種方式使用
(4)具有查詢、操作、定義和控制四種語言一體化的特點(5)語言簡潔、易學易用
SQL按其功能可分為四大部分:數據定義功能、數據控制功能、數據查詢功能和數據操縱功能。
(1)數據定義功能用于定義、刪除和修改數據庫中的對象;(2)數據查詢功能用于實現查詢數據的功能;
(3)數據操縱功能用于實現對數據庫數據的增加、刪除和修改;(4)數據控制功能用于實現控制用戶對數據庫的操作權限 索引:記錄的關鍵字與其相應地址的對應表。
視圖(view): 是從一個或者多個表或視圖中導出的表。它與基本表不同的是:
(1)基本表(base table):獨立存在的表, 基本表中的數據是存在數據庫中。(2)視圖是一個虛表。即視圖所對應的數據不實際存放在數據庫中
(3)在數據庫中只存放視圖的定義,不存放視圖包含的數據,這些數據仍存放在原來的基本表中。
(4)基表中的數據發生變化,從視圖中查詢出的數據也隨之改變。視圖作用
(1)簡化數據查詢語句
(2)使用戶能從多角度看到同一數據(3)提高了數據的安全性
(4)提供了一定程度的邏輯獨立性
一、SQL嵌入到主語言要解決的問題 ①如何識別SQL ②數據傳遞
③解決SQL一次一集合的操作與主語言一次一記錄操作的矛盾.用游標解決。
四、使用游標的步驟
1、說明游標
格式:exec SQL declear <游標名> cursor for
2、打開游標
格式:exec SQL open <游標名>
3、推進游標
格式:
exec SQL fetch <游標名> into <主變量1>,<主變量2>?
4、關閉游標
格式:exec SQL close <游標名>
1.什么是數據庫設計
數據庫設計是指對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲、管理數據,滿足各種用戶的應用需求(信息要求和處理要求)2 ,數據庫設計的內容
數據庫設計包括數據庫的結構設計和數據庫的行為設計兩方面的內容。
一、需求分析的任務
1.詳細調查現實世界要處理的對象(組織、部門、企業等)充分了解原系統工作概況(手工系統或計算機系統),明確用戶的各種需求
2.確定新系統的功能。新系統必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫
3.編寫需求分析說明書
(1)信息要求
(2)處理要求
(3)安全性與完整性要求 需求分析的方法
自頂向下的結構化分析方法(簡稱SA方法)該方法從最上層的系統組織機構入手,采用逐層分解的方式分析系統,并用數據流圖和數據字典描述系統。
數據流圖(Data Flow Diagram,DFD):是一種最常用的結構化分析工具,它從數據傳遞和加工角度,以圖形的方式描述數據在系統中流動和處理的過程。
數據字典(Data Dictionary,簡稱DD)的用途
數據字典是系統中各類數據的詳細描述的集合
進行詳細的數據收集和數據分析所獲得的主要結果
數據字典的內容
(1)數據結構(2)數據流(3)數據存儲(4)處理過程
概念結構設計:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型(E-R圖)邏輯結構設計:將概念結構轉換為某個DBMS所支持的數據模型,如關系模型,形成數據庫邏輯模式與外模式。
物理結構設計:設計數據的存取方法和存儲結構,是形成 數據庫的內模式,如數據庫文件或目錄、索引等
2.概念結構設計的特點
(1)有豐富的語義表達能力。(2)易于交流和理解。
(3)易于更改
(4)易于向各種數據模型轉換 3.概念結構設計的策略
(1)自低向上
(2)自頂向下(3)由里向外
(4)混合策略
4.采用E-R模型方法的概念結構設計 1)設計局部E-R模型。2)設計全局E-R模型。3)優化全局E-R模型。
將現實世界中的事物進行數據抽象 三種常用抽象方法:
(1)分類(2)概括(3)聚集 1)設計局部E-R模型
利用抽象機制對需求分析階段收集的數據進行分析,標定局部應用中的實體、屬性、碼,實體間的聯系,設計局部E-R圖(2)設計全局E-R模型
(1)一次集成(2)逐步累積式
關鍵:合理消除各局部E-R圖合并時產生的的沖突(1)屬性(2)命名(3)結構(3)優化全局E-R模型
(1)實體個數盡可能少;
(2)實體所包含的屬性盡可能少;(3)實體間聯系無冗余。1.E-R模型向關系模型的轉換(1)一個實體轉換為一個關系模式
(2)一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端所對應的關系模式合并。
(3)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與任意n端所對應的關系模式合并。
(4)一個m:n聯系轉換為一個獨立的關系模式,(5)三個或三個以上實體間的一個多元聯系轉換為一個關系模式。2.數據模型的優化
通常的兩種分解方法:水平分解和垂直分解。數據庫的物理設計的步驟:(1)確定數據庫的物理結構
1)確定存取方法
索引方法,聚簇(Cluster)方法,HASH方法 2)確定數據的存放位置
基本原則:根據應用情況將易變部分與穩定部分分開存放
存取頻率較高部分與存取頻率較低部分分開存放。(2)對物理結構進行評價,評價的重點是時間和空間效率 數據庫實施的工作內容:
(1)用DDL定義數據庫結構
(2)組織數據入庫
(3)編制與調試應用程序
(4)數據庫試運行
DBMS對數據庫的安全保護:
(1)即安全性控制(2)完整性控制(3)并發性控制
(4)數據庫恢復。
數據庫的安全性是指保護數據庫,以防止非法使用所造成數據的泄露、更改或破壞。安全性控制的一般方法
(1)對有意的非法活動可采用加密存、取數據的方法控制;
(2)對有意的非法操作可使用用戶身份驗證、限制操作權來控制;(3)對無意的損壞可采用提高系統的可靠性和數據備份等方法來控制。二.完整性規則的組成
具體地說,完整性規則主要由以下三部分構成:
1. 觸發條件:規定系統什么時候使用規則檢查數據;
2. 約束條件:規定系統檢查用戶發出的操作請求違背了什么樣的完整性約束條件;
3. 違約響應:規定系統如果發現用戶的操作請求違背了完整性約束條件,應該采取一定的動作來保證數據的完整性,即違約時要做的事情。
關系模型的完整性:實體完整性,參照完整性和用戶定義完整性。三.完整性約束條件的作用對象
完整性約束條件的作用對象可以是表、元組和列。
1.列級約束:即對數據類型、數據格式、取值范圍等進行規定。2.元組約束 3.關系約束 1.事務的定義
事務是用戶定義的數據操作系列,這些操作作為一個完整的工作單元事務的特征 原子性(Atomic)一致性(Consistency)隔離性(Isolation)持久性(Durability)(1)丟失修改(2)污讀(3)不可重讀(4)產生“幽靈”數據 三.并發控制措施
并發控制的主要方式是封鎖機制,即加鎖(Locking)。排它鎖和共享鎖
在同時處于等待狀態的兩個或多個事務中,其中的每一個在它能夠進行之前,都等待著某個數據、而這個數據已被它們中的某個事務所封鎖,這種狀態稱為死鎖。(1)一次封鎖法(2)順序封鎖法
數據庫備份指定期或不定期地對數據庫數據進行復制,可以將數據復制到本地機器上,也可以復制到其它機器上,備份的介質可以是磁帶也可以是磁盤。
事務故障、系統故障和介質故障。四.恢復技術
(1)利用備份技術(2)利用事務日志(3)利用鏡像技術
QL Server 2000常用工具簡介 1.企業管理器
2.查詢分析器(Query Analyaer)3.服務管理器(Service Manager)4.分布式事務處理協調器(DTC)5.性能監視器(Performance Monitor)
6.導入和導出數據(Imput and Export Data)7.事件探查器
SQL Server的數據庫由兩種文件組成:數據文件和日志文件。SQL Server的用戶有兩種類型:Windows授權用戶,SQL授權用戶
一、SQL Server的安全控制
Windows身份驗證模式 混合驗證模式 2.權限管理 授予權限 收回權限
拒絕訪問
SQL Server 2000四種備份方式 完全備份 差異備份 事務日志備份 文件和文件組備份
第二篇:數據庫原理簡答題總結
數據庫原理簡答題總結
第一章 數據庫概論
1.人工管理階段數據管理的特點:
(1)數據不保存在機器中
(2)無專用的軟件對數據進行管理
(3)只有程序的概念,沒有文件的概念
(4)數據面向程序
2.文件系統階段數據管理的特點:
(1)數據可長期保存在外存的磁盤上
(2)數據的邏輯結構和物理結構有了區別
(3)文件組織已呈多樣化。有索引、鏈接和散列文件
(4)數據不再屬于某個特定的程序,可重復使用。
3.文件系統顯露出三個缺陷:
(1)數據冗余性
(2)數據不一致性
(3)數據聯系弱
4.數據庫階段的管理方式具有以下特點:
(1)采用復雜的數據模型表示數據結構
(2)有較高的數據獨立性
(3)數據庫系統為用戶提供方便的用戶接口
(4)系統提供四方面的數據控制功能
(5)對數據的操作既可以以記錄為單位,又可以以數據項為單位
5.數據描述三個領域之間的關系:
從事物的特性到計算機中的數據表示,經歷了三個領域:現實世界、信息世界、機器世界。
(1)現實世界:存在于人們頭腦之外的客觀世界,稱為現實世界。
(2)信息世界:是現實世界在人們頭腦中的反映。
(3)機器世界:信息世界的信息在機器世界中以數據形式存儲。
信息世界中數據描述的術語有:實體、實體集、屬性、實體標識符
機器世界中數據描述的術語有:字段、記錄、文件、關鍵碼
它們的對應關系是:
在數據庫中每個概念都有類型和值之區分,類型是概念的內涵,值是概念的外延
6.數據描述的兩種形式:
數據描述有物理描述和邏輯描述兩種形式。
物理數據描述指數據在存儲設備上的存儲方式,物理數據是實際存放在存儲設備上的數據。
邏輯數據描述指程序員或用戶用以操作的數據形式,是抽象的概念化數據。
數據管理軟件的功能之一,就是要把邏輯數據轉換成物理數據,以及把物理數據轉換成邏輯數據。
7.物理存儲介質層次:
8.數據模型的種類:
目前廣泛使用的數據模型可分為兩種類型:概念數據模型、結構數據模型
概念數據模型:是獨立于計算機系統的模型,完全不涉及信息在系統中的表示,只是用來描述某個特定組織所關心的信息結構;它是現實世界的第一層抽象,是用戶和數據庫設計人員之間進行交流的工具;這一類中著名的模型是“實體聯系模型”,簡稱“ER”模型。
結構數據模型:是直接面向數據庫的邏輯結構;
它是現實世界的第二層抽象,涉及到計算機系統和數據庫管理系統;這一類中的例子有層次、網狀、關系、面向對象等模型。
9.結構數據模型的三個組成部分:
數據結構、數據操作、數據完整性約束是結構數據模型的三個組成部分。
數據結構:是指對實體類型和實體間聯系的表達和實現
數據操作:是指對數據庫的檢索和更新(插、刪、改)兩類操作的實現
數據完整性約束:給出數據及其聯系應具有的制約和依賴規則。
10.層次模型的特點:
用樹型結構表示實體類型及實體間聯系的數據模型稱為層次模型。
層次模型的特點是:記錄之間的聯系通過指針實現,查詢效率較高。
缺點是:(1)只能表示1:N聯系
(2)由于樹型結構層次順序的嚴格復雜,引起數據的查詢和更新操作也很復雜,因此編寫應用程序也很復雜。
11.網狀模型的特點:
用有向圖結構表示實體類型及實體間聯系的數據模型稱為網狀模型。
網狀模型的特點是:記錄之間聯系通過指針實現,M:N聯系也容易實現,查詢效率較高。
缺點是:編寫應用程序比較復雜,程序員必須熟悉數據庫的邏輯結構。
12.關系模型的特點:
關系模型的主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯系。
特點是:關系模型與層次、網狀的最大差別是用關鍵碼而不是用指針導航數據,表格簡單,用戶易懂,編程時不涉及存儲結構、訪問技術等細節。
13.數據庫體系結構中的三級結構、兩級映象:
數據庫的體系結構分為三級:內部級、概念級、外部級。
外部級:最接近用戶,是單個用戶所能看到的數據特性。單個用戶使用的數據視圖的描述稱為“外模式”。
概念級:涉及到所有用戶的數據定義,是全局的數據視圖。全局數據視圖的描述稱為“概念模式”。
內部級:最接于物理存儲設備,涉及到實際數據存儲的結構。物理存儲數據視圖的描述稱為“內模式”。
為實現這三個抽象級別的聯系和轉換,DBMS在級級結構之間提供兩個層次的映象:外模式/模式映象,模式/內模式映象。
14.二級數據獨立性:
數據獨立性是指:應用程序和數據之間相互獨立,不受影響。分為物理獨立性和邏輯獨立性。
(1)物理數據獨立性:如果數據庫的內模式要進行修改,即數據庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對內模式的修改盡量不影響概念模式。
(2)邏輯數據獨立性:如果數據庫的概念模式要進行修改,如增加記錄類型或增加數據項,那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是概念模式的修改盡量不影響外模式和應用程序。
15.DBMS的主要功能:
(1)數據庫的定義功能:DBMS提供數據定義語言(DDL)定義數據庫的三級結構及其相互之間的映象、完整性、安全控制等約束。
(2)數據庫的操縱功能:DBMS提供數據操縱語言(DML)實現對數據庫中數據的操作。
(3)數據庫的保護功能:DBMS對數據庫的保護主要通過數據庫的恢復、數據庫的并發控制、數據庫的完整性控制、數據庫的安全性控制等四個方面實現。(4)數據庫的存儲管理:DBMS的存儲管理子系統提供了數據庫中數據和應用程序的一個界面,其職責是把各種DML語句轉換成低層的文件系統命令,起到數據的存儲、檢索和更新的作用。
(5)數據庫的維護功能:DBMS中實現數據庫維護功能的實用程序主要有數據裝載程序、備份程序、文件重組織程序、性能監控程序。
(6)數據字典(DD):數據庫系統中存放三級結構定義的數據庫稱為數據字典,對數據庫的操作都要通過訪問DD才能實現。
16.DBMS的組成:
DBMS是由兩大部分組成:查詢處理器和存儲管理器。
(1)查詢處理器有四個主要成分:DDL編譯器、DML編譯器、嵌入型DML的預編譯器、查詢運行核心程序。
(2)存儲管理器有四個主要成分:授權和完整性管理器、事務管理器、文件管理器、緩沖區管理器。
17.DBS的組成:
DBS是一個實際可運行的,按照數據庫方法存儲、維護和向應用系統提供數據支持的系統,它是數據庫、硬件、軟件、數據庫管理員(DBA)的集合體。
(1)數據庫(DB):是與一個特定組織各項應用有關的全部數據的集合,由應用數據的集合(物理數據庫)、關于各級數據結構的描述(描述數據庫)兩部分組成。
(2)硬件:包括中央處理機、內存、輸入輸出設備、數據通道等硬件設備。
(3)軟件:包括DBMS、OS、各種宿主語言和應用開發支持軟件等程序。
(4)DBA:DBA是控制數據整體結構的人,負責DBS的正常運行。
18.DBS的全局結構:
(1)數據庫用戶。可分為四類:DBA、專業用戶、應用程序員、終端用戶
(2)DBMS的查詢處理器。包括四部分:DML編譯器、嵌入型DML的預編譯器、DLL編譯器、查詢運行核心程序。
(3)DBMS的存儲管理器。包括四部分:授權和完整性管理器、事務管理器、文件管理器、緩沖區管理器。
(4)磁盤存儲器中的數據結構。包括四種形式:數據文件、數據字典、索引文件、統計數據組織。
第二章 關系模型
19.超鍵、主鍵、候選鍵的定義:
超鍵(super key):在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。
候選鍵(candidate key):不含有多余屬性的超鍵稱為候選鍵。(候選鍵可以有多個)
主鍵(primary key):用戶選作元組標識的一個候選鍵稱為主鍵。(主鍵是候選鍵中一個)
20.關系模式、關系子模式和存儲模式:
關系模型基本上遵循數據庫的三級體系結構。概念模式是關系模式的集合,外模式是關系子模式的集合,內模式是存儲模式的集合。
(1)關系模式:關系模式實際上是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。
(2)關系子模式:是用戶所用到的那部分數據的描述。除了指出用戶的數據外,還應指出模式與子模式之間的對應性。
(3)存儲模式:關系存儲時的基本組織方式是文件,元組是文件中的記錄。存儲一個關系可以用散列方法或索引方法實現。如果關系中元組數目較少,也可以用堆文件方式實現。
21.關系模型的三類完整性規則:
(1)實體完整性規則:這條規則要求關系中元組在組成主鍵的屬性上不能有空值。
(2)參照完整性規則:這條規則要求“不引用不存在的實體”。
(3)用戶定義的完整性規則:它反映某一具體應用涉及的數據必須滿足的語義要求。
22.參照完整性規則的形式定義:
如果屬性集K是關系模式R1的主鍵,K也是關系模式R2的外鍵,那么在R2的關系中,K的取值只允許兩種可能,或者為空,或者等于R1關系中某個主鍵值。
此規則使用時還要注意三點:
(1)外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可。
(2)R1和R2也可以是同一個關系模式,表示了屬性之間的聯系。
(3)外鍵值是否允許空,應視具體問題而定。
上述形式定義中,關系模式R1稱為“參照關系”模式,R2稱為“依賴關系”模式。
23.關系模型的形式定義:
24.關系查詢語言根據其理論基礎的不同分為哪兩類:
關系代數語言:查詢操作是以集合操作為基礎運算的DML語言。(非過程性弱)
關系演算語言:查詢操作是以謂詞演算為基礎運算的DML語言。(非過程性強)
25.關系代數中的操作有哪些?
關系代數中的操作可分為兩類:
傳統的集合操作:并、差、交、笛卡爾積
擴充的集合操作:對關系進行垂直分割(投影)、水平分割(選擇),關系的結合(聯接、自然聯接),笛卡爾積的逆運算(除法)等。
其中五個基本操作為:并、差、笛卡爾積、投影、選擇。
四個常用組合操作為:交、連接、自然連接、除法
兩種擴充的關系代數操作為:外連接和外部并
26.關系演算有哪兩種:
關系演算可分為元組關系演算和域關系演算。前者以元組為變量,后者以屬性(域)為變量。
27.什么是約束變量、自由變量:
28.什么是安全運算:
在數據庫技術中,不產生無限關系和無窮驗證的運算稱為安全運算,相應的表達式稱為安全表達式,所采取的措施稱為安全約束。
在關系演算中約定,運算只對表達式中公式在涉及到的關系的值范圍內操作。這樣就不會產生無限關系和無窮驗證問題,關系演算是安全的。
29.為什么要對關系代數表達式進行優化:
查詢優化是由DBMS對關系代數表達式進行優化組合,以提高DBMS的系統效率。要對關系代數進行優化的原因是:由于關系代數表達式是由關系代數操作組合而成。在關系代數操作中,執行笛卡爾積和聯接運算最費時間,并且在執行過程中將產生大量的中間結果,以使系統執行效率較低。在執行前,由DBMS查詢處理子系統先對關系代數表達式進行優化,盡可能早地執行選擇和投影操作,以得到較小的中間關系,減少運算量和讀外存塊的次數,節省系統的執行時間,提高執行效率。
30.簡述查詢優化的優化策略:
(1)在關系代數表達式中盡可能早地執行選擇操作。
(2)把笛卡爾積和隨后的選擇操作合并成F聯接運算。
(3)同時計算一連串的選擇和投影操作,以免分開運算造成多次掃描文件,從而能節省操作時間。
(4)如果在一個表達式中多次出現某個子表達式,應該將該子表達式預先計算出結果保存起來。以免重復計算。
(5)適當的對關系文件進行預處理。
(6)在計算表達式之前應先估計一下怎么計算合算。
31.笛卡爾積、等值連接、自然連接三者之間有什么區別:
等值連接中有笛卡爾積運算;
自然連接是一種等值連接,它是兩個關系中所有公共屬性進行等值連接的結果。第三章 關系數據庫SQL語言32.SQL數據庫的體系結構及術語:
SQL數據庫的體系結構也是三級,但術語與傳統的關系模型不同。
關系模式稱為“基本表”,存儲模式稱為“存儲文件”,子模式稱為“視圖”,元組稱為“行”,屬性稱為“列”。
33.SQL數據庫的體系結構要點是什么:
(1)一個SQL數據庫是表(table)的匯集,它用一個或多個SQL模式定義。一個SQL模式是表和授權的表態定義。
(2)一個SQL表由行集構成,一行是列的序列,每列對應一個數據項。
(3)一個表或者是一個基本表,或者是一個視圖。(視圖只保存定義,不保存數據)
(4)一個基本表可跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲器上一個物理文件對應。
(5)用戶可用SQL語句對視圖和基本表進行查詢等操作。
(6)SQL用戶可以是應用程序,也可以是終端用戶。
34.SQL的組成分成幾部分:
SQL主要分成四部分:
(1)數據定義。(SQL DDL)用于定義SQL模式、基本表、視圖和索引的創建和撤消操作。
(2)數據操縱。(SQL DML)數據操縱分成數據查詢和數據更新兩類。數據更新又分成插入、刪除、和修改三種操作。
(3)數據控制。包括對基本表和視圖的授權,完整性規則的描述,事務控制等內容。
(4)嵌入式SQL的使用規定。涉及到SQL語句嵌入在宿主語言程序中使用的規則。
35.SQL模式的撤消有哪兩種方式:
CASCADE(連鎖式)方式:執行DROP語句時,把SQL模式及其下屬的基本表、視圖、索引等所有元素全部撤消。
RESTRICT(約束式)方式:執行DROP語句時,只有當SQL模式中沒有任何下屬元素時,才能撤消SQL模式,否則拒絕執行DROP語句。
36.SQL提供的基本數據類型有哪些?每種舉兩個例子:
(1)數值型:INTEGER長整數、SMALLINT短整數
(2)字符串型:CHAR(N)長度為N的定長字符串、VARCHAR(N)具有最大長度為N的變長字符串。
(3)位串型:BIT(N)長度為N的二進制位串、BIT VARYING(N)最大長度為N的變長二進制位串
(4)時間型:DATE日期、TIME時間
SQL2允許用戶使用“CREATE DOMAIN”語句定義新的域。
37.完整性約束主要有哪三種子句:
完整性約束主要有三種子句:主鍵子句(PRIMARY KEY),檢查子句(CHECK)和外鍵子句(FOREIGN KEY)
38.什么是視圖,它與表的區別是什么:
在SQL中,外模式一級數據結構的基本單位是視圖,視圖是從若干基本表和(或)其他視圖構造出來的表。我們創建一個視圖時,只是把其視圖的定義存放在數據字典中,而不存儲視圖對應的數據,因此,視圖被稱為“虛表”,這是它與表的主要區別。
39.對于視圖元組的更新操作(INSERT、DELETE、UPDATE)有哪三條規則:
(1)如果一個視圖是從多個基本表使用聯接操作導出的,那么不允許對這個視圖執行更新操作。
(2)如果在導出視圖的過程中,使用了分組和聚合操作,也不允許對這個視圖執行更新操作。
(3)如果視圖是從單個基本表使用選擇、投影操作導出的,并且包含了基本表的主鍵或某個候選鍵,那么這樣的視圖稱為“行列子集視圖”,并且可以被執行更新操作。
SQL2中,允許更新的視圖在定義時,必須加上“WITH CHECK OPTION”短語。
40.SQL語言有哪兩種使用方式:
一種是在終端交互方式下使用,稱為交互式SQL;
另一種是嵌入在高級語言的程序中使用,稱為嵌入式SQL,而這些高級語言可以是C、PASCAL、COBOL等,稱為宿主語言。
41.嵌入式SQL的實現有哪兩種處理方式:
一種是擴充宿主語言的編譯程序,使之能處理SQL語句;
另一種是采用預處理方式。目前多數系統采用后一種。
42.在宿主語言的程序中使用SQL語句有哪些規定:
(1)在程序中要區分SQL語言與宿主語句。所有SQL語句前必須加上前綴標識“EXEC SQL”,并以“END_EXEC”作為語句的結束標志。(結束標志在不同的宿主語言中不同)
(2)允許嵌入的SQL語句引用宿主語言的程序變量(共享變量),但有兩條規定:
1)引用時,這些變量前必須加冒號“:”作為前綴,以示與數據庫中變量有區別。
2)這些變量由宿主語言的程序定義,并用SQL的DECLARE語句說明。43.用游標機制協調SQL的集合處理方式所用的SQL語句有哪些:
與游標有關的SQL語句有下列四個:
(1)游標定義語句(DECLARE)
(2)游標打開語句(OPEN)
(3)游標推進語句(FETCH)
(4)游標關閉語句(CLOSE)
44.SQL DML的嵌入使用技術:
(1)若是INSERT、DELETE、UPDATE語句,則不必涉及游標,只要加上前綴標識和結束標志就能嵌入宿主語言程序中使用。
(2)若是已知查詢結果肯定是單元組的SELECT語句,則不必涉及游標,也可加上前綴標識和結束標志后嵌入宿主語言程序中使用,但此時應該在SELECT語句中增加一個INTO子句,指出找到的值應送到相應的共享變量中去。
(3)若是已知查詢結果為多個元組的SELECT語句,則必須涉及到游標,用游標機制把多個元組一次一個地傳送給宿主程序處理。第四章 關系數據庫的模式設計
45.什么是關系數據庫:
關系數據庫是以關系模型為基礎的數據庫,它利用關系來描述現實世界。一個關系既可以用來描述一個實體及其屬性,也可以用來描述實體間的聯系。關系實質上是一張二維表。
46.一個關系模型有哪兩個方面內容:
一個關系模型包括外延和內涵兩個方面的內容。
外延就是通常所說的關系,或實例,或當前值。它與時間有關,隨著時間的推移在不斷變化。(由于元組的插入、刪除、修改引起的)
內涵是與時間獨立的,包括關系、屬性、及域的一些定義和說明,還有各種數據完整性約束。
47.數據完整性約束分為哪兩類:
數據完整性約束分為靜態約束和動態約束。
靜態約束:包括各種數據之間的聯系(數據依賴),主鍵的設計和關系值的各種限制等等。這一類約束是如何定義關系的有效數據問題。
動態約束:主要定義如插入、刪除、和修改等各種操作的影響。
48.關系數據庫設計理論主要包括哪些內容:
關系數據庫設計理論主要包括三個方面的內容:數據依賴、范式、模式設計方法。其中數據依賴起著核心的作用。
49.數據庫使用過程中存在的問題是什么:
數據冗余、更新異常、插入異常、刪除異常。
50.函數依賴(FD)的定義:
設有關系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具體關系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導致t1[Y]=t2[Y],則稱X函數決定Y,或Y函數依賴于X,記為X→Y,X→Y為模式R的一個函數依賴。
或者說,對于X的每一個具體值,都有Y惟一的具體值與之對應,即Y值由X值決定,因而
這種數據依賴稱為函數依賴。
51.函數依賴的邏輯蘊涵、FD的閉包F+:
52.候選鍵、主屬性、非主屬性:
設有關系模式R(A1,A2,……,An),F是R的一個函數依賴集,X是{A1,A2,……,An}的一個子集。如果
① X→A1A2……An∈F+,且
② 不存在X真子集Y,使得Y→A1A2……An成立,則稱X是R的候選鍵。
包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何一個候選鍵中的屬性稱為非主屬性。
53.函數依賴的推理規則:
設有關系模式R(A1,A2,……,An)和屬性集U= A1,A2,……,An,X,Y,Z,W是U的一個子集,F是R的一個函數依 6 賴集,推理規則如下:
54.什么是平凡的FD?平凡的FD可根據哪一條推理規則推出?
55.關系模式的分解有幾個不同的衡量標準:
分解具有無損聯接;分解要保持函數依賴;
分解既要保持依賴,又要具有無損聯接。
56.什么是無損連接:
57.試敘保持函數依賴的定義:
58.第一范式(1NF):
如果關系模式R的所有屬性的值域中每一個值都是不可再分解的值,則稱R是屬于第一范式模式。
59.第二范式(2NF):
如果關系模式R為第一范式,并且R中每一個非主屬性完全函數依賴于R的候選鍵,則稱R是第二范式模式。
60.第三范式(3NF):
如果關系模式R是第一范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式的模式。
61.BCNF:
如果關系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。從BCNF的定義可明顯地得出如下結論:
(1)所有非主屬性對鍵是完全函數依賴。
(2)所有主屬性對不包含它的鍵是完全函數依賴。
(3)沒有屬性完全函數依賴于非鍵的任何屬性組。
如果模式R是BCNF,則它必定是第三范式,反之,則不一定。
62.模式設計方法的原則:
關系模式R相對于函數依賴集F分解成數據庫模式ρ={R1,R2,……Rk},一般應具有下面三個特性:
(1)ρ中每個關系模式Ri是3NF或BCNF(2)保持無損聯結(3)保持函數依賴集
(4)ρ中模式個數最少和屬性總數最少。
63.一個好的模式設計方法應符合哪三條原則:
表達性,分離性,最小冗余性。
表達性涉及到兩個數據庫模式的等價性問題,即數據等價和依賴等價,分別用無損聯接和保持函數依賴性來衡量。
分離性是指屬性間的“獨立聯系”應該用不同的關系模式表達。
最小冗余性要求在分解后的數據庫能表達原來數據庫的所有信息這個前提下實現。
關系模式設計方法基本上可以分為分解與合成兩大類。
64.多值依賴MVD:
設R(U)是屬性集U上的一個關系模式,X,Y是U的子集,若對R(U)的任一關系r,對于X的一個給定的值存在著Y的一組值與其對應,同時Y的這組值又不以任何方式與U-X-Y中的屬性相關,那么稱Y多值依賴于X,記為X→→Y。
65.平凡多值依賴:
66.第四范式(4NF):
設關系模式R,D是一個多值依賴集,如果D中存在一個非平凡多值依賴X→→Y,并且X必是R的超鍵,那么稱R是4NF模式。第五章 數據庫設計
67.什么是軟件生存期:
軟件生存期是軟件工程的一個重要概念。是指從軟件的規劃、研制、實現、投入運行后的維護,直到它被新的軟件所取代而停止使用的整個期間。通常分為六個階段:
(1)規劃階段
(2)需求分析階段
(3)設計階段
(4)程序編制階段
(5)調試階段
(6)運行維護階段
68.數據庫系統的生存期:
一般分為七個階段,即:
(1)規劃階段
(2)需求分析階段 1)信息要求 2)處理要求 3)安全性和完整性要求
(3)概念設計階段
(4)邏輯設計階段 兩部分:數據庫邏輯設計和應用程序設計
(5)物理設計階段 兩部分:物理數據庫結構的選擇和邏輯設計中程序模塊說明的精確化
(6)實現階段
(7)運行維護階段
69.數據庫設計過程的輸入有哪些內容:
(1)總體信息需求
(2)處理需求
(3)DBMS的特征
(4)硬件和OS特征
70.數據庫設計過程的輸出有哪兩部分:
一部分是完整的數據庫結構,其中包括邏輯結構與物理結構。
另一部分是基于數據庫結構和處理要求的應用程序的設計原則。
71.常見的數據庫設計方法有哪幾種:
(1)視圖模式化及視圖匯總設計方法
(2)關系模式的設計方法
(3)新奧爾良設計方法
(4)基于E-R模型的數據庫設計方法
(5)基于3NF的設計方法
8(6)基于抽象語法規范的設計方法
(7)計算機輔助數據庫設計方法
72.實用的數據庫設計方法至少應包括哪些內容:
(1)設計過程
(2)設計技術
(3)評價準則
(4)信息需求
(5)描述機制
73.一種設計方法學需要有三種基本類型的描述機制:
(1)實現設計過程的最終結果將用DBMS的DDL表示。
(2)信息輸入的描述。
(3)在信息輸入和DDL描述之間的其它中間步驟的結果的描述。
74.數據庫設計中的規劃階段的主要任務:
是進行建立數據庫的必要性及可行性分析,確定數據庫系統在組織中和信息系統中的地位,以及各個數據庫之間的聯系。
75.需求分析階段的任務:
需求分析階段應該對系統的整個應用情況作全面的、詳細的調查,確定企業組織的目標,收集支持系統總的設計目標的基礎數據和對這些數據的要求,確定用戶的需求,并把這些要求寫成用戶和數據庫設計者都能接受的文檔。
76.需求分析的步驟:
大致可分為三步來完成,即需求信息的收集、分析整理和評審。
77.數據字典由哪幾部分組成:
(1)數據項
(2)數據結構
(3)數據流
(4)數據存儲
(5)加工過程
78.數據抽象:
抽象是對實際的人、物、事或概念的人為處理,它抽取人們關心的共同特性,忽略非本質的細節,并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。
抽象有兩種形式,系統狀態抽象(抽象對象)和系統轉換抽象(抽象運算)。
79.對象的兩種形式:
(1)聚集:的數學意義就是笛卡爾積的概念。通過聚集,形成對象之間的一個聯系對象。
(2)概括:是從一類其它對象形成一個對象。對于一類對象{O1,O2,……,On}可以概括成對象O,那么Oi稱為O的其中一個。
80.依賴聯系:
在現實世界中,常常有某些實體對于另一些實體具有很強的依賴關系,即一個實體的存在必須以另一個實體的存在為前提。我們通常把前者稱為弱實體。在ER圖中,用雙線框表示弱實體,用指向弱實體的箭頭表明依賴聯系。
81.子類、超類:
某個實體類型中所有實體同時也是另一實體類型中的實體。此時,我們稱前一實體類型是后一實體類型的子類,后一實體類型稱為超類。在ER圖中,帶有子類的實體類型(超類)以兩端雙線的矩形框表示,并用加圈的弧線與其子類相連,子類本身仍用普通矩形框表示。
子類具有一個很重要的性質:繼承性。它可繼承超類上定義的全部屬性,其本身還可包含其它另外的屬性。
82.ER模型的操作:
(1)實體類型的分裂:垂直分割、水平分割
(2)實體類型合并:分裂的逆過程。
(3)聯系類型的分裂
(4)聯系類型的合并
83.采用ER方法的數據庫概念設計分成哪三步:
(1)設計局部ER模式:1)確定局部結構范圍 2)實體定義 3)聯系定義 4)屬性分配(2)設計全局ER模式:1)確定公共實體類型 2)局部ER模式的合并 3)消除沖突。
(3)全局ER模式的優化:1)實體類型的合并 2)冗余屬性的消除 3)冗余聯系的消除
84.沖突分為哪三種:
屬性沖突,包括屬性域的沖突、屬性取值單位沖突。
結構沖突,包括:
(1)同一對象在不同應用中的不同抽象。
(2)同一實體在不同局部ER圖中屬性組成不同。
(3)實體之間的聯系在不同的局部ER圖中呈現不同的類型。
命名沖突,包括屬性名,實體名,聯系名之間的沖突:同名異義、異名同義
85.ER模型向關系模型的轉換:
ER模型中的主要成分是實體類型和聯系類型。
對實體類型,將每個實體類型轉換成一個關系模式,實體的屬性即為關系模式的屬性,實體標識符即為關系模式的鍵。
對聯系類型,就視1:
1、1:N、M:N三種不同的情況做不同處理。
(1)對1:1可在兩個實體類型轉換成的兩個關系模式中任意一個關系模式的屬性中加入另一個關系模式的鍵和聯系類型的屬性。
(2)對1:N,則在N端實體類型轉換成的關系模式中加入1端實體類型轉換成的關系模式的鍵和聯系類型的屬性。
(3)對M:N,則將聯系類型也轉換成關系模式,其屬性為兩端實體類型的鍵盤加上聯系類型的屬性,而鍵為兩端實體鍵的組合。
86.什么是物理設計:
對一個給定的邏輯數據模型選取一個最適合應用環境的物理結構的過程,稱為數據庫的物理設計。物理結構,主要指數據庫在物理設備上的存儲結構和存取方法。
87.物理設計的步驟:
物理設計可分五步完成,前三步涉及到物理數據庫結構的設計,后兩步涉及約束和具體的程序設計。
(1)存儲記錄結構設計
(2)確定數據存儲安排
(3)訪問方法的設計
(4)完整性和安全性
(5)程序設計
88.在數據庫系統生存期中,生存期的總開銷可分為幾項:
規劃開銷、設計開銷、實現與測試開銷、操作開銷、維護開銷。
89.用戶使用和計算機資源的操作開銷是:
(1)查詢響應時間
(2)更新事務的開銷
(3)報告生成的開銷
(4)改組頻率和開銷
(5)主存儲空間
(6)輔助存儲空間
90.數據庫實現階段的主要工作:
(1)建立實際數據庫結構
(2)試運行
(3)裝入數據
91.數據庫的重新組織設計:
對數據庫的概念模式、邏輯結構或物理結構的改變稱為重新組織,其中改變概念模式或邏輯結構又稱為重新構造,改變物理結構則稱為重新格式化。
92.運行維護階段的主要工作:
(1)維護數據庫的安全性和完整性控制及系統的轉儲和恢復。
(2)性能的監督、分析與改進。
(3)增加新功能。
(4)發現錯誤,修改錯誤。
第三篇:數據庫總結
數據庫老師畫的重點
數據庫:數據庫是長期存儲在計算機內、有組織、可共享的大數據集合。數據庫操縱功能:查詢select、插入insert、刪除delete、修改update 數據庫系統的特點:1數據結構化2數據的共享高,冗余度低,易擴充3數據獨
立性高4數據由DBMS統一管理和控制
數據模型的組成要素:數據結構、數據操作、完整性約束 概念模型:要出大體,畫圖 信息世界中的基本概念————
1、實體:客觀存在并可以相互區別的事物稱為實體
2、屬性:實體所具有的某一特性
3、碼(key):唯一標識實體的屬性集稱為碼
4、域(domain):域是一組具有相同數據類型的集合
5、實體型(entity type):具有相同屬性的實體必然具有共同的特征和性質。用實體名
及屬性名集合來抽象和刻畫同類實體,稱為實體型。
6、實體集(entity set):同一類型的實體的集合
7、聯系:在現實世界中,事物內部以及事物之間是有聯系的,這些聯系在信息世界中
反應為實體(型)內部的聯系和實體(型)之間的聯系。實體內部的聯系通常是指
組成實體的各屬性之間的聯系;實體之間的聯系通常是指不同實體集之間的聯系
最常用的數據模型:
1、層次模型(Hierarchical Model)
2、網狀模型(Network Model)
3、關系模型(Relational Model)
4、面向對象模型(Object Oriented Model)
5、對象關系模型(Object Relational Model)其中層次模型和網狀模型統稱為格式化模型
數據庫系統的三級模式結構:
1、模式(scheme):模式也稱邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。他是數據庫系統模式結構的中間層,既不設計涉及數據的物理存儲細節和硬件環境,也與具體的應用程
序、所使用的應用開發工具及高級程序設計語言無關。
2、外模式(external schema):外模式也稱為子模式(subschema)或用戶模式,他是數
據庫用戶(包括應用程序員和最終用戶)能看見和使用
的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。
3、內模式(internal scheme):內模式也稱存儲模式(storage schema),一個數據庫只有
一個內模式。他是數據庫物理結構和存儲方式的描述,是
數據在數據庫內部的表達方式。數據庫的二級映像功能與數據庫獨立性————
為了能夠在系統內部實現這3個抽象層次的聯系和轉換,數據庫管理系統在這三個模式之間提供了兩層映像:
·外模式/模式 映像 ·模式/內模式 映像
正是這兩層映像保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性 關系(relation):D1*D2*D3··*Dn的子集叫做在域D1、D2、D3···Dn上的關系,表示
為R(D1、D2、D3···Dn)
這里的的R表示關系的名字,n是關系的目或度(degree)關系中每個元素是關系中的元組,通常用t表示 當n=1時,稱關系為單元關系(unary relation),或一元關系 當n=2時,稱該關系為二元關系(binary relation)
關系是笛卡爾積的有限子集,所以關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。由于域可以相同,為了加以區分,必須對每列起一個名字,稱為屬性(attribute)。n目關系必有n個屬性。
若關系中的某一屬性組的值能夠唯一的標識一個元組,則稱該屬性組為候選碼(candidate key)
若一個關系有多個候選碼,則選定其中一個為主碼(primary key)候選碼的諸屬性稱為主屬性(prime attribute)。不包含在任何候選碼中的屬性稱為非主屬性(non-prime attribute)或非碼屬性(non-key attribute)P46 沒有搞明白干嘛使得!!!!!!!!!!!
關系的三類完整性約束:實體完整性、參照完整性、用戶定義的完整性 實體完整性和參照完整性被稱作關系的兩個不變性
1、實體完整性(entity integrity):主碼中的屬性即主屬性不能取空值
2、參照完整性(referential integrity):
若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的的主碼K相對應(基
本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:
·或者取空值(F的每個屬性值均為空值)·或者等于S中某個元組的主碼值
SQL(Structured Query Language),即結構化查詢語言,是關系數據庫的標準語言。SQL 的特點:
1、綜合統一
2、高度非過程化
3、面向集合的操作方式
4、以同一種語法結構提供多種使用方式
5、語言簡潔、易學易用 SQL的動詞:
數據查詢:select 數據定義:create、drop、alter(房間)修改表
數據操縱:insert、update(家具)修改數據、delete 數據控制:grant、revoke
繪制ER圖————
在ER圖中有如下四個成分:
矩形框:表示實體,在框中記入實體名。菱形框:表示聯系,在框中記入聯系名。
橢圓形框:表示實體或聯系的屬性,將屬性名記入框中。對于主屬性名,則在其名稱下
劃一下劃線。
連線:實體與屬性之間;實體與聯系之間;聯系與屬性之間用直線相連,并在直線上
標注聯系的類型。(對于一對一聯系,要在兩個實體連線方向各寫1; 對于一對
多聯系,要在一的一方寫1,多的一方寫N;對于多對多關系,則要在兩個實體
連線方向各寫N,M。
基本表是本身獨立存在的表,在SQL中一個關系就對應一個基本表。一個(或多個)基本表對應一個存儲文件,一個表可以帶若干索引,索引也可以放在存儲文件中。存儲文件的邏輯結構組成了關系數據庫的內模式。存儲文件的物理結構是任意的,對用戶是透明的。
視圖是從一個或幾個基本表導出的表。它本身不獨立存儲在數據庫中,即數據庫中只存放視圖的定義而不存放視圖對應的數據。這些數據仍存放在導出視圖的基本表中,因此視圖是一個虛表。視圖在概念上與基本表等同,用戶可以在視圖上再定義視圖。
基本表的定義、刪除與修改:
1、定義基本表:create table ***()
2、定義主鍵:Primary key == not null(中間不用連接符號)unique
3、定義外碼的語句:foreign key(某個字段)references 某表(某字段)
4、定義主碼語句:primary key(***,***)
5、修改基本表:alter table 某表名 add 列名<數據類型>[完整性約束]
drop <完整性約束名>(字段名)
alter column<列名><數據類型>
6、刪除表:drop table 表名[restrict | cascade級聯刪除]
7、建立索引:create [unique] [clustered] index 索引名
on 表名(列名[asc | desc],······)·clustered 表示是聚簇索引
·unique表明此索引的每一個索引值只對應唯一的數據記錄 ·用戶可以在最經常查詢的列上建立聚簇索引以提高查詢效率 ·在一個基本表上只能建立一個聚簇索引
·建立局促索引后,更新該索引列上的數據時,往往導致表中記
錄的物理順序的額變更,代價較大,因此對于經常更新的列不
宜建立聚簇索引
8、刪除索引:drop index <索引名>
上機的時候不太一樣:drop index 表名。索引名字
9、數據的查詢:
select [all | distinct] <目標列表達式>,······ from 表名或者視圖名,··· where 條件表達式
group by 列名1 [having 條件表達式] order by 列名2 [asc | desc] ·如果有group by 子句,則結果按“列名1”的值進行分組,該屬性列值相
等的元組為一個組。通常會在每組中作用聚集函數。如果group by 子句帶
having短語,則只有滿足指定條件的組才予以輸出。
·如果有order by 子句,則結果表按“列名2”的值的升序或降序排序 ·select Sname Name,‘Year of Birth:’Birth,2013-Sage Birthday,lower
(Sdept)Department
from Student
lower表示小寫
常用的查詢條件————
比
較:大于、等于、小于、不等于(< >/!=)、大于/小于等于、不小于、不大于、not+上述比較運算符
確定范圍:between and,not between and 確定集合:in,not in 字符匹配:like,not like 空
值:is null,is not null 多重條件(邏輯運算):and,or,not
例子————
·select Sname,Sage
from Student
where Sdept(not)in(‘cs’,‘ma’,‘is’)
字符匹配:[not] like ‘字符串’[escape‘換嗎字符’] 百分號表示任意長度、下劃線表
示任意單個字符 聚集函數————
count([distinct | all] *)
統計元組個數 count([distinct| all] 列名)
統計一列中值的個數 sum([distinct| all] 列名)
計算一列值的總和(此列必須是數值型)avg([distinct| all] 列名)
計算一列的平局值(此列必須是數值型)max([distinct| all] 列名)
求一列中的最大值 min ·如果指定distinct短語,則表示在計算時要取消指定列中的重復值。如果不指定distinct
短語或者指定all短語(all為缺省值),則表示不取消重復。
·注意在聚集函數遇到空值時,除count(*)外,都跳過空值而只處理非空值。·注意where子句中不能用聚集函數作為條件表達式
group by子句————
where 子句與having 短語的區別在于作用對象不同。Where 子句作用對象作用于基本表或試圖,從中選擇條件的元組。Having短語作用于組,從中選擇滿足條件的組。
例子:select Sno from SC
group by Sno having count(*)>3 查詢了選修3門以上課程的學生學號 鏈接查詢—————— 例子:
非自然鏈接
·select Student.*,SC.*
from Student,SC
Where Student.Sno=SC.Sno
自然鏈接
·select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student,SC
where Student.Sno=SC.Sno
自身鏈接
·select FIRST.Cno,SECOND.Cpno
from Course FIRST,Course SECOND
where FIRST.Cpno=SECOND.Cpno
外連接
·select Student.Sno,Sname,Sage,Sdept,Cno,Grade
from Student left outer join SC
on Student.Sno=SC.Sno ·左外鏈接列出左邊關系中所有的元組,右外連接列出右邊關系中的所有元組
嵌套查詢
·select Sname from Student
where Sno in(select Sno from SC where Cno=‘2’)
·找出每個學生超過他選修課程平均成績的課程號
Select Sno,Cno From SC x Where Grade >=(select avg(Grade)
From SC y Where y.Sno=x.Sno)
授權————
Grant 權限,····· On 對象類型 對象名,····· To 用戶,·····
[with grant option]只一句表示權限的傳遞
例子: ·Grant all privileges
On Student,Course
To U1,U2
·grant update(Sno),select
on Student
to u4
·revoke update(Sno)
on table Student
from u4
一個滿足BCNF的關系模式有:
·所有非主屬性對每一個碼都是完全函數依賴
3NF 編輯
3NF,即第三范式是要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息。例如,存在一個部門信息表,其中每個部門有部門編號(dept_id)、部門名稱、部門簡介等信息。那么在員工信息表中列出部門編號后就不能再將部門名稱、部門簡介等與部門有關的信息再加入員工信息表中。如果不存在部門信息表,則根據第三范式(3NF)也應該構建它,否則就會有大量的數據冗余。簡而言之,第三范式就是屬性不依賴于其它非主屬性。滿足第三范式(3NF)必須先滿足第二范式(2NF)
2NF(第二范式)
第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數據庫表中的每個實例或行必須可以被唯一地區分。為實現區分通常需要為表加上一個列,以存儲各個實例的唯一標識。如圖3-2 員工信息表中加上了員工編號(emp_id)列,因為每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。這個惟一屬性列被稱為主關鍵字或主鍵、主碼。
第四篇:數據庫總結
數據庫總結:共三天的課程
數據庫的概念:數據庫是一組有序的數據的集合; 數據庫的作用:為了有效的管理數據; 數據類型:
一 字符串相關的類型:一般用于人名、大于2147483647(10位數)的數字、地址等字符信息
使用格式:字段名 char(存放字符的長度)
或者
字段名
varchar(存放字符的長度)Char:代表的是定長的字符串類型,定義了多長,就分配多長的存儲空間,只要不超過定義的長度,分配給char的空間長度就不會改變,余下的部分用空格代替;
Varchar:代表的是可變長度的字符串類型,定義的長度可以理解為是虛擬的空間,只要字符串的長度不超過定義的長度,那么varchar的分配空間長度就是字符串實際的長度,余下的部分自動消失; 二 數字相關的類型:一般用于工資、人數統計等方面; 使用格式:字段名
int/float/double 【此處不用定義字段的長度】 int :取值的范圍-2147483648~2147483647,后面可以設置主鍵及自增長;
float/double:用于帶有小數的數據定義 decimal:多用于金錢的數據 三 時間相關的數據類型:一般用于時間的統計,例如登錄時間、修改時間、退出時間等;
使用格式:字段名
date/time/datetime/timestamp 【此處不用定義字段的長度】,插入表的時候格式與字符串的插入格式一樣,都是用單引號插入
date:日期類型
格式:yyyy-MM-dd time:時間類型
格式:hh:mm:ss Datetime:日期時間
格式:yyyy-MM-dd hh:mm:ss Timestamp:時間戳
格式:yyyy-MM-dd hh:mm:ss 數據庫的操作:
一 查看所有數據庫:select databases;二 查看所有表:select tables;三 創建數據庫:create database 數據庫名稱;
use 數據庫名稱;
四 創建表:create table 表名(字段1
類型(長度)[約束], 字段2
類型(長度)[約束], 字段n
類型(長度)[約束])注:字段n的結尾處不需要用逗號分隔
五 刪除當前表/數據庫:drop table 表名/ 數據庫名;
六 向表中插入數據:insert into 表名(字段1,字段2,字段n)values(值1,值2,值n),(值1,值2,值n),(值1,值2,值n),(值1,值2,值n)...注:此處的插入數據可以用逗號隔開,想要插入幾條數據就插入幾個值。
七 查看當前表的值:select * from 表名
注:*是通配符,代表全部的意思,此處*還可以用表中的字段名代替,那么查看就是相應的字段名下的數據。
約束:
一 主鍵約束:primary key 代表的是唯
一、不重復,非空的約束 使用格式: 字段名
類型(長度)primary key 自增長:auto_increment 必須與主鍵約束一同使用,字段的類型是整型,插入數據的時候可以不用向設置自增長的字段添加數據,起始的默認數字是:1 二 唯一約束:unique 不可以重復,唯一 使用格式: 字段名
類型(長度)unique 注:空格是不可以作為字符串使用的,空格相當于null,如果向設置unique的字段內插入數據是存在【‘空格’、null、(‘’)】當中兩個或兩個以上的時候就會報錯【’null’是字符串,不是空】 三 非空約束:not null 插入數據時必須要為設置not null的字段插入數據,這個字段不能為空
使用格式: 字段名
類型(長度)not null 注:空格是不可以作為字符串使用的,空格相當于null,如果向設置not null的字段內插入數據是存在【‘空格’、null、(‘’)】當中一個或一個以上的時候就會報錯
四 默認約束:default 為字段設置默認值,當不為設置默認約束的字段插入數據是,系統自動將默認值賦予這個字段 使用格式: 字段名
類型(長度)default 值 五 檢查約束:check(檢查的內容)使用格式: 字段名
類型(長度)check(檢查的內容)注:在SQL語句中沒有實際的含義,但是需要會用
六 外鍵約束:foreign key 必須是另一個表的主鍵(唯一的),設置了外鍵的字段,受到關聯表中相應主鍵的字段的約束,當要為外鍵約束插入數據的時候,必須先為被關聯的表插入相應主鍵的數據;
使用格式: 創建表時候就設置外鍵約束
字段名
類型(長度),Foreign key(字段名)references 表名(對應主鍵的字段名)表已經創建完,插入外鍵約束
Alter table 表名 add constraint fk_f foreign key(要設置外鍵的字段名)references 被關聯的表名(被關聯的字段名);表的結構:
查看表結構:desc/describe 表名;修改表名:alter table 表名 rename 新表名 添加新字段:alter table 表名 add 字段名 類型(長度)修改字段:alter table 表名 change 舊字段 新字段 新字段類型(長度)刪除字段:alter table 表名 drop 字段名
記錄的操作:
一 插入記錄:insert into 表名(字段名1,字段名n)values(值1,值n)二 修改記錄:update 表名 set 字段名=值 where 條件
注:這里如果不加where條件,那么這個表的這個字段名下的數據全部賦值成為“值”
三 刪除記錄:delete from表名 where 條件
注:此處刪除的是表中的符合where條件的整條記錄 注意:使用delete和update的時候要千萬注意,必須要寫where條件語句,要不然就會將當前表中的所有數據改變,在想改回來的話會非常非常費勁!!!
四 查詢記錄:select 字段名1,字段名n from 表名 where 查詢條件 查詢去掉重復的值:關鍵字 distinct 格式:select distinct 字段名1,字段名n from 表名命別名/賦值表: 關鍵字 as 命別名:select 字段名 as ‘自定義名’
from 表名 賦值表:create table 新表名 as select * from 舊表名 3 查詢條件語句的范圍:in(等值判斷)/not in select 字段名1,字段名n from 表名 where 字段名
in/not in(值1,值n)4 模糊查詢:like
匹配標識符:’_’代表一個字符、%代表多個字符
Select 字段名 from 表名 where 字段名 like ‘_sth%’ 注:like后面的判斷值如果是數字的話要加單引號,例如想要查詢的條件是12345,可以這樣寫:’%3%’,單引號必須加 5 區間查詢:limit m,n
查詢從第m個記錄開始,一共n條記錄,這里的m指的是類似Java數組里的下標,計數從0開始
Limit m
查詢從頭開始的一共m條記錄
Select */字段名 from 表名 limit m,n 6 查詢值是否存在某段區間內:between 最大值 and 最小值(int 型的最大值、最小值)Select 字段名1,字段名n from 表名
where 字段名 between 最大值
and 最小值:
注意這里面的條件含有等于最大值和等于最小值
字段名 between 最大值 and 最小值= 字段名>=最小值 and 字段名<=最大值
邏輯運算符在此處可通用:<
<=
>
>=
=
!=
集合函數: 使用方法與Java中的方法的使用類似,注意的是函數名后面緊跟著(),中間不能有空格 一 符合條件的記錄的個數:countil
Select count(字段名)from 表名
where 查詢條件 二 求某個字段的值的總和:sum Select sum(字段名)from 表名
where 查詢條件 三 求某個字段的值的平均值:avg Select avg(字段名)from 表名
where 查詢條件 四 求某個字段的值的最大值:max Select max(字段名)from 表名
where 查詢條件 五 求某個字段的值的最大值:min Select min(字段名)from 表名
where 查詢條件
多表查詢:
笛卡爾積:select(字段1,字段n)from 表1,表n 自己想要的查詢(找到所有被查詢的表的相同的字段): Select(a.字段1,a.字段n,b.字段1,b.字段n)from 表名 as a,表名 as b where a.字段名=b.字段名;
聯合查詢:
左連接:select 字段名/* from 左表名
left join 右表名
on 左表名.字段名=右表名.字段名
查詢結果:左表全部顯示,右表與左表相同的字段名的部分顯示 右連接:select 字段名/* from 左表名
right join 右表名
on 左表名.字段名=右表名.字段名
查詢結果:右表全部顯示,左表與右表相同的字段名的部分顯示 內連接:select 字段名/* from 左表名
inner join 右表名
on 左表名.字段名=右表名.字段名
查詢結果:只有左表與右表相同的部分才顯示
全連接:select 字段名/* from 左表名
full join 右表名 查詢結果:’*’的結果是笛卡爾積
‘字段名’的結果是這個字段名下的笛卡爾積
函數:函數名與小括號之間不能有空格,字符串必須用單引號圈起來
一 求字符串長度:length Select
length(字符串)二 字符串的截取:substring(字符串,m)/(字符串,m,n)Select
substring(字符串,m)/(字符串,m,n)三 小寫轉大寫:upper Select
upper(字符串)四 大寫轉小寫:lower Select
lower(字符串)五 加密:MD5 Select
MD5(字符串)六 顯示現在的時間:now Select
now()
迷糊中: group by
order by 子查詢
第五篇:簡答題總結[模版]
2011—2006 古代文學史
(二)2011、1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.西昆體 37.平話 38.“湯沈之爭” 39.小說界革命
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述陳師道詩歌的藝術風格。41.簡述《琵琶記》的戲劇結構特點。42.簡述《三國演義》的悲劇精神。43.簡述《長生殿》的曲詞藝術。
五、論述題(本大題共2小題,每小題14分,共28分)44.試述周邦彥詞的藝術特色。45.試述《紅樓夢》敘事藝術的成就。2010、10
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.“易安體” 37.“借才異代” 38.張岱 39.新紅學
四、簡答題(本大題共4小題,每小題5分,共20分)40.歐陽修詩歌創作的散文化傾向主要表現是什么? 41.簡述元代“四大傳奇”在藝術表現上的共同特點。42.簡述明代戲劇的基本特征。43.簡述南社的意義。
五、論述題(本大題共2小題,每小題14分,共28分)
44.試以《題竹石牧牛》、《登快閣》、《雨中登岳陽樓望君山二首》為例,論述“山谷體”的藝術特點和風格特征。
45.如何理解《長生殿》中的愛情描寫? 2010、1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.元詩四家 37.前七子 38.唐宋派 39.肌理說
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述陳師道詩歌的藝術風格。
41.簡析元雜劇《梧桐雨》中唐明皇的形象。42.《水滸傳》中,“義”的人格觀念表現在哪些方面? 43.簡述《老殘游記》的體式、結構和新異的思想。
五、論述題(本大題共2小題,每小題14分,共28分)44.試論“山谷體”的風格特征。
45.試述《儒林外史》塑造的兩組對立人物及其意義。2009 10
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.永嘉四靈 37.南戲 38.《圓圓曲》 39.新文體
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述辛棄疾詞的語言藝術。
41.鐘嗣成《錄鬼簿》中將記載的已死才人分為哪三種? 42.簡述《長生殿》的藝術成就。
43.簡述清代小說編創方式不斷成熟的具體表現。
五、論述題(本大題共2小題,每小題14分,共28分)44.試論蘇軾散文的總體藝術特色。
45.論述《三國演義》中類型化人物典型的藝術特征。
2009 1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)
36.“妙悟”說 37.荊、劉、拜、殺 38.茶陵詩派 39.清初三大家
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述張孝祥詞的藝術特點。41.簡述宋元話本小說的藝術特點。
42.簡述《二拍》對擬話本小說體制發展的貢獻。43.簡述馮桂芬對經世散文發展的貢獻。
五、論述題(本大題共2小題,每小題l4分,共28分)44.趙翼《甌北詩話》評蘇軾詩云:“以文為詩,自昌黎始,至東坡益大放厥詞,別開生面,成一代之大觀。……(蘇軾)才思橫溢,觸處生春。胸中書卷繁富,又足以供其左抽右旋,無不如意。其尤不可及者,天生健筆一枝,爽如哀梨,快如并剪,有必達之隱,無難顯之情,此所以繼李杜后為一大家也。”
請參照這一評論,論述蘇軾詩歌的藝術特色。
45.試論《聊齋志異》在藝術手法上對唐傳奇的超越。
2008 10
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.誠齋體 37.子弟書 38.才子佳人小說 39.詩界革命
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述金代“國朝文派”重要作家的詩歌風格。41.簡述貫云石散曲的風格特點。
42.簡述蒲松齡的經歷對《聊齋志異》的影響。43.簡述嚴復翻譯文字的意義。
五、論述題(本大題共2小題,每小題14分,共28分)44.結合具體作品,論述陸游詩歌的藝術成就。45.試述《牡丹亭》浪漫主義的藝術成就。2008 1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.王荊公體 37.《王粲登樓》 38.《封神演義》 39.南洪北孔
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述永嘉四靈詩歌的藝術特點。41.簡析《李逵負荊》中李逵的形象。
42.簡述馮夢龍《三言》雅俗共賞藝術追求的具體內涵。43.簡述梁啟超“新文體”的特點。
五、論述題(本大題共2小題,每小題14分,共28分)44.試論《夢窗詞》的藝術特點。
45.《桃花扇》以明末復社文人侯方域與秦淮名妓李香君的愛情故事來反映南明弘光朝覆滅的歷史,為后人提供歷史與人生的借鑒。請就此闡述《桃花扇》的思想和社會意義。2007 10
三、名詞解釋(本大題共4小題,每小題3分,共12分)36.江湖詩派 37.才學小說 38.程甲本 39.同光體
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述《梧桐雨》的思想內容與藝術特色。41.簡述竇娥的品格與反抗精神。42.簡述《紅樓夢》續書及分類。43.簡述曾國藩對桐城派的改造。
五、論述題(本大題共2小題,每小題14分,共28分)44.試以《書憤》、《秋興》、《夜歸偶懷故人獨孤景略》等為例,論述陸游律詩和絕句的 藝術特點。
45.論述金圣嘆的小說理論及其貢獻。2007 1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.永嘉四靈 37.南戲 38.前七子 39.性靈詩派
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述梅堯臣詩歌的藝術特點。41.簡述《單刀會》的藝術特點。42.簡述金圣嘆對小說理論的貢獻。43.簡述南社的意義。
五、論述題(本大題共2小題,每小題14分,共28分)44.試述白石詞的藝術特色。
45.結合作品的情節、人物和典型道具,試述《桃花扇》的結構藝術。2006 10
三、名詞解釋題(本大題共4小題,每小題3分,共12分)
36.“興趣” 37.《醒世姻緣傳》 38.清初三大家 39.小說界革命
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述元雜劇《墻頭馬上》的藝術特色。41.簡述王實甫《西廂記》在元雜劇體制上的創新。42.簡述陳維菘詞的創作特點。43.簡述龔自珍詩歌的藝術特點。
五、論述題(本大題共2小題,每小題14分,共28分)
44.試結合《百步洪》
(二)、《琴詩》、《汲江煎茶》等詩,論述蘇軾詩歌的藝術特色。45.試以“桃園三結義”、“怒鞭督郵”、“三顧茅廬”、“蔣干盜書”、“借東風”、“單刀赴會”、“失街亭”、“空城計”、“斬馬謖”等故事為例,說明《三國演義》虛實相間的藝術觀念及其寫作技法。2006 1
三、名詞解釋題(本大題共4小題,每小題3分,共12分)36.半山詩 37.臨川派 38.桐城派 39.譴責小說
四、簡答題(本大題共4小題,每小題5分,共20分)40.簡述“誠齋體”的藝術特征。41.簡述馬致遠散曲的思想藝術特點。42.簡析元雜劇《趙氏孤兒》的主題思想。43.《三國演義》進行藝術虛構的技法主要有哪些?
五、論述題(本大題共2小題,每小題14分,共28分)44.下面是南宋幾位文學家對辛棄疾詞的評論:
詞至東坡,傾蕩磊落,如詩如文,如天地奇觀,豈與群兒雌聲學語較工拙?然猶未至用經用史,牽《雅》《頌》入《鄭》《衛》也。自辛稼軒前,用一語如此者,必且掩口。及稼軒,橫豎爛熳,乃如禪宗棒喝,頭頭皆是;又如悲笳萬鼓,平生不平事并巵酒,但覺賓主酣暢,談不暇顧。詞至此亦足矣。(劉辰翁《辛稼軒詞序》)其詞之為體,如張樂洞庭之野,無首無尾,不主故常;又如春云浮空,卷舒起滅,隨其所態,無非可觀。(范開《稼軒詞序》)公所作大聲鏜鞳,小聲鏗,橫絕六合,掃空萬古,自有蒼生以來所無。其秾麗綿密者,又不在小晏、秦郎之下。(劉克莊《稼軒集序》)請借助這些材料,論述辛棄疾詞在詞境開拓和藝術風格方面的成就。45.試論《紅樓夢》的悲劇意義。