欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)庫復(fù)習(xí)總結(jié)

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

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

      數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了3個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫管理階段。數(shù)據(jù)庫的三級(jí)模式由[模式]、[外模式]、[內(nèi)模式]組成。(模式又叫概念模式、邏輯模式,外模式又叫子模式、用戶模式,內(nèi)模式又叫存儲(chǔ)模式)外模式/模式映像反映了數(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)行存儲(chǔ),表之間的數(shù)據(jù)聯(lián)系是通過一個(gè)表的碼與另一個(gè)表的碼的連接來實(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é)號(hào)、姓名、年齡、性別等字段 元祖:二維表中的行即記錄值稱為元祖

      增刪改查語句對(duì)應(yīng)的關(guān)鍵字分別為INSERT、DELETE、UPDATE、SELECT 修改表的結(jié)構(gòu)使用的是ALTER TABLE語句添加一列用ADD關(guān)鍵字、修改一列用ALTER COLUMN 刪除一列用DROP COLUMN 如ALTER TABLE student ADD 身份證號(hào) VARCHAR(18);表示修改student表的結(jié)構(gòu),在其中添加身份證號(hào)一列(主)數(shù)據(jù)文件的擴(kuò)展名為.mdf ,日志文件的擴(kuò)展名是.ldf 開啟事務(wù):BEGIN TRANSATION 提交事務(wù):COMMIT TRANSACTION 回滾事務(wù):ROLLBACK TRANSACTION 主鍵:PRIMARY KEY 外鍵:FOREIGN KEY 實(shí)體之間的聯(lián)系有1:

      1、1:m、m:n,即1對(duì)1,一對(duì)多、多對(duì)多 聚合函數(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ù)具有四個(gè)特征原子性、一致性、隔離性、持久性 P116參考答案:

      1. 題干:數(shù)據(jù)庫中有四張表客戶表:Customers、代理人表Agents、產(chǎn)品表Products和訂單表Orders;

      其中客戶表Customers各屬性如下:

      Cid 客戶編號(hào)、Cname客戶名、City客戶所在城市 代理人表Agents各如下屬性

      Aid代理人編號(hào)、Aname代理人姓名、City代理人所在城市 產(chǎn)品表Products中各屬性如下

      Pid產(chǎn)品編號(hào)、Pname產(chǎn)品名稱、Quantity產(chǎn)品銷售數(shù)量、Price產(chǎn)品單價(jià) 訂單表Orders表中各屬性如下 Ord_no訂單號(hào)、Month訂單月份,Cid客戶編號(hào)、Aid代理人編號(hào)、Pid產(chǎn)品編號(hào)、Qty訂貨數(shù)量、Amount訂貨總金額;

      根據(jù)以上四個(gè)表編寫存儲(chǔ)過程實(shí)現(xiàn)如下要求:

      ①給指定產(chǎn)品編號(hào)的單價(jià)增加0.5元

      CREATE PROCEDURE pro_update_products @pid CHAR(10)AS UPDATE products SET price=price+0.5 WHERE pid=@pid GO ②插入一個(gè)新的產(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 c.cid=o.cid AND a.aid=o.aid AND c.cname=@cname AND a.anane=@aname GO

      2.根據(jù)第一題的四個(gè)表用觸發(fā)器實(shí)現(xiàn)以下操作

      ①當(dāng)向產(chǎn)品表products插入數(shù)據(jù)時(shí),規(guī)定產(chǎn)品單價(jià)不得低于0.5元,若低于0.5元?jiǎng)t統(tǒng)一調(diào)整為0.5元,同時(shí)提示用戶“產(chǎn)品單價(jià)不得低于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)品單價(jià)不得低于0.5元’ END GO

      ②當(dāng)訂單表Orders中的訂貨數(shù)量有變動(dòng)時(shí),觸發(fā)器自動(dòng)修改該項(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è)有三個(gè)關(guān)系

      S(S#,SNAME,SEX,AGE)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)用select語句完成下列查詢

      ①檢索LIU老師所受課程的課程號(hào)和課程名

      SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’;

      ②檢索年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名

      SELECT S#,SNAME FROM S WHERE SEX=’男’ AND AGE>23;

      ③檢索學(xué)號(hào)為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 S.SEX=’女’ AND S.S#=SC.S# AND SC.C# =ANY(SELECT C# FROM C WHERE TEACHER=’LIU’); ⑤檢索WANG同學(xué)不學(xué)課程的課程號(hào)

      SELECT C# FROM C WHERE C# NOT IN(SELECT C# FROM SC,S WHERE SC.S#=C.C# AND S.SNAME=’WANG’);

      ⑥檢索至少選修兩門課的學(xué)生學(xué)號(hào)

      SELECT S# FROM SC GROUP BY S# HAVING COUNT(C#)>=2; ⑦檢索全部學(xué)生都選修的課程的課程號(hào)和課程名

      SELECT C#,CNAME FROM C WHERE C# IN(SELECT C# FROM SC WHERE S#=ALL(SELECT S# FROM S))⑧檢索選修課程包含LIU老師所受全部課程的學(xué)生學(xué)號(hào)

      SELECT S# FROM SC WHERE C# =ALL(SELECT C# FROM C WHERE TEACHER=’LIU’)

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

      第一章

      數(shù)據(jù)庫系統(tǒng)概論

      1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。

      數(shù)據(jù):描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語義是不可分的。

      數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(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é)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維護(hù)功能。

      2.什么是數(shù)據(jù)獨(dú)立性?數(shù)據(jù)獨(dú)立性又分為哪兩個(gè)層次?為什么需要數(shù)據(jù)獨(dú)立性?

      數(shù)據(jù)獨(dú)立性是用來描述數(shù)據(jù)與應(yīng)用程序之間的依賴程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴程度越低則獨(dú)立性越高

      物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫的數(shù)據(jù)時(shí)相互獨(dú)立的。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。

      作用:數(shù)據(jù)在磁盤上怎樣存儲(chǔ)由DBMS管理,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(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):是所研究的對(duì)象類型的集合,是對(duì)系統(tǒng)的靜態(tài)特性的描述。

      ②數(shù)據(jù)操作:是指對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dò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)特性、動(dòng)態(tài)特性和完整性約束條件。

      4.為什么數(shù)據(jù)模型要分為概念模型,邏輯模型和物理模型三類?試分別解釋概念模型、邏輯模型和物理模型

      為什么:數(shù)據(jù)模型應(yīng)滿足3方面的要求:一是能比較真實(shí)的模擬現(xiàn)實(shí)世界;二是容易被人所理解;三是便于在計(jì)算機(jī)上實(shí)現(xiàn)。一種數(shù)據(jù)模型要很好地同時(shí)滿足這3個(gè)方面的要求是很困難的,因此,在數(shù)據(jù)庫管理系統(tǒng)中這對(duì)不同的使用對(duì)象和應(yīng)用目的,采用不同的數(shù)據(jù)模型。

      概念模型:指概念層次的數(shù)據(jù)模型,也稱為信息模型,它按用戶的觀點(diǎn)或認(rèn)識(shí)對(duì)現(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?、XML模型等

      物理模型用來描述數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法 5.關(guān)系模型中的主要概念有哪些,試分別解釋之。

      關(guān)系模型由一組關(guān)系組成,每個(gè)關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。關(guān)系模型中的常用術(shù)語有:關(guān)系、元組、屬性、碼、域、分量和關(guān)系模式等。關(guān)系模型要求關(guān)系必須是規(guī)范化的,即關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。關(guān)系數(shù)據(jù)模型的操作主要包括查詢、插入,刪除和修改(更新數(shù)據(jù))。關(guān)系數(shù)據(jù)模型的完整性約束條件包括實(shí)體完整性、參照完整性和用戶自定義完整性

      6.試解釋數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)和兩層映像。為什么數(shù)據(jù)庫管理系統(tǒng)要提供數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)和兩層映像?

      數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象三個(gè)級(jí)別。對(duì)應(yīng)于數(shù)據(jù)抽象的三個(gè)級(jí)別,數(shù)據(jù)庫管理系統(tǒng)一般也提供觀察數(shù)據(jù)庫的三個(gè)不同角度,以方便不同的而用戶使用數(shù)據(jù)庫的需要,這就是數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu);內(nèi)模式、模式和外模式

      為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)三個(gè)抽象層次的數(shù)據(jù)之間的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級(jí)模式之間提供了兩層映像:外模式/模式映像、模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性 7.解釋模式、外模式、內(nèi)模式、DDL、DML等概念

      內(nèi)模式也稱存儲(chǔ)模式,對(duì)應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式

      模式也稱為邏輯模式,賭贏與邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖

      外模式也成子模式或用戶模式,對(duì)應(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ù)庫中要存儲(chǔ)的現(xiàn)實(shí)世界實(shí)體的語言。一個(gè)數(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ù)類型的值的集合

      笛卡爾積:兩個(gè)分別為N目和m目的關(guān)系R和S的笛卡爾積是一個(gè)n+m目元組的集合 超碼:屬性集A能唯一標(biāo)識(shí)關(guān)系r中的一個(gè)元組,則稱A為關(guān)系R的一個(gè)超碼 候選碼:對(duì)于關(guān)系r中一個(gè)或多個(gè)屬性的集合A,若屬性集A中的任意真子集都不能成為關(guān)系r的超碼,則、、、、、主碼:在實(shí)體集中區(qū)分不同實(shí)體的候選碼。

      外碼:用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的關(guān)系而引用另一個(gè)關(guān)系的主碼。

      關(guān)系模式:是型的概念,它定義了元組集合的結(jié)構(gòu),即定義了一個(gè)元組由哪些屬性構(gòu)成 關(guān)系數(shù)據(jù)庫:在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體以及實(shí)體之間的聯(lián)系所對(duì)應(yīng)的關(guān)系的集合 空值:是所有可能的域的一個(gè)取值,表明值未知或不存在。

      2.關(guān)系模式的完整性:實(shí)體完整性、參照完整性和用戶自定義完整性。實(shí)體完整性:若屬性A是關(guān)系r中的主碼,則A不能取空值

      參照完整性:若屬性F是關(guān)系r的外碼,它與關(guān)系s的主碼Ks相對(duì)應(yīng),則對(duì)于關(guān)系r中的每一個(gè)元組在屬性F上的取值,要么為空值,要么等于關(guān)系s中的某個(gè)元組的值 3.自然連接和等值連接的區(qū)別于聯(lián)系

      等值連接:是從兩個(gè)關(guān)系的笛卡爾積中選取連接屬性滿足相等條件的所有元組。

      自然連接:是一種特殊的等值連接,它要求兩個(gè)參與連接的關(guān)系具有公共的屬性集,并且在結(jié)果中把重復(fù)的屬性列去掉

      第四章

      數(shù)據(jù)庫建模(實(shí)體-聯(lián)系模型)

      1.請(qǐng)簡要解釋下列術(shù)語:實(shí)體、實(shí)體集、屬性、域、聯(lián)系、聯(lián)系集、角色、映射基數(shù)、超碼、候選碼、主碼、弱實(shí)體、類層次、聚合

      實(shí)體是客觀世界中可區(qū)別于其他事物的“事物”或“對(duì)象”。實(shí)體既可以是有形的,實(shí)在的事物,也可以是抽象的、概念上存在的事物。相同類型的實(shí)體組成的集合稱為實(shí)體集

      實(shí)體是通過一組屬性來描述的,其屬性是實(shí)體集中給每個(gè)實(shí)體都具有的性質(zhì)。每個(gè)屬性所允許的取值范圍或集合稱為該屬性的域

      聯(lián)系兩個(gè)或兩個(gè)以上實(shí)體之間的聯(lián)系。相同類型聯(lián)系組成的集合稱為聯(lián)系集。聯(lián)系也可擁有自身的描述性屬性

      由于參與一個(gè)聯(lián)系的實(shí)體集通常是不同的,因而角色是隱含的并且常常不需聲明。但是,當(dāng)參與聯(lián)系的實(shí)體來自相同的實(shí)體集,則需要聲明角色

      映射基數(shù)指一實(shí)體集中的一個(gè)實(shí)體通過一個(gè)聯(lián)系集能同時(shí)與另一個(gè)實(shí)體集相聯(lián)系的實(shí)體數(shù)目。映射基數(shù)可決定聯(lián)系集的主碼屬性,甚至可能影響到一個(gè)事物是作為實(shí)體還是聯(lián)系的選擇

      超碼是指能夠唯一的標(biāo)識(shí)實(shí)體集或聯(lián)系集中的一個(gè)實(shí)體或一個(gè)聯(lián)系的一個(gè)或多個(gè)屬性的集合。當(dāng)一個(gè)超碼的任意真子集都不能成為超碼時(shí),稱該最小超碼為候選碼。候選碼和超碼是實(shí)體集客觀存在的特性,而主碼是被數(shù)據(jù)庫設(shè)計(jì)者主觀選中,用來區(qū)分同一實(shí)體集中不同實(shí)體的候選碼

      當(dāng)一個(gè)實(shí)體集的所有屬性都不足以形成主碼,就稱該實(shí)體集為弱實(shí)體集。相反,其屬性可以形成主碼的實(shí)體集稱為強(qiáng)實(shí)體集。弱實(shí)體集所以來的強(qiáng)實(shí)體集稱為標(biāo)識(shí)實(shí)體集。標(biāo)識(shí)實(shí)體集和弱實(shí)體集之間必須是一對(duì)多關(guān)系,并且弱實(shí)體集中的實(shí)體在聯(lián)系集中是全部參與的

      E-R模型使用繼承和ISA聯(lián)系來描述實(shí)體集之間概念上的層次關(guān)系。當(dāng)欲建立聯(lián)系間的聯(lián)系時(shí),可使用聚合實(shí)現(xiàn)

      聚合是一種抽象,它將一個(gè)聯(lián)系集及其相關(guān)聯(lián)的實(shí)體集抽象為一高層實(shí)體集對(duì)待,然后建立該高層實(shí)體集與其他實(shí)體集之間的聯(lián)系集 2.綜合題:需求分析----E-R圖---關(guān)系模式

      第七章

      數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)

      1.數(shù)據(jù)庫系統(tǒng)的存儲(chǔ)訪問方式是什么?為什么要這樣? 一個(gè)數(shù)據(jù)庫映射為多個(gè)不同的文件,這些文件由底層的操作系統(tǒng)來維護(hù),永久地存放在磁盤上,并且具有三級(jí)存儲(chǔ)介質(zhì)上的備份。每個(gè)文件分成定長的存儲(chǔ)單元,稱為塊。塊是存儲(chǔ)分配和數(shù)據(jù)傳輸?shù)幕締挝?/p>

      當(dāng)數(shù)據(jù)庫系統(tǒng)中的程序需要磁盤上的塊時(shí),它向緩沖區(qū)管理器發(fā)出請(qǐng)求(即調(diào)用)。如果這個(gè)塊已經(jīng)在緩沖區(qū)中,緩沖區(qū)管理器將這個(gè)塊在主存儲(chǔ)器中的地址返回給請(qǐng)求者。如果這個(gè)塊不再緩沖區(qū)中,緩沖區(qū)管理器首先在緩沖區(qū)中為這個(gè)塊分配空間,如果需要的話會(huì)把其他塊移出主存儲(chǔ)器為這個(gè)新塊騰出空間,移出的塊僅當(dāng)它在最近一次寫回磁盤后修改過才需要寫回磁盤;然后,換紅區(qū)管理器把這個(gè)塊從磁盤讀入緩沖區(qū),并將這個(gè)塊在主存儲(chǔ)器中的地址返回給請(qǐng)求者。緩沖區(qū)管理器的內(nèi)部動(dòng)作對(duì)發(fā)出磁盤塊請(qǐng)求的程序是透明的。原因:數(shù)據(jù)庫系統(tǒng)的一個(gè)主要目標(biāo)就是減少磁盤和主存儲(chǔ)器之間傳輸?shù)膲K數(shù)。減少磁盤訪問次數(shù)的一種方法是在主存儲(chǔ)器中保留盡可能多的塊,目的是最大化要訪問的塊已經(jīng)在主存儲(chǔ)器中的幾率,這樣就不再需要訪問磁盤了

      2.什么是聚集文件組織、什么是多表聚集文件組織?為什么需要多表聚集文件組織?為什么要慎用多表聚集文件組織?

      聚集文件組織:很多關(guān)系數(shù)據(jù)庫系統(tǒng)將各個(gè)關(guān)系存儲(chǔ)在一個(gè)個(gè)獨(dú)立的文件中,不同關(guān)系中有聯(lián)系的數(shù)據(jù)是通過關(guān)系間的聯(lián)接操作得到的,但是當(dāng)數(shù)據(jù)的數(shù)量比較大時(shí),這種方法速度會(huì)很慢。而在聚集文件組織方式中,一個(gè)文件可以存儲(chǔ)多個(gè)關(guān)系的記錄,不同關(guān)系中有聯(lián)系的記錄存儲(chǔ)在一起可以提高查找速度。

      多表聚集文件組織:在一個(gè)塊中存儲(chǔ)兩個(gè)或多個(gè)關(guān)系的相關(guān)記錄,以加速特定連接的處理。但是它將會(huì)導(dǎo)致其他類型查詢的處理變慢

      3.為什么需要索引?什么是順序索引和散列索引?什么是主索引和輔助索引?稠密索引和稀疏索引有什么不同?什么是索引順序文件?

      許多查詢只涉及到文件中的少量記錄,索引能使系統(tǒng)直接定位這些滿足查詢條件的記錄。DBMS首先會(huì)查找索引,找到對(duì)應(yīng)記錄所在的位置(即所在磁盤的塊地址),然后讀取該磁盤塊,得到所需的記錄

      順序索引是基于搜索碼的值的順序排列,用于支持快速地對(duì)文件中的記錄進(jìn)行順序或隨機(jī)的訪問。散列索引時(shí)通過搜索碼值的散列函數(shù)的值將所有記錄平均、隨機(jī)地分布到若干個(gè)散列桶中,用于支持快速地對(duì)文件中的記錄進(jìn)行隨機(jī)地訪問

      如果索引文件中的記錄按照某個(gè)搜索碼值指定的順序物理存儲(chǔ),那么該搜索碼對(duì)應(yīng)的索引就稱為主索引,也叫聚集索引。與此相反,搜索碼值順序與索引文件中記錄的物理順序不同的那些索引稱為輔助索引或非聚集索引

      如果索引文件中的每一個(gè)不同的搜索碼值,在索引中都有一個(gè)索引記錄(或稱為索引項(xiàng)),則該索引稱為稠密索引。如果只對(duì)索引文件中的部分搜索碼值,在索引中存在一個(gè)索引記錄,則該索引稱為稀疏索引。每一個(gè)索引項(xiàng)包含搜索碼值和指向具有該搜索碼值的第一個(gè)數(shù)據(jù)記錄的指針。利用稠密索引通??梢员认∈杷饕軌蚋斓囟ㄎ灰粭l記錄的位置,但是稀疏索引占用空間更小,插入、刪除和更新的開銷也會(huì)更小

      建立了主索引的索引文件稱為索引順序文件:稠密索引、稀疏索引 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,但至少包含兩個(gè)指針

      5.散列文件組織和散列索引有什么不同? 在散列文件組織中,通過計(jì)算一條記錄的搜索碼值的散列函數(shù)值,可以直接獲得包含該記錄的磁盤塊(桶)的地址。在散列索引組織中,把搜索碼值以及與它們先關(guān)聯(lián)的記錄指針組織成一個(gè)散列文件結(jié)構(gòu)

      6.在考慮用索引時(shí),是選擇B+樹索引還是散列索引?為什么? 散列其實(shí)就是一種不通過值的比較,而通過值的含義來確定存儲(chǔ)位置的方法,它是為有效地實(shí)現(xiàn)等值查詢而設(shè)計(jì)的。不幸的是,基于散列技術(shù)不支持范圍檢索。而基于B+樹索引技術(shù)能有效的支持范圍檢索,并且它的等值檢索效果也很好。但是,散列技術(shù)在等值連接中是很有用的,尤其是在索引嵌套循環(huán)連接方法中,基于散列的索引和基于B+樹的所以在代價(jià)上會(huì)有很大差別

      7.數(shù)據(jù)庫物理設(shè)計(jì)的主要內(nèi)容是什么?數(shù)據(jù)庫物理設(shè)計(jì)的目標(biāo)是什么?

      數(shù)據(jù)庫物理設(shè)計(jì)的目標(biāo)是:提高數(shù)據(jù)庫性能,以滿足應(yīng)用的性能需求;有效利用存儲(chǔ)空間;在性能和代價(jià)之間做出最優(yōu)平衡 數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容包括:確定數(shù)據(jù)庫性能,以滿足應(yīng)用的性能需求;有效利用存儲(chǔ)空間;在性能和代價(jià)之間做出最優(yōu)平衡

      第八章 查詢處理

      1.查詢處理的過程分為哪幾個(gè)步驟

      ?語法分析與翻譯?查詢優(yōu)化?查詢執(zhí)行 2.查詢代價(jià)如何度量?為什么?

      查詢處理的代價(jià)可以通過該查詢對(duì)各種資源的使用情況進(jìn)行度量,主要包括磁盤存取時(shí)間和執(zhí)行一個(gè)查詢所用CPU時(shí)間以及在并行/分布式數(shù)據(jù)庫系統(tǒng)中的通信開銷等 3.如何實(shí)現(xiàn)選擇運(yùn)算?

      用于選擇運(yùn)算的搜索方法?不用索引的搜索算法----文件掃描?使用索引的搜索算法---索引掃描

      4.題見書(1)最壞情況下,緩沖區(qū)只能容納每個(gè)關(guān)系的一個(gè)數(shù)據(jù)塊,因而算法的代價(jià)為:EJ = nr * bs + br。這里,nr = 20000,bs =1500,br=800,所以所需要的塊存取數(shù)為20000*1500+800,約為30M個(gè)塊存取。最好情況下,兩個(gè)關(guān)系都能放到內(nèi)存里,因而算法代價(jià)為:EJ = bs + br。大約需要2.3K個(gè)塊存取。

      5.為什么需要查詢優(yōu)化?什么是查詢執(zhí)行計(jì)劃?查詢優(yōu)化器的輸入和輸出分別是什么? 處理一個(gè)給定的查詢,尤其是復(fù)雜的查詢,通常會(huì)有許多種策略。查詢優(yōu)化就是從這多種策略中找出最有效的查詢執(zhí)行計(jì)劃的處理過程。

      給定一個(gè)關(guān)系代數(shù)表達(dá)式,查詢優(yōu)化器的任務(wù)就是產(chǎn)生一個(gè)查詢執(zhí)行計(jì)劃,該計(jì)劃能獲得與原關(guān)系代數(shù)表達(dá)式相同的結(jié)果,并且執(zhí)行代價(jià)是接近最小的

      6.題見書:由于是計(jì)算三個(gè)關(guān)系的自然連接,且連接屬性中的C、E是各自關(guān)系的主碼,因此r1r2r3的大小最多為1000個(gè)元組。有效地計(jì)算這個(gè)連接的策略就是讓連接結(jié)果較小的連接運(yùn)算先執(zhí)行,即:(r1r2)r3。原因就是:由于A是r1的主碼,C是連接屬性,因此r1r2的最大結(jié)果為1000個(gè)元組;而C是r2的主碼,E是連接屬性,因此r2r3的最大結(jié)果為1500個(gè)元組。所以,要讓(r1r2)先做連接運(yùn)算,以減少結(jié)果集的大小。7.畫樹

      其它章節(jié)零散習(xí)題

      列級(jí)約束和元組級(jí)約束的區(qū)別在哪里?

      如果在定義屬性的同時(shí)定義約束條件,則為列級(jí)約束;如果單獨(dú)定義約束條件,則為元組級(jí)約束

      什么是事物的ACID特性?

      ①原子性:事務(wù)的所有操作要么全部都被執(zhí)行,要么都不被執(zhí)行②一致性;即一個(gè)單獨(dú)執(zhí)行的事務(wù)應(yīng)保證其執(zhí)行結(jié)果的一致性,即總是將數(shù)據(jù)庫從一個(gè)一致性狀態(tài)轉(zhuǎn)化到另一個(gè)一致性狀態(tài)③隔離性:即當(dāng)多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),一個(gè)事務(wù)的執(zhí)行不能影響另一個(gè)事務(wù),即并發(fā)執(zhí)行的各個(gè)事務(wù)不能相互干擾④持久性:即一個(gè)事務(wù)成功提交后,它對(duì)數(shù)據(jù)庫的改變必須是永久的,即使隨后系統(tǒng)出現(xiàn)故障也不會(huì)受到影響 當(dāng)前主流的數(shù)據(jù)庫訪問技術(shù)是ADO Web服務(wù)器的職責(zé)是什么?數(shù)據(jù)庫服務(wù)器的職責(zé)又是什么? Web服務(wù)器負(fù)責(zé)監(jiān)聽客戶的請(qǐng)求,一旦收到客戶請(qǐng)求,數(shù)據(jù)庫服務(wù)器 三級(jí)數(shù)據(jù)庫考點(diǎn)分析之計(jì)算機(jī)基礎(chǔ)知識(shí)

      1.1計(jì)算機(jī)系統(tǒng)組成與應(yīng)用領(lǐng)域

      考點(diǎn)1計(jì)算機(jī)系統(tǒng)組成

      一個(gè)完整的計(jì)算機(jī)系統(tǒng),包括硬件和軟件兩個(gè)部分。

      硬件系統(tǒng)是指組成一臺(tái)計(jì)算機(jī)的各種物理裝置,它是計(jì)算機(jī)的物質(zhì)基礎(chǔ),由各種器件組成,如主板、CPU、硬盤、顯示器、內(nèi)存和線路等。

      軟件系統(tǒng)是運(yùn)行在計(jì)算機(jī)硬件設(shè)備上的各種程序及相關(guān)資料的總稱。

      以存儲(chǔ)程序原理為基礎(chǔ)的馮·諾依曼結(jié)構(gòu)的計(jì)算機(jī),一般由五大功能部件組成,它們是運(yùn)算器、控制、存儲(chǔ)器、輸人設(shè)備以及輸出設(shè)備。

      下面分別對(duì)各種設(shè)備進(jìn)行介紹。

      1運(yùn)算器

      運(yùn)算器是用于對(duì)數(shù)據(jù)進(jìn)行加工的部件,它可以對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。算術(shù)運(yùn)算包括加、減、乘、除、求余及復(fù)合運(yùn)算。邏輯運(yùn)算包括一般的邏輯判斷和邏輯比較。

      2控制器

      控制器是計(jì)算機(jī)的控制部件。它控制計(jì)算機(jī)各部分自動(dòng)協(xié)調(diào)地工作,用于對(duì)程序的指令進(jìn)行解釋和執(zhí)行,協(xié)調(diào)輸人、輸出設(shè)備,以實(shí)現(xiàn)數(shù)據(jù)輸人、運(yùn)算和輸出等操作。

      3存儲(chǔ)器

      存儲(chǔ)器的主要功能是存放程序和數(shù)據(jù),是計(jì)算機(jī)的記憶存儲(chǔ)裝置。它分為內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器。

      4輸入設(shè)備

      輸人設(shè)備是計(jì)算機(jī)從外部接收、獲取信息的裝置。其功能是將數(shù)據(jù)、程序及其他信息,從人們所熟知的形式轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的信息形式,并輸人到計(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í)別的信息形式。常見的輸出設(shè)備有顯示器、打印機(jī)、聲音合成輸出、繪圖儀和數(shù)/模轉(zhuǎn)換器(D/A轉(zhuǎn)換器)等

      一般把運(yùn)算器和控制器合稱為中央處理器(Central Processor Unit,簡稱CPU),中央處理器與內(nèi)存儲(chǔ)器統(tǒng)稱為主機(jī).輸人設(shè)備、輸出設(shè)備和外存儲(chǔ)器合稱為外部設(shè)備,外部設(shè)備通過接口與主機(jī)相連??键c(diǎn)2計(jì)算機(jī)的應(yīng)用領(lǐng)域

      l 科學(xué)和工程計(jì)算

      主要是用數(shù)值方法對(duì)一些數(shù)學(xué)問題的求解。計(jì)算機(jī)不僅可以提高計(jì)算的速度,還可以使一些人工不能解決的數(shù)學(xué)問題得到解決。在科學(xué)實(shí)驗(yàn)和工程設(shè)計(jì)中,經(jīng)常會(huì)遇到一些數(shù)學(xué)方程和函數(shù)問題,這些問題人們不能從理論上得出其準(zhǔn)確解,但利用計(jì)算機(jī)可以得到它們的近似解。這種應(yīng)用稱為科學(xué)和工程計(jì)算,其特點(diǎn)是計(jì)算量大,而邏輯關(guān)系相對(duì)簡單。

      2數(shù)據(jù)和信息處理

      數(shù)據(jù)處理是指對(duì)數(shù)據(jù)的收集、存儲(chǔ)、加工、分析和傳送的一系列過程。

      計(jì)算機(jī)的一個(gè)非常重要的應(yīng)用領(lǐng)域就是對(duì)數(shù)據(jù)和信息的處理。數(shù)據(jù)的含義是相當(dāng)廣泛的,包括聲、像、文字和圖表等,它們都可以用計(jì)算機(jī)來進(jìn)行處理。

      3過程控制

      過程控制是自動(dòng)化技術(shù)的重要技術(shù)內(nèi)容和手段.指計(jì)算機(jī)對(duì)所采集到的數(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ì)周期。

      這里有必要提一下這幾個(gè)名詞:計(jì)算機(jī)輔助制造(Computer Aided Manufacturing,簡稱CAM)、計(jì)算機(jī)輔助測(cè)試(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ī)器語言、匯編語言及高級(jí)語言,下面分別加以介紹。

      1機(jī)器語言

      機(jī)器語言是最初級(jí)的計(jì)算機(jī)語言,它依賴于硬件,是由0,I組成的二進(jìn)制編碼形式的指令集合。不易被人識(shí)別,但可以被計(jì)算機(jī)直接執(zhí)行。

      2匯編語言

      匯編語言指使用助記符號(hào)和地址符號(hào)來表示指令的計(jì)算機(jī)語言,也稱之為符號(hào)語言。每條指令有明顯的標(biāo)識(shí),易于理解和記憶。

      用匯編語言編寫的程序,直觀且易理解,這是匯編語言的優(yōu)點(diǎn)。但是匯編語言仍是面向機(jī)器的,編程工作量大,程序可移植性差。計(jì)算機(jī)不能識(shí)別和直接運(yùn)行匯編語言,必須翻譯成機(jī)器語言程序后才能識(shí)別并運(yùn)行。這種翻譯程序即稱為匯編程序,其關(guān)系如圖l一1所示。

      圖1-1匯編過程

      高級(jí)語言

      高級(jí)語言是一類面向問題的程序設(shè)計(jì)語言,且獨(dú)立于計(jì)算機(jī)的硬件,對(duì)具體的算法進(jìn)行描述,所以又稱為算法語言,它的特點(diǎn)介紹如下:

      (I)脫離具體的計(jì)算機(jī)硬件。

      (2)通用性及可移植性好。

      下面介紹幾種常用的高級(jí)語言。

      (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ì)算機(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)的性能;提供一個(gè)易于使用、功能強(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)定,支持對(duì)大數(shù)據(jù)量的管理并提供相應(yīng)開發(fā)工具。

      4服務(wù)性程序

      服務(wù)性程序?qū)儆谳o助性的程序.比如用于程序的裝人、連接和編輯,調(diào)試用的裝人程序、連接程序、編輯程序及調(diào)試程序,以及故障診斷程序、糾錯(cuò)程序等??键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ú)立功能的多個(gè)計(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ā)展階段,人們對(duì)網(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ī)能有序地工作,每臺(tái)計(jì)算機(jī)在交換數(shù)據(jù)的過程中遵守共同的通信規(guī)則,一個(gè)網(wǎng)絡(luò)協(xié)議主要由語法、語義與時(shí)序組成。

      考點(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個(gè)方面。

      (1)傳輸介質(zhì)由原有的電纜逐步走向誤碼率很低且?guī)捄軐挼墓饫w

      (2)局域網(wǎng)內(nèi)部的數(shù)據(jù)傳輸速率已經(jīng)達(dá)到IOMb/s一1 Gb/s,多個(gè)局域網(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ū)域在一個(gè)局部的范圍內(nèi),可以有一臺(tái)或多臺(tái)計(jì)算及多個(gè)工作站通過其進(jìn)行通信。它有以太網(wǎng)(Ethernet)、令牌總線(Token Bus)和令牌環(huán)(Token ring)3種工作原理。

      局域網(wǎng)的技術(shù)特點(diǎn)主要表現(xiàn)在以下幾個(gè)方面。

      (1)覆蓋范圍有限,多用于公司、機(jī)關(guān)、校園等范圍內(nèi)的計(jì)算機(jī)終端與信息處理設(shè)備之間的聯(lián)網(wǎng)需求。

      (2)提供高數(shù)據(jù)傳輸速率、低誤碼率、高質(zhì)量數(shù)據(jù)傳輸環(huán)境。

      (3)易于建立、維護(hù)與擴(kuò)展,一般為一個(gè)單位所有。

      (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),它主要有以下幾個(gè)技術(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),具有容錯(cuò)能力。

      (5)可以使用多?;騿文9饫w。

      (6)具有動(dòng)態(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é)議,是第一個(gè)使用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ī)、信息資源幾個(gè)主要部分組成的。

      (1)通信線路。將Internet中的路由器與路由器、路由器與主機(jī)連接起來。

      (2)路由器。是Internet中最重要的通信設(shè)備之一,它的作用是將Internet中的各個(gè)局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),以及主機(jī)互聯(lián)起來

      (3)主機(jī)。是Internet中信息資源與服務(wù)的載體。

      (4)信息資源是用戶最關(guān)心的問題,它會(huì)影響到Internet中站點(diǎn)受歡迎的程度。

      TCP/IP協(xié)議、域名與IP地址

      TCP/IP協(xié)議是為保證Internet正常工作而要求所有Internet中的主機(jī)都必須遵守的通信協(xié)議。它具有 以下幾個(gè)特點(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ò)地址分配方字模,使得整個(gè)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é)議,用于004km.cnF 1.第一范式(1NF)及進(jìn)一步規(guī)范化

      關(guān)系模式需要滿足一定的條件,不同程度的條件稱做不同的范式,最低要求的條件是元組的每個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),這叫第一范式,簡稱1NF,是最基本的范式。對(duì)于各種范式之間的聯(lián)系有5NF C4NF仁BCNFC3NF仁2NFCINF成立。一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合,這個(gè)過程就叫規(guī)范化。2.第二范式(2NF)若R EINF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R∈2NFo 2NF就是不允許關(guān)系模式的屬性之間有這樣的函數(shù)依賴X-.Y。其中X是碼的真子集,Y是非主屬性,也就是說,不允許有非主屬性對(duì)碼的部分函數(shù)依賴。3.第三范式(3NF)關(guān)系模式R,<U,F(xiàn)>中若不存在這樣的碼X,屬性組Y及非主屬性Z(Z不包含于均使得X→Y,(Y函數(shù)依賴于X)Y→Z成立,則稱R<U, F>∈3NF 4.Boyce一Codd范式(BCNF)若關(guān)系模式REINF,且對(duì)于每個(gè)非平凡的函數(shù)依賴X-} Y都有X包含碼,則R EBCNF。在函數(shù)依賴的范圍內(nèi),BCNF達(dá)到了最高的規(guī)范化程度。

      考點(diǎn)35多值依賴和4NF 1.多值依賴

      設(shè)R(U)是屬性集U上的一個(gè)關(guān)系模式X、Y,Z是U的子集,并且Z=U一X一Y}關(guān)系模式R(U)中多值依賴X→→Y成立,當(dāng)且僅當(dāng)對(duì)R(U)功的任一關(guān)系r,給定的一對(duì)(x,z)值有一組Y的值,這組值僅僅決定于x值而與z值無關(guān)。4.第四范式(4NF)關(guān)系模式R<U,F(xiàn)>司NF,如果對(duì)于R的每個(gè)非平凡多值依賴X→→Y(Y不包含于X),X都含有碼,則稱R<U,F(xiàn)>∈4NF。

      如果一個(gè)關(guān)系模式是4NF,則必為BCNF。

      4.14關(guān)系模式的分解

      考點(diǎn)36模式分解的等價(jià)標(biāo)準(zhǔn)

      常用的等價(jià)標(biāo)準(zhǔn)要求分解是具有無損連接性的,并且是保持函數(shù)依賴的。

      考點(diǎn)37關(guān)于模式分解的幾個(gè)事實(shí)

      (1)分解具有無損連接性和分解保持函數(shù)依賴是兩個(gè)互相獨(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ì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,包括硬件環(huán)境、操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)等軟件環(huán)境,如何使用這個(gè)環(huán)境來表達(dá)用戶的要求,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫展開的應(yīng)用系統(tǒng),使之能夠有效地收集、存儲(chǔ)、操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應(yīng)用需求。

      數(shù)據(jù)庫設(shè)計(jì)方法中比較著名的有新奧爾良(New Orleans)方法。它將數(shù)據(jù)庫設(shè)計(jì)過程分為4個(gè)階段:需求分析、概念結(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í)世界要處理的對(duì)象(組織、部門、企業(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)需求說明書??键c(diǎn)40需求分析的基本步驟

      需求分析的步驟有以下幾個(gè)方面:

      (1)需求的收集:數(shù)據(jù),發(fā)生時(shí)間、頻率,發(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)是對(duì)現(xiàn)實(shí)世界的一種抽象,即對(duì)實(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ù)字典等)對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象,設(shè)計(jì)各個(gè)局部視圖即E-R圖。(2)集成局部視圖。

      設(shè)計(jì)E-R圖的步驟如下:

      (1)選擇局部應(yīng)用(2)逐一沒計(jì)E-R圖二 2視圖的集成

      集成局部E-R圖時(shí)需要兩步。

      (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)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。(2)一個(gè)m: n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。

      (3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。(4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。

      (5)3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(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)模式評(píng)價(jià)。(4)優(yōu)化模式。(5)形成邏輯結(jié)構(gòu)設(shè)計(jì)說明書。

      4.19物理結(jié)構(gòu)設(shè)計(jì)

      考點(diǎn)45物理設(shè)計(jì)的內(nèi)容

      (1)存儲(chǔ)記錄的格式設(shè)計(jì)。對(duì)數(shù)據(jù)項(xiàng)類型特征進(jìn)行分析,并對(duì)存儲(chǔ)記錄進(jìn)行格式化

      決定如何進(jìn)行數(shù)據(jù)壓縮或代碼優(yōu)化。

      (2)存儲(chǔ)方法的設(shè)計(jì)。物理設(shè)計(jì)中最重要的一個(gè)考慮是把存儲(chǔ)記錄在全范圍內(nèi)進(jìn)行物理安排,包括順序存放、散列存放和聚列存放。物理設(shè)計(jì)的結(jié)果是物理設(shè)計(jì)說明書。(3)存取方法設(shè)計(jì)。存取方法設(shè)計(jì)為存儲(chǔ)在物理上的數(shù)據(jù)提供數(shù)據(jù)訪問的路徑。DBMS產(chǎn)品一般都提供了一些存儲(chǔ)分配參數(shù),供數(shù)據(jù)人員和DBA對(duì)數(shù)據(jù)庫進(jìn)行物理優(yōu)化。

      考點(diǎn)46物理設(shè)計(jì)的評(píng)價(jià)

      數(shù)據(jù)庫物理設(shè)計(jì)過程中需要對(duì)時(shí)間效率、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設(shè)計(jì)人員必須對(duì)這些方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。

      在數(shù)據(jù)庫應(yīng)用系統(tǒng)生存期中,總的開銷包括:規(guī)劃開銷、設(shè)計(jì)開銷、實(shí)施和測(cè)試開銷、操作開銷、運(yùn)行維護(hù)開銷。評(píng)價(jià)物理數(shù)據(jù)庫的方法完全依賴于所選用的DBMS。

      4.20實(shí)現(xiàn)和維護(hù)

      考點(diǎn)47數(shù)據(jù)庫的實(shí)現(xiàn)

      數(shù)據(jù)庫實(shí)現(xiàn)的主要工作有以下幾個(gè)方面:(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ù)性等,總是以犧牲效率為代價(jià)的。設(shè)計(jì)人員的任務(wù)就是要在實(shí)現(xiàn)代價(jià)和盡可能多的功能之間進(jìn)行合理平衡。其他設(shè)計(jì)包括數(shù)據(jù)庫的再組織設(shè)計(jì)、故障恢復(fù)方案設(shè)計(jì)、安全性考慮和事務(wù)控制等。

      考點(diǎn)49數(shù)據(jù)庫的運(yùn)行和維護(hù)

      在數(shù)據(jù)庫運(yùn)行階段,對(duì)數(shù)據(jù)庫經(jīng)常性的維護(hù)工作主要是由DBA完成的,它包括以下幾個(gè)方面:

      (1)數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)和恢復(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)對(duì)共享數(shù)據(jù)有效的組織、管理和存取。因此,DBMS具有如下幾個(gè)方面的基本功能。

      (1)數(shù)據(jù)庫定義功能。(2)數(shù)據(jù)存取功能。

      (3)數(shù)據(jù)組織、存儲(chǔ)和管理。(4)數(shù)據(jù)庫運(yùn)行管理。(5)數(shù)據(jù)庫的建立和維護(hù)。

      (6)通信功能和數(shù)據(jù)轉(zhuǎn)換功能等。

      考點(diǎn)52 DBMS程序模塊的組成

      大致來說,DBMS的程序模塊可按功能劃分為以下5個(gè)模塊:(1)數(shù)據(jù)定義方面的程序模塊。(2)數(shù)據(jù)操縱方面的程序模塊

      (3)數(shù)據(jù)庫運(yùn)行管理方面的程序模塊

      (4)數(shù)據(jù)庫組織、存儲(chǔ)和管理方面的程序模塊。(5)數(shù)據(jù)庫建立、維護(hù)和其他方面的程序模塊。

      考點(diǎn)53 DBMS的層次結(jié)構(gòu)

      可以將DBMS劃分成若干層次,這樣可以幫助我們更清晰地認(rèn)識(shí)DBMS,更重要的是有助于DBMS的設(shè)計(jì)和維護(hù)。

      (1)最上層是應(yīng)用層位于DBMS核心之外。

      (2)第二層是語言翻譯處理層它處理的對(duì)象是數(shù)據(jù)庫語言}A SQL,(3)第三層是數(shù)據(jù)存取層:該層處理的對(duì)象是單個(gè)元組。

      (4)第四層是數(shù)據(jù)存儲(chǔ)層。該層處理的對(duì)象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū)。(5)操作系統(tǒng)是DBMS的基礎(chǔ)。它處理的對(duì)象是數(shù)據(jù)文件的物理塊。4.22新的應(yīng)用需求對(duì)DBMS的挑戰(zhàn)

      考點(diǎn)54新的應(yīng)用需求對(duì)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)以O(shè)racle為代表的數(shù)據(jù)庫管理系統(tǒng),這類系統(tǒng)還有IBM DB2,Sybase等,也被稱為主流數(shù)據(jù)庫管理系統(tǒng)。

      (3)以Microsoft SQI.Server為代表的介于以上兩類之間的數(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年推出了世界上第一個(gè)商業(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ù)庫復(fù)習(xí)總結(jié)知識(shí)點(diǎn)

      《黃色填充區(qū)域是不確定區(qū)域

      需要在找找》

      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ù)丟失、錯(cuò)誤更新和越權(quán)使用; ②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性; ③并發(fā)控制:使在同一時(shí)間周期內(nèi),允許對(duì)數(shù)據(jù)實(shí)現(xiàn)多路存取,又能防止用戶之間的不正常交互作用; ④故障的發(fā)現(xiàn)和恢復(fù):由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時(shí)發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞(6)故障恢復(fù)。由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時(shí)發(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)模式也稱存儲(chǔ)模式,一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(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ū)中的存儲(chǔ)結(jié)構(gòu),在關(guān)系模型中就是采用的關(guān)系模型了,就是“二維表”的形式

      2):數(shù)據(jù)操作,指的是對(duì)數(shù)據(jù)的一些操作,包括查詢、刪除、更新、插入等等

      3):數(shù)據(jù)的完整性約束:就是對(duì)所存數(shù)據(jù)的約束規(guī)則,有實(shí)體完整性、參照完整性等等,就是取值唯

      一、不能為空等一系列操作

      6.E-R圖即實(shí)體-聯(lián)系圖(Entity Relationship Diagram),是指提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型。

      7.ER圖的基本要素:實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性 8.概念數(shù)據(jù)模型是按用戶的觀點(diǎn)對(duì)數(shù)據(jù)和信息建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象?;緮?shù)據(jù)模型是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,用于DBMS的實(shí)現(xiàn)(層次模型,網(wǎng)狀模型,關(guān)系模型)(1)可以定制生成標(biāo)準(zhǔn)的模型報(bào)告;(2)可以轉(zhuǎn)換為面向?qū)ο竽P停∣OM);

      (3)完成多種數(shù)據(jù)庫的詳細(xì)物理設(shè)計(jì)(涵蓋常用的各種數(shù)據(jù)庫的DBMS),并生成數(shù)據(jù)庫對(duì)象的.sql腳本;

      9.數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。

      →:數(shù)據(jù)流(流動(dòng)的數(shù)據(jù),有流向)

      □:外部實(shí)體(不同于數(shù)據(jù)庫實(shí)體,指人,物,部門,科室,單位等)○:數(shù)據(jù)處理(對(duì)數(shù)據(jù)的加工,是對(duì)數(shù)據(jù)進(jìn)行處理的單元,指功能模塊,能做什么)〒:數(shù)據(jù)存儲(chǔ)

      (信息的靜態(tài)存儲(chǔ))

      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ù)存儲(chǔ)和處理過程五個(gè)部分。11.主鍵和外鍵的關(guān)系(案例題)

      12.用T-SQL語句如何創(chuàng)建表 如何刪除表

      ppt 6-2 13.笛卡爾積(Cartesian Product)通俗點(diǎn)說就是指包含兩個(gè)集合中任意取出兩個(gè)元素構(gòu)成的組合的集合。

      設(shè):關(guān)系R為m列(m 個(gè)屬性),k1行(k1個(gè)元組); 關(guān)系S為n列(n個(gè)屬性),k2行(k2個(gè)元組)。

      ? 公式:R×S={tRtS │tR ∈R ∧ tS ∈S } ? 語義:笛卡爾積仍是一個(gè)關(guān)系,該關(guān)系的結(jié)構(gòu)是R和S結(jié)構(gòu)之連接,即前m 個(gè)屬性來自R,后n個(gè)屬性來自S,該關(guān)系的值是由R中的每個(gè)元組連接S中的每個(gè)元組所構(gòu)成元組的集合。

      ? 注意:新關(guān)系的屬性個(gè)數(shù)等于m+n,元組個(gè)數(shù)等于k1*k2。

      ? 14.投影(Projection)

      設(shè):t是關(guān)系R中的一個(gè)元組,A是要從R中投影出的屬性子集。

      ? 公式:∏A(R)={ t.A│t ∈R } ? 語義:從關(guān)系R中按所需順序選取若干個(gè)屬性構(gòu)成新關(guān)系。

      ? 注意:新關(guān)系的元組數(shù)小于等于原關(guān)系的元組數(shù),新關(guān)系的屬性數(shù)不多于原關(guān)系中的屬性數(shù)。

      ? ∏是希臘字母,即π的大寫形式,在數(shù)學(xué)中表示求積運(yùn)算或直積運(yùn)算,形式上類似于Σ,有時(shí)也用來代表圓周率值,即讀作/pai/ ? 15.連接(Join)

      設(shè):A,B分別是關(guān)系R和S中的屬性,t是連接關(guān)系中的一個(gè)元組。

      ? 公式:

      ? 語義:兩個(gè)關(guān)系R和S按相應(yīng)屬性值的比較條件連接起來,生成一個(gè)新關(guān)系,也稱為θ連接。

      ? 等值連接

      – R×S+選擇(θ為=)

      – 按照兩關(guān)系中對(duì)應(yīng)屬性值相等的條件所進(jìn)行的連接

      ? 自然連接

      – 等值連接+去重復(fù)屬性 – 記作:R

      S 16.第一范式(1NF):在關(guān)系模式R中的每一個(gè)具體關(guān)系r中,如果每個(gè)屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。第二范式(2NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個(gè)候選關(guān)鍵字,則稱關(guān)系R 是屬于第二范式的。

      第三范式(3NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對(duì)任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。

      17.字符串的定界符可以用單引號(hào),雙引號(hào),和方括號(hào),18.LEN 返回文本串的字符數(shù).left:返回從字符串左邊開始指定個(gè)數(shù)的字符

      19.索引的特點(diǎn):有效組織表數(shù)據(jù)的方式它由表中一列或多列按照一定的排列順序組成。、用戶可以通過合理地創(chuàng)建索引大大提高數(shù)據(jù)庫的查找速度 索引也可以保證列的唯一性,從而確保表中數(shù)據(jù)的完整性

      索引中包含鍵值,這些鍵值存儲(chǔ)在一種數(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ù)在表中的物理存儲(chǔ)順序,因此一個(gè)表只能包含一個(gè)聚簇索引。但該索引可以包含多個(gè)列(組合索引),就像電話簿按姓氏和名字進(jìn)行組織一樣。漢語字典也是聚簇索引的典型應(yīng)用,在漢語字典里,索引項(xiàng)是字母+聲調(diào),字典正文也是按照先字母再聲調(diào)的順序排列。

      聚簇索引對(duì)于那些經(jīng)常要搜索范圍值的列特別有效。使用聚簇索引找到包含第一個(gè)值的行后,便可以確保包含后續(xù)索引值的行在物理相鄰。例如,如果應(yīng)用程序執(zhí)行的一個(gè)查詢經(jīng)常檢索某一日期范圍內(nèi)的記錄,則使用聚集索引可以迅速找到包含開始日期的行,然后檢索表中所有相鄰的行,直到到達(dá)結(jié)束日期。這樣有助于提高此類查詢的性能。同樣,如果對(duì)從表中檢索的數(shù)據(jù)進(jìn)行排序時(shí)經(jīng)常要用到某一列,則可以將該表在該列上聚簇(物理排序),避免每次查詢?cè)摿袝r(shí)都進(jìn)行排序,從而節(jié)省成本。聚集索引根據(jù)鍵值的大小對(duì)行進(jìn)行物理排序,所以每個(gè)表只能有一個(gè)聚集索引。

      21.alter 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一對(duì)一關(guān)聯(lián):在一對(duì)一關(guān)系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相關(guān)列都是主鍵或都具有唯一約束,則可以創(chuàng)建一對(duì)一關(guān)系。25:什么是數(shù)據(jù)表:一個(gè)數(shù)據(jù)庫中可能包含若干個(gè)數(shù)據(jù)表。

      數(shù)據(jù)表是數(shù)據(jù)庫中一個(gè)非常重要的對(duì)象,是其他對(duì)象的基礎(chǔ)。沒有數(shù)據(jù)表,關(guān)鍵字、主鍵、索引等也就無從談起。在數(shù)據(jù)庫畫板中可以顯示數(shù)據(jù)庫中的所有數(shù)據(jù)表(即使不是用PowerBuilder創(chuàng)建的表),創(chuàng)建數(shù)據(jù)表,修改表的定義等數(shù)據(jù)表是數(shù)據(jù)庫中一個(gè)非常重要的對(duì)象,是其他對(duì)象的基礎(chǔ)。

      數(shù)據(jù)表(或稱表)是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個(gè)框架,數(shù)據(jù)表才是其實(shí)質(zhì)內(nèi)容。根據(jù)信息的分類情況,一個(gè)數(shù)據(jù)庫中可能包含若干個(gè)數(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í)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。

      語言特點(diǎn):一體化 使用反式靈活 非過程化 語言簡潔 語法簡單 好學(xué)好用

      27:交叉連接查詢:交叉連接不帶WHERE 子句,它返回被連接的兩個(gè)表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)

      據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)表中符合查詢條件的數(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)行條件檢索的表。在一個(gè)或者一些字段需要頻繁用作查詢條件,并且表數(shù)據(jù)較多的時(shí)候,創(chuàng)建索引會(huì)明顯提高查詢速度,因?yàn)榭捎扇頀呙韪某伤饕龗呙琛?無索引時(shí)全表掃描也就是要逐條掃描全部記錄,直到找完符合條件的,索引掃描可以直接定位)索引并不是越多越好,太多索引會(huì)占用很多的索引表空間,甚至比存儲(chǔ)一條記錄更多。對(duì)于需要頻繁新增記錄的表,最好不要?jiǎng)?chuàng)建索引,沒有索引的表,執(zhí)行insert、append都很快,有了索引以后,會(huì)多一個(gè)維護(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)是集合操作方式,即操作的對(duì)象和結(jié)果都是集合。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算均是抽象的查詢語言這些抽象的語言與具體的DBMS中實(shí)現(xiàn)的實(shí)際語言并不完全一樣,但它們能用作評(píng)估實(shí)際系統(tǒng)中查詢語言能力的標(biāo)準(zhǔn)或基礎(chǔ)。數(shù)據(jù)庫的數(shù)據(jù)完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,那是一種語義概念,包括兩個(gè)主要方面:與現(xiàn)實(shí)世界中應(yīng)用需求的數(shù)據(jù)的相容性和正確性。數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的相容性和正確性。32數(shù)據(jù)庫概念模型應(yīng)具備(特點(diǎn)。Ⅰ.豐富的語言表達(dá)能力 Ⅱ.易于交流和理解 Ⅲ.易于變動(dòng) Ⅳ.易于向各種數(shù)據(jù)模型轉(zhuǎn)換 A.Ⅰ和Ⅱ B.Ⅰ、Ⅱ、Ⅲ C.Ⅱ、Ⅲ、Ⅳ D.全是

      正確答案:D 概念模型應(yīng)具有較強(qiáng)的語義表達(dá)能力,簡單,清晰,易于用戶理解。易于項(xiàng)其他數(shù)據(jù)模型轉(zhuǎn)換

      (相關(guān)知識(shí))組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫

      32關(guān)系數(shù)據(jù)庫的規(guī)范化理論指出,關(guān)系數(shù)據(jù)庫中的關(guān)系應(yīng)滿足一定的要求,最起碼的要求是達(dá)到1NF,既滿足()。A: 主關(guān)鍵字唯一標(biāo)識(shí)表中的每一行 B: 關(guān)系中的行不允許重復(fù) C: 每個(gè)非關(guān)鍵字列都完全依賴于主關(guān)鍵字 D: 每個(gè)屬性都有是不可再分的基本數(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、包括存儲(chǔ)結(jié)構(gòu)和存取方法的物理結(jié)構(gòu) B、某個(gè)DBMS所支持的數(shù)據(jù)模型 C、E-R圖表示的概念模型 D、數(shù)據(jù)字典描述的數(shù)據(jù)需求 35數(shù)據(jù)庫需求分析階段的主要任務(wù):對(duì)現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè))等進(jìn)行詳細(xì)的調(diào)查,通過對(duì)原系統(tǒng)的了解,手機(jī)支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對(duì)其進(jìn)行處理,在此基礎(chǔ)上確定新系統(tǒng)的功能。

      用戶需求分析階段的主要工作包括2方面:可行性分析

      成本(資源)分析

      哪個(gè)不是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.輸入和存儲(chǔ)數(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í)備份數(shù)據(jù)庫

      6、利用備份,還原數(shù)據(jù)庫,甚至是遷移數(shù)據(jù)庫。

      7、為開發(fā)人員定制、配置專用的測(cè)試服務(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)那個(gè)環(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ù)存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)發(fā)生變化時(shí),不會(huì)影響應(yīng)用程序。

      數(shù)據(jù)獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性指應(yīng)用程序與存儲(chǔ)在磁盤的數(shù)據(jù)庫中數(shù)據(jù)相互獨(dú)立,即數(shù)據(jù)物理存儲(chǔ)改變時(shí)應(yīng)用程序不變。邏輯獨(dú)立性指應(yīng)用程序與數(shù)據(jù)庫邏輯結(jié)構(gòu)相互獨(dú)立,即數(shù)據(jù)邏輯結(jié)構(gòu)改變時(shí),應(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.有專門的軟件對(duì)數(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個(gè)方面的數(shù)據(jù)控制功能。相對(duì)于文件系統(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ù)存儲(chǔ)粒度小,數(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ù)庫,是一個(gè)長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、有共享的、統(tǒng)一管理的數(shù)據(jù)集合。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。

      41:數(shù)據(jù)庫的發(fā)展歷史經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)發(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ā)生變化后必須對(duì)應(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ù)面向的對(duì)象:某一應(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ù)面向的對(duì)象:某一應(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ù)面向的對(duì)象:整個(gè)應(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) 5.sql sever 2008的系統(tǒng)數(shù)據(jù)庫是什么 6什么是子數(shù)據(jù)表

      上機(jī)操作:1、用select語句查詢前十行數(shù)據(jù)、用select語句查詢前20%的數(shù)據(jù) 3、用select語句查詢指定列數(shù)據(jù)

      4、什么是查詢?cè)O(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、在.sql sever中如何進(jìn)行自動(dòng)編號(hào)設(shè)計(jì)

      什么是自動(dòng)編號(hào)

      12、not in 的使用 any some all 的使用、select can’(*)的使用

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

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

      1.1 名詞解釋

      (1)DB:即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DB能為各種用戶共享,具有最小冗余度,數(shù)據(jù)間聯(lián)系密切,而又有較高的數(shù)據(jù)獨(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)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(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中的每個(gè)實(shí)體最多只能和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集E1對(duì)E2的聯(lián)系稱為“一對(duì)一聯(lián)系”,記為“1:1”。

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

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

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

      (6)概念數(shù)據(jù)模型:是獨(dú)門于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個(gè)特定組織所關(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)系模型是由若干個(gè)關(guān)系模式組成的集合。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      聯(lián)系:

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

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

      區(qū)別:

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

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

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

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

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

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

      實(shí)體:商店(商店編號(hào),店名,店址,店經(jīng)理)

      商品(商品編號(hào),商品名,單價(jià),產(chǎn)地)

      職工(職工編號(hào),職工名,性別,工資)

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

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

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

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

      職工模式(職工編號(hào),職工名,性別,工資,商店編號(hào),開始時(shí)間)

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

      ER模型的主要特點(diǎn):

      (1)優(yōu)點(diǎn):接近于人的思維,容易理解;與計(jì)算機(jī)無關(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)(每個(gè)M:N聯(lián)系可拆成兩個(gè)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ù),表格簡單,用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu)、訪問技術(shù)等細(xì)節(jié)。

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

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

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

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

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

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

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

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

      1.11 試述DBMS的主要功能。

      DBMS的主要功能有:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      主要有四個(gè)實(shí)用程序:

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

      (2)備份程序(backup)

      (3)文件重組織程序

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

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

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

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

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

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

      1.15 DBS由哪幾個(gè)部分組成?

      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可以是一個(gè)人,在大型系統(tǒng)中也可以是由幾個(gè)人組成的小組。DBA承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫結(jié)構(gòu)的責(zé)任。

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

      (1)熟悉企

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

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

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

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

      (1)概念模式定義

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

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

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

      (5)完整性約束的說明

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

      參照教材p24-25。

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

      1)DBA

      2)專業(yè)用戶

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

      4)最終用戶

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

      DBMS的查詢處理器可分成四個(gè)成分:

      1)DML編譯器

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

      3)DDL編譯器

      4)查詢運(yùn)行核心程序

      (各成分功能參照P24)

      1.20 DBMS的存儲(chǔ)處理器有哪些功能?

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

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

      2)事務(wù)管理器

      3)文件管理器

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

      (各成分功能參照P25)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      2.9 假設(shè)R和S分別是三元和二元關(guān)系,試把表達(dá)式π1,5(σ2=4∨3=4(R×S))轉(zhuǎn)換成等價(jià)的:(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)換成等價(jià)的:(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)換成等價(jià)的:

      (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á)式表示上題中各個(gè)查詢語句。

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

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

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

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

      π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é)號(hào)為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é)的課程號(hào)。

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

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

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

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

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

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

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

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

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

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

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

      π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é)號(hào)為:

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

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

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

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

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

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

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

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

      3.1 名詞解釋

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

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

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

      (3)基本表:在SQL中,把傳統(tǒng)的關(guān)系模型中的關(guān)系模式稱為基本表(Base Table)?;颈硎菍?shí)際存儲(chǔ)在數(shù)據(jù)庫中的表,對(duì)應(yīng)一個(gè)關(guān)系。

      (4)存儲(chǔ)文件:在SQL中,把傳統(tǒng)的關(guān)系模型中的存儲(chǔ)模式稱為存儲(chǔ)文件(Stored File)。每個(gè)存儲(chǔ)文件與外部存儲(chǔ)器上一個(gè)物理文件對(duì)應(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)建一個(gè)視圖時(shí),只把視圖的定義存儲(chǔ)在數(shù)據(jù)詞典中,而不存儲(chǔ)視圖所對(duì)應(yīng)的數(shù)據(jù)。

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

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

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

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

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

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

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

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

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

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

      課程 C(C#,CNAME,TEACHER)

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

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

      SELECT C#,CNAME

      FROM C

      WHERE TEACHER=‘LIU’

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

      SELECT S#,SNAME

      FROM S

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

      (3)檢索至少選修LIU老師所授課程中一門課程的女學(xué)生姓名。

      SELECT SNAME

      FROM S

      WHERE SEX=‘F’ AND S# IN

      (SELECT S#

      FROM SC

      WHERE C# IN

      (SELECT C#

      OM C

      WHERE TEACHER=‘LIU’)

      NOTICE:有多種寫法,比如聯(lián)接查詢寫法:

      SELECT SNAME

      FROM S,SC,C

      WHERE SEX=‘F’ AND SC.S#=S.S#

      AND SC.C#=C.C#

      AND TEACHER='LIU' 但上一種寫法更好一些。

      (4)檢索WANG同學(xué)不學(xué)的課程的課程號(hào)。

      SELECT C#

      FROM C

      WHERE C# NOT IN

      (SELECT C#

      FROM SC

      WHERE S# IN

      (SELECT S#

      FROM S

      WHERE SNAME='WANG'))

      FR

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

      SELECT DISTINCT X.SNO

      FROM SC X,SC Y

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

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

      SELECT C#,CNAME

      FROM C

      WHERE NOT EXISTS

      (SELECT *

      FROM S

      WHERE S# NOT IN

      (SELECT *

      FROM SC

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

      要從語義上分解:(1)選擇課程的課程號(hào)與課程名,不存在不選這門課的同學(xué)。

      其中,“不選這門課的同學(xué)”可以表示為:

      SELECT *

      FROM S

      WHERE S# NOT IN

      (SELECT *

      FROM SC

      WHERE SC.C#=C.C#)

      或者

      SELECT *

      FROM S

      WHERE

      NOT EXISTS

      (SELECT *

      FROM SC

      WHERE S.S#=C.S# AND

      SC.C#=C.C#)

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

      SELECT DISTINCT S#

      FROM SC

      WHERE C# IN

      (SELECT C#

      FROM C

      WHERE TEACHER='LIU'))

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

      (1)πA(R)

      (2)σB='17'(R)

      (3)R×S

      (4))πA,F(σC=D(R×S))(1)SELECT A FROM R

      (2)SELECT * FROM R WHERE B='17'(3)SELECT A,B,C,D,E,F FROM R,S

      (4)SELECT A,F FROM R,S WHERE R.C=S.D

      3.4 3.4 設(shè)有兩個(gè)基本表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á)下列對(duì)教學(xué)數(shù)據(jù)庫中三個(gè)基本表S、SC、C的查詢:

      (1)統(tǒng)計(jì)有學(xué)生選修的課程門數(shù)。

      SELECT COUNT(DISTINCT C#)FROM SC

      (2)求選修C4課程的學(xué)生的平均年齡。

      SELECT AVG(AGE)

      FROM S

      WHERE S# IN

      (SELECT S#

      FROM SC

      WHERE C#='C4')或者,SELECT AVG(AGE)

      FROM S,SC

      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ì))。要求輸出課程號(hào)和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號(hào)升序排列。

      SELECT DISTINCT C#,COUNT(S#)

      FROM SC

      GROUP BY C#

      HAVING COUNT(S#)>10

      ORDER BY 2 DESC, C# ASC

      (5)檢索學(xué)號(hào)比WANG同學(xué)大,而年齡比他小的學(xué)生姓名。

      SELECT X.SNAME

      FROM S AS X, S AS Y

      WHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE

      (6)檢索姓名以WANG打頭的所有學(xué)生的姓名和年齡。

      SELECT SNAME,AGE

      FROM S

      WHERE SNAME LIKE 'WANG%'

      (7)在SC中檢索成績?yōu)榭罩档膶W(xué)生學(xué)號(hào)和課程號(hào)。

      SELECT S#,C#

      FROM SC

      WHERE GRADE IS NULL

      (8)求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡。

      SELECT SNAME,AGE

      FROM S AS X

      WHERE X.SEX='男' AND X.AGE>(SELECT AVG(AGE)FROM S AS Y WHERE Y.SEX='女')

      (9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡。

      SELECT SNAME,AGE

      FROM S AS X

      WHERE X.SEX='男' AND X.AGE>ALL(SELECT AGE FROM S AS Y WHERE Y.SEX='女')

      3.7 試用SQL更新語句表達(dá)對(duì)教學(xué)數(shù)據(jù)庫中三個(gè)基本表S、SC、C的各個(gè)更新操作:

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

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

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

      INSERT INTO STUDENT(S#,SNAME,SEX)

      SELECT S#,SNAME,SEX

      FROM S WHERE NOT EXISTS

      (SELECT * FROM SC WHERE

      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分時(shí)提高5%,若成績大于75分時(shí)提高4%(用兩個(gè)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)系模型有五個(gè)關(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語句定義上述五個(gè)基本表,并說明主鍵和外鍵。

      CREATE TABLE PART

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

      CREATE TABLE PROJECT

      (J# CHAR(4)NOT NULL,JNAME CHAR(12)NOT NULL,DATE DATE,PRIMARY KEY(J#))

      CREATE TABLE SUPLIER

      (S# CHAR(4)NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20),PRIMARY KEY(S#))

      CREATE TABLE P_P

      (J# CHAR(4),P# CHAR(4),TOTAL INTEGER,PRIMARY KEY(J#,P#),F(xiàn)OREIGN KEY(J#)REFERENCE PROJECT(J#),F(xiàn)OREIGN KEY(P#)REFERENCE PART(P#))

      CREATE TABLE P_S

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

      (2)試將PROGECT、P_P、PART三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖VIEW1,PART、P_S、SUPPLIER 三個(gè)基本表的自然聯(lián)接定義為一個(gè)視圖VIEW2。

      CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL)

      AS SELECT PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL

      FROM PROJECT,PART,P_P

      WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J

      #CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY)

      AS SELECT PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUA

      NTITY

      FROM PART,P_S,SUPPLIER

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

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

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

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

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

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

      3.9 對(duì)于教學(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ù)處理方式對(duì)于嵌入式SQL的實(shí)現(xiàn)有什么重要意義?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      4.1 名詞解釋

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

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

      (3)部分函數(shù)依賴:即局部依賴,對(duì)于一個(gè)函數(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的所有屬性的值域中每一個(gè)值都是不可再分解的值, 則稱R是屬于第一范式模式。如果某個(gè)數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫存模式屬于第一范式的數(shù)據(jù)庫模式。第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項(xiàng)不能是屬性組合和組屬性組成。

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

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

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

      是BCNF的模式。

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

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

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

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

      (15)無損聯(lián)接:設(shè)R是一關(guān)系模式,分解成關(guān)系模式ρ={R1,R2...,Rk},F是R上的一個(gè)函數(shù)依賴集。如果對(duì)R中滿足F的每一個(gè)關(guān)系r都有r=πR1(r)πR2(r)...πRk(r)則稱這個(gè)分解相對(duì)于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上的一個(gè)關(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)時(shí),就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(MultiValued Dependency MVD)X→→Y在關(guān)系模式R中成立。

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

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

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

      ·

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

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

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

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

      描述系的屬性有:系名、系號(hào)、系辦公地點(diǎn)、人數(shù)。

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

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

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

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

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

      系(系名,系號(hào),系辦公地點(diǎn),人數(shù))

      社團(tuán)(社團(tuán)名,成立年份,地點(diǎn),人數(shù))

      加入社團(tuán)(社團(tuán)名,學(xué)號(hào),學(xué)生參加社團(tuán)的年份)

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

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

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

      ●候選鍵是學(xué)號(hào),外部鍵是班級(jí)號(hào),系名。

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

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

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

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

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

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

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

      系(系名,系號(hào),系辦公地點(diǎn),人數(shù))

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

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

      ●候選鍵是系名,系號(hào)

      社團(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é)號(hào),學(xué)生參加社團(tuán)的年份)

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

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

      ●候選鍵是(社團(tuán)名,學(xué)號(hào))。

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

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

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

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

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

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

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

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

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

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

      (1)設(shè)R(ABC),F(xiàn)1={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),F(xiàn)2={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),F(xiàn)3={A→B},在R上成立,ρ3={AB,BC}.首先,檢查是否具有無損聯(lián)接特點(diǎn):

      第1種解法:

      (1)構(gòu)造表

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

      沒有一行全是a行。因此這個(gè)分解不具有無損聯(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),F(xiàn)4={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的一個(gè)分解ρ={AB,AC,AD},求:(1)F在ρ的每個(gè)模式上的投影。(2)ρ相對(duì)于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,ρ相對(duì)于F是無損聯(lián)接分解。

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

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

      根據(jù)算法4.2

      (1)構(gòu)造表

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

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

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

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

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

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

      πBD(F)={D→B}

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

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

      BD是BCNF,因?yàn)镽2(BD)是第一范式,且每個(gè)屬性都不傳遞依賴于D(候選鍵),所以它是BCNF模式。

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

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

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

      (1)不是無損聯(lián)接??捎伤惴?.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é)號(hào)、選修課程的編號(hào),成績、任課教師地址等意義。如果規(guī)定,每個(gè)學(xué)生每學(xué)一門課只有一個(gè)成績; 每門課只有一個(gè)教師任教;每個(gè)教師只有一個(gè)地址(此處不允許教師同名同姓)。

      (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)行分解,可分解為下列兩個(gè)關(guān)系。

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

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

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

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

      該分解符合3NF模式。

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

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

      生產(chǎn)科研項(xiàng)目包含:項(xiàng)目號(hào)(唯一的),預(yù)算費(fèi)。

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

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

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

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

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

      D={D#,Manager_E#,Budget,E#,J#,Phone#,Business,Sa_History,Office#,Area} D#:部門號(hào), Manager_E#:部門領(lǐng)導(dǎo)人員的職工號(hào), E#:職工號(hào), J#:生產(chǎn)科研項(xiàng)目號(hào), Phone#:辦公室的電話號(hào),Business:職工職務(wù),Sa_History:工資歷史,Office#:辦公室號(hào),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è)一個(gè)部門可能有多個(gè)辦公室,有多個(gè)項(xiàng)目,一個(gè)辦公室只屬于一個(gè)部門,有多部電話,一個(gè)員工只參加一個(gè)項(xiàng)目,一個(gè)項(xiàng)目可能屬于多個(gè)部門)

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

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

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

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

      History(E#,Business,History)

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

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

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

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

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

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

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

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

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

      5.1 名詞解釋

      (1)數(shù)據(jù)庫設(shè)計(jì):數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫管理系統(tǒng)所接受,同時(shí)能實(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)評(píng)審:在數(shù)據(jù)庫設(shè)計(jì)過程中,評(píng)審的目的是為了確認(rèn)某一階段的任務(wù)是否全部完成,避免重大的疏漏或錯(cuò)誤,并在生存期的早期階段給予糾正,以減少系統(tǒng)研制的成本。

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

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

      分成七個(gè)階段 :規(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è)備上的存儲(chǔ)結(jié)構(gòu)與存取方法等。

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

      數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫管理系統(tǒng)所接受,同時(shí)能實(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ì)分成哪幾個(gè)階段?

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

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

      一種實(shí)用的數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)包括以下內(nèi)容:設(shè)計(jì)過程、設(shè)計(jì)技術(shù)、評(píng)價(jià)準(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)中的地位,以及各個(gè)數(shù)據(jù)庫之間的聯(lián)系。

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

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

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

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

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

      如果在數(shù)據(jù)庫已經(jīng)實(shí)現(xiàn)時(shí)再發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤,那么代價(jià)比較大。因此應(yīng)該允許設(shè)計(jì)過程的回溯與反復(fù)。設(shè)計(jì)過程需要根據(jù)評(píng)審意見修改所提交的階段設(shè)計(jì)成果,有時(shí)修改甚至要回溯到前面的某一階段,進(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ù)存儲(chǔ)和加工過程。

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

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

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

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

      (3)概念模型應(yīng)易于變動(dòng)。當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和補(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)評(píng)審。

      (具體解釋參見教材p131)

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

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

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

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

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

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

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

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

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

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

      環(huán)境。

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

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

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

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

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

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

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

      (1)DBMS可處理的模式;

      (2)子模式;

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

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

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

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

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

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

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

      (4)模式評(píng)價(jià)

      (5)修正模式。

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

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

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

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

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

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

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

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

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

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

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

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

      (2)試運(yùn)行

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

      (具體解釋參見教材p150)

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

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

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

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

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

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

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

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

      (3)增加新功能;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      (2)不一致分析問題

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      串行調(diào)

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

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

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

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

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

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

      (2)如有違反,則采取恰當(dāng)?shù)牟僮?,如拒絕、報(bào)告違反情況,改正錯(cuò)誤等方法進(jìn)行處理。

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

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

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

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

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

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

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

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

      6.16 試詳述SQL中的完整性約束機(jī)制?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      約束形式

      說明對(duì)象

      激活條件

      是否保證一致性

      基于屬性的檢查

      只對(duì)一個(gè)屬性值加以約束

      插入或修改屬性值時(shí)

      不一定

      基于元組的檢查

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

      在插入或修改元組時(shí) 不一定

      斷言

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

      任何變動(dòng)

      保證

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

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

      C(C#,CNAME,TEACHER)

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

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

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

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

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

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

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

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

      (2)采用外鍵子句約束

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

      (3)采用元組檢查

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

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

      (4)采用外鍵約束

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

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

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

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

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

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

      (1)

      CREAT ASSERTION ASSE1 CHECK

      (NOT EXISTS

      (SELECT S FROM SC

      WHERE C# IN

      (SELECT C#

      FROM C

      WHERE CNAME<>'MATHS')

      AND S# NOT IN

      (SELECT S# FROM SC

      WHERE C# IN

      (SELECT C#

      FROM C

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

      CREAT ASSERTION ASSE2 CHECK

      (ALL(SELECT COUNT(SC.C#)

      FROM S,SC

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

      GROUP BY S#)<=20);

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

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

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

      (具體可參見教材P173)

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

      答案基本同上一題。

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

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

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

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

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

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

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

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

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

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

      (2)INSERT :允許用戶對(duì)關(guān)系或視圖執(zhí)行INSERT操作,如果還說明了一個(gè)屬性表,那么表示只能插入這些屬性的值,關(guān)系中其他屬性值將置為缺省值或?yàn)榭罩怠?/p>

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

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

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

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

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

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

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

      7.1 名詞解釋

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      7.3 與集中式DBS、分散式DBS相比,分布式DBS有哪些特點(diǎn)?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      疊。

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

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

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

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

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

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

      分布式DBS的分層體系結(jié)構(gòu)有三個(gè)特征:

      (1)數(shù)據(jù)分片和數(shù)據(jù)分配概念的分離,形成了“數(shù)據(jù)分布獨(dú)立性”概念。

      (2)數(shù)據(jù)冗余的顯式控制。

      (3)局部DBMS的獨(dú)立性。

      7.8 試敘述分布式DBMS的功能及組成。

      主要功能有:

      (1)接受用戶請(qǐng)求,并判定把它送到哪里,或必須訪問哪些計(jì)算機(jī)才能滿足該請(qǐng)求。

      (2)訪問網(wǎng)絡(luò)數(shù)據(jù)字典,或者至少了解如何請(qǐng)求和使用其中的信息。

      (3)如果目標(biāo)數(shù)據(jù)存儲(chǔ)于系統(tǒng)的多個(gè)計(jì)算機(jī)上,就必須進(jìn)行分布式處理。

      (4)通信接口功能,在用戶、局部DBMS和其他計(jì)算機(jī)的DBMS之間進(jìn)行協(xié)調(diào)。

      (5)在一個(gè)異構(gòu)型分布式處理環(huán)境中,還需提供數(shù)據(jù)和進(jìn)程移植的支持。這里的異構(gòu)型是指各個(gè)場地的硬件、軟件之間存在一定差別。

      DDBMS組成——應(yīng)包括以下四個(gè)子系統(tǒng):

      (1)查詢子系統(tǒng)

      (2)完整性子系統(tǒng)

      (3)調(diào)度子系統(tǒng)

      (4)可靠性子系統(tǒng)

      7.9 分布式系統(tǒng)中影響查詢的主要因素是什么?

      分布式系統(tǒng)中,影響查詢的主要因素?cái)?shù)據(jù)經(jīng)網(wǎng)絡(luò)的傳輸時(shí)間,數(shù)據(jù)傳輸量是衡量查詢時(shí)間的一個(gè)主要指標(biāo),不同場地間的聯(lián)接操作和并操作是影響數(shù)據(jù)傳輸量的主要原因。

      7.10 基于半聯(lián)接的查詢優(yōu)化策略的基本思想是什么?

      數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時(shí),如果以整個(gè)關(guān)系傳輸,則傳輸數(shù)據(jù)量大,是一種冗余的做法,而實(shí)際上,在聯(lián)接時(shí)并非每個(gè)數(shù)據(jù)都參與操作或有用。因此,考慮到不參與操作的值或無用的值不必經(jīng)網(wǎng)絡(luò)來回傳輸,則可以減少傳輸?shù)臄?shù)據(jù)量。

      第五篇:數(shù)據(jù)庫原理復(fù)習(xí)

      1.請(qǐng)寫出SQL Server 2000中的六種約束。

      主鍵約束,唯一鍵約束,檢查約束,默認(rèn)值約束,外鍵約束,級(jí)聯(lián)參照完整性約束

      2.在關(guān)系模型中,有哪三類完整性約束?

      實(shí)體完整性:體現(xiàn)在實(shí)體的唯一性上,在一個(gè)關(guān)系R中,設(shè)屬性A是它的主

      關(guān)鍵字的組成部分,則屬性A不能取空值;

      參照完整性:本關(guān)系的某一個(gè)非主屬性值,必須等于另一個(gè)關(guān)系的關(guān)鍵

      字的值;

      用戶定義的完整性:針對(duì)某一具體數(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)建一個(gè)名為“產(chǎn)品”的數(shù)據(jù)庫,其包含一個(gè)主文件和一個(gè)事務(wù)日志文件。主文件的邏輯名為“產(chǎn)品銷售_data”,物理文件名為“C:產(chǎn)品銷售_data.mdf”,初始容量為10MB,最大容量是20MB,每次的增量是10%。事務(wù)日志文件的邏輯名為“產(chǎn)品銷售_log”,物理文件名為“C:產(chǎn)品銷售_log.ldf”,初始容量是2MB,最大容量不受限制,每次的增量是2MB。

      CREATE DATABASE產(chǎn)品

      ON

      PRIMARY

      (NAME=產(chǎn)品銷售_data,FILENAME='C:產(chǎn)品銷售_data.mdf',SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=10%)

      LOG ON

      (NAME=產(chǎn)品銷售_log,FILENAME='C: 產(chǎn)品銷售_log.ldf',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)品編號(hào)、銷售商編號(hào)都是外鍵,其中產(chǎn)品編號(hào)參照表“產(chǎn)品信息”的產(chǎn)品編號(hào)屬性,銷售商編號(hào)參照表“銷售商信息”的銷售商編號(hào)屬性。

      CREATE TABLE 銷售

      (產(chǎn)品編號(hào) CHAR(6)references 產(chǎn)品信息(產(chǎn)品編號(hào)),銷售商編號(hào) CHAR(6)references銷售商信息(銷售商編號(hào)),銷售時(shí)間DatetimeNOT NULL,數(shù)量Int NOT NULL,PRIMARY KEY(產(chǎn)品編號(hào),銷售商編號(hào))

      6、已知有學(xué)生信息表:STUDENT;課程表:COURSE;成績表:SC

      1)、向SC表中添加一條記錄(’ 9309119’,‘EE-201’,90.5);

      INSERTSC

      VALUES('9309119','EE-201',90.5)

      2)、刪除SC表中學(xué)號(hào)為9309120的記錄;

      DELETE SC

      WHERE SNO='9309120'

      3)、把所有課程的學(xué)分都改為4分;

      UPDATE COURSE

      SET CREDIT =

      44)、把學(xué)號(hào)為9104421的學(xué)生的身高改為1.83;

      UPDATE STUDENT

      SET high=1.8

      3WHERE SNO='9104421'

      5)、查詢COURSE表中每門課程的課程名稱、學(xué)分;

      SELECTcname,creditFROMCOURSE

      ORDER BYCREDITDESC

      6)、查詢所有男同學(xué)的學(xué)號(hào)和姓名;

      SELECT sno,sname

      FROM student

      WHERE sex='男'

      7)、查詢成績?cè)?0分以上的學(xué)生的學(xué)號(hào)、課程號(hào)、成績。

      SELECT sno,cno,grade

      FROM sc

      WHERE grade>90

      8)、查詢至少有一門課的成績?cè)?0分以上的男同學(xué)的學(xué)號(hào);

      SELECT sno

      FROM student A

      WHERE exists(SELECT *

      FROM scB

      WHERE A.sno=B.sno 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 A.sno=C.sno AND B.cno=C.cno

      11)、查詢身高大于李惟德身高的學(xué)生的姓名。

      SELECTsname

      FROM student

      WHEREhigh>(SELECT high

      FROM student

      WHERE sname='李惟德'

      12)、求選修了全部課程的學(xué)生學(xué)號(hào)、姓名

      SELECT sno

      FROM student

      WHERE(select distinct cno

      FROM sc B

      WHERE A.sno=B.sno)

      =(SELECT COUNT(*)FROMcourse)

      1.實(shí)體間的聯(lián)系可分為三類1:1(或一對(duì)一),1:N(或一對(duì)多),M:N(或多對(duì)多)

      2.E-R模型的組成要素包括: 實(shí)體,屬性,聯(lián)系。

      3.唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩越M稱為: 主鍵

      4.關(guān)系模型要求關(guān)系必須規(guī)范化也就是要求關(guān)系必須滿足一定的條件,這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個(gè)分量必須是: 不可再分的數(shù)據(jù)項(xiàng)。

      5.四種專門的關(guān)系操作是:選擇、投影、連接、除。

      下載數(shù)據(jù)庫復(fù)習(xí)總結(jié)word格式文檔
      下載數(shù)據(jù)庫復(fù)習(xí)總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)據(jù)庫總結(jié)

        數(shù)據(jù)庫老師畫的重點(diǎn) 數(shù)據(jù)庫:數(shù)據(jù)庫是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織、可共享的大數(shù)據(jù)集合。 數(shù)據(jù)庫操縱功能:查詢select、插入insert、刪除delete、修改update 數(shù)據(jù)庫系統(tǒng)的特點(diǎn):1......

        數(shù)據(jù)庫總結(jié)

        數(shù)據(jù)庫總結(jié):共三天的課程 數(shù)據(jù)庫的概念:數(shù)據(jù)庫是一組有序的數(shù)據(jù)的集合; 數(shù)據(jù)庫的作用:為了有效的管理數(shù)據(jù); 數(shù)據(jù)類型: 一 字符串相關(guān)的類型:一般用于人名、大于2147483647(10位數(shù))的......

        數(shù)據(jù)庫期末復(fù)習(xí)教案[定稿]

        15計(jì)科本《數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用》期末復(fù)習(xí)綱要 一、 題型與分值分布 1、 2、 3、 4、 單項(xiàng)選擇20題,計(jì)20分 填空題,每空1分,計(jì)10分 簡答題4小題,計(jì)20分 綜合應(yīng)用題2題,計(jì)50分 (1......

        數(shù)據(jù)庫復(fù)習(xí)1-4份(最終五篇)

        簡答題: 26. 定義事務(wù)的語句有哪三條?分別表示什么意思? BEGIN TRANSACTION:表示事務(wù)的開始; COMMIT:表示事務(wù)的提交; ROLLBACK:表示事務(wù)的回滾。 27. 典型的日志文件應(yīng)該包含哪些內(nèi)......

        2018年數(shù)據(jù)庫原理復(fù)習(xí)例題

        一、單選題 1 關(guān)系演算的基礎(chǔ)是 ( ) A、形式邏輯中的邏輯演算 B、形式邏輯中的關(guān)系演算 C、數(shù)理邏輯中的謂詞演算 D、數(shù)理邏輯中的形式演算答案:C 2 關(guān)于數(shù)據(jù)庫系統(tǒng)的說法不正......

        數(shù)據(jù)庫技術(shù)復(fù)習(xí)(基本理論答案)

        《數(shù)據(jù)庫技術(shù)》可以分為四部分內(nèi)容: 第1--2章 關(guān)系數(shù)據(jù)庫模型和關(guān)系運(yùn)算 第3--4章 關(guān)系數(shù)據(jù)庫理論 第5--6章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)和數(shù)據(jù)管理系統(tǒng) 第7--9章 數(shù)據(jù)庫新技術(shù) 第1--2章......

        數(shù)據(jù)庫課程設(shè)計(jì)總結(jié)

        課 程 設(shè) 計(jì) 報(bào) 告課程名稱數(shù)據(jù)庫課程設(shè)計(jì)—總結(jié)題目個(gè)人CD盤管理系統(tǒng)_________________________________ 指導(dǎo)教師設(shè)計(jì)起止日期學(xué)院計(jì)算機(jī)學(xué)院 系別專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)......

        數(shù)據(jù)庫課程總結(jié)范文大全

        數(shù)據(jù)庫課程總結(jié) 軟件0701 07301024 楊彥妍 在學(xué)習(xí)數(shù)據(jù)庫之前一直覺得數(shù)據(jù)庫沒有什么深入研究的價(jià)值,覺得無非是將數(shù)據(jù)存起來進(jìn)行增刪改查的操作就是了。直到真正接觸到了數(shù)......