總結(jié)是對過去一定時期的工作、學(xué)習(xí)或思想情況進(jìn)行回顧、分析,并做出客觀評價的書面材料,它可使零星的、膚淺的、表面的感性認(rèn)知上升到全面的、系統(tǒng)的、本質(zhì)的理性認(rèn)識上來,讓我們一起認(rèn)真地寫一份總結(jié)吧。那關(guān)于總結(jié)格式是怎樣的呢?而個人總結(jié)又該怎么寫呢?下面是小編為大家?guī)淼目偨Y(jié)書優(yōu)秀范文,希望大家可以喜歡。
對數(shù)據(jù)庫的總結(jié) 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)總結(jié)篇一
需要在找找》
1.數(shù)據(jù)庫有什么特點(diǎn)?
主要特點(diǎn)(1)實(shí)現(xiàn)數(shù)據(jù)共享。(2)減少數(shù)據(jù)的冗余度。(3)數(shù)據(jù)的獨(dú)立性。(4)數(shù)據(jù)實(shí)現(xiàn)集中控制。(5)數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用; ②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性; ③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實(shí)現(xiàn)多路存取,又能防止用戶之間的不正常交互作用; ④故障的發(fā)現(xiàn)和恢復(fù):由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞(6)故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞。
2.數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、硬件、操作人員的合在一起的總稱 數(shù)據(jù)庫管理系統(tǒng),用來管理數(shù)據(jù)及數(shù)據(jù)庫的系統(tǒng)。數(shù)據(jù)庫系統(tǒng)包含數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫及數(shù)據(jù)庫開發(fā)工具所開發(fā)的軟件(數(shù)據(jù)庫應(yīng)用系統(tǒng))。
3.內(nèi)模式 內(nèi)模式也稱存儲模式,一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。
4.外模式也稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。
5.數(shù)據(jù)模型的三要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及完整性約束條件 1):數(shù)據(jù)結(jié)構(gòu),就是前面說的數(shù)據(jù)在數(shù)據(jù)區(qū)中的存儲結(jié)構(gòu),在關(guān)系模型中就是采用的關(guān)系模型了,就是“二維表”的形式
2):數(shù)據(jù)操作,指的是對數(shù)據(jù)的一些操作,包括查詢、刪除、更新、插入等等
3):數(shù)據(jù)的完整性約束:就是對所存數(shù)據(jù)的約束規(guī)則,有實(shí)體完整性、參照完整性等等,就是取值唯
一、不能為空等一系列操作
6.e-r圖即實(shí)體-聯(lián)系圖(entity relationship diagram),是指提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。
圖的基本要素:實(shí)體(即數(shù)據(jù)對象)、關(guān)系和屬性 8.概念數(shù)據(jù)模型是按用戶的觀點(diǎn)對數(shù)據(jù)和信息建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象?;緮?shù)據(jù)模型是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,用于dbms的實(shí)現(xiàn)(層次模型,網(wǎng)狀模型,關(guān)系模型)(1)可以定制生成標(biāo)準(zhǔn)的模型報告;(2)可以轉(zhuǎn)換為面向?qū)ο竽P停╫om);
(3)完成多種數(shù)據(jù)庫的詳細(xì)物理設(shè)計(jì)(涵蓋常用的各種數(shù)據(jù)庫的dbms),腳本;
9.數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。
→:數(shù)據(jù)流(流動的數(shù)據(jù),有流向)
□:外部實(shí)體(不同于數(shù)據(jù)庫實(shí)體,指人,物,部門,科室,單位等)○:數(shù)據(jù)處理(對數(shù)據(jù)的加工,是對數(shù)據(jù)進(jìn)行處理的單元,指功能模塊,能做什么)〒:數(shù)據(jù)存儲
(信息的靜態(tài)存儲)
10.數(shù)據(jù)字典(data dictionary,dd)各類數(shù)據(jù)描述的集合,它是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù)。
通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程五個部分。11.主鍵和外鍵的關(guān)系(案例題)
12.用t-sql語句如何創(chuàng)建表 如何刪除表
ppt 6-2 13.笛卡爾積(cartesian product)通俗點(diǎn)說就是指包含兩個集合中任意取出兩個元素構(gòu)成的組合的集合。
設(shè):關(guān)系r為m列(m 個屬性),k1行(k1個元組); 關(guān)系s為n列(n個屬性),k2行(k2個元組)。
? 公式:r×s={trts │tr ∈r ∧ ts ∈s } ? 語義:笛卡爾積仍是一個關(guān)系,該關(guān)系的結(jié)構(gòu)是r和s結(jié)構(gòu)之連接,即前m 個屬性來自r,后n個屬性來自s,該關(guān)系的值是由r中的每個元組連接s中的每個元組所構(gòu)成元組的集合。
? 注意:新關(guān)系的屬性個數(shù)等于m+n,元組個數(shù)等于k1*k2。
? 14.投影(projection)
設(shè):t是關(guān)系r中的一個元組,a是要從r中投影出的屬性子集。
? 公式:∏a(r)={ t.a│t ∈r } ? 語義:從關(guān)系r中按所需順序選取若干個屬性構(gòu)成新關(guān)系。
? 注意:新關(guān)系的元組數(shù)小于等于原關(guān)系的元組數(shù),新關(guān)系的屬性數(shù)不多于原關(guān)系中的屬性數(shù)。
? ∏是希臘字母,即π的大寫形式,在數(shù)學(xué)中表示求積運(yùn)算或直積運(yùn)算,形式上類似于σ,有時也用來代表圓周率值,即讀作/pai/ ? 15.連接(join)
設(shè):a,b分別是關(guān)系r和s中的屬性,t是連接關(guān)系中的一個元組。
? 公式:
? 語義:兩個關(guān)系r和s按相應(yīng)屬性值的比較條件連接起來,生成一個新關(guān)系,也稱為θ連接。
? 等值連接
– r×s+選擇(θ為=)
– 按照兩關(guān)系中對應(yīng)屬性值相等的條件所進(jìn)行的連接
? 自然連接
– 等值連接+去重復(fù)屬性 – 記作:r
s 16.第一范式(1nf):在關(guān)系模式r中的每一個具體關(guān)系r中,如果每個屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱r是第一范式的關(guān)系。第二范式(2nf):如果關(guān)系模式r(u,f)中的所有非主屬性都完全依賴于任意一個候選關(guān)鍵字,則稱關(guān)系r 是屬于第二范式的。
第三范式(3nf):如果關(guān)系模式r(u,f)中的所有非主屬性對任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系r是屬于第三范式的。
17.字符串的定界符可以用單引號,雙引號,和方括號, :返回從字符串左邊開始指定個數(shù)的字符
19.索引的特點(diǎn):有效組織表數(shù)據(jù)的方式它由表中一列或多列按照一定的排列順序組成。、用戶可以通過合理地創(chuàng)建索引大大提高數(shù)據(jù)庫的查找速度 索引也可以保證列的唯一性,從而確保表中數(shù)據(jù)的完整性
索引中包含鍵值,這些鍵值存儲在一種數(shù)據(jù)結(jié)構(gòu)(b-樹)中,通過鍵值可以快速地找到與鍵值相關(guān)的數(shù)據(jù)記錄
索引創(chuàng)建原則:經(jīng)常被查詢的列 需要排序的列 外鍵或主鍵列 值唯一的列
在下列情況下不適合建立索引。在查詢中很少被引用的列。
包含太多重復(fù)值的列。
數(shù)據(jù)類型為bit、varchar(max)、varbinary(max)等的列不能建立索引。
20.聚簇索引的特點(diǎn):聚簇索引確定表中數(shù)據(jù)的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。由于聚簇索引規(guī)定數(shù)據(jù)在表中的物理存儲順序,因此一個表只能包含一個聚簇索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進(jìn)行組織一樣。漢語字典也是聚簇索引的典型應(yīng)用,在漢語字典里,索引項(xiàng)是字母+聲調(diào),字典正文也是按照先字母再聲調(diào)的順序排列。
聚簇索引對于那些經(jīng)常要搜索范圍值的列特別有效。使用聚簇索引找到包含第一個值的行后,便可以確保包含后續(xù)索引值的行在物理相鄰。例如,如果應(yīng)用程序執(zhí)行的一個查詢經(jīng)常檢索某一日期范圍內(nèi)的記錄,則使用聚集索引可以迅速找到包含開始日期的行,然后檢索表中所有相鄰的行,直到到達(dá)結(jié)束日期。這樣有助于提高此類查詢的性能。同樣,如果對從表中檢索的數(shù)據(jù)進(jìn)行排序時經(jīng)常要用到某一列,則可以將該表在該列上聚簇(物理排序),避免每次查詢該列時都進(jìn)行排序,從而節(jié)省成本。聚集索引根據(jù)鍵值的大小對行進(jìn)行物理排序,所以每個表只能有一個聚集索引。
table 修改表 update 更新表 為數(shù)據(jù)表創(chuàng)建索引的目的:a 提高查詢檢索的性能
23;創(chuàng)建索引的兩種方法:在【新建索引】窗口中創(chuàng)建索引(1 用索引創(chuàng)建向?qū)?chuàng)建索引;2 直接創(chuàng)建索引)
使用ssms創(chuàng)建索引 使用t-sql創(chuàng)建表的索引 24一對一關(guān)聯(lián):在一對一關(guān)系中,a 表中的一行最多只能匹配于 b 表中的一行,反之亦然。如果相關(guān)列都是主鍵或都具有唯一約束,則可以創(chuàng)建一對一關(guān)系。25:什么是數(shù)據(jù)表:一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。
數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。沒有數(shù)據(jù)表,關(guān)鍵字、主鍵、索引等也就無從談起。在數(shù)據(jù)庫畫板中可以顯示數(shù)據(jù)庫中的所有數(shù)據(jù)表(即使不是用powerbuilder創(chuàng)建的表),創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,是其他對象的基礎(chǔ)。
數(shù)據(jù)表(或稱表)是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個框架,數(shù)據(jù)表才是其實(shí)質(zhì)內(nèi)容。根據(jù)信息的分類情況,一個數(shù)據(jù)庫中可能包含若干個數(shù)據(jù)表。26;sql: 結(jié)構(gòu)化查詢語言(structured query language)”
其關(guān)系數(shù)據(jù)庫管理系統(tǒng)system r開發(fā)的一種查詢語言,它的前身是square語言。sql語言結(jié)構(gòu)簡潔,功能強(qiáng)大,簡單易學(xué),sql語言是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
語言特點(diǎn):一體化 使用反式靈活 非過程化 語言簡潔 語法簡單 好學(xué)好用
27:交叉連接查詢:交叉連接不帶where 子句,它返回被連接的兩個表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)
據(jù)行數(shù)等于第一個表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個表中符合查詢條件的數(shù)據(jù)行數(shù)。例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數(shù)將等 于6*8=48行。
28;什么情況下應(yīng)該盡量創(chuàng)建索引:數(shù)據(jù)量大(建議分區(qū))、數(shù)據(jù)插入刪除不是太頻繁、又需要經(jīng)常按某些字段進(jìn)行條件檢索的表。在一個或者一些字段需要頻繁用作查詢條件,并且表數(shù)據(jù)較多的時候,創(chuàng)建索引會明顯提高查詢速度,因?yàn)榭捎扇頀呙韪某伤饕龗呙琛?無索引時全表掃描也就是要逐條掃描全部記錄,直到找完符合條件的,索引掃描可以直接定位)索引并不是越多越好,太多索引會占用很多的索引表空間,甚至比存儲一條記錄更多。對于需要頻繁新增記錄的表,最好不要創(chuàng)建索引,沒有索引的表,執(zhí)行insert、append都很快,有了索引以后,會多一個維護(hù)索引的操作,一些大表可能導(dǎo)致insert 速度非常慢 29:sql sever 中的數(shù)據(jù)類型
sql中的五種數(shù)據(jù)類型:字符型,文本型,數(shù)值型,邏輯型和日期型
30:關(guān)系數(shù)據(jù)庫中的投影操作是指從關(guān)系中。a.去掉若干屬性列組成新的關(guān)系 b.選擇出若干屬性列組成新的關(guān)系 c.去掉滿足條件的諸元組 d.選擇滿足條件的諸元組(a 抽出特定的記錄 b抽出特定的字段 c建立相應(yīng)的影像 d建立相應(yīng)的視圖)31:關(guān)系數(shù)據(jù)模型有許多優(yōu)點(diǎn),但下面所列的條目中哪一條不是它的優(yōu)點(diǎn)? a.結(jié)構(gòu)簡單
b.適用于集合操作 c.有標(biāo)準(zhǔn)語言
d.可表示復(fù)雜的語義 正確答案:d 解析:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束3大要素組成。關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)單一,在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示。關(guān)系操作的特點(diǎn)是集合操作方式,即操作的對象和結(jié)果都是集合。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算均是抽象的查詢語言這些抽象的語言與具體的dbms中實(shí)現(xiàn)的實(shí)際語言并不完全一樣,但它們能用作評估實(shí)際系統(tǒng)中查詢語言能力的標(biāo)準(zhǔn)或基礎(chǔ)。數(shù)據(jù)庫的數(shù)據(jù)完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,那是一種語義概念,包括兩個主要方面:與現(xiàn)實(shí)世界中應(yīng)用需求的數(shù)據(jù)的相容性和正確性。數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的相容性和正確性。32數(shù)據(jù)庫概念模型應(yīng)具備(特點(diǎn)。?。S富的語言表達(dá)能力 ⅱ.易于交流和理解 ⅲ.易于變動 ⅳ.易于向各種數(shù)據(jù)模型轉(zhuǎn)換 a.ⅰ和ⅱ b.ⅰ、ⅱ、ⅲ c.ⅱ、ⅲ、ⅳ d.全是
正確答案:d 概念模型應(yīng)具有較強(qiáng)的語義表達(dá)能力,簡單,清晰,易于用戶理解。易于項(xiàng)其他數(shù)據(jù)模型轉(zhuǎn)換
(相關(guān)知識)組織、存儲和管理數(shù)據(jù)的倉庫
32關(guān)系數(shù)據(jù)庫的規(guī)范化理論指出,關(guān)系數(shù)據(jù)庫中的關(guān)系應(yīng)滿足一定的要求,最起碼的要求是達(dá)到1nf,既滿足()。a: 主關(guān)鍵字唯一標(biāo)識表中的每一行 b: 關(guān)系中的行不允許重復(fù) c: 每個非關(guān)鍵字列都完全依賴于主關(guān)鍵字 d: 每個屬性都有是不可再分的基本數(shù)據(jù)項(xiàng) 33關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括。a.排序、索引、統(tǒng)計(jì) b.選擇、投影、連接c.關(guān)聯(lián)、更新、排序 d.顯示、打印、制表
34.概念結(jié)構(gòu)設(shè)計(jì)階段得到的結(jié)果是______。a、包括存儲結(jié)構(gòu)和存取方法的物理結(jié)構(gòu) b、某個dbms所支持的數(shù)據(jù)模型 c、e-r圖表示的概念模型 d、數(shù)據(jù)字典描述的數(shù)據(jù)需求 35數(shù)據(jù)庫需求分析階段的主要任務(wù):對現(xiàn)實(shí)世界要處理的對象(組織、部門、企業(yè))等進(jìn)行詳細(xì)的調(diào)查,通過對原系統(tǒng)的了解,手機(jī)支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對其進(jìn)行處理,在此基礎(chǔ)上確定新系統(tǒng)的功能。
用戶需求分析階段的主要工作包括2方面:可行性分析
成本(資源)分析
哪個不是dba數(shù)據(jù)庫管理員的職責(zé)
a完整性約束說明 b定義數(shù)據(jù)庫模式 c數(shù)據(jù)庫安全 d數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)
下列工作中,不屬于數(shù)據(jù)庫管理員dba的職責(zé)是()。a.建立數(shù)據(jù)庫
b.輸入和存儲數(shù)據(jù)庫數(shù)據(jù) c.監(jiān)督和控制數(shù)據(jù)庫的使用 d.?dāng)?shù)據(jù)庫的維護(hù)和改進(jìn)
以下是公認(rèn)的dba職責(zé):
1、監(jiān)視數(shù)據(jù)庫。
2、記錄和統(tǒng)計(jì)系統(tǒng)和性能的表現(xiàn)技術(shù)信息。
3、構(gòu)造數(shù)據(jù)庫框架、配置數(shù)據(jù)庫實(shí)例。
4、維護(hù)數(shù)據(jù)庫網(wǎng)絡(luò)安全,過濾非法查詢信息。
5、及時備份數(shù)據(jù)庫
6、利用備份,還原數(shù)據(jù)庫,甚至是遷移數(shù)據(jù)庫。
7、為開發(fā)人員定制、配置專用的測試服務(wù)器。
8、數(shù)據(jù)庫技術(shù)最新的研發(fā)方向。
9、數(shù)據(jù)庫調(diào)優(yōu)。
10、完整熟悉數(shù)據(jù)庫操作流程。
11、診斷數(shù)據(jù)庫,找出數(shù)據(jù)庫的不足之處和生成數(shù)據(jù)庫解決方案。
12、完整培訓(xùn)數(shù)據(jù)庫系統(tǒng)那個環(huán)境。
13、與系統(tǒng)管理員保持良好的合作關(guān)系。
14、創(chuàng)建有效的、定期維護(hù)的安全的數(shù)據(jù)庫。37:
數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨(dú)立性是指,當(dāng)系統(tǒng)數(shù)據(jù)存儲結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)發(fā)生變化時,不會影響應(yīng)用程序。
數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性指應(yīng)用程序與存儲在磁盤的數(shù)據(jù)庫中數(shù)據(jù)相互獨(dú)立,即數(shù)據(jù)物理存儲改變時應(yīng)用程序不變。邏輯獨(dú)立性指應(yīng)用程序與數(shù)據(jù)庫邏輯結(jié)構(gòu)相互獨(dú)立,即數(shù)據(jù)邏輯結(jié)構(gòu)改變時,應(yīng)用程序可以不變。
38在數(shù)據(jù)管理技術(shù)發(fā)展階段中,文件系統(tǒng)階段與數(shù)據(jù)庫系統(tǒng)階段的主要區(qū)別之一是數(shù)據(jù)庫系統(tǒng)()。
a.?dāng)?shù)據(jù)可共享 b.?dāng)?shù)據(jù)可長期保存
c.采用一定的數(shù)據(jù)模型組織數(shù)據(jù) d.有專門的軟件對數(shù)據(jù)進(jìn)行管理 正確答案:c 解析:數(shù)據(jù)庫采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)共享性高、冗余度小、易擴(kuò)充:有較高的數(shù)據(jù)獨(dú)立性;數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口:系統(tǒng)提供數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性4個方面的數(shù)據(jù)控制功能。相對于文件系統(tǒng)管理數(shù)據(jù)的方式,它采用一定的數(shù)據(jù)模型來組織和管理數(shù)據(jù)。
39數(shù)據(jù)庫系統(tǒng)有哪些特點(diǎn):
數(shù)據(jù)的結(jié)構(gòu)化,數(shù)據(jù)的共享性好,數(shù)據(jù)的獨(dú)立性好,數(shù)據(jù)存儲粒度小,數(shù)據(jù)管理系統(tǒng),為用戶提供了友好的接口。數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),是數(shù)據(jù)模型,現(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的。數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(dbms)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。dbms是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。
數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)有:1)實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余2)采用特定的數(shù)據(jù)模型3)具有較高的數(shù)據(jù)獨(dú)立性4)有統(tǒng)一的數(shù)據(jù)控制功能另外,數(shù)據(jù)庫系統(tǒng)由5大部分組成:硬件系統(tǒng),數(shù)據(jù)庫集合,數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件,數(shù)據(jù)庫管理員和用戶
40:數(shù)據(jù)庫,是一個長期存儲在計(jì)算機(jī)內(nèi)的、有組織的、有共享的、統(tǒng)一管理的數(shù)據(jù)集合。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。
41:數(shù)據(jù)庫的發(fā)展歷史經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。人工管理數(shù)據(jù)具有如下特點(diǎn)
1、數(shù)據(jù)不保存
2、數(shù)據(jù)需要由應(yīng)用程序自己管理沒有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理工作
3、數(shù)據(jù)不共享
4、數(shù)據(jù)不具有獨(dú)立性數(shù)據(jù)的邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化后必須對應(yīng)用程序做相應(yīng)的修改這就進(jìn)一步加重了程序員的負(fù)擔(dān)。
文件系統(tǒng)階段特點(diǎn)為
1、數(shù)據(jù)可以長期保存
2、由專門的軟件即文件系統(tǒng)進(jìn)行數(shù)據(jù)管理
使應(yīng)用程序與數(shù)據(jù)之間有了一定的獨(dú)程序和數(shù)據(jù)之間由軟件提供的存取方法進(jìn)行轉(zhuǎn)換立性程序員可以不必過多地考慮物理細(xì)節(jié)將精力集中于算法。
3、數(shù)據(jù)共享性差
4、數(shù)據(jù)獨(dú)立性低
數(shù)據(jù)庫系統(tǒng)階段特點(diǎn)為
1、數(shù)據(jù)結(jié)構(gòu)化
2、數(shù)據(jù)的共享性好冗余度低
3、數(shù)據(jù)獨(dú)立性高
4、數(shù)據(jù)由dbms統(tǒng)一管理和控制
一、人工管理階段:特點(diǎn)
數(shù)據(jù)的管理者:人
數(shù)據(jù)面向的對象:某一應(yīng)用程序
數(shù)據(jù)的共享程度:無共享,冗余度極大
數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序 數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)
數(shù)據(jù)控制能力:應(yīng)用程序自己控制
二、文件系統(tǒng)階段:特點(diǎn)
數(shù)據(jù)的管理者:文件系統(tǒng)
數(shù)據(jù)面向的對象:某一應(yīng)用程序
數(shù)據(jù)的共享程度:共享性差,冗余度大
數(shù)據(jù)的獨(dú)立性:獨(dú)立性差
數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu) 數(shù)據(jù)控制能力:應(yīng)用程序自己控制
三、數(shù)據(jù)庫系統(tǒng)階段:特點(diǎn)
數(shù)據(jù)的管理者:數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)面向的對象:整個應(yīng)用系統(tǒng)
數(shù)據(jù)的共享程度:共享性高,冗余度小
數(shù)據(jù)的獨(dú)立性:具有高度的物理獨(dú)立性和邏輯獨(dú)立性
數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述
數(shù)據(jù)控制能力:由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力(其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段.)
未知:1關(guān)系數(shù)據(jù)模型三要素 2物理模式 內(nèi)模式 子模式 3 identify 的使用特點(diǎn)
4;在數(shù)據(jù)模型中的家族關(guān)系的特點(diǎn) sever 2008的系統(tǒng)數(shù)據(jù)庫是什么 6什么是子數(shù)據(jù)表
上機(jī)操作:1、用select語句查詢前十行數(shù)據(jù)、用select語句查詢前20%的數(shù)據(jù) 3、用select語句查詢指定列數(shù)據(jù)
4、什么是查詢設(shè)計(jì)器
5、在select語句中如何使用group by
6、exists子查詢語句如何使用
7、insert into 插入語句如何使用 8 update delect語法格式
9、用select語句能夠進(jìn)行模糊查詢 –like 如何使用
10、用select語句如何使用聚合函數(shù)進(jìn)行統(tǒng)計(jì) 匯總 分組
11、 sever中如何進(jìn)行自動編號設(shè)計(jì)
什么是自動編號
12、not in 的使用 any some all 的使用、select can’(*)的使用
對數(shù)據(jù)庫的總結(jié) 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)總結(jié)篇二
數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了3個階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫管理階段。數(shù)據(jù)庫的三級模式由[模式]、[外模式]、[內(nèi)模式]組成。(模式又叫概念模式、邏輯模式,外模式又叫子模式、用戶模式,內(nèi)模式又叫存儲模式)外模式/模式映像反映了數(shù)據(jù)的邏輯獨(dú)立性,模式/內(nèi)模式映像反映了數(shù)據(jù)的物理獨(dú)立性 數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、和完整性約束三要素組成
關(guān)系模型是第二代數(shù)據(jù)庫的主要特征,其結(jié)構(gòu)比較簡單,數(shù)據(jù)本身以二維表形式進(jìn)行存儲,表之間的數(shù)據(jù)聯(lián)系是通過一個表的碼與另一個表的碼的連接來實(shí)現(xiàn)的。數(shù)據(jù)邏輯獨(dú)立性是指模式改變,外模式和應(yīng)用程序不變。物理獨(dú)立性是指內(nèi)模式改變,模式不變
數(shù)據(jù)庫系統(tǒng)中,用概念模式(即模式)描述全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)
數(shù)據(jù)庫系統(tǒng)中用戶使用的數(shù)據(jù)視圖用外模式描述,它是用戶與數(shù)據(jù)庫系統(tǒng)的接口 ∏是投影運(yùn)算,倒寫的6字是選擇運(yùn)算 笛卡爾積重點(diǎn)看一下p27中間部分舉的例子 記錄是字段的有序集合
字段:標(biāo)記實(shí)體屬性的命名單位稱為字段如學(xué)生有學(xué)號、姓名、年齡、性別等字段 元祖:二維表中的行即記錄值稱為元祖
增刪改查語句對應(yīng)的關(guān)鍵字分別為insert、delete、update、select 修改表的結(jié)構(gòu)使用的是alter table語句添加一列用add關(guān)鍵字、修改一列用alter column 刪除一列用drop column 如alter table student add 身份證號 varchar(18);表示修改student表的結(jié)構(gòu),在其中添加身份證號一列(主) , 開啟事務(wù):begin transation 提交事務(wù):commit transaction 回滾事務(wù):rollback transaction 主鍵:primary key 外鍵:foreign key 實(shí)體之間的聯(lián)系有1:
1、1:m、m:n,即1對1,一對多、多對多 聚合函數(shù):
sum:求和 max:求最大值 count:計(jì)數(shù) avg:求平均值 grant:授權(quán) revoke:收回權(quán)限 constraint:約束
數(shù)據(jù)庫設(shè)計(jì)的步驟:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、數(shù)據(jù)庫實(shí)現(xiàn)階段、數(shù)據(jù)庫的運(yùn)行與維護(hù)階段
事務(wù)具有四個特征原子性、一致性、隔離性、持久性 p116參考答案:
1. 題干:數(shù)據(jù)庫中有四張表客戶表:customers、代理人表agents、產(chǎn)品表products和訂單表orders;
其中客戶表customers各屬性如下:
cid 客戶編號、cname客戶名、city客戶所在城市 代理人表agents各如下屬性
aid代理人編號、aname代理人姓名、city代理人所在城市 產(chǎn)品表products中各屬性如下
pid產(chǎn)品編號、pname產(chǎn)品名稱、quantity產(chǎn)品銷售數(shù)量、price產(chǎn)品單價 訂單表orders表中各屬性如下 ord_no訂單號、month訂單月份,cid客戶編號、aid代理人編號、pid產(chǎn)品編號、qty訂貨數(shù)量、amount訂貨總金額;
根據(jù)以上四個表編寫存儲過程實(shí)現(xiàn)如下要求:
①給指定產(chǎn)品編號的單價增加0.5元
create procedure pro_update_products @pid char(10)as update products set price=price+0.5 where pid=@pid go ②插入一個新的產(chǎn)品記錄到產(chǎn)品表products中
create procedure pro_insert_products @pid char(10), @pname varchar(30), @quantity int, @price float as insert into products values(@pid,@pname,@quantity,@price)go
③查詢某客戶通過某代理訂購產(chǎn)品的訂貨總量 create procedure pro_query_amount @cname varchar(20), @aname varcha(20)as select amount from customers c,orders o,agents a where = and = and =@cname and =@aname go
2.根據(jù)第一題的四個表用觸發(fā)器實(shí)現(xiàn)以下操作
①當(dāng)向產(chǎn)品表products插入數(shù)據(jù)時,規(guī)定產(chǎn)品單價不得低于0.5元,若低于0.5元則統(tǒng)一調(diào)整為0.5元,同時提示用戶“產(chǎn)品單價不得低于0.5元” create trigger tri_products on products for insert as declare @pid char(10),@price float select @pid=pid,@price=price from inserted if @price<0.5 begin update products set price=0.5 where pid=@pid print ‘產(chǎn)品單價不得低于0.5元’ end go
②當(dāng)訂單表orders中的訂貨數(shù)量有變動時,觸發(fā)器自動修改該項(xiàng)訂單的訂貨總金額amount create trigger tri_orders on orders for update as declare @ord_no char(10),@pid char(10),@qty int,@price float if update(qty)begin select @ord_no,@pid=pid,@qty=qty from inserted select @price=price from products where pid=@pid update orders set amount=@price*@qty where ord_no=@ord_no end go
第四章第2題的參考答案p91 設(shè)有三個關(guān)系
s(s#,sname,sex,age)sc(s#,c#,grade)c(c#,cname,teacher)用select語句完成下列查詢
①檢索liu老師所受課程的課程號和課程名
select c#,cname from c where teacher=’liu’;
②檢索年齡大于23歲的男同學(xué)的學(xué)號和姓名
select s#,sname from s where sex=’男’ and age>23;
③檢索學(xué)號為s3的學(xué)生所學(xué)課程的課程名與授課老師名
select cname,teacher from sc,c where sc.c#=c.c# and sc.s#=’s3’;
④檢索至少選修liu老師所受課程中一門課程的女學(xué)生姓名
select distinct sname from s,sc where =’女’ and s.s#=sc.s# and sc.c# =any(select c# from c where teacher=’liu’); ⑤檢索wang同學(xué)不學(xué)課程的課程號
select c# from c where c# not in(select c# from sc,s where sc.s#=c.c# and =’wang’);
⑥檢索至少選修兩門課的學(xué)生學(xué)號
select s# from sc group by s# having count(c#)>=2; ⑦檢索全部學(xué)生都選修的課程的課程號和課程名
select c#,cname from c where c# in(select c# from sc where s#=all(select s# from s))⑧檢索選修課程包含liu老師所受全部課程的學(xué)生學(xué)號
select s# from sc where c# =all(select c# from c where teacher=’liu’)
對數(shù)據(jù)庫的總結(jié) 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)總結(jié)篇三
第一章
數(shù)據(jù)庫系統(tǒng)概論
1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。
數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語義是不可分的。
數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。
數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)(dbs)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。
數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(dbms)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。dbms主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維護(hù)功能。
2.什么是數(shù)據(jù)獨(dú)立性?數(shù)據(jù)獨(dú)立性又分為哪兩個層次?為什么需要數(shù)據(jù)獨(dú)立性?
數(shù)據(jù)獨(dú)立性是用來描述數(shù)據(jù)與應(yīng)用程序之間的依賴程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴程度越低則獨(dú)立性越高
物理獨(dú)立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫的數(shù)據(jù)時相互獨(dú)立的。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。
作用:數(shù)據(jù)在磁盤上怎樣存儲由dbms管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。數(shù)據(jù)獨(dú)立性是通過數(shù)據(jù)庫管理系統(tǒng)的兩層映像功能來實(shí)現(xiàn) 3.什么是數(shù)據(jù)模型?數(shù)據(jù)模型的基本要素有哪些?為什么需要數(shù)據(jù)模型?
數(shù)據(jù)模型是描述數(shù)據(jù)語義、數(shù)據(jù)與數(shù)據(jù)之間聯(lián)系(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)操作,以及一致性約束的概念和工具的集合數(shù)據(jù)模型的基本要素:
①數(shù)據(jù)結(jié)構(gòu):是所研究的對象類型的集合,是對系統(tǒng)的靜態(tài)特性的描述。
②數(shù)據(jù)操作:是指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒng)動態(tài)特性的描述。
③數(shù)據(jù)的約束條件:是完整性規(guī)則的集合,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。
作用:一般地講,數(shù)據(jù)模型是嚴(yán)格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束條件。
4.為什么數(shù)據(jù)模型要分為概念模型,邏輯模型和物理模型三類?試分別解釋概念模型、邏輯模型和物理模型
為什么:數(shù)據(jù)模型應(yīng)滿足3方面的要求:一是能比較真實(shí)的模擬現(xiàn)實(shí)世界;二是容易被人所理解;三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。一種數(shù)據(jù)模型要很好地同時滿足這3個方面的要求是很困難的,因此,在數(shù)據(jù)庫管理系統(tǒng)中這對不同的使用對象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。
概念模型:指概念層次的數(shù)據(jù)模型,也稱為信息模型,它按用戶的觀點(diǎn)或認(rèn)識對現(xiàn)實(shí)世界的數(shù)據(jù)和信息進(jìn)行建模,主要用于數(shù)據(jù)庫設(shè)計(jì)。常用的概念模型有實(shí)體聯(lián)系模型(e-r模型)和面向?qū)ο髈o模型
邏輯模型;用來描述數(shù)據(jù)庫數(shù)據(jù)的整體邏輯結(jié)構(gòu)。傳統(tǒng)的邏輯數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,非傳統(tǒng)的邏輯數(shù)據(jù)模型有面向?qū)ο竽P汀ml模型等
物理模型用來描述數(shù)據(jù)的物理存儲結(jié)構(gòu)和存取方法 5.關(guān)系模型中的主要概念有哪些,試分別解釋之。
關(guān)系模型由一組關(guān)系組成,每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。關(guān)系模型中的常用術(shù)語有:關(guān)系、元組、屬性、碼、域、分量和關(guān)系模式等。關(guān)系模型要求關(guān)系必須是規(guī)范化的,即關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項(xiàng)。關(guān)系數(shù)據(jù)模型的操作主要包括查詢、插入,刪除和修改(更新數(shù)據(jù))。關(guān)系數(shù)據(jù)模型的完整性約束條件包括實(shí)體完整性、參照完整性和用戶自定義完整性
6.試解釋數(shù)據(jù)庫的三級模式結(jié)構(gòu)和兩層映像。為什么數(shù)據(jù)庫管理系統(tǒng)要提供數(shù)據(jù)庫的三級模式結(jié)構(gòu)和兩層映像?
數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象三個級別。對應(yīng)于數(shù)據(jù)抽象的三個級別,數(shù)據(jù)庫管理系統(tǒng)一般也提供觀察數(shù)據(jù)庫的三個不同角度,以方便不同的而用戶使用數(shù)據(jù)庫的需要,這就是數(shù)據(jù)庫的三級模式結(jié)構(gòu);內(nèi)模式、模式和外模式
為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)三個抽象層次的數(shù)據(jù)之間的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級模式之間提供了兩層映像:外模式/模式映像、模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性 7.解釋模式、外模式、內(nèi)模式、ddl、dml等概念
內(nèi)模式也稱存儲模式,對應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式
模式也稱為邏輯模式,賭贏與邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖
外模式也成子模式或用戶模式,對應(yīng)于視圖層數(shù)據(jù)抽象,它是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與莫以具體運(yùn)用有關(guān)的數(shù)據(jù)的邏輯表示
數(shù)據(jù)庫模式定義語言ddl(data definition language),是用于描述數(shù)據(jù)庫中要存儲的現(xiàn)實(shí)世界實(shí)體的語言。一個數(shù)據(jù)庫模式包含該數(shù)據(jù)庫中所有實(shí)體的描述定義。這些定義包括結(jié)構(gòu)定義、操作方法定義等。
數(shù)據(jù)操縱語言dml,命令使用戶能夠查詢數(shù)據(jù)庫以及操作已有數(shù)據(jù)庫中的數(shù)據(jù)的計(jì)算機(jī)語言。具體是指是select查詢、update更新、insert插入、delete刪除。
第二章 關(guān)系模型與關(guān)系代數(shù)
1.名詞解釋
域:一組具有相同數(shù)據(jù)類型的值的集合
笛卡爾積:兩個分別為n目和m目的關(guān)系r和s的笛卡爾積是一個n+m目元組的集合 超碼:屬性集a能唯一標(biāo)識關(guān)系r中的一個元組,則稱a為關(guān)系r的一個超碼 候選碼:對于關(guān)系r中一個或多個屬性的集合a,若屬性集a中的任意真子集都不能成為關(guān)系r的超碼,則、、、、、主碼:在實(shí)體集中區(qū)分不同實(shí)體的候選碼。
外碼:用于建立和加強(qiáng)兩個表數(shù)據(jù)之間的關(guān)系而引用另一個關(guān)系的主碼。
關(guān)系模式:是型的概念,它定義了元組集合的結(jié)構(gòu),即定義了一個元組由哪些屬性構(gòu)成 關(guān)系數(shù)據(jù)庫:在一個給定的應(yīng)用領(lǐng)域中,所有實(shí)體以及實(shí)體之間的聯(lián)系所對應(yīng)的關(guān)系的集合 空值:是所有可能的域的一個取值,表明值未知或不存在。
2.關(guān)系模式的完整性:實(shí)體完整性、參照完整性和用戶自定義完整性。實(shí)體完整性:若屬性a是關(guān)系r中的主碼,則a不能取空值
參照完整性:若屬性f是關(guān)系r的外碼,它與關(guān)系s的主碼ks相對應(yīng),則對于關(guān)系r中的每一個元組在屬性f上的取值,要么為空值,要么等于關(guān)系s中的某個元組的值 3.自然連接和等值連接的區(qū)別于聯(lián)系
等值連接:是從兩個關(guān)系的笛卡爾積中選取連接屬性滿足相等條件的所有元組。
自然連接:是一種特殊的等值連接,它要求兩個參與連接的關(guān)系具有公共的屬性集,并且在結(jié)果中把重復(fù)的屬性列去掉
第四章
數(shù)據(jù)庫建模(實(shí)體-聯(lián)系模型)
1.請簡要解釋下列術(shù)語:實(shí)體、實(shí)體集、屬性、域、聯(lián)系、聯(lián)系集、角色、映射基數(shù)、超碼、候選碼、主碼、弱實(shí)體、類層次、聚合
實(shí)體是客觀世界中可區(qū)別于其他事物的“事物”或“對象”。實(shí)體既可以是有形的,實(shí)在的事物,也可以是抽象的、概念上存在的事物。相同類型的實(shí)體組成的集合稱為實(shí)體集
實(shí)體是通過一組屬性來描述的,其屬性是實(shí)體集中給每個實(shí)體都具有的性質(zhì)。每個屬性所允許的取值范圍或集合稱為該屬性的域
聯(lián)系兩個或兩個以上實(shí)體之間的聯(lián)系。相同類型聯(lián)系組成的集合稱為聯(lián)系集。聯(lián)系也可擁有自身的描述性屬性
由于參與一個聯(lián)系的實(shí)體集通常是不同的,因而角色是隱含的并且常常不需聲明。但是,當(dāng)參與聯(lián)系的實(shí)體來自相同的實(shí)體集,則需要聲明角色
映射基數(shù)指一實(shí)體集中的一個實(shí)體通過一個聯(lián)系集能同時與另一個實(shí)體集相聯(lián)系的實(shí)體數(shù)目。映射基數(shù)可決定聯(lián)系集的主碼屬性,甚至可能影響到一個事物是作為實(shí)體還是聯(lián)系的選擇
超碼是指能夠唯一的標(biāo)識實(shí)體集或聯(lián)系集中的一個實(shí)體或一個聯(lián)系的一個或多個屬性的集合。當(dāng)一個超碼的任意真子集都不能成為超碼時,稱該最小超碼為候選碼。候選碼和超碼是實(shí)體集客觀存在的特性,而主碼是被數(shù)據(jù)庫設(shè)計(jì)者主觀選中,用來區(qū)分同一實(shí)體集中不同實(shí)體的候選碼
當(dāng)一個實(shí)體集的所有屬性都不足以形成主碼,就稱該實(shí)體集為弱實(shí)體集。相反,其屬性可以形成主碼的實(shí)體集稱為強(qiáng)實(shí)體集。弱實(shí)體集所以來的強(qiáng)實(shí)體集稱為標(biāo)識實(shí)體集。標(biāo)識實(shí)體集和弱實(shí)體集之間必須是一對多關(guān)系,并且弱實(shí)體集中的實(shí)體在聯(lián)系集中是全部參與的
e-r模型使用繼承和isa聯(lián)系來描述實(shí)體集之間概念上的層次關(guān)系。當(dāng)欲建立聯(lián)系間的聯(lián)系時,可使用聚合實(shí)現(xiàn)
聚合是一種抽象,它將一個聯(lián)系集及其相關(guān)聯(lián)的實(shí)體集抽象為一高層實(shí)體集對待,然后建立該高層實(shí)體集與其他實(shí)體集之間的聯(lián)系集 2.綜合題:需求分析----e-r圖---關(guān)系模式
第七章
數(shù)據(jù)庫存儲結(jié)構(gòu)
1.數(shù)據(jù)庫系統(tǒng)的存儲訪問方式是什么?為什么要這樣? 一個數(shù)據(jù)庫映射為多個不同的文件,這些文件由底層的操作系統(tǒng)來維護(hù),永久地存放在磁盤上,并且具有三級存儲介質(zhì)上的備份。每個文件分成定長的存儲單元,稱為塊。塊是存儲分配和數(shù)據(jù)傳輸?shù)幕締挝?/p>
當(dāng)數(shù)據(jù)庫系統(tǒng)中的程序需要磁盤上的塊時,它向緩沖區(qū)管理器發(fā)出請求(即調(diào)用)。如果這個塊已經(jīng)在緩沖區(qū)中,緩沖區(qū)管理器將這個塊在主存儲器中的地址返回給請求者。如果這個塊不再緩沖區(qū)中,緩沖區(qū)管理器首先在緩沖區(qū)中為這個塊分配空間,如果需要的話會把其他塊移出主存儲器為這個新塊騰出空間,移出的塊僅當(dāng)它在最近一次寫回磁盤后修改過才需要寫回磁盤;然后,換紅區(qū)管理器把這個塊從磁盤讀入緩沖區(qū),并將這個塊在主存儲器中的地址返回給請求者。緩沖區(qū)管理器的內(nèi)部動作對發(fā)出磁盤塊請求的程序是透明的。原因:數(shù)據(jù)庫系統(tǒng)的一個主要目標(biāo)就是減少磁盤和主存儲器之間傳輸?shù)膲K數(shù)。減少磁盤訪問次數(shù)的一種方法是在主存儲器中保留盡可能多的塊,目的是最大化要訪問的塊已經(jīng)在主存儲器中的幾率,這樣就不再需要訪問磁盤了
2.什么是聚集文件組織、什么是多表聚集文件組織?為什么需要多表聚集文件組織?為什么要慎用多表聚集文件組織?
聚集文件組織:很多關(guān)系數(shù)據(jù)庫系統(tǒng)將各個關(guān)系存儲在一個個獨(dú)立的文件中,不同關(guān)系中有聯(lián)系的數(shù)據(jù)是通過關(guān)系間的聯(lián)接操作得到的,但是當(dāng)數(shù)據(jù)的數(shù)量比較大時,這種方法速度會很慢。而在聚集文件組織方式中,一個文件可以存儲多個關(guān)系的記錄,不同關(guān)系中有聯(lián)系的記錄存儲在一起可以提高查找速度。
多表聚集文件組織:在一個塊中存儲兩個或多個關(guān)系的相關(guān)記錄,以加速特定連接的處理。但是它將會導(dǎo)致其他類型查詢的處理變慢
3.為什么需要索引?什么是順序索引和散列索引?什么是主索引和輔助索引?稠密索引和稀疏索引有什么不同?什么是索引順序文件?
許多查詢只涉及到文件中的少量記錄,索引能使系統(tǒng)直接定位這些滿足查詢條件的記錄。dbms首先會查找索引,找到對應(yīng)記錄所在的位置(即所在磁盤的塊地址),然后讀取該磁盤塊,得到所需的記錄
順序索引是基于搜索碼的值的順序排列,用于支持快速地對文件中的記錄進(jìn)行順序或隨機(jī)的訪問。散列索引時通過搜索碼值的散列函數(shù)的值將所有記錄平均、隨機(jī)地分布到若干個散列桶中,用于支持快速地對文件中的記錄進(jìn)行隨機(jī)地訪問
如果索引文件中的記錄按照某個搜索碼值指定的順序物理存儲,那么該搜索碼對應(yīng)的索引就稱為主索引,也叫聚集索引。與此相反,搜索碼值順序與索引文件中記錄的物理順序不同的那些索引稱為輔助索引或非聚集索引
如果索引文件中的每一個不同的搜索碼值,在索引中都有一個索引記錄(或稱為索引項(xiàng)),則該索引稱為稠密索引。如果只對索引文件中的部分搜索碼值,在索引中存在一個索引記錄,則該索引稱為稀疏索引。每一個索引項(xiàng)包含搜索碼值和指向具有該搜索碼值的第一個數(shù)據(jù)記錄的指針。利用稠密索引通常可以比稀疏索引能夠更快地定位一條記錄的位置,但是稀疏索引占用空間更小,插入、刪除和更新的開銷也會更小
建立了主索引的索引文件稱為索引順序文件:稠密索引、稀疏索引 4.b+樹索引的根結(jié)點(diǎn),非葉結(jié)點(diǎn)和葉結(jié)點(diǎn)都具有相同的數(shù)據(jù)結(jié)構(gòu),那它們之間有什么不同? 非葉結(jié)點(diǎn)的結(jié)構(gòu)與葉結(jié)點(diǎn)結(jié)構(gòu)相同,只不過非葉結(jié)點(diǎn)中的所有指針都是指向b+樹種下一層節(jié)點(diǎn)的指針,根結(jié)點(diǎn)與其他非葉結(jié)點(diǎn)不同,它包含的指針書可以小于n/2,但至少包含兩個指針
5.散列文件組織和散列索引有什么不同? 在散列文件組織中,通過計(jì)算一條記錄的搜索碼值的散列函數(shù)值,可以直接獲得包含該記錄的磁盤塊(桶)的地址。在散列索引組織中,把搜索碼值以及與它們先關(guān)聯(lián)的記錄指針組織成一個散列文件結(jié)構(gòu)
6.在考慮用索引時,是選擇b+樹索引還是散列索引?為什么? 散列其實(shí)就是一種不通過值的比較,而通過值的含義來確定存儲位置的方法,它是為有效地實(shí)現(xiàn)等值查詢而設(shè)計(jì)的。不幸的是,基于散列技術(shù)不支持范圍檢索。而基于b+樹索引技術(shù)能有效的支持范圍檢索,并且它的等值檢索效果也很好。但是,散列技術(shù)在等值連接中是很有用的,尤其是在索引嵌套循環(huán)連接方法中,基于散列的索引和基于b+樹的所以在代價上會有很大差別
7.數(shù)據(jù)庫物理設(shè)計(jì)的主要內(nèi)容是什么?數(shù)據(jù)庫物理設(shè)計(jì)的目標(biāo)是什么?
數(shù)據(jù)庫物理設(shè)計(jì)的目標(biāo)是:提高數(shù)據(jù)庫性能,以滿足應(yīng)用的性能需求;有效利用存儲空間;在性能和代價之間做出最優(yōu)平衡 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容包括:確定數(shù)據(jù)庫性能,以滿足應(yīng)用的性能需求;有效利用存儲空間;在性能和代價之間做出最優(yōu)平衡
第八章 查詢處理
1.查詢處理的過程分為哪幾個步驟
?語法分析與翻譯?查詢優(yōu)化?查詢執(zhí)行 2.查詢代價如何度量?為什么?
查詢處理的代價可以通過該查詢對各種資源的使用情況進(jìn)行度量,主要包括磁盤存取時間和執(zhí)行一個查詢所用cpu時間以及在并行/分布式數(shù)據(jù)庫系統(tǒng)中的通信開銷等 3.如何實(shí)現(xiàn)選擇運(yùn)算?
用于選擇運(yùn)算的搜索方法?不用索引的搜索算法----文件掃描?使用索引的搜索算法---索引掃描
4.題見書(1)最壞情況下,緩沖區(qū)只能容納每個關(guān)系的一個數(shù)據(jù)塊,因而算法的代價為:ej = nr * bs + br。這里,nr = 20000,bs =1500,br=800,所以所需要的塊存取數(shù)為20000*1500+800,約為30m個塊存取。最好情況下,兩個關(guān)系都能放到內(nèi)存里,因而算法代價為:ej = bs + br。大約需要2.3k個塊存取。
5.為什么需要查詢優(yōu)化?什么是查詢執(zhí)行計(jì)劃?查詢優(yōu)化器的輸入和輸出分別是什么? 處理一個給定的查詢,尤其是復(fù)雜的查詢,通常會有許多種策略。查詢優(yōu)化就是從這多種策略中找出最有效的查詢執(zhí)行計(jì)劃的處理過程。
給定一個關(guān)系代數(shù)表達(dá)式,查詢優(yōu)化器的任務(wù)就是產(chǎn)生一個查詢執(zhí)行計(jì)劃,該計(jì)劃能獲得與原關(guān)系代數(shù)表達(dá)式相同的結(jié)果,并且執(zhí)行代價是接近最小的
6.題見書:由于是計(jì)算三個關(guān)系的自然連接,且連接屬性中的c、e是各自關(guān)系的主碼,因此r1r2r3的大小最多為1000個元組。有效地計(jì)算這個連接的策略就是讓連接結(jié)果較小的連接運(yùn)算先執(zhí)行,即:(r1r2)r3。原因就是:由于a是r1的主碼,c是連接屬性,因此r1r2的最大結(jié)果為1000個元組;而c是r2的主碼,e是連接屬性,因此r2r3的最大結(jié)果為1500個元組。所以,要讓(r1r2)先做連接運(yùn)算,以減少結(jié)果集的大小。7.畫樹
其它章節(jié)零散習(xí)題
列級約束和元組級約束的區(qū)別在哪里?
如果在定義屬性的同時定義約束條件,則為列級約束;如果單獨(dú)定義約束條件,則為元組級約束
什么是事物的acid特性?
①原子性:事務(wù)的所有操作要么全部都被執(zhí)行,要么都不被執(zhí)行②一致性;即一個單獨(dú)執(zhí)行的事務(wù)應(yīng)保證其執(zhí)行結(jié)果的一致性,即總是將數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)化到另一個一致性狀態(tài)③隔離性:即當(dāng)多個事務(wù)并發(fā)執(zhí)行時,一個事務(wù)的執(zhí)行不能影響另一個事務(wù),即并發(fā)執(zhí)行的各個事務(wù)不能相互干擾④持久性:即一個事務(wù)成功提交后,它對數(shù)據(jù)庫的改變必須是永久的,即使隨后系統(tǒng)出現(xiàn)故障也不會受到影響 當(dāng)前主流的數(shù)據(jù)庫訪問技術(shù)是ado web服務(wù)器的職責(zé)是什么?數(shù)據(jù)庫服務(wù)器的職責(zé)又是什么? web服務(wù)器負(fù)責(zé)監(jiān)聽客戶的請求,一旦收到客戶請求,數(shù)據(jù)庫服務(wù)器 三級數(shù)據(jù)庫考點(diǎn)分析之計(jì)算機(jī)基礎(chǔ)知識
1.1計(jì)算機(jī)系統(tǒng)組成與應(yīng)用領(lǐng)域
考點(diǎn)1計(jì)算機(jī)系統(tǒng)組成
一個完整的計(jì)算機(jī)系統(tǒng),包括硬件和軟件兩個部分。
硬件系統(tǒng)是指組成一臺計(jì)算機(jī)的各種物理裝置,它是計(jì)算機(jī)的物質(zhì)基礎(chǔ),由各種器件組成,如主板、cpu、硬盤、顯示器、內(nèi)存和線路等。
軟件系統(tǒng)是運(yùn)行在計(jì)算機(jī)硬件設(shè)備上的各種程序及相關(guān)資料的總稱。
以存儲程序原理為基礎(chǔ)的馮·諾依曼結(jié)構(gòu)的計(jì)算機(jī),一般由五大功能部件組成,它們是運(yùn)算器、控制、存儲器、輸人設(shè)備以及輸出設(shè)備。
下面分別對各種設(shè)備進(jìn)行介紹。
1運(yùn)算器
運(yùn)算器是用于對數(shù)據(jù)進(jìn)行加工的部件,它可以對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。算術(shù)運(yùn)算包括加、減、乘、除、求余及復(fù)合運(yùn)算。邏輯運(yùn)算包括一般的邏輯判斷和邏輯比較。
2控制器
控制器是計(jì)算機(jī)的控制部件。它控制計(jì)算機(jī)各部分自動協(xié)調(diào)地工作,用于對程序的指令進(jìn)行解釋和執(zhí)行,協(xié)調(diào)輸人、輸出設(shè)備,以實(shí)現(xiàn)數(shù)據(jù)輸人、運(yùn)算和輸出等操作。
3存儲器
存儲器的主要功能是存放程序和數(shù)據(jù),是計(jì)算機(jī)的記憶存儲裝置。它分為內(nèi)部存儲器和外部存儲器。
4輸入設(shè)備
輸人設(shè)備是計(jì)算機(jī)從外部接收、獲取信息的裝置。其功能是將數(shù)據(jù)、程序及其他信息,從人們所熟知的形式轉(zhuǎn)換成計(jì)算機(jī)能識別的信息形式,并輸人到計(jì)算機(jī)內(nèi)部。
常見輸人設(shè)備有鼠標(biāo)、鍵盤、掃描儀、紙帶輸人機(jī)、模/數(shù)轉(zhuǎn)換器(a/d轉(zhuǎn)換器)等
5輸出設(shè)備
輸出設(shè)備的主要功能是將計(jì)算機(jī)處理過的二進(jìn)制形式的信息轉(zhuǎn)換成人們所需要的形式或其他設(shè)備接受并可以識別的信息形式。常見的輸出設(shè)備有顯示器、打印機(jī)、聲音合成輸出、繪圖儀和數(shù)/模轉(zhuǎn)換器(d/a轉(zhuǎn)換器)等
一般把運(yùn)算器和控制器合稱為中央處理器(central processor unit,簡稱cpu),中央處理器與內(nèi)存儲器統(tǒng)稱為主機(jī).輸人設(shè)備、輸出設(shè)備和外存儲器合稱為外部設(shè)備,外部設(shè)備通過接口與主機(jī)相連。考點(diǎn)2計(jì)算機(jī)的應(yīng)用領(lǐng)域
l 科學(xué)和工程計(jì)算
主要是用數(shù)值方法對一些數(shù)學(xué)問題的求解。計(jì)算機(jī)不僅可以提高計(jì)算的速度,還可以使一些人工不能解決的數(shù)學(xué)問題得到解決。在科學(xué)實(shí)驗(yàn)和工程設(shè)計(jì)中,經(jīng)常會遇到一些數(shù)學(xué)方程和函數(shù)問題,這些問題人們不能從理論上得出其準(zhǔn)確解,但利用計(jì)算機(jī)可以得到它們的近似解。這種應(yīng)用稱為科學(xué)和工程計(jì)算,其特點(diǎn)是計(jì)算量大,而邏輯關(guān)系相對簡單。
2數(shù)據(jù)和信息處理
數(shù)據(jù)處理是指對數(shù)據(jù)的收集、存儲、加工、分析和傳送的一系列過程。
計(jì)算機(jī)的一個非常重要的應(yīng)用領(lǐng)域就是對數(shù)據(jù)和信息的處理。數(shù)據(jù)的含義是相當(dāng)廣泛的,包括聲、像、文字和圖表等,它們都可以用計(jì)算機(jī)來進(jìn)行處理。
3過程控制
過程控制是自動化技術(shù)的重要技術(shù)內(nèi)容和手段.指計(jì)算機(jī)對所采集到的數(shù)據(jù)按一定的方法經(jīng)過計(jì)算,然后輸出到指定的執(zhí)行設(shè)備中去控制生產(chǎn)的過程。
4輔助設(shè)計(jì)
計(jì)算機(jī)輔助設(shè)計(jì)(computer aided design,簡稱cad)是用計(jì)算機(jī)來幫助設(shè)計(jì)人員進(jìn)行產(chǎn)品、工程設(shè)計(jì)的重要技術(shù)手段,可以節(jié)省人力和物力,且速度快,質(zhì)量高,能有效縮短產(chǎn)品的設(shè)計(jì)周期。
這里有必要提一下這幾個名詞:計(jì)算機(jī)輔助制造(computer aided manufacturing,簡稱cam)、計(jì)算機(jī)輔助測試(computer aided testing,簡稱cat)和計(jì)算機(jī)輔助教學(xué)(computer aided instruction,簡稱cai)。
5人工智能
人們把用計(jì)算機(jī)模擬人腦思維的過程稱為人工智能,并利用計(jì)算機(jī)程序來實(shí)現(xiàn)這些過程。
1.2計(jì)算機(jī)軟件 考點(diǎn)3計(jì)算機(jī)語言
計(jì)算機(jī)語言是面向計(jì)算機(jī)的人工語言,它是進(jìn)行程序設(shè)計(jì)的工具,又稱為程序設(shè)計(jì)語言?,F(xiàn)有的程序設(shè)計(jì)語言一般可分為機(jī)器語言、匯編語言及高級語言,下面分別加以介紹。
1機(jī)器語言
機(jī)器語言是最初級的計(jì)算機(jī)語言,它依賴于硬件,是由0,i組成的二進(jìn)制編碼形式的指令集合。不易被人識別,但可以被計(jì)算機(jī)直接執(zhí)行。
2匯編語言
匯編語言指使用助記符號和地址符號來表示指令的計(jì)算機(jī)語言,也稱之為符號語言。每條指令有明顯的標(biāo)識,易于理解和記憶。
用匯編語言編寫的程序,直觀且易理解,這是匯編語言的優(yōu)點(diǎn)。但是匯編語言仍是面向機(jī)器的,編程工作量大,程序可移植性差。計(jì)算機(jī)不能識別和直接運(yùn)行匯編語言,必須翻譯成機(jī)器語言程序后才能識別并運(yùn)行。這種翻譯程序即稱為匯編程序,其關(guān)系如圖l一1所示。
圖1-1匯編過程
高級語言
高級語言是一類面向問題的程序設(shè)計(jì)語言,且獨(dú)立于計(jì)算機(jī)的硬件,對具體的算法進(jìn)行描述,所以又稱為算法語言,它的特點(diǎn)介紹如下:
(i)脫離具體的計(jì)算機(jī)硬件。
(2)通用性及可移植性好。
下面介紹幾種常用的高級語言。
(i)basic語言:多用于教學(xué)及小型應(yīng)用程序的開發(fā)工作。
(2)fortran語言:多用于科學(xué)及工程計(jì)算程序的開發(fā)工作。
(3)pascal語言:多用于專業(yè)教學(xué)及應(yīng)用程序的開發(fā)工作。
(4)c語言:多用于系統(tǒng)程序的開發(fā)。
(5)c十+語言:多用于面向?qū)ο蟪绦虻拈_發(fā)。
(6)cobol語言:多用于商業(yè)、交通及銀行等應(yīng)用程序的開發(fā)。
(7)prolog語言:多用于人工智能程序的開發(fā)。
(8)foxpro語言:多用于專業(yè)教學(xué)及應(yīng)用程序的開發(fā)。
高級語言程序一般又稱為源程序,不能直接在計(jì)算機(jī)上運(yùn)行,需要翻譯成機(jī)器語言程序(又稱為目標(biāo)程序)才可執(zhí)行。這種翻譯是由編譯程序來完成的,翻譯過程如圖1-2所示。
圖1一2編譯過程
考點(diǎn)4系統(tǒng)軟件
系統(tǒng)軟件指負(fù)責(zé)管理、監(jiān)控和維護(hù)計(jì)算機(jī)資源(含硬件資源和軟件資源)的程序。
1操作系統(tǒng)
操作系統(tǒng)(operating system,簡稱os)是系統(tǒng)軟件的核心,也是用戶同計(jì)算機(jī)之間的接口,是一組程序模塊的集合:它們有效地控制和管理計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源;合理地組織計(jì)算機(jī)工作流程,以改善系統(tǒng)的性能;提供一個易于使用、功能強(qiáng)大的工作環(huán)境,從而在計(jì)算機(jī)和其他用戶之間起到接口的作用。
2語言處理程序
語言處理程序就是將各種語言編寫的源程序翻譯成機(jī)器語言表示的目標(biāo)程序。按處理方式的不同可解釋型程序與編譯型程序兩大類。
3數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)(database management system,簡稱dbms)是組織、管理和查詢計(jì)算機(jī)中的存緒數(shù)據(jù)并提供一定處理功能的大型系統(tǒng)軟件,是計(jì)算機(jī)信息系統(tǒng)和應(yīng)用系統(tǒng)的基礎(chǔ),可分為兩類:
(1)基于微型計(jì)算機(jī)的小型數(shù)據(jù)庫管理系統(tǒng)可解決數(shù)據(jù)量不大且功能要求較簡單的數(shù)據(jù)庫應(yīng)用。
(2)大型的數(shù)據(jù)庫管理系統(tǒng)功能齊全,安全穩(wěn)定,支持對大數(shù)據(jù)量的管理并提供相應(yīng)開發(fā)工具。
4服務(wù)性程序
服務(wù)性程序?qū)儆谳o助性的程序.比如用于程序的裝人、連接和編輯,調(diào)試用的裝人程序、連接程序、編輯程序及調(diào)試程序,以及故障診斷程序、糾錯程序等??键c(diǎn)5應(yīng)用軟件
應(yīng)用軟件是指人們?yōu)榱私鉀Q某濘、領(lǐng)域的實(shí)際問題而編制的計(jì)算機(jī)程序。除了系統(tǒng)軟件以外的所有軟件都稱為應(yīng)用軟件。隨著計(jì)算機(jī)應(yīng)用在不同領(lǐng)域的深人發(fā)展,應(yīng)用軟件的類型也不斷增多,如各種用于計(jì)算的軟件包、字處理軟件、ca d軟件、cai軟件、cam軟件,以及各種繪圖軟件等。
計(jì)算機(jī)硬件、軟件及汁算機(jī)系統(tǒng)的組成情況如圖1一3所示。
圖1-3計(jì)算機(jī)系統(tǒng)組成 考點(diǎn)6計(jì)算機(jī)網(wǎng)絡(luò)概述
1計(jì)算機(jī)網(wǎng)絡(luò)的基本概念
計(jì)算機(jī)網(wǎng)絡(luò)是通信技術(shù)與計(jì)算機(jī)技術(shù)緊密結(jié)合的產(chǎn)物,通過通信線路及通信設(shè)備將分布在不同地點(diǎn)的具有獨(dú)立功能的多個計(jì)算機(jī)系統(tǒng)連接起來,并在網(wǎng)絡(luò)軟件支持下實(shí)現(xiàn)相互的數(shù)據(jù)通信及資源共享的硬件系統(tǒng)。計(jì)算機(jī)網(wǎng)絡(luò)按規(guī)模大小可分為局域網(wǎng)、城域網(wǎng)和廣域網(wǎng)。
2計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展厲史
(l)具有通信功能的單機(jī)系統(tǒng)階段。
(2)具有通信功能的多機(jī)系統(tǒng)階段。
(3)計(jì)算機(jī)網(wǎng)絡(luò)階段。
3計(jì)算機(jī)網(wǎng)絡(luò)的主要特點(diǎn)
在不同的發(fā)展階段,人們對網(wǎng)絡(luò)的定義是不同的,這些定義大致可分為3類:廣義的觀點(diǎn)、資源共享的觀點(diǎn)和用戶透明性的觀點(diǎn)。從目前計(jì)算機(jī)網(wǎng)絡(luò)的特點(diǎn)來看,資源共享觀點(diǎn)能比較準(zhǔn)確地描述計(jì)算機(jī)網(wǎng)絡(luò)的基本特征。下面簡單介紹一卜資源共享的含義:
(1)資源共享。網(wǎng)絡(luò)用戶可以通過網(wǎng)絡(luò)訪問聯(lián)網(wǎng)的遠(yuǎn)程計(jì)算機(jī)資源,也可以調(diào)用不同計(jì)算機(jī)共同完成任務(wù)。
(2)獨(dú)立的計(jì)算機(jī)。網(wǎng)絡(luò)中的計(jì)算機(jī)可以聯(lián)網(wǎng)工作,也可以脫離網(wǎng)絡(luò)獨(dú)立工作。
(3)遵循共同的網(wǎng)絡(luò)協(xié)議。為保證網(wǎng)絡(luò)中的計(jì)算機(jī)能有序地工作,每臺計(jì)算機(jī)在交換數(shù)據(jù)的過程中遵守共同的通信規(guī)則,一個網(wǎng)絡(luò)協(xié)議主要由語法、語義與時序組成。
考點(diǎn)7計(jì)算機(jī)網(wǎng)絡(luò)的分類
1分類方法
(1)根據(jù)傳輸技術(shù)分類:可分為廣播式網(wǎng)絡(luò)與點(diǎn)一點(diǎn)式網(wǎng)絡(luò)。
(2)根據(jù)網(wǎng)絡(luò)的覆蓋范圍與規(guī)模分類:可分為局域網(wǎng)、城域網(wǎng)及廣域網(wǎng)。
2廣域網(wǎng)
廣域網(wǎng)(wide area network,簡稱wan)也稱為遠(yuǎn)程網(wǎng),其覆蓋范圍從幾十千米到幾千千米甚至上萬千米,廣域網(wǎng)具有以下特點(diǎn)。
(1)適應(yīng)大容量與突發(fā)性通信要求
(2)適應(yīng)綜合業(yè)務(wù)服務(wù)要求
(3)開放的設(shè)備接口與規(guī)范化的協(xié)議
(4)完善的通信服務(wù)與網(wǎng)絡(luò)管理。
隨著通信技術(shù)的不斷發(fā)展,數(shù)據(jù)通信的環(huán)境也發(fā)生了變化,主要表現(xiàn)在以下3個方面。
(1)傳輸介質(zhì)由原有的電纜逐步走向誤碼率很低且?guī)捄軐挼墓饫w
(2)局域網(wǎng)內(nèi)部的數(shù)據(jù)傳輸速率已經(jīng)達(dá)到iomb/s一1 gb/s,多個局域網(wǎng)之間高速互聯(lián)的要求越來越強(qiáng)烈。
(3)用戶設(shè)備性能大大提高,可以承擔(dān)部分原來由數(shù)據(jù)通信網(wǎng)承擔(dān)的通信處理功能
3局域網(wǎng)
局域網(wǎng)(local area network,簡稱lan)指網(wǎng)絡(luò)服務(wù)區(qū)域在一個局部的范圍內(nèi),可以有一臺或多臺計(jì)算及多個工作站通過其進(jìn)行通信。它有以太網(wǎng)(ethernet)、令牌總線(token bus)和令牌環(huán)(token ring)3種工作原理。
局域網(wǎng)的技術(shù)特點(diǎn)主要表現(xiàn)在以下幾個方面。
(1)覆蓋范圍有限,多用于公司、機(jī)關(guān)、校園等范圍內(nèi)的計(jì)算機(jī)終端與信息處理設(shè)備之間的聯(lián)網(wǎng)需求。
(2)提供高數(shù)據(jù)傳輸速率、低誤碼率、高質(zhì)量數(shù)據(jù)傳輸環(huán)境。
(3)易于建立、維護(hù)與擴(kuò)展,一般為一個單位所有。
(4)決定局域網(wǎng)特性的主要技術(shù)要素為網(wǎng)絡(luò)拓?fù)洹鬏斀橘|(zhì)與介質(zhì)訪問控制方法。
(5)從介質(zhì)訪問控制方法角度,可分為共享式與交換式局域網(wǎng)。
城域網(wǎng)
城域網(wǎng)(metropolitan area network,簡稱man)是介于廣域網(wǎng)與局域網(wǎng)之間的一種高速網(wǎng)絡(luò)。早期的城域網(wǎng)主要采用光纖分布式數(shù)據(jù)接口(fiber distributed data interface,簡稱fddi),它主要有以下幾個技術(shù)特點(diǎn)。
(1)使用基于ieee 802.5的單令牌的環(huán)網(wǎng)介質(zhì)訪問控制mac協(xié)議。
(2)使用ieee 802.2協(xié)議,與符合ieee 802標(biāo)準(zhǔn)的局域網(wǎng)兼容。
(3)數(shù)據(jù)傳輸速率為100 mb/s,聯(lián)網(wǎng)的節(jié)點(diǎn)數(shù)`1 000,環(huán)路長度為100 km,(4)可以使用雙環(huán)結(jié)構(gòu),具有容錯能力。
(5)可以使用多?;騿文9饫w。
(6)具有動態(tài)分配帶寬的能力,能支持同步和異步數(shù)據(jù)傳輸。
考點(diǎn)8internet基礎(chǔ) internet的形成與發(fā)展
(1)tcp/ip協(xié)議與arpanet的結(jié)合,使arpanet成為internet的主干網(wǎng)。
(2)nsfnet從一開始就使用tcp/ip協(xié)議,是第一個使用tcp/ip協(xié)議的廣域網(wǎng)。
(3)internet實(shí)現(xiàn)了tcp/ip協(xié)議參考模型與協(xié)議的結(jié)合。tcp/ip協(xié)議使網(wǎng)絡(luò)不受主機(jī)、用戶微型計(jì)算機(jī)及所使用的操作系統(tǒng)的限制。
internet的結(jié)構(gòu)與組成
從技術(shù)角度上來看,internet主要是由通信線路、路由器、主機(jī)、信息資源幾個主要部分組成的。
(1)通信線路。將internet中的路由器與路由器、路由器與主機(jī)連接起來。
(2)路由器。是internet中最重要的通信設(shè)備之一,它的作用是將internet中的各個局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),以及主機(jī)互聯(lián)起來
(3)主機(jī)。是internet中信息資源與服務(wù)的載體。
(4)信息資源是用戶最關(guān)心的問題,它會影響到internet中站點(diǎn)受歡迎的程度。
tcp/ip協(xié)議、域名與ip地址
tcp/ip協(xié)議是為保證internet正常工作而要求所有internet中的主機(jī)都必須遵守的通信協(xié)議。它具有 以下幾個特點(diǎn)
(1)開放的協(xié)議標(biāo)準(zhǔn),獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng)。
(2)獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng)和廣域網(wǎng),更適用于互聯(lián)網(wǎng)中。
(3)標(biāo)準(zhǔn)化的高層協(xié)議,可以提供多種可靠的用戶服務(wù)。
(4)統(tǒng)一的網(wǎng)絡(luò)地址分配方字模,使得整個tcp/ip設(shè)備在網(wǎng)中都具有唯一的ip地址。
在tcp/ip參考模型中,應(yīng)用層包括了所有的高層協(xié)議,且一直有新的協(xié)議加人。應(yīng)用層協(xié)議主要有下面幾種。
(1)網(wǎng)絡(luò)終端協(xié)議telnet,實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)中遠(yuǎn)程登錄的功能二
(2)文件傳送協(xié)議ftp,實(shí)現(xiàn)因特網(wǎng)中交互式文件傳送的功能。
(3)域名服務(wù)dns,實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備名字與ip地址相互映射的網(wǎng)絡(luò)服務(wù)。
(4)路由信息協(xié)議rip,網(wǎng)絡(luò)設(shè)備間交換路由信息的協(xié)議。
(5)電子郵件協(xié)議smtp,實(shí)現(xiàn)網(wǎng)絡(luò)中電子郵件的傳送功能。
(6)http協(xié)議, 1.第一范式(1nf)及進(jìn)一步規(guī)范化
關(guān)系模式需要滿足一定的條件,不同程度的條件稱做不同的范式,最低要求的條件是元組的每個分量必須是不可分的數(shù)據(jù)項(xiàng),這叫第一范式,簡稱1nf,是最基本的范式。對于各種范式之間的聯(lián)系有5nf c4nf仁bcnfc3nf仁2nfcinf成立。一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這個過程就叫規(guī)范化。2.第二范式(2nf)若r einf,且每一個非主屬性完全函數(shù)依賴于碼,則r∈2nfo 2nf就是不允許關(guān)系模式的屬性之間有這樣的函數(shù)依賴x-.y。其中x是碼的真子集,y是非主屬性,也就是說,不允許有非主屬性對碼的部分函數(shù)依賴。3.第三范式(3nf)關(guān)系模式r,<u,f>中若不存在這樣的碼x,屬性組y及非主屬性z(z不包含于均使得x→y,(y函數(shù)依賴于x)y→z成立,則稱r<u, f>∈3nf 一codd范式(bcnf)若關(guān)系模式reinf,且對于每個非平凡的函數(shù)依賴x-} y都有x包含碼,則r ebcnf。在函數(shù)依賴的范圍內(nèi),bcnf達(dá)到了最高的規(guī)范化程度。
考點(diǎn)35多值依賴和4nf 1.多值依賴
設(shè)r(u)是屬性集u上的一個關(guān)系模式x、y,z是u的子集,并且z=u一x一y}關(guān)系模式r(u)中多值依賴x→→y成立,當(dāng)且僅當(dāng)對r(u)功的任一關(guān)系r,給定的一對(x,z)值有一組y的值,這組值僅僅決定于x值而與z值無關(guān)。4.第四范式(4nf)關(guān)系模式r<u,f>司nf,如果對于r的每個非平凡多值依賴x→→y(y不包含于x),x都含有碼,則稱r<u,f>∈4nf。
如果一個關(guān)系模式是4nf,則必為bcnf。
4.14關(guān)系模式的分解
考點(diǎn)36模式分解的等價標(biāo)準(zhǔn)
常用的等價標(biāo)準(zhǔn)要求分解是具有無損連接性的,并且是保持函數(shù)依賴的。
考點(diǎn)37關(guān)于模式分解的幾個事實(shí)
(1)分解具有無損連接性和分解保持函數(shù)依賴是兩個互相獨(dú)立的標(biāo)準(zhǔn)。(2)若要求分解具有無損連接性,那么模式分解一定可以達(dá)到bcnf)。
(3)若要求分解保持函數(shù)依賴,刀廠么模式分解可以達(dá)到3nf,但不一定能達(dá)到bcnf。(4)若要求分解既具有無損連接性,又保持pa數(shù)依賴,則模式分解可以達(dá)到3nf,但不一定能達(dá)到bcnf。
4.15數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容、方法和步驟
考點(diǎn)38關(guān)于數(shù)據(jù)庫設(shè)計(jì)的概述
數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,包括硬件環(huán)境、操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)(dbms)等軟件環(huán)境,如何使用這個環(huán)境來表達(dá)用戶的要求,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應(yīng)用系統(tǒng),使之能夠有效地收集、存儲、操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應(yīng)用需求。
數(shù)據(jù)庫設(shè)計(jì)方法中比較著名的有新奧爾良(new orleans)方法。它將數(shù)據(jù)庫設(shè)計(jì)過程分為4個階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)
一、邏輯結(jié)構(gòu)設(shè)計(jì)和物理設(shè)計(jì)。4.16需求分析
考點(diǎn)39需求分析的任務(wù)
需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))的下作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計(jì)數(shù)據(jù)庫。需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。需求分析的階段成果是產(chǎn)生系統(tǒng)需求說明書。考點(diǎn)40需求分析的基本步驟
需求分析的步驟有以下幾個方面:
(1)需求的收集:數(shù)據(jù),發(fā)生時間、頻率,發(fā)生的規(guī)則、約束條件、相關(guān)聯(lián)系、計(jì)劃控制及決策過程。
(2)需求的分析整理二包括數(shù)據(jù)流程分析、數(shù)據(jù)分析結(jié)果描述、數(shù)據(jù)分析統(tǒng)計(jì)及分析圍繞數(shù)據(jù)的各種業(yè)務(wù)處理功能,并以帶說明的系統(tǒng)功能結(jié)構(gòu)圖形式給出。
4.17概念結(jié)構(gòu)設(shè)計(jì)
考點(diǎn)41概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)和策略
概念結(jié)構(gòu)是對現(xiàn)實(shí)世界的一種抽象,即對實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述。
設(shè)計(jì)概念結(jié)構(gòu)通常有4類方法:自頂向下、自底向上、由里向外和混合策略。無論采用哪種設(shè)計(jì)方法,一般都以e-r模型為工具來描述概念結(jié)構(gòu)。最常用的設(shè)計(jì)策略是自底向上設(shè)計(jì)策略。
考點(diǎn)42采用e-r方法的數(shù)據(jù)概念模型設(shè)計(jì) 1數(shù)據(jù)抽象與局部視圖設(shè)計(jì)
以自底向上設(shè)計(jì)概念結(jié)構(gòu)的方法為例,它通常分為兩步:
(1)根據(jù)需求分析的結(jié)果(數(shù)據(jù)流圖、數(shù)據(jù)字典等)對現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象,設(shè)計(jì)各個局部視圖即e-r圖。(2)集成局部視圖。
設(shè)計(jì)e-r圖的步驟如下:
(1)選擇局部應(yīng)用(2)逐一沒計(jì)e-r圖二 2視圖的集成
集成局部e-r圖時需要兩步。
(1)合并e-r圖,生成初步e7r圖。
各e-r圖之間的沖突主要有3類:屬性沖突、命名沖突和結(jié)構(gòu)沖突:(2)修改與重構(gòu),生成基本e-r圖。
修改、重構(gòu)初步e-r圖以消除冗余,主要采用分析方法。除分析方法外,還可以用規(guī)范化理論來消除冗余。
4.18邏輯結(jié)構(gòu)設(shè)計(jì)
考點(diǎn)43 e-r模型向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換
將e-r圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,這種轉(zhuǎn)換的規(guī)則包括以下幾點(diǎn):(1)一個實(shí)體型轉(zhuǎn)換為一個關(guān)系模式。(2)一個m: n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。
(3)一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。(4)一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。
(5)3個或3個以上實(shí)體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。
(6)同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1: 1,1: n和m: n三種情況分別處理。
(7)具有相同碼的關(guān)系模式可以合并。
考點(diǎn)44關(guān)系數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)過程 關(guān)系數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)過程如下:
(1)從e-r圖導(dǎo)出初始關(guān)系模式。(2)規(guī)范化處理。
(3)模式評價。(4)優(yōu)化模式。(5)形成邏輯結(jié)構(gòu)設(shè)計(jì)說明書。
4.19物理結(jié)構(gòu)設(shè)計(jì)
考點(diǎn)45物理設(shè)計(jì)的內(nèi)容
(1)存儲記錄的格式設(shè)計(jì)。對數(shù)據(jù)項(xiàng)類型特征進(jìn)行分析,并對存儲記錄進(jìn)行格式化
決定如何進(jìn)行數(shù)據(jù)壓縮或代碼優(yōu)化。
(2)存儲方法的設(shè)計(jì)。物理設(shè)計(jì)中最重要的一個考慮是把存儲記錄在全范圍內(nèi)進(jìn)行物理安排,包括順序存放、散列存放和聚列存放。物理設(shè)計(jì)的結(jié)果是物理設(shè)計(jì)說明書。(3)存取方法設(shè)計(jì)。存取方法設(shè)計(jì)為存儲在物理上的數(shù)據(jù)提供數(shù)據(jù)訪問的路徑。dbms產(chǎn)品一般都提供了一些存儲分配參數(shù),供數(shù)據(jù)人員和dba對數(shù)據(jù)庫進(jìn)行物理優(yōu)化。
考點(diǎn)46物理設(shè)計(jì)的評價
數(shù)據(jù)庫物理設(shè)計(jì)過程中需要對時間效率、空間效率、維護(hù)代價和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設(shè)計(jì)人員必須對這些方案進(jìn)行細(xì)致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。
在數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期中,總的開銷包括:規(guī)劃開銷、設(shè)計(jì)開銷、實(shí)施和測試開銷、操作開銷、運(yùn)行維護(hù)開銷。評價物理數(shù)據(jù)庫的方法完全依賴于所選用的dbms。
4.20實(shí)現(xiàn)和維護(hù)
考點(diǎn)47數(shù)據(jù)庫的實(shí)現(xiàn)
數(shù)據(jù)庫實(shí)現(xiàn)的主要工作有以下幾個方面:(1)定義數(shù)據(jù)庫結(jié)構(gòu)。(2)編制與調(diào)試應(yīng)用程序。(3)數(shù)據(jù)裝載。
(4)數(shù)據(jù)庫試運(yùn)行。
考點(diǎn)48其他設(shè)計(jì)
其他設(shè)計(jì)工作包括加強(qiáng)數(shù)據(jù)庫的安全性、完整性控制,以及保證一致性、可恢復(fù)性等,總是以犧牲效率為代價的。設(shè)計(jì)人員的任務(wù)就是要在實(shí)現(xiàn)代價和盡可能多的功能之間進(jìn)行合理平衡。其他設(shè)計(jì)包括數(shù)據(jù)庫的再組織設(shè)計(jì)、故障恢復(fù)方案設(shè)計(jì)、安全性考慮和事務(wù)控制等。
考點(diǎn)49數(shù)據(jù)庫的運(yùn)行和維護(hù)
在數(shù)據(jù)庫運(yùn)行階段,對數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要是由dba完成的,它包括以下幾個方面:
(1)數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)。
(2)數(shù)據(jù)庫的安全性、完整性控制。(3)數(shù)據(jù)庫性能的監(jiān)督、分析和改進(jìn)。(4)數(shù)據(jù)庫的重組織和重構(gòu)造。
4.21數(shù)據(jù)庫管理系統(tǒng)概述
考點(diǎn)50 dbms的系統(tǒng)目標(biāo)
數(shù)據(jù)庫管理系統(tǒng)(dbms)是操作和管理數(shù)據(jù)庫的軟件系統(tǒng),它由一組計(jì)算機(jī)程序構(gòu)成,管理并控制數(shù)據(jù)資源的使用。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心dbms的目標(biāo)是用戶界面友好、結(jié)構(gòu)清晰和開放性。
考點(diǎn)51 dbms的基本功能
dbms主要是實(shí)現(xiàn)對共享數(shù)據(jù)有效的組織、管理和存取。因此,dbms具有如下幾個方面的基本功能。
(1)數(shù)據(jù)庫定義功能。(2)數(shù)據(jù)存取功能。
(3)數(shù)據(jù)組織、存儲和管理。(4)數(shù)據(jù)庫運(yùn)行管理。(5)數(shù)據(jù)庫的建立和維護(hù)。
(6)通信功能和數(shù)據(jù)轉(zhuǎn)換功能等。
考點(diǎn)52 dbms程序模塊的組成
大致來說,dbms的程序模塊可按功能劃分為以下5個模塊:(1)數(shù)據(jù)定義方面的程序模塊。(2)數(shù)據(jù)操縱方面的程序模塊
(3)數(shù)據(jù)庫運(yùn)行管理方面的程序模塊
(4)數(shù)據(jù)庫組織、存儲和管理方面的程序模塊。(5)數(shù)據(jù)庫建立、維護(hù)和其他方面的程序模塊。
考點(diǎn)53 dbms的層次結(jié)構(gòu)
可以將dbms劃分成若干層次,這樣可以幫助我們更清晰地認(rèn)識dbms,更重要的是有助于dbms的設(shè)計(jì)和維護(hù)。
(1)最上層是應(yīng)用層位于dbms核心之外。
(2)第二層是語言翻譯處理層它處理的對象是數(shù)據(jù)庫語言}a sql,(3)第三層是數(shù)據(jù)存取層:該層處理的對象是單個元組。
(4)第四層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)。(5)操作系統(tǒng)是dbms的基礎(chǔ)。它處理的對象是數(shù)據(jù)文件的物理塊。4.22新的應(yīng)用需求對dbms的挑戰(zhàn)
考點(diǎn)54新的應(yīng)用需求對dbms的挑戰(zhàn)
由于現(xiàn)在以關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(rdbms)為主流。這些新應(yīng)用需求要求數(shù)據(jù)庫管理系統(tǒng)應(yīng)該具有支持分布式操作、聯(lián)機(jī)事務(wù)處理能力、決策支持能力、支持多媒體、大容量、復(fù)雜數(shù)據(jù)應(yīng)用、兼容性和集成能力、異種數(shù)據(jù)庫之間的互訪能力、系統(tǒng)可靠性、安全性、大型系統(tǒng)等方面的管理能力。
在我國,當(dāng)前流行的數(shù)據(jù)庫管理系統(tǒng)絕大多數(shù)是關(guān)系型數(shù)據(jù)庫管理系統(tǒng),一般可分為如下3類:
(1)以pc機(jī)、微型機(jī)系統(tǒng)為運(yùn)行環(huán)境的數(shù)據(jù)庫管理系統(tǒng)。(2)以oracle為代表的數(shù)據(jù)庫管理系統(tǒng),這類系統(tǒng)還有ibm db2,sybase等,也被稱為主流數(shù)據(jù)庫管理系統(tǒng)。
(3)以microsoft 為代表的介于以上兩類之間的數(shù)據(jù)庫管理系統(tǒng)。
4.23 oracle數(shù)據(jù)庫系統(tǒng)
考點(diǎn)55oracle數(shù)據(jù)庫系統(tǒng)簡介
oracle關(guān)系型數(shù)據(jù)庫管理系統(tǒng)是美國oracle公司的優(yōu)秀軟件產(chǎn)品,它采用sql語言作為數(shù)據(jù)庫語言。該公司于1979年推出了世界上第一個商業(yè)化的關(guān)系型數(shù)據(jù)庫系統(tǒng)。oracle數(shù)據(jù)庫的特點(diǎn)包括兼容性、可移植性、可連接性及高的生產(chǎn)率。
考點(diǎn)56 oracle的主要產(chǎn)品及其功能 1oracle數(shù)據(jù)庫服務(wù)霖功能及其特色
oracle數(shù)據(jù)庫服務(wù)器包括標(biāo)準(zhǔn)服務(wù)器和許多可選的服務(wù)器選件,選件用于擴(kuò)展標(biāo)準(zhǔn)服務(wù)器的功能,以適應(yīng)特殊的應(yīng)用需求。
(1)標(biāo)準(zhǔn)服務(wù)器主要具有下列特色:多進(jìn)程多線索的體系結(jié)構(gòu)、高性能核心技術(shù)、高可用性和sql的實(shí)現(xiàn)。
(2)并行服務(wù)器選件(paralle server option)和并行查詢選件(paralle query option)。
對數(shù)據(jù)庫的總結(jié) 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)總結(jié)篇四
數(shù)據(jù)庫原理綜合習(xí)題答案
1.1 名詞解釋
(1)db:即數(shù)據(jù)庫(database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。db能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨(dú)立性。
(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),是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。
(4)1:1聯(lián)系:如果實(shí)體集e1中的每個實(shí)體最多只能和實(shí)體集e2中的一個實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集e1對e2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。
(5)1:n聯(lián)系:如果實(shí)體集e1中每個實(shí)體與實(shí)體集e2中任意個(零個或多個)實(shí)體有聯(lián)系,而e2中每個實(shí)體至多和e1中的一個實(shí)體有聯(lián)系,那么e1對e2的聯(lián)系是“一對多聯(lián)系”,記為“1:n”。
(6)m:n聯(lián)系:如果實(shí)體集e1中每個實(shí)體與實(shí)體集e2中任意個(零個或多個)實(shí)體有聯(lián)系,反之亦然,那么e1對e2的聯(lián)系是“多對多聯(lián)系”,記為“m:n”。
(7)數(shù)據(jù)模型:模型是對現(xiàn)實(shí)世界的抽象。在數(shù)據(jù)庫技術(shù)中,表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。
(6)概念數(shù)據(jù)模型:是獨(dú)門于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu)。
(9)結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。這類模型涉及到計(jì)算機(jī)系統(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)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。
(11)網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。
(12)關(guān)系模型:是目前最流行的數(shù)據(jù)庫模型。其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(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ù)獨(dú)立性:在數(shù)據(jù)庫技術(shù)中,數(shù)據(jù)獨(dú)立性是指應(yīng)用程序和數(shù)據(jù)之間相互獨(dú)立,不受影響。數(shù)據(jù)獨(dú)立性分成物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性兩級。
(19)物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的內(nèi)模式要進(jìn)行修改,即數(shù)據(jù)庫的存儲設(shè)備和存儲方法有所變化,那么模式/內(nèi)模式映象也要進(jìn)行相應(yīng)的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。
(20)邏輯數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫的概念模式要進(jìn)行修改(如增加記錄類型或增加數(shù)據(jù)項(xiàng)),那么外模式/模式映象也要進(jìn)行相應(yīng)的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應(yīng)用程序。
(21)宿主語言:在數(shù)據(jù)庫技術(shù)中,編寫應(yīng)用程序的語言仍然是一些高級程序設(shè)計(jì)語言,這些語言稱為宿主語言(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提供,用于讓用戶或程序員使用,實(shí)現(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)過擴(kuò)充能處理dml語句的語言,這種dml稱為嵌入型dml。
(26)過程性dml:用戶編程時,不僅需要指出“做什么”(需要什么樣的數(shù)據(jù)),還需要指出“怎么做”(怎么獲得數(shù)據(jù))。層狀、網(wǎng)狀的dml屬于過程性語言。
(27)非過程性dml:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。
notice:以上關(guān)于dml的各個概念單獨(dú)出現(xiàn)時,首先要解釋dml的含義。
(28)dd:數(shù)據(jù)字典(data dictionary),數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典。對數(shù)據(jù)庫的操作都要通過訪問dd才能實(shí)現(xiàn)。
(29)dd系統(tǒng):管理dd的實(shí)用程序稱為“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)。這是由文件之間相互獨(dú)立,缺乏聯(lián)系造成的。
1.3 數(shù)據(jù)庫階段的數(shù)據(jù)管理有些什么特點(diǎn)?
(1)采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)
(2)有較高的數(shù)據(jù)獨(dú)立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級)
(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ù)項(xiàng)為單位,增加了系統(tǒng)的靈活性。
1.4 你怎樣理解實(shí)體、屬性、記錄、字段這些概念的類型和值的差別?試舉例說明。
實(shí)體(entity):是指客觀存在可以相互區(qū)別的事物。實(shí)體可以是具體的對象,如:一個學(xué)生,一輛汽車等;也可以是抽象的事件,如:一次借書、一場足球賽等。
屬性(attribute):實(shí)體有很多特性,每一個特性稱為屬性。每個屬性有一個值域,其類型可以是整數(shù)型、實(shí)數(shù)型、字符串型。比如,學(xué)生(實(shí)體)有學(xué)號、姓名、年齡、性別等屬性,相應(yīng)值域?yàn)樽址?、字符串、整?shù)和字符串型。
字段(field):標(biāo)記實(shí)體屬性的命名單位稱為字段或數(shù)據(jù)項(xiàng)。它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或初等項(xiàng)。字段的命名往往和屬性名相同,比如,學(xué)生有學(xué)號、姓名、年齡、性別等字段。
記錄(record):字段的有序集合稱為記錄。一般用一個記錄描述一個實(shí)體,所以記錄又可以定義為能完整地描述一個實(shí)體的字段集。如:一個學(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è)備上的數(shù)據(jù)。
(3)邏輯數(shù)據(jù)描述是指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。邏輯記錄、邏輯文件(還有邏輯聯(lián)系、邏輯結(jié)構(gòu)等術(shù)語),都是用戶觀點(diǎn)的數(shù)據(jù)描述。
1.6 為某百貨公司設(shè)計(jì)一個er模型。
百 貨管轄若干個連鎖商店,每家商店經(jīng)營若干商品,每家商店有若干職工,但每個職工只能服務(wù)于一家商店。實(shí)體類型“商店”的屬性有:商店編號,店名,店址,店經(jīng)理。實(shí)體類型“商品”的屬性有:商品編號,商品名,單價,產(chǎn)地。實(shí)體類型“職工”的屬性有:職工編號,職工名,性別,工資。在聯(lián)系中應(yīng)反映出職工參加某商店工作的開始時間,商店銷售商品的月銷售量。
試畫出反映商店、商品、職工實(shí)體類型及聯(lián)系類型的er圖,并將其轉(zhuǎn)換成關(guān)系模式集。
實(shí)體:商店(商店編號,店名,店址,店經(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(diǎn)。
er模型的主要特點(diǎn):
(1)優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無關(guān),用戶容易接受。
(2)缺點(diǎn):只能說明實(shí)體間語義的聯(lián)系,不能進(jìn)一步說明詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。
層次模型的特點(diǎn):
(1)優(yōu)點(diǎn):記錄之間的聯(lián)系通過指針實(shí)現(xiàn),查詢效率較高。
(2)缺點(diǎn):只能表示1:n聯(lián)系,實(shí)現(xiàn)m:n結(jié)構(gòu)較復(fù)雜;由于層次順序的嚴(yán)格和復(fù)雜,引起數(shù)據(jù)的查詢和更新操作也很復(fù)雜。
網(wǎng)狀模型的特點(diǎn):
(1)優(yōu)點(diǎn):記錄之間聯(lián)系通過指針實(shí)現(xiàn),m:n聯(lián)系也容易實(shí)現(xiàn)(每個m:n聯(lián)系可拆成兩個1:n聯(lián)系),查詢效率較高。
(2)缺點(diǎn):編寫應(yīng)用程序比較復(fù)雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。
關(guān)系模型的特點(diǎ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)定的中間觀點(diǎn),并使得兩級的任何一級的改變都不受另一級的牽制。
1.9 數(shù)據(jù)獨(dú)立性與數(shù)據(jù)聯(lián)系這兩個概念有什么區(qū)別?
數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)之間相互獨(dú)立,不受影響。
數(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ù)主要通過四個方面實(shí)現(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ù)庫管理員運(yùn)行數(shù)據(jù)庫系統(tǒng)時使用,這些程序起著數(shù)據(jù)庫維護(hù)的功能。
主要有四個實(shí)用程序:
(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ù)編譯器,查詢運(yùn)行核心程序
(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的正常運(yùn)行。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é)有五點(diǎn):
(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)查詢運(yùn)行核心程序
(各成分功能參照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)計(jì)數(shù)據(jù)組織:存儲dbs運(yùn)行時統(tǒng)計(jì)分析數(shù)據(jù)。
(1)關(guān)系模型:用二維表格結(jié)構(gòu)表示實(shí)體集,外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。
(2)關(guān)系模式:關(guān)系模式實(shí)際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式不涉及到物理存儲方面的描述,僅僅是對數(shù)據(jù)特性的描述。
(3)關(guān)系實(shí)例:元組的集合稱為關(guān)系和實(shí)例,一個關(guān)系即一張二維表格。
(4)屬性:實(shí)體的一個特征。在關(guān)系模型中,字段稱為屬性。
(5)域:在關(guān)系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。
(6)元組:在關(guān)系中,記錄稱為元組。元組對應(yīng)表中的一行;表示一個實(shí)體。
(7)超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。
(8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。
(9)主鍵:用戶選作元組標(biāo)識的一個候選鍵為主鍵。(單獨(dú)出現(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)實(shí)體完整性規(guī)則:這條
規(guī)則要求關(guān)系中元組在組成主鍵的屬性上不能有空值。如果出現(xiàn)空值,那么主鍵值就起不了唯一標(biāo)識元組的作用。
(12)參照完整性規(guī)則: 這條規(guī)則要求“不引用不存在的實(shí)體”。其形式定義如下:如果屬性集k是關(guān)系模式r1的主鍵,k也是關(guān)系模式r2的外鍵,那么r2的關(guān)系中,k的取值只允許有兩種可能,或者為空值,或者等于r1關(guān)系中某個主鍵值。這條規(guī)則在使用時有三點(diǎn)應(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)無窮驗(yàn)證:在驗(yàn)證公式時需對無窮多個元組進(jìn)行驗(yàn)證就是無窮驗(yàn)證。如驗(yàn)證公式(u)(p(u))的真假時需對所有的元組u進(jìn)行驗(yàn)證,這是一個無窮驗(yàn)證的問題。
2.2 為什么關(guān)系中的元組沒有先后順序?
因?yàn)殛P(guān)系是一個元組的集合,而元組在集合中的順序無關(guān)緊要。因此不考慮元組間的順序,即沒有行序。
2.3 為什么關(guān)系中不允許有重復(fù)元組?
因?yàn)殛P(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ù)運(yùn)算中,各個運(yùn)算所費(fèi)時間和空間是不一樣的。如何安排若干關(guān)系的運(yù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í)際存儲在數(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í)表:基本表被稱為“實(shí)表”,它是實(shí)際存放在數(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
from sc x,sc y
where = and <> 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),試用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ù)特點(diǎn)和元組演算特點(diǎn)。
(p61-62)
3.6 試用sql查詢語句表達(dá)下列對教學(xué)數(shù)據(jù)庫中三個基本表s、sc、c的查詢:
(1)統(tǒng)計(jì)有學(xué)生選修的課程門數(shù)。
select count(distinct c#)from sc
(2)求選修c4課程的學(xué)生的平均年齡。
select avg(age)
from s
where s# in
(select s#
from sc
where c#='c4')或者,select avg(age)
from s,sc
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)計(jì)每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計(jì))。要求輸出課程號和選修人數(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
from s as x, s as y
where ='wang' and x.s#>y.s# and
(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 ='男' and >(select avg(age)from s as y where ='女')
(9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。
select sname,age
from s as x
where ='男' and >all(select age from s as y where ='女')
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語句實(shí)現(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)
項(xiàng)目 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#),foreign key(j#)reference project(j#),foreign key(p#)reference part(p#))
create table p_s
(p# char(4),s# char(4),quantity integer,primary key(p#,s#),foreign key(p#)reference part(p#),foreign key(s#)reference suplier(s#))
(2)試將progect、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)檢索項(xiàng)目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的實(shí)現(xiàn)有什么重要意義?
預(yù)處理方式是先用預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識別出sql語句,并處理成宿主語言的函數(shù)調(diào)用形式;然后再用宿主語言的編譯程序把源程序編譯成目標(biāo)程序。這樣,不用擴(kuò)充宿主語言的編譯程序,就能處理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)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。
3.12 sql的集合處理方式與宿主語言單記錄處理方式之間如何協(xié)調(diào)?
由于sql語句處理的是記錄集合,而宿主語言語句一次只能處理一個記錄,因此需要用游標(biāo)(cousor)機(jī)制,把集合操作轉(zhuǎn)換成單記錄處理方式。
2.13 嵌入式sql語句何時不必涉及到游標(biāo)?何時必須涉及到游標(biāo)?
(1)insert、delete、update語句,查詢結(jié)果肯定是單元組時的select語句,都可直接嵌入在主程序中使用,不必涉及到游標(biāo)。
(2)當(dāng)select語句查詢結(jié)果是多個元組時,此時宿主語言程序無法使用,一定要用游標(biāo)機(jī)制把多個元組一次一個地傳送給宿主語言處理。
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ù)依賴的邏輯蘊(yùn)涵:設(shè)f是關(guān)系模式r的一個函數(shù)依賴集,x,y是r的屬性子集,如果從f中的函數(shù)依賴能夠推出x→y,則稱f邏輯蘊(yùn)涵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+: 被邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合,稱為f的閉包(closure),記為f+。
(7)1nf: 第一范式。如果關(guān)系模式r的所有屬性的值域中每一個值都是不可再分解的值, 則稱r是屬于第一范式模式。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項(xiàng)不能是屬性組合和組屬性組成。
(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上的投影蘊(yùn)涵。
(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é)生、班級、社團(tuán)等信息的一個關(guān)系數(shù)據(jù)庫,一個系有若干個專業(yè),每個專業(yè)每年只招一個班,每個班有若干個學(xué)生,一個系的學(xué)生住在同一宿舍區(qū),每個學(xué)生可以參加若干個社團(tuán),每個社團(tuán)有若干學(xué)生。
描述學(xué)生的屬性有:學(xué)號、姓名、出生年月、系名、班級號、宿舍區(qū)。
描述班級的屬性有:班級號、專業(yè)名、系名、人數(shù)、入校年份。
描述系的屬性有:系名、系號、系辦公地點(diǎn)、人數(shù)。
描述社團(tuán)的屬性有:社團(tuán)名、成立年份、地點(diǎn)、人數(shù)、學(xué)生參加某社團(tuán)的年份。
請給出關(guān)系模式,寫出每個關(guān)系模式的最小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部是多屬性的情況,討論函數(shù)依賴是完全函數(shù)依賴還是部分函數(shù)依賴。指出各關(guān)系的候選鍵、外部鍵,有沒有全鍵存在?
各關(guān)系模式如下:
學(xué)生(學(xué)號,姓名,出生年月,系名,班級號,宿舍區(qū))
班級(班級號,專業(yè)名,系名,人數(shù),入校年份)
系(系名,系號,系辦公地點(diǎn),人數(shù))
社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))
加入社團(tuán)(社團(tuán)名,學(xué)號,學(xué)生參加社團(tuán)的年份)
學(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è)名),班級號,外部鍵是系名。
系(系名,系號,系辦公地點(diǎn),人數(shù))
●“系”關(guān)系的最小函數(shù)依賴集為: fmin={系號→系名,系名→系辦公地點(diǎn),系名→人數(shù),系名→系號}
●以上關(guān)系模式中不存在傳遞函數(shù)依賴
●候選鍵是系名,系號
社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))
●“社團(tuán)”關(guān)系的最小函數(shù)依賴集為: fmin={社團(tuán)名→成立年份,社團(tuán)名→地點(diǎn),社團(tuán)名→人數(shù))
●以上關(guān)系模式中不存在傳遞函數(shù)依賴。
●候選鍵是社團(tuán)名
加入社團(tuán)(社團(tuán)名,學(xué)號,學(xué)生參加社團(tuán)的年份)
●“加入社團(tuán)”關(guān)系的最小函數(shù)依賴集為: fmin={(社團(tuán)名,學(xué)號)→學(xué)生參加社團(tuán)的年份)●“(社團(tuán)名,學(xué)號)→學(xué)生參加社團(tuán)的年份”是完全函數(shù)依賴。
●以上關(guān)系模式中不存在傳遞函數(shù)依賴。
●候選鍵是(社團(tuán)名,學(xué)號)。
4.4 對函數(shù)依賴x→y的定義加以擴(kuò)充,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={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ù)依賴的特點(diǎn):
(1)設(shè)r(abc),f1={a→b} 在r上成立,ρ1={ab,ac}。
首先,檢查是否具有無損聯(lián)接特點(diǎ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)所蘊(yùn)涵,∴所以該分解保持函數(shù)依賴。
(2)設(shè)r(abc),f2={a→c,b→c}在r上成立,ρ2={ab,ac}
首先,檢查是否具有無損聯(lián)接特點(diǎ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沒有被蘊(yùn)涵,所以該分解沒有保持函數(shù)依賴。
(3)設(shè)r(abc),f3={a→b},在r上成立,ρ3={ab,bc}.首先,檢查是否具有無損聯(lián)接特點(diǎ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)所蘊(yùn)涵,所以該分解保持函數(shù)依賴。
(4)設(shè)r(abc),f4={a→b,b→c}在r上成立,ρ4={ac,bc}
首先,檢查是否具有無損聯(lián)接特點(diǎ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沒有被蘊(yùn)涵,所以該分解沒有保持函數(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)因?yàn)楦鶕?jù)bcnf的定義,要求關(guān)系模式是第一范式,且每個屬性都不傳遞依賴于r的侯選鍵。bcd中(a,d)為候選鍵,可是(a,d)→a, a→c,所以它不是bcnf模式。
它可進(jìn)一步分解為:{ac,dc},此時ac,dc均為bcnf模式。
bd是bcnf,因?yàn)閞2(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ù)算費(fèi)(budget)以及此部門領(lǐng)導(dǎo)人員的職工號(唯一的)e#等信息。對每一個部門,還存有部門的全部職工,生產(chǎn)科研項(xiàng)目以及辦公室的信息。
職工信息包括:職工號,他所參加的生產(chǎn)科研項(xiàng)目號(j#),他所在辦公室的電話號(phone#)。
生產(chǎn)科研項(xiàng)目包含:項(xiàng)目號(唯一的),預(yù)算費(fèi)。
辦公室信息包含:辦公室號(唯一的),面積。
對每個職工,數(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)科研項(xiàng)目號, 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è)一個部門可能有多個辦公室,有多個項(xiàng)目,一個辦公室只屬于一個部門,有多部電話,一個員工只參加一個項(xiàng)目,一個項(xiàng)目可能屬于多個部門)
只要保證每個屬性值不可分割,以上范式即為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è)計(jì):數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
(2)數(shù)據(jù)庫工程:指數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā),它是一項(xiàng)軟件工程,但有數(shù)據(jù)庫應(yīng)用自身的特點(diǎn)。(3)評審:在數(shù)據(jù)庫設(shè)計(jì)過程中,評審的目的是為了確認(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è)計(jì)來說,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典主要包括四個部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲。
5.2 數(shù)據(jù)系統(tǒng)的生存期分成哪幾個階段?數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)在生存期中的地位如何?
分成七個階段 :規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行和維護(hù)。
數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)在生存期中的地位很重要,數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)包括邏輯設(shè)計(jì)、物理設(shè)計(jì),邏輯設(shè)計(jì)把概念模式轉(zhuǎn)化為與選用的具體機(jī)器上的dbms所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),而物理設(shè)計(jì)主要是設(shè)計(jì)db在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法等。
5.3 什么是數(shù)據(jù)庫設(shè)計(jì)?數(shù)據(jù)庫設(shè)計(jì)過程的輸入和輸出有哪些內(nèi)容?
數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫。
數(shù)據(jù)庫設(shè)計(jì)過程的輸入包括四部分內(nèi)容:1)總體信息需求;2)處理需求;(3)dbms的特征;(4)硬件和os(操作系統(tǒng))特征。
數(shù)據(jù)庫設(shè)計(jì)過程的輸出包括兩部分:
(1)完整的數(shù)據(jù)庫結(jié)構(gòu),其中包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu);
(2)基于數(shù)據(jù)庫結(jié)構(gòu)和處理需求的應(yīng)用程序的設(shè)計(jì)原則。這些輸出一般以說明書的形式出現(xiàn)。
5.4 基于數(shù)據(jù)庫系統(tǒng)生存期的數(shù)據(jù)庫設(shè)計(jì)分成哪幾個階段?
分為5個階段:簡記為(規(guī)需概邏物):規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)五個階段。
5.5 什么是比較好的數(shù)據(jù)庫設(shè)計(jì)方法?數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)包括哪些內(nèi)容? 一個好的數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)該能在合理的期限內(nèi),以合理的工作量產(chǎn)生一個有實(shí)用價值的數(shù)據(jù)庫結(jié)構(gòu)。
一種實(shí)用的數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)包括以下內(nèi)容:設(shè)計(jì)過程、設(shè)計(jì)技術(shù)、評價準(zhǔn)則、信息需求、描述機(jī)制。
5.6 數(shù)據(jù)庫設(shè)計(jì)的規(guī)劃階段應(yīng)做哪些事情?
數(shù)據(jù)庫設(shè)計(jì)中的規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫的必要性及可行性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和信息系統(tǒng)中的地位,以及各個數(shù)據(jù)庫之間的聯(lián)系。
5.7 數(shù)據(jù)庫設(shè)計(jì)的需求分析階段是如何實(shí)現(xiàn)的?目標(biāo)是什么?
數(shù)據(jù)庫設(shè)計(jì)的需求分析通過三步來完成:即需求信息的收集、分析整理和評審。
其目的在于對系統(tǒng)的應(yīng)用情況作全面詳細(xì)的調(diào)查,確定企業(yè)組織的目標(biāo),收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)設(shè)計(jì)者都能夠接受的文檔。
5.8 評審在數(shù)據(jù)庫設(shè)計(jì)中有什么重要作用?為什么允許設(shè)計(jì)過程中有多次的回溯與反復(fù)?
評審的作用在于確認(rèn)某一階段的任務(wù)是否全部完成,通過評審可以及早發(fā)現(xiàn)系統(tǒng)設(shè)計(jì)中的錯誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。
如果在數(shù)據(jù)庫已經(jīng)實(shí)現(xiàn)時再發(fā)現(xiàn)設(shè)計(jì)中的錯誤,那么代價比較大。因此應(yīng)該允許設(shè)計(jì)過程的回溯與反復(fù)。設(shè)計(jì)過程需要根據(jù)評審意見修改所提交的階段設(shè)計(jì)成果,有時修改甚至要回溯到前面的某一階段,進(jìn)行部分乃至全部重新設(shè)計(jì)。
5.9 數(shù)據(jù)字典的內(nèi)容和作用是什么?
數(shù)據(jù)字典的內(nèi)容一般包括:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。
其作用是對系統(tǒng)中數(shù)據(jù)做出詳盡的描述,提供對數(shù)據(jù)庫數(shù)據(jù)的集中管理。
5.10 對概念模型有些什么要求? 對概念模型一般有以下要求:
(1)概念模型是對現(xiàn)實(shí)世界的抽象和概括,它應(yīng)真實(shí)、充分地反映現(xiàn)實(shí)世界中事物和事物之間的聯(lián)系,具有豐富的語義表達(dá)能力,能表達(dá)用戶的各種需求,包括描述現(xiàn)實(shí)世界中各種對象及其復(fù)雜聯(lián)系、用戶對數(shù)據(jù)對象的處理要求和手段。
(2)概念模型應(yīng)簡潔、明晰,獨(dú)立于機(jī)器、容易理解、方便數(shù)據(jù)庫設(shè)計(jì)人員與應(yīng)用人員交換意見,使用戶能積極參與數(shù)據(jù)庫的設(shè)計(jì)工作。
(3)概念模型應(yīng)易于變動。當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和補(bǔ)充。
(4)概念模型應(yīng)很容易向關(guān)系、層次或網(wǎng)狀等各種數(shù)據(jù)模型轉(zhuǎn)換,易于從概念模式導(dǎo)出也dbms有關(guān)的邏輯模式。
5.11 概念設(shè)計(jì)的具體步驟是什么? 概念設(shè)計(jì)的主要步驟為:
(1)進(jìn)行數(shù)據(jù)抽象、設(shè)計(jì)局部概念模式;
(2)將局部概念模式綜合成全局概念模式;
(3)評審。
(具體解釋參見教材p131)
5.12 什么是數(shù)據(jù)抽象?主要有哪兩種形式的抽象?數(shù)據(jù)抽象在數(shù)據(jù)庫設(shè)計(jì)過程中起什么作用?
數(shù)據(jù)抽象是對人、物、事或概念的人為處理,它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。
數(shù)據(jù)抽象有兩種形式:
(1)系統(tǒng)狀態(tài)的抽象,即抽象對象;
(2)系統(tǒng)轉(zhuǎn)換的抽象,即抽象運(yùn)算。
數(shù)據(jù)抽象是概念設(shè)計(jì)中非常重要的一步。通過數(shù)據(jù)抽象,可以將現(xiàn)實(shí)世界中的客觀對象首先抽象為不依賴任何具體機(jī)器的信息結(jié)構(gòu)。
5.13 什么是er圖?構(gòu)成er圖的基本要素是什么? er圖是用來表示數(shù)據(jù)庫概念設(shè)計(jì)er模型的工具,它提供了表示實(shí)體、屬性和聯(lián)系的方法。
構(gòu)成er圖的基本
對數(shù)據(jù)庫的總結(jié) 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)總結(jié)篇五
1.請寫出sql server 2000中的六種約束。
主鍵約束,唯一鍵約束,檢查約束,默認(rèn)值約束,外鍵約束,級聯(lián)參照完整性約束
2.在關(guān)系模型中,有哪三類完整性約束?
實(shí)體完整性:體現(xiàn)在實(shí)體的唯一性上,在一個關(guān)系r中,設(shè)屬性a是它的主
關(guān)鍵字的組成部分,則屬性a不能取空值;
參照完整性:本關(guān)系的某一個非主屬性值,必須等于另一個關(guān)系的關(guān)鍵
字的值;
用戶定義的完整性:針對某一具體數(shù)據(jù)庫的約束條件,由應(yīng)用環(huán)境決定,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。
3.?dāng)?shù)據(jù)模型由哪三部分組成?
數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作,完整性約束
1.創(chuàng)建一個名為“產(chǎn)品”的數(shù)據(jù)庫,其包含一個主文件和一個事務(wù)日志文件。主文件的邏輯名為“產(chǎn)品銷售_data”,物理文件名為“c:”,初始容量為10mb,最大容量是20mb,每次的增量是10%。事務(wù)日志文件的邏輯名為“產(chǎn)品銷售_log”,物理文件名為“c:”,初始容量是2mb,最大容量不受限制,每次的增量是2mb。
create database產(chǎn)品
on
primary
(name=產(chǎn)品銷售_data,filename='c:',size=10mb,maxsize=20mb,filegrowth=10%)
log on
(name=產(chǎn)品銷售_log,filename='c: ',size=2mb,maxsize=unlimited,filegrowth=2mb)
2、打開“產(chǎn)品”的數(shù)據(jù)庫。
use產(chǎn)品
3、將“產(chǎn)品”的數(shù)據(jù)庫改名為“產(chǎn)品銷售”的數(shù)據(jù)庫
exec sp_renamedb產(chǎn)品, 產(chǎn)品銷售
4、刪除“產(chǎn)品銷售”的數(shù)據(jù)庫
drop database產(chǎn)品銷售5、2)、產(chǎn)品編號、銷售商編號都是外鍵,其中產(chǎn)品編號參照表“產(chǎn)品信息”的產(chǎn)品編號屬性,銷售商編號參照表“銷售商信息”的銷售商編號屬性。
create table 銷售
(產(chǎn)品編號 char(6)references 產(chǎn)品信息(產(chǎn)品編號),銷售商編號 char(6)references銷售商信息(銷售商編號),銷售時間datetimenot null,數(shù)量int not null,primary key(產(chǎn)品編號,銷售商編號)
6、已知有學(xué)生信息表:student;課程表:course;成績表:sc
1)、向sc表中添加一條記錄(’ 9309119’,‘ee-201’,90.5);
insertsc
values('9309119','ee-201',90.5)
2)、刪除sc表中學(xué)號為9309120的記錄;
delete sc
where sno='9309120'
3)、把所有課程的學(xué)分都改為4分;
update course
set credit =
44)、把學(xué)號為9104421的學(xué)生的身高改為1.83;
update student
set high=1.8
3where sno='9104421'
5)、查詢course表中每門課程的課程名稱、學(xué)分;
selectcname,creditfromcourse
order bycreditdesc
6)、查詢所有男同學(xué)的學(xué)號和姓名;
select sno,sname
from student
where sex='男'
7)、查詢成績在90分以上的學(xué)生的學(xué)號、課程號、成績。
select sno,cno,grade
from sc
where grade>90
8)、查詢至少有一門課的成績在80分以上的男同學(xué)的學(xué)號;
select sno
from student a
where exists(select *
from scb
where = and grade>80)
9)、求各門課程的最高分、最低分、平均分;
select sno,max(grade),min(grade), avg(grade)
from sc
group by sno
10)、查詢歐陽美齡選修的課程名稱和成績,結(jié)果按成績降序排列;
selectcname,grade
from student a,course b,sc c
where sname='歐陽美齡' and = and =
11)、查詢身高大于李惟德身高的學(xué)生的姓名。
selectsname
from student
wherehigh>(select high
from student
where sname='李惟德'
12)、求選修了全部課程的學(xué)生學(xué)號、姓名
select sno
from student
where(select distinct cno
from sc b
where =)
=(select count(*)fromcourse)
1.實(shí)體間的聯(lián)系可分為三類1:1(或一對一),1:n(或一對多),m:n(或多對多)
2.e-r模型的組成要素包括: 實(shí)體,屬性,聯(lián)系。
3.唯一標(biāo)識實(shí)體的屬性或?qū)傩越M稱為: 主鍵
4.關(guān)系模型要求關(guān)系必須規(guī)范化也就是要求關(guān)系必須滿足一定的條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是: 不可再分的數(shù)據(jù)項(xiàng)。
5.四種專門的關(guān)系操作是:選擇、投影、連接、除。
【本文地址:http://mlvmservice.com/zuowen/1071687.html】