【正文】
成立的函數(shù)依賴。4) 這個關系是第幾范式關系?2NF5) 計算該關系上函數(shù)依賴集的最小覆蓋;Fm={ABC, AD}6) 將該關系分解成盡可能高的范式,并指明是第幾范式?分解為R1(A,B,C)和R2(A,D)結(jié)果為4NF6. 一個關系有4個字段A、B、C、D,這里A和B構(gòu)成復合關鍵字,問滿足下列函數(shù)依賴的關系是第幾范式?1) A、B、C、D都函數(shù)依賴于AB。倉庫關系上的函數(shù)依賴:倉庫號→城市,倉庫號→面積職工關系上的函數(shù)依賴:職工號→倉庫號,職工號→工資訂購單關系上的函數(shù)依賴:訂購單號→職工號,訂購單號→供應商號,訂購單號→訂購日期供應商關系上的函數(shù)依賴:供應商號→供應商名,供應商名→供應商號,供應商號→地址,供應商名→地址3. 試證明如下結(jié)論():X→A1A2…An的充分必要條件是X→Ak成立(k=1,2, …,n)。系統(tǒng)數(shù)據(jù)庫(在SQL Server上特別是master數(shù)據(jù)庫)是管理用戶數(shù)據(jù)庫的數(shù)據(jù)庫,如果系統(tǒng)數(shù)據(jù)庫一旦損壞,整個系統(tǒng)的使用都將受到影響。因此,當磁盤出現(xiàn)故障造成數(shù)據(jù)庫損壞時,就可以首先利用備份恢復數(shù)據(jù)庫(恢復大部分數(shù)據(jù)),然后再運行數(shù)據(jù)庫日志,即將備份后所做的更新操作再重新做一遍,從而將數(shù)據(jù)庫完全恢復。s 可串行化(SERIALIZABLE):事務隔離的最高級別,事務之間完全隔離;如果事務在可串行化隔離級別上運行,則可以保證任何并發(fā)重疊事務均是串行的?!案綦x”則意味著并發(fā)程度的降低。已經(jīng)實施獨占封鎖的表,拒絕來自其他用戶的任何封鎖,但不拒絕其他用戶的一般讀操作。當需要對一個記錄或一組記錄進行更新時(只是修改,不包括插入和刪除)使用更新封鎖,該封鎖的目的是防止其他用戶在同一時刻修改同一記錄。略5. 利用事務概念和封鎖技術(shù)重做第4題,使干擾不發(fā)生。事務的ACID性質(zhì)指事務具有原子性(即不可分割)、一致性(要能保證數(shù)據(jù)庫的一致性)、隔離性(事務的原子性和一致性不受其他事務的影響)和持久性(事務對數(shù)據(jù)庫所施加的所有更新都是永久的)。9. 什么是數(shù)據(jù)庫的審計功能?系統(tǒng)管理員(或數(shù)據(jù)庫管理員)可以通過審計日志審計、跟蹤所有用戶對數(shù)據(jù)庫的操作活動,可以確定哪些客戶、什么時間、進行了哪些操作(任何操作)等,這種功能稱作數(shù)據(jù)庫的審計功能。GRANT OPTION FOR說明只收回WITH GRANT OPTION權(quán)限;CASCADE說明級聯(lián)收回由于WITH GRANT OPTION授予的所有權(quán)限。6. 試述GRANT語句中WITH GRANT OPTION子句的作用。4. 試述SQL Server的系統(tǒng)預定義角色為安全管理提供了哪些便利。2. 試述數(shù)據(jù)庫的自主存取控制和強制存取控制的區(qū)別和各自的特點。4. 利用觸發(fā)器為圖51數(shù)據(jù)庫的訂購單關系建立參照完整性。觸發(fā)器可以用于數(shù)據(jù)參照完整性和以下一些場合:s 觸發(fā)器可以通過級聯(lián)的方式對相關的表進行修改。4) 檢索在某城市工作并且向某供應商發(fā)了訂購單的職工號。SELECT SNO FROM SPJ WHERE PNO=(SELECT MIN(PNO) FROM P WHERE COLOR=‘RED’)。SELECT SNO FROM SPJ WHERE PNO=‘P1’ AND JNO=‘J1’。2. 試為如下問題編寫、建立存儲過程,并定義合適的過程返回狀態(tài)碼和信息(均以圖51的數(shù)據(jù)庫為例):1) 插入一個新的供應商元組。有時候在編程序時SQL語句或語句的參數(shù)和格式不能確定,應用程序只能在執(zhí)行時才知道需要什么樣的SQL語句,即必須在應用程序執(zhí)行時動態(tài)建立SQL語句。而SQL語句的查詢結(jié)果常常是一張表,它包含多個記錄,為此需要用游標(CURSOR)作為橋梁做一些特殊處理,即利用游標來臨時存放SQL語句的查詢結(jié)果,并利用游標與宿主語言的主變量進行數(shù)據(jù)交互。宿主語言的編譯系統(tǒng)不能識別SQL語句。SQL語句的查詢結(jié)果必須能夠交給宿主語言處理,宿主語言的數(shù)據(jù)也要能夠交給SQL語句使用。UPDATE 倉庫 SET 面積=面積+100 WHERE 城市=’北京’5) 給低于所有職工平均工資的職工提高5%的工資。4. 以圖51的數(shù)據(jù)庫為例,用SQL語句完成以下更新操作,并討論數(shù)據(jù)完整性約束對這些操作的影響:1) 插入一個新的供應商元組(S9,智通公司,沈陽)。在關系數(shù)據(jù)庫中,視圖也稱作窗口,即視圖是操作基本表的窗口。SELECT 地址,COUNT(*) FROM 供應商 GROUP BY 地址19) 檢索出每個倉庫中工資多于1220元的職工個數(shù)。SELECT COUNT(*) FROM 倉庫15) 檢索出有最大面積的倉庫信息。SELECT 城市 FROM 倉庫 WHERE 倉庫號 IN(SELECT 倉庫號 FROM 職工 WHERE 職工號 IN(SELECT 職工號 FROM 訂購單 WHERE 供應商號=’S4’))11) 檢索出在上海工作并且向S6供應商發(fā)出了訂購單的職工號。SELECT * FROM 供應商 WHERE NOT EXISTS( SELECT * FROM 訂購單 WHERE 供應商號= )7) 檢索出和職工EE3都有聯(lián)系的北京的供應商信息。SELECT 訂購單號 FROM 訂購單 WHERE 供應商號=’S6’3) 檢索出職工E6發(fā)給供應商S6的訂購單信息。習題五1. 試概述SQL語言的功能。msdb數(shù)據(jù)庫用于SQL Server代理程序調(diào)度報警和作業(yè)等系統(tǒng)操作。tempdb數(shù)據(jù)庫用于保存所有的臨時表和臨時存儲過程,它還可以滿足任何其它的臨時存儲要求。3. SQL Server在安裝后默認創(chuàng)建了哪幾個系統(tǒng)數(shù)據(jù)庫?分別敘述它們的作用??蛻?服務器結(jié)構(gòu)與文件服務器網(wǎng)絡結(jié)構(gòu)的硬件拓撲結(jié)構(gòu)很相似,它們的根本區(qū)別在于:客戶/服務器結(jié)構(gòu)的服務器可以執(zhí)行應用程序;而文件服務器的服務器只是一個數(shù)據(jù)共享器,它不能執(zhí)行應用程序。π供應商名(訂購單247。π供應商名(σ職工號=E6(訂購單) * 供應商)5) 檢索所有職工的工資都大于1220元的倉庫所在的城市。1) 檢索在倉庫WH2工作的職工的工資。所以執(zhí)行更新操作時的完整性檢查綜合了上述兩種情況。(2) 執(zhí)行刪除操作時一般只需要檢查參照完整性規(guī)則。首先檢查實體完整性規(guī)則,如果插入元組的主關鍵字的屬性不為空值、并且相應的屬性值在關系中不存在(即保持唯一性),則可以執(zhí)行插入操作,否則不可以執(zhí)行插入操作。外部關鍵字是否允許為空值取決于語義的規(guī)定。3. 對關系模型的操作都包括哪些?關系數(shù)據(jù)模型中的操作包括:(1) 傳統(tǒng)的集合運算:并(Union)、交(Intersection)、差(Difference)、廣義笛卡爾積(Extended Cartesian Product);(2) 專門的關系運算:選擇(Select)、投影(Project)、連接(Join)、除(Divide);(3) 有關的數(shù)據(jù)操作:查詢(Query)、插入(Insert)、刪除(Delete)、修改(Update)。數(shù)據(jù)庫管理系統(tǒng)提供了外部模式與概念模式之間的映象以及概念模式與存儲模式之間的映象,使用戶通過外部數(shù)據(jù)庫或概念數(shù)據(jù)庫來操作存儲數(shù)據(jù)庫。按這種方法,數(shù)據(jù)庫管理系統(tǒng)可以提供存儲(物理)數(shù)據(jù)獨立性。9. 說明在DBMS中存儲模式、概念模式和外部模式的作用。層次模型用層次結(jié)構(gòu)表示聯(lián)系,它的典型代表IMS用層次型表示聯(lián)系;網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)表示聯(lián)系,它的典型代表CODASYL用系表示聯(lián)系;關系模型用關系表示聯(lián)系。例如,倉庫和材料兩個實體之間存在著多對多的聯(lián)系,即一個倉庫可以存放多種材料,一種材料可以存放在多個倉庫;通過引入一個庫存實體轉(zhuǎn)換為倉庫與庫存之間的一對多聯(lián)系和材料與庫存之間的一對多聯(lián)系。數(shù)據(jù)從現(xiàn)實生活進入到數(shù)據(jù)庫實際經(jīng)歷了現(xiàn)實世界階段(認識、理解)、信息世界階段(規(guī)范、提升)和機器世界階段(管理),我們也把之稱為數(shù)據(jù)的三種范疇,數(shù)據(jù)在三種范疇中的概念、術(shù)語都有些不同。(4) 數(shù)據(jù)聯(lián)系弱。(2) 數(shù)據(jù)不一致性。5. 簡要概述數(shù)據(jù)庫管理員的職責。數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)是三個不同的概念,數(shù)據(jù)庫強調(diào)的是相互關聯(lián)的數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng)是管理數(shù)據(jù)庫的系統(tǒng)軟件,而數(shù)據(jù)庫系統(tǒng)強調(diào)的是基于數(shù)據(jù)庫的計算機應用系統(tǒng)。2. 簡要概述數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的含義。4. 數(shù)據(jù)完整性的含義是什么?保證數(shù)據(jù)正確的特性在數(shù)據(jù)庫中稱之為數(shù)據(jù)完整性。這是因為每個文件都是為特定的用途設計的,因此就會造成同樣的數(shù)據(jù)在多個文件中重復存儲。應用程序依賴于文件的存儲結(jié)構(gòu),使得若修改文件的存儲結(jié)構(gòu)則必須修改程序。習題二1. 數(shù)據(jù)的三種范疇的含義是什么?數(shù)據(jù)需要我們的認識、理解、整理、規(guī)范和加工,然后才能存放到數(shù)據(jù)庫中。通過引入一個表示聯(lián)系的實體,將原來兩個實體之間的一個多對多的聯(lián)系轉(zhuǎn)換成分別與表示聯(lián)系的實體之間的兩個一對多的聯(lián)系。6. 傳統(tǒng)的三大數(shù)據(jù)模型是哪些?它們分別是如何表示實體之間的聯(lián)系的?傳統(tǒng)的三大數(shù)據(jù)模型是層次模型、網(wǎng)狀模型和關系模型。8. 為什么說概念數(shù)據(jù)庫和外部數(shù)據(jù)庫物理上并不真正存在?只有存儲數(shù)據(jù)庫是物理上存在的數(shù)據(jù)庫,概念數(shù)據(jù)庫是存儲數(shù)據(jù)庫的抽象,它反映了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu);而外部數(shù)據(jù)庫是概念數(shù)據(jù)庫的部分抽取,它反映了數(shù)據(jù)庫的局部邏輯結(jié)構(gòu)。如果要修改存儲數(shù)據(jù)庫的結(jié)構(gòu)(例如,用倒排文件代替多鏈表),那么僅僅需要把這些修改反映在存儲模式中,以使數(shù)據(jù)庫存儲系統(tǒng)能夠操作新的存儲數(shù)據(jù)庫。外部模式則是對外部數(shù)據(jù)庫的描述,它需要說明外部文件、構(gòu)成外部文件的字段及這些外部文件之間的聯(lián)系。2. 關系模型的三個組成部分是什么?關系數(shù)據(jù)模型包括關系數(shù)據(jù)結(jié)構(gòu)、關系操作集合和關系完整性約束三個重要因素。外部關鍵字用于實現(xiàn)表與表之間的參照完整性。(1) 執(zhí)行插入操作時需要分別檢查實體完整性規(guī)則、參照完整性規(guī)則和用戶定義完整性規(guī)則。最后檢查用戶定義完整性規(guī)則,如果插入的元組在相應的屬性值上遵守了用戶定義完整性規(guī)則,則可以執(zhí)行插入操作,否則不可以執(zhí)行插入操作。(3) 執(zhí)行更新操作可以看作是先刪除舊的元組,然后再插入新的元組。8. 以圖36的數(shù)據(jù)庫為例(可參照圖51,該數(shù)據(jù)庫的實例),用關系代數(shù)完成以下檢索:注意:此處暫以 * 表示連接運算符。π供應商名(σ地址=北京(供應商))4) 檢索目前與職工E6有業(yè)務聯(lián)系的供應商的名稱。π供應商號(σ地址=北京(供應商))))7) 檢索至少和職工EEE7都有聯(lián)系的供應商的名稱??蛻?服務器結(jié)構(gòu)的基本思想是應用程序或應用邏輯可以根據(jù)需要劃分在服務器和客戶工作站中,它既不像集中式系統(tǒng)