【正文】
ROM 訂購單 WHERE 職工號 IN(SELECT 職工號 FROM 職工 WHERE 倉庫號 IN(SELECT 倉庫號 FROM 倉庫 WHERE 面積=(SELECT MIN(面積) FROM 倉庫)))另一個寫法:SELECT COUNT(*) FROM 供應商 WHERE 供應商號 IN(SELECT 供應商號 FROM 訂購單 WHERE 職工號 IN(SELECT 職工號 FROM 職工 WHERE 倉庫號 IN(SELECT 倉庫號 FROM 倉庫 WHERE 面積=(SELECT MIN(面積) FROM 倉庫))))21) 檢索出工資低于本倉庫平均工資的職工信息。S939。上海39。宿主語言的編譯程序不能識別SQL語句,所以首要的問題就是要解決如何區(qū)分宿主語言的語句和SQL語句。7. 試述游標(Cursor)的作用,并解釋實現(xiàn)此功能的諸條語句的用途。習題六1. 什么是存儲過程?為什么要使用存儲過程?存儲過程是經(jīng)過預編譯的TSQL語句的集合,它存放在數(shù)據(jù)庫中,當用戶執(zhí)行存儲過程時,存儲過程在數(shù)據(jù)庫服務器上運行。地址39。CREATE PROCEDURE upd_wh_area(city char(10),area numeric)ASIF not exists (select * from 倉庫 where 城市=city)RETURN 2UPDATE 倉庫 SET 面積=面積 + area WHERE 城市=cityRETURN 0調(diào)用Declare eno integerexec eno=upd_wh_area 39。E339。CREATE PROCEDURE get_eno(city CHAR(10),sno CHAR(3))AS IF not exists (select * from 倉庫 where 城市=city) begin print 39。select i as 返回碼3. 試述觸發(fā)器的概念和作用。建立插入觸發(fā)器CREATE TRIGGER ord_ins_triggerON 訂購單 FOR INSERTASIF ((SELECT COUNT(*) FROM 職工 e,INSERTED i WHERE =)=0 OR(SELECT COUNT(*) FROM 供應商 s,INSERTED i WHERE =i. 供應商號)=0)BEGINRAISERROR (39。SQL Server的系統(tǒng)管理是由系統(tǒng)管理員(默認是sa用戶)負責的,而系統(tǒng)預定義角色正是系統(tǒng)管理員職責的分解,通過一些系統(tǒng)預定義角色的用戶來協(xié)助系統(tǒng)管理員進行管理,可以減輕系統(tǒng)管理員(sa用戶)的工作負擔,對系統(tǒng)管理來說又有更明確的職責劃分。GRANT OPTION FOR要與CASCADE一同使用,因為要收回WITH GRANT OPTION權限,也應該一同收回由于該子句產(chǎn)生的所有授權。3. 并發(fā)控制都會產(chǎn)生哪些干擾問題?并討論之。當需要對一個記錄或一組記錄進行更新時(只是修改,不包括插入和刪除)使用更新封鎖,該封鎖的目的是防止其他用戶在同一時刻修改同一記錄?!案綦x”則意味著并發(fā)程度的降低。因此,當磁盤出現(xiàn)故障造成數(shù)據(jù)庫損壞時,就可以首先利用備份恢復數(shù)據(jù)庫(恢復大部分數(shù)據(jù)),然后再運行數(shù)據(jù)庫日志,即將備份后所做的更新操作再重新做一遍,從而將數(shù)據(jù)庫完全恢復。倉庫關系上的函數(shù)依賴:倉庫號→城市,倉庫號→面積職工關系上的函數(shù)依賴:職工號→倉庫號,職工號→工資訂購單關系上的函數(shù)依賴:訂購單號→職工號,訂購單號→供應商號,訂購單號→訂購日期供應商關系上的函數(shù)依賴:供應商號→供應商名,供應商名→供應商號,供應商號→地址,供應商名→地址3. 試證明如下結論():X→A1A2…An的充分必要條件是X→Ak成立(k=1,2, …,n)。3NF(存在C224。2. 物理數(shù)據(jù)庫設計主要包括哪些內(nèi)容?物理數(shù)據(jù)庫設計的內(nèi)容是設計數(shù)據(jù)庫的存儲結構和物理實現(xiàn)方法。繼承性是指可以利用已有的類去定義新的類。將成熟的關系數(shù)據(jù)庫與面向?qū)ο髷?shù)據(jù)庫方法結合起來,可減少研制工作量、縮短研制周期。其中復合對象的概念包括支持生成復合對象的構造器(元組、集合、包、列表、數(shù)組等)。3. 設有基于SQL Server的pubs數(shù)據(jù)源,它對應于pubs數(shù)據(jù)庫,寫出利用Visual FoxPro訪問或操作SQL Server的如下語句:1) 連接到pubs數(shù)據(jù)庫;gn=SQLCONNECT(pubs,sa)2) 查詢employee表的全部信息;=SQLEXEC(gn,SELECT * FROM employee)3) 為publishers表準備一個帶參數(shù)的查詢,可以指定pub_name(出版社名)進行查詢;=SQLPREPARE(gn,SELECT * FROM publishers WHERE pub_name=?m_p_name)4) 以前一小題為基礎,查詢“Five Lakes Publishing”出版社的信息;m_p_name=Five Lakes Publishing=SQLEXEC(gn)5) 從sales表中刪除stor_id為6380的記錄。9. 查閱有關資料,進一步了解和掌握有關組件開發(fā)的技術標準。事務服務器即應用服務器或組件服務器,當頁面中的數(shù)據(jù)訪問需要調(diào)用相應的業(yè)務處理邏輯時,可能需要事務服務器的支持。這一步,從應用程序的角度來講,要完成子系統(tǒng)的劃分和功能模塊的劃分;從數(shù)據(jù)庫的角度來講要完成概念模型的設計。2. 試述快速原型方法的基本思想,并說明該方法的步驟及其工作內(nèi)容。略6. 如何看待數(shù)據(jù)庫應用系統(tǒng)的開發(fā)方法?常常導致系統(tǒng)開發(fā)失敗的原因有哪些?略習題十四1. 簡述分布式數(shù)據(jù)庫的特點。以靜態(tài)數(shù)據(jù)為主時可以單獨使用快照復制;當發(fā)生在出版服務器上的數(shù)據(jù)更改希望及時傳播到訂閱服務器上時應該使用事務復制;當多個訂閱服務器需要在不同時刻更新數(shù)據(jù)并將這些更改傳播到出版服務器和其它訂閱服務器時應該使用合并復制。但是這種決策支持系統(tǒng)并不成功,它缺少不同時期的大量數(shù)據(jù)的支持,而數(shù)據(jù)倉庫技術則為決策支持系統(tǒng)提供了支持。2. 簡單敘述主動數(shù)據(jù)庫的主要特征。模糊技術與數(shù)據(jù)庫技術相結合,就是希望利用數(shù)據(jù)庫來描述、存儲和處理模糊數(shù)據(jù),從而提高模糊技術的應用水平。空間數(shù)據(jù)庫應該提供以下一些常用的查詢方法:s 點線查詢,例如查詢某一河流(線)上的橋梁(點);s 點面查詢,例如查詢某一城市(面)的學校(點);s 線面查詢,例如查詢某一高速公路(線)所經(jīng)過的城鎮(zhèn)(面);s 點點查詢,例如查詢兩個地點之間的距離;s 線線查詢,例如查詢與某一高速公路相交的所有公路等。5. 試述研究模糊數(shù)據(jù)庫的意義。習題十六1. 什么是并行數(shù)據(jù)庫?并行數(shù)據(jù)庫的主要研究內(nèi)容是什么?并行數(shù)據(jù)庫是在并行計算機上具有并行處理能力的數(shù)據(jù)庫系統(tǒng),它是數(shù)據(jù)庫技術與計算機并行處理技術相結合的產(chǎn)物。2. 簡單敘述數(shù)據(jù)倉庫與決策支持系統(tǒng)的關系。出版數(shù)據(jù)庫提供復制的源數(shù)據(jù);訂閱數(shù)據(jù)庫與出版數(shù)據(jù)庫相對應,是存放復制數(shù)據(jù)的目標數(shù)據(jù)庫;發(fā)行數(shù)據(jù)庫則扮演著“存儲和轉(zhuǎn)發(fā)”的角色,它存儲來自出版數(shù)據(jù)庫的出版數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)發(fā)到訂閱數(shù)據(jù)庫。具體來說,也包括需求分析、總體設計、詳細設計、編程實施等各個階段,只是在需求分析階段建立的是面向?qū)ο蟮臄?shù)據(jù)模型,在設計和實現(xiàn)階段采取面向?qū)ο蟮募夹g等。在試運行階段要廣泛聽取用戶的意見,并根據(jù)運行效果進行評估,修改系統(tǒng)的錯誤、改進系統(tǒng)的性能。需求分析階段的主要任務是了解用戶的需求,基本目標是:對現(xiàn)實世界要處理的對象進行詳細調(diào)查,在了解原系統(tǒng)(手工系統(tǒng)或以前開發(fā)的計算機系統(tǒng))的情況、確定新系統(tǒng)功能的過程中,確定新系統(tǒng)的目標,收集支持新系統(tǒng)目標的數(shù)據(jù)需求和處理需求。Web服務器接收Web瀏覽器發(fā)送的頁面瀏覽請求,如果其中嵌入了數(shù)據(jù)請求則交由頁面服務器處理。略8. 試述基于組件的數(shù)據(jù)庫開發(fā)的基本思想。ODBC(Open DataBase Connectivity)的全稱是開放數(shù)據(jù)庫互連,它是一種訪問數(shù)據(jù)庫的統(tǒng)一界面標準。這是最徹底的方法,缺點是難度大,一方面缺乏統(tǒng)一的數(shù)據(jù)模式及形式化理論,另一方面在查詢優(yōu)化、視圖及數(shù)據(jù)庫工具方面仍為空白。這樣做也與現(xiàn)實世界中管理和運作方法相吻合。2. 什么是對象的封裝性、繼承性和多態(tài)性?封裝性是指將類的數(shù)據(jù)和操作封裝在類定義中,對用戶來講類的“功能”是可見的,而實現(xiàn)部分是封裝在類定義中的,用戶是看不見的。一般在概念設計階段主要工作內(nèi)容有:s 確定實體;s 確定實體的屬性;s 確定實體的標識屬性(關鍵字);s 確定實體間的聯(lián)系和聯(lián)系類型;s 確定實現(xiàn)實體間聯(lián)系的屬性(外部關鍵字或連接屬性);s 畫出表示概念模型的ER圖;除此之外,為了以后對模式進行規(guī)范化,還需要:s 確定屬性間的依賴關系。2NF3) A、B、C、D都函數(shù)依賴于AB,而D還函數(shù)依賴于B。習題九1. 理解、定義如下術語,并分別給出兩個例子:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞函數(shù)依賴、主屬性。日志則是對備份的補充,它可以看作是一個值班日記,它將記錄下所有對數(shù)據(jù)庫的更新操作。為了避免死鎖,一般可以采取兩種方式:s 相同順序法:所有的事務約定都按相同的順序來封鎖表;s 一次封鎖法:為了完成一個事務,一次性封鎖所需要的全部表。共享封鎖是為讀操作設置的一種封鎖,目的是想讀到一組不變的數(shù)據(jù),也就是在讀數(shù)據(jù)的過程中,不允許其他用戶對該數(shù)據(jù)進行任何修改操作。2. 解釋事務的ACID性質(zhì)。7. 試述在REVOKE語句中GRANT OPTION FOR子句和CASCADE子句的作用。角色管理類似于用戶組的管理,可以將數(shù)據(jù)庫的所有用戶劃分成不同的角色,這樣可以簡化用戶管理,使用戶管理和權限管理更加簡潔、清楚。s 觸發(fā)器可以強制比用CHECK約束定義更加復雜的限制。,39。S739。參數(shù)錯誤:不存在的供應商號!39。地址39。存儲過程插入的供應商39。有時候在編程序時SQL語句或語句的參數(shù)和格式不能確定,應用程序只能在執(zhí)行時才知道需要什么樣的SQL語句,即必須在應用程序執(zhí)行時動態(tài)建立SQL語句。宿主語言的編譯系統(tǒng)不能識別SQL語句。5) 給低于所有職工平均工資的職工提高5%的工資。DELETE FROM 供應商 WHERE 供應商號 NOT IN(SELECT 供應商號 FROM 訂購單)3) 刪除由在上海倉庫工作的職工發(fā)出的所有訂購單。4. 以圖51的數(shù)據(jù)庫為例,用SQL語句完成以下更新操作,并討論數(shù)據(jù)完整性約束對這些操作的影響:1) 插入一個新的供應商元組(S9,智通公司,沈陽)。 SELECT 地址,COUNT(*) FROM 供應商 GROUP BY 地址19) 檢索出每個倉庫中工資多于1220元的職工個數(shù)。北京39。SELECT 職工號 FROM 職工 WHERE 倉庫號 IN(SELECT 倉庫號 FROM 倉庫 WHERE 城市=39。SELECT 城市 FROM 倉庫 WHERE 倉庫號 IN(SELECT 倉庫號 FROM 職工 WHERE 職工號 IN(SELECT 職工號 FROM 訂購單 WHERE 供應商號=39。s439。SELECT 訂購單號 FROM 訂購單 WHERE 供應商號=’S6’3) 檢索出職工E6發(fā)給供應商S6的訂購單信息。msdb數(shù)據(jù)庫用于SQL Server代理程序調(diào)度報警和作業(yè)等系統(tǒng)操作。3. SQL Server在安裝后默認創(chuàng)建了哪幾個系統(tǒng)數(shù)據(jù)庫?分別敘述它們的作用。π供應商名(訂購單247。1) 檢索在倉庫WH2工作的職工的工資。(2) 執(zhí)行刪除操作時一般只需要檢查參照完整性規(guī)則。外部關鍵字是否允許為空值取決于語義的規(guī)定。數(shù)據(jù)庫管理系統(tǒng)提供了外部模式與概念模式之間的映象以及概念模式與存儲模式之間的映象,使用戶通過外部數(shù)據(jù)庫或概念數(shù)據(jù)庫來操作存儲數(shù)據(jù)庫。9. 說明在DBMS中存儲模式、概念模式和外部模式的作用。例如,倉庫和材料兩個實體之間存在著多對多的聯(lián)系,即一個倉庫可以存放多種材料,一種材料可以存放在多個倉庫;通過引入一個庫存實體轉(zhuǎn)換為倉庫與庫存之間的一對多聯(lián)系和材料與庫存之間的一對多聯(lián)系。(4) 數(shù)據(jù)聯(lián)系弱。5. 簡要概述數(shù)據(jù)庫管理員的職責。4. 數(shù)據(jù)完整性的含義是什么?保證數(shù)據(jù)正確的特性在數(shù)據(jù)庫中稱之為數(shù)據(jù)完整性。應用程序依賴于文件的存儲結構,使得若修改文件的存儲結構則必須修改程序。通過引入一個表示聯(lián)系的實體,將原來兩個實體之間的一個多對多的聯(lián)系轉(zhuǎn)換成分別與表示聯(lián)系的實體之間的兩個一對多的聯(lián)系。8. 為什么說概念數(shù)據(jù)庫和外部數(shù)據(jù)庫物理上并不真正存