中級數(shù)據(jù)庫系統(tǒng)工程師試題、答案及詳細解析_第1頁
中級數(shù)據(jù)庫系統(tǒng)工程師試題、答案及詳細解析_第2頁
中級數(shù)據(jù)庫系統(tǒng)工程師試題、答案及詳細解析_第3頁
中級數(shù)據(jù)庫系統(tǒng)工程師試題、答案及詳細解析_第4頁
中級數(shù)據(jù)庫系統(tǒng)工程師試題、答案及詳細解析_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第10章 數(shù)據(jù)庫系統(tǒng)工程師級下午試題分析試題1分析 參見軟件設(shè)計師下午試題一分析。試題2 閱讀下列說明,回答問題1至問題5。說明 某工廠的信息管理數(shù)據(jù)庫的部分關(guān)系模式如下所示: 職工(職工號,姓名,年齡,月工資,部門號,電話,辦公室) 部門(部門號,部門名,負責(zé)人代碼,任職時間) 關(guān)系模式的主要屬性、含義及約束如表21所示,“職工”和“部門”的關(guān)系示例分別如表2-2和表2-3所示。 表2-1 主要屬性、含義及約束屬 性含義和約束條件職工號惟一標(biāo)記每個職工的編號,每個職工屬于并且僅屬于一個部門部門號惟一標(biāo)識每個部門的編號,每個部門有一個負責(zé)人,且他也是一個職工月工資 500元月工資45000元

2、表2-2“職工”關(guān)系 職工號姓名年齡月工資部門號電話辦公室1001鄭俊華26100018001234主樓2011002王 平27110018001234主樓2012001王曉華381300280012351號樓3022002李 力24800280012361號樓303 3001黎遠軍42130038001237主樓2024001李 源24800480012452號樓1024002李興民361200480012462號樓1035001趙 欣250Null 表2-3 “部門”關(guān)系 部 門 號部 門 名負責(zé)人代碼任職時間1人事處10022004-8-32機關(guān)20012004-8-33銷售科4生產(chǎn)科4

3、0022003-6-15車間 問題1根據(jù)上述說明,由SQL定義的“職工”和“部門”的關(guān)系模式,以及統(tǒng)計各部門的人數(shù)C、工資總數(shù)Totals、平均工資Averages的D_S視圖如下所示,請在空缺處填入正確的內(nèi)容。 Create Table 部門 (部門號 CHAR(1) (a) , 部門名 CHAR(16), 負責(zé)人代碼 CHAR(4), 任職時間 DATE, (b) (職工號); Create Table職工(職工號 CHAR(4), 姓名 CHAR(8), 年齡 NUMBER(3), 月工資 NUMBER(4), 部門號 CHAR(1), 電話 CHAR(8), 辦公室 CHAR(8),

4、(a) (職工號), (c) (部門號), CHECK( (d) ); Create View D_S(D,C,Totals,Averages)As (Select 部門號, (e) from 職工 (f) ); 問題2對于表2-2、表2-3所示的“職工”和“部門”關(guān)系,請指出下列各行是否可以插入,為什么? 問題3在問題1定義的視圖D_S上,下面哪個查詢或更新是允許執(zhí)行的,為什么? (1)Update D_S set D-3 where D=4; (2)Delete from D_Swhere C4; (3)Select D,Averages from D_S where C(Select C

5、 from D_S where D=:dept); (4)Select D,C From D_S where Totals10000; (5)Select*from D_S; 問題4查詢每個部門中月工資最高的“職工號”的SQL查詢語句如下: Select職工號 from 職工E where月工資=(Select Max(月工資) from職工as M where M部門號=E部門號) (1)請用30字以內(nèi)文字簡要說明該查詢語句對查詢效率的影響。 (2)對該查詢語句進行修改,使它既可以完成相同功能,又可以提高查詢效率。 問題5假定分別在“職工”關(guān)系中的“年齡”和“月工資”字段上創(chuàng)建了索引,如下的

6、Select查詢語句可能不會促使查詢優(yōu)化器使用索引,從而降低查詢效率,請寫出既可以完成相同功能又可以提高查詢效率的SQL語句。 Select姓名,年齡,月工資from職工 where年齡45 or 月工資1000;試題2分析問題1分析 根據(jù)題意,“職工”和“部門”的關(guān)系模式如下: 用SQL定義關(guān)系模式的一個非常重要的問題是完整性控制。完整性控制應(yīng)具有三方面的功能:定義功能、檢測功能、處理功能(一旦發(fā)現(xiàn)違背了完整性約束條件,采取相關(guān)的動作來保證數(shù)據(jù)的完整性)。數(shù)據(jù)庫中最重要的約束是聲明一個或一組屬性形成關(guān)系的鍵。鍵的約束在SQL的CREATETABLE命令中聲明。在關(guān)系系統(tǒng)中,最重要的完整性約束

7、條件是:實體完整性和參照完整性。 1實體完整性定義 在關(guān)系中只能有一個主鍵。聲明主鍵有兩種方法: 將PRIMARY KEY保留字加在屬性類型之后。 在屬性列表中引入一個新元素,該元素包含保留字PRIMARYKEY和用圓括號括起的形成該鍵的屬性或?qū)傩越M列表。 2參照完整性 參照完整性定義格式如下: FOREIGN KEY(屬性名)REFERENCES表名(屬性名) ONDELETECASCADE|SETNULL 參照完整性是通過使用如下保留字:FOREIGN KEY 定義那些列為外碼; REFERENCES 指明外鍵對應(yīng)于哪個表的主鍵;ON DELETE CASCADE 指明刪除被參照關(guān)系的元組

8、時,同時刪除參照關(guān)系中的元組;SETNULL表示置為空值方式。本試題中,部門關(guān)系的主鍵為部門號,職工關(guān)系的主鍵為職工號。其中,部門關(guān)系的主鍵為部門號可采用如下兩種方式定義: 部門號CHAR(1)PRIMARY KEY或者是PRIMARY KEY(部門號) 又因為負責(zé)人也是一個職工,所以負責(zé)人代碼應(yīng)該是一個外碼,應(yīng)進行參照完整性定義。根據(jù)分析部門的SQL定義如下: Create Table 部門(部門號 CHAR(1) PRIMARY KEY , 部門名 CHAR(16), 負責(zé)人代碼 CHAR(4), 任職時間 DATE, FOREIGN KEY (負責(zé)人代碼) REFERENCES 職工 (

9、職工號); 在職工關(guān)系中,部門號是一個外碼,應(yīng)進行參照完整性定義。又因為在試題表2-1中的條件“500元月工資5000元”,所以在職工關(guān)系中應(yīng)加上用戶定義完整性。根據(jù) 分析職工的SQL定義如下: Create Table 職工 (職工號CHAR(4), 姓名 CHAR(8), 年齡 NUMBER(3), 月工資NUMBER(4), 部門號CHAR(1), 電話 CHAR(8), 辦公室CHAR(8), PRIMARY DEY (職工號), FOREIGNKEY (部門號) REFERENCES 部門 (部門號), CHECK(月工資 BETWEEN 500 AND 5000 ); 建立D_S視

10、圖需要COUNT函數(shù)來統(tǒng)計各部門的人數(shù)C,SUM來計算工資總數(shù) Totals,用AVG來計算平均工資Averages,用分組語句GROUPBY來對不同部門進行分組。因此創(chuàng)建D_S視圖的SQL語句是: Create ViewD_S (D,C,Totals,Averages)AS (SELECT 部門號,COUNT(*),SUM (月工資),AVG(月工資) FROM 職工 GROUP BY 部門號)問題2分析 本題主要考查完整性定義的約束性。以下表是待插入的記錄組。 (1)由于在職工表的定義中職工號主碼是惟一標(biāo)識每個元組(記錄)的,而(1)中的職工號是“1001”,在試題的職工關(guān)系中已經(jīng)存在該職

11、工號的記錄,為了保證實體的完整性,該條記錄不能插入。 (2)該元組可以插入“職工”關(guān)系,盡管部門號、電話和辦公室為空,但是它表示該職工暫時沒有分配到某個部門。雖然職工表中部門號是外鍵,但在定義中也沒有約束它不能為空。 (3)該元組不能插入“職工關(guān)系,部門號是外鍵,而在部門關(guān)系中找不到部門號是6的元組,違反了參照完整性,所以不能做插入操作。 問題3分析 此問考查的是視圖更新必須遵循的原則。因此,需要將SQL語句與定義該視圖的 SQL語句結(jié)合起來考慮。由于SQL視圖更新必須遵循以下規(guī)則: 從多個基本表通過連接操作導(dǎo)出的視圖不允許更新。 對使用了分組、集函數(shù)操作的視圖則不允許進行更新操作。 如果視圖

12、是從單個基本表通過投影、選取操作導(dǎo)出的則允許進行更新操作,且語法同基本表。 (1)由于D_S視圖中包含分組操作,也即將D_S視圖合并到Update D_S set D=3 where D=4,結(jié)果為:Update 職工 set 部門號=3 where 部門號=4 GROUP BY 部門號,在 where 中包括 GROUP 分組操作,因此不能執(zhí)行。 (2)同理,將D_S視圖合并到Delete from D_S where C4中,結(jié)果為:Delete from職工where COUNT(職工號)4 GROUP BY部門號,因此不能執(zhí)行。 (3)對于Select D,Averages from

13、D_S where C(Select C from D_S where D=:dept),要根據(jù)視圖的返回值的情況。因此不一定能執(zhí)行。 (4)對于語句Select D,C From D_S where Totals10000可以執(zhí)行。 (5)對于語句Select*from D_S顯然是能執(zhí)行的。問題4分析 此問考查的是查詢效率的問題。在涉及相關(guān)查詢的某些情形中,構(gòu)造臨時關(guān)系可以提高查詢效率。 (1)對于外層的職工關(guān)系E中的每一個元組,都要對內(nèi)層的整個職工關(guān)系M進行檢索,因此查詢效率不高。 (2)此問有兩種解法。解答一 改正后的SQL語句使用了臨時表: Select Max (月工資) as 最

14、高工資,部門號 into Temp from 職工 Group by 部門號 Select 職工號 from 職工,Temp where 月工資=最高工資 and 職工部門號=Temp部門號解答二 Select 職工號 from 職工,(Select Max(月工資) as 最高工資,部門號 Group by部門號)as depMax where月工資;最高工資and職工部門號;depMax部門號問題5分析 問題5中的Select查詢語句中使用了條件 or,系統(tǒng)在查詢的時候?qū)θ磉M行掃描,不會促使查詢優(yōu)化器使用索引,從而降低了查詢效率。改正的方法是去掉or,修改后的 SQL語句如下: Sel

15、ect 姓名,年齡,月工資 from 職工 where 年齡45; union Select姓名,年齡,月上資 from 職工 where 年齡 月工資1000;參考答案問題1解答 (a)PRIMARY KEY (b)FOREIGN KEY (負責(zé)人代碼) REFERENCES職工 (c)FOREIGN KEY (部門號) REFERENCES部門 (d)月工資=500 AND月工資=5000,或月工資 BETWEEN 500 AND 5000 (e)count(*),Sum (月工資),Avg (月工資) (f)GrOup by部門號問題2解答 (1)該行不能插入“職工”關(guān)系,它違反了實體完

16、整性中主碼必須惟一區(qū)分關(guān)系中的每一個屬性。 (2)該行可以插入“職工”關(guān)系,盡管部門號、電話和辦公室為空,但是它表示該雇員沒有分配到某個部門。 (3)該行不能插入“職32關(guān)系,它違反了參照完整性。因為6在關(guān)系“部門”中不存在。問題3解答 此問考查的是對視圖定義的掌握。 (1)和(2)都不能更新,因為使用分組合聚集函數(shù)定義的視圖是不可更新的。(3)不一定,視子查詢的返回值而定,(4)和(5)允許查詢。問題4解答 此問考查的是查詢效率的問題。在涉及相關(guān)查詢的某些情形中,構(gòu)造臨時關(guān)系可以提高查詢效率。 (1)對于外層的職工關(guān)系E中的每一個元組,都要對內(nèi)層的整個職工關(guān)系M進行檢索,因此查詢效率不高。

17、(2)解答一 改正后的SQL語句使用了臨時表: Select Max(月工資) as 最高工資,部門號 into Temp from 職工 Group by部門號 Select 職工號 from 職工,Temp where 月工資=最高工資 and 職工,部門號=Temp部門號 解答二 Select 職工號 from 職工,(Select Max (月工資) as 最高工資,部門號 Group by 部門號)as depMax where 月工資=最高工資 and 職工部門號=depMax部門號問題5解答 此問主要考查在查詢中注意where子句中使用索引的問題。 Select 姓名,年齡,月工

18、資 from 職工 where 年齡45; union Select 姓名,年齡,月工資 from 職工 where 年齡 月工資1000;試題3 閱讀下列說明,回答問題1至問題5。說明 某倉儲超市采用POS(Point of Sale)收銀機負責(zé)前臺的銷售收款,為及時掌握銷售信息,并依此指導(dǎo)進貨,擬建立商品進、銷、存數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)的需求分析已經(jīng)基本完成,下面將進入概念模型的設(shè)計。需求分析結(jié)果 1銷售業(yè)務(wù)由POS收銀機來輔助實現(xiàn)。POS機外接條碼閱讀器,結(jié)賬時收銀員將商品的條碼通過閱讀器輸入POS機中。所售商品數(shù)量默認值為1,可以由收銀員修改。 POS機根據(jù)輸入的商品信息,打印出如圖3

19、-1所示的購物清單。 2將經(jīng)銷的商品分為直銷商品和庫存商品兩大類。直銷商品的保質(zhì)期較短,如食品類,由供應(yīng)商直接送達超市,管理員將過期的商品返還給供應(yīng)商處理;庫存商品由采購員向供應(yīng)商提交訂購單,供應(yīng)商根據(jù)訂購單送貨。超市會不定期對庫存商品按照折扣率進行打折優(yōu)惠。 直銷商品和庫存商品的送貨單樣表分別如圖3-2、圖3-3所示,其中直銷商品生產(chǎn)批號的前6位表示生產(chǎn)日期。 3超市的硬件拓撲結(jié)構(gòu)如圖3-4所示。 4業(yè)務(wù)處理過程:由POS機存儲每一筆銷售記錄,在每個工作日結(jié)束前匯總當(dāng)日各商品的銷售量至中心數(shù)據(jù)庫(銷售日匯總);根據(jù)當(dāng)日的銷售日匯總更新存貨表;每筆進貨記入進貨表中,并及時更新存貨表。圖3-2

20、直銷商品送貨單樣表圖3-3 庫存商品送貨單樣表概念模型設(shè)計 根據(jù)需求階段收集的信息,設(shè)計的實體聯(lián)系圖和關(guān)系模式(不完整)如下: 1實體聯(lián)系圖 2關(guān)系模式 銷售詳單 (銷售流水號,商品編碼,數(shù)量,金額,收銀員,時間) 銷售日匯總 (日期,商品編碼,數(shù)量) 存貨表 (商品編碼,數(shù)量) 進貨表 (送貨號碼,商品編碼,數(shù)量,日期) 商品 ( (b) )問題1對直銷商品和庫存商品進行概括,給出超類和子類,填入圖3-5中(a)處所示的虛線框內(nèi),并補充聯(lián)系。問題2根據(jù)你的實體聯(lián)系圖,完成(b)處的商品關(guān)系模式,并增加子類型的實體關(guān)系模式。問題3對所有關(guān)系模式,以下劃線指出各關(guān)系模式的主鍵。問題4如果將商品信

21、息只存儲在中心數(shù)據(jù)庫中,與在各POS機上存儲其備份相比,從前臺銷售效率和更新商品庫兩方面論述各自的優(yōu)缺點(不超過300字)。問題5如果考慮引入積分卡,根據(jù)累積消費金額計算積分點,再根據(jù)積分點在顧客購物時進行現(xiàn)金返還,并修改顧客的累積消費金額和積分點。請給出新增加的積分卡關(guān)系模式,并對銷售詳單關(guān)系模式進行修正,指出修正后關(guān)系模式和新增關(guān)系模式的候選鍵和外鍵。試題3分析 本題考查的是關(guān)于數(shù)據(jù)庫設(shè)計中的概念結(jié)構(gòu)設(shè)計與邏輯結(jié)構(gòu)設(shè)計方面的知識。 在概念設(shè)計階段中,數(shù)據(jù)抽象是對實際的人、物、事和概念進行人為處理,抽取所關(guān)心的共同特性。有三種抽象:分類、聚集和概括。其中概括是定義類型之間的一種子集聯(lián)系,其重

22、要性質(zhì)是繼承性。也就是說子類繼承了超類上定義的所有抽象。 概念設(shè)計是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。而邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。 E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題是如何將實體和實體的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。一般這種轉(zhuǎn)換的原則是: 一個實體型轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。 E-R圖中的聯(lián)系有三種:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)和多對多聯(lián)系 (m:n),針對這三種不同的聯(lián)系,有不同的轉(zhuǎn)換方法: 1:1聯(lián)系的轉(zhuǎn)換:一對多聯(lián)系有兩

23、種方式向關(guān)系模式進行轉(zhuǎn)換。一種方式是將聯(lián)系轉(zhuǎn)換成一個獨立的關(guān)系模式,關(guān)系模式的名稱取聯(lián)系的名稱,關(guān)系模式的屬性包括該聯(lián)系所關(guān)聯(lián)的兩個實體的碼及聯(lián)系的屬性,關(guān)系的碼取自任一方實體的碼:另一種方式是將聯(lián)系歸并到關(guān)聯(lián)的兩個實體的任一方,給待歸并的一方實體屬性集中增加另一方實體的碼和該聯(lián)系的屬性即可,歸并后的實體碼保持不變。 1:n聯(lián)系的轉(zhuǎn)換:一對多聯(lián)系有兩種方式向關(guān)系模式進行轉(zhuǎn)換。一種方式是將聯(lián)系轉(zhuǎn)換成一個獨立的關(guān)系模式,關(guān)系模式的名稱取聯(lián)系的名稱,關(guān)系模式的屬性取該聯(lián)系所關(guān)聯(lián)的兩個實體的碼及聯(lián)系的屬性,關(guān)系的碼是多方實體的碼;另一種方式是將聯(lián)系歸并到關(guān)聯(lián)的兩個實體的多方,給待歸并的多方實體屬性集中

24、增加一方實體的碼和該聯(lián)系的屬性即可,歸并后的多方實體碼保持不變。 m:n聯(lián)系的轉(zhuǎn)換:多對多聯(lián)系只能轉(zhuǎn)換成一個獨立的關(guān)系模式,關(guān)系模式的名稱取聯(lián)系的名稱,關(guān)系模式的屬性取該聯(lián)系所關(guān)聯(lián)的兩個多方實體的碼及聯(lián)系的屬性,關(guān)系的碼是多方實體的碼構(gòu)成的屬性組。問題1分析 問題1考查應(yīng)試者對概念模型的掌握。建立概念模型就是以圖示化的方法(通常采用E-R圖),本題已給出部分實體聯(lián)系圖,要求應(yīng)試者對題目論述和給定的實體聯(lián)系力的分析,要補充的內(nèi)容是虛線框內(nèi)的實體和缺少的聯(lián)系的描述。根據(jù)題干的描述,圖中缺少商品實體,且應(yīng)劃分為直銷商品和庫存商品兩個子類。并畫出銷售日匯總、存貨表和進貨表與商品實體之間的聯(lián)系。 通過分

25、析得到的E-R如下: 問題2分析 根據(jù)問題1中填入的實體,和題干中給定的對直銷商品和庫存商品的描述(送貨表、銷售清單和打折處理),分析各實體應(yīng)具有的屬性。 從試題中可以看出商品包括了商品編碼,商品名稱及價格屬性,所以得出商品關(guān)系模式如下: 商品(商品編號,商品名稱,供應(yīng)商,單價) 因為又由于直銷商品有保質(zhì)期長短等問題,所以根據(jù)題意有生產(chǎn)批號、消費期限屬性,因此直銷商品的關(guān)系模式如下: 直銷商品(商品編號,生產(chǎn)批號,消費期限) 由于庫存商品會不定期按照折扣率進行打折優(yōu)惠,可以看出庫存商品還有價格折扣率這個字段,所以庫存商品的關(guān)系模式如下: 庫存商品(商品編號,折扣率)問題3分析 根據(jù)題目給定的關(guān)

26、系模式和問題2補充的關(guān)系模式,根據(jù)屬性間的函數(shù)依賴關(guān)系和給定的關(guān)系實例(各種樣表),來確定各關(guān)系模式的主鍵。 銷售詳單的主鍵為(銷售流水號,商品編碼) 銷售日匯總的主鍵為(日期,商品編碼) 存貨表主鍵為商品編碼 進貨表主鍵為(送貨號碼,商品編碼) 商品主鍵為商品編號 直銷商品主鍵為(商品編號,生產(chǎn)批號) 庫存商品主鍵為商品編號問題4分析 本題要求結(jié)合數(shù)據(jù)存儲與實際應(yīng)用,在設(shè)計中如何考慮可能出現(xiàn)的各種因素,采取合理的處理方式。 可以考慮如下兩種情況: 采用商品信息集中存儲在中心數(shù)據(jù)庫中,則在銷售前臺的每筆計費中,都必須從中心數(shù)據(jù)庫提取商品名稱和單價,增加網(wǎng)絡(luò)的負載,在業(yè)務(wù)繁忙時直接影響到前臺的銷

27、售效率;同時,如果發(fā)生網(wǎng)絡(luò)故障,則該POS機不能工作。采用這種方式,對商品庫的更新,如引入新的商品和修改商品價格,會及時體現(xiàn)在前臺的銷售業(yè)務(wù)中。 采用商品信息存儲在中心數(shù)據(jù)庫中,各POS機存儲商品表的備份;POS機直接從本地讀取商品信息,減少了網(wǎng)絡(luò)的負載,可以提高交易的效率;同時即使有短時間的網(wǎng)絡(luò)故障,也不影響該POS機的正常使用,只有當(dāng)存在商品信息變更時才需要與中心數(shù)據(jù)庫同步。采用這種方式,必須在每次商品信息變更時同步各POS機的數(shù)據(jù)。問題5分析 本題是對現(xiàn)有關(guān)系模式的改進和面向新應(yīng)用的擴充。 對銷售詳單做如下的修改,增加積分卡號屬性。銷售詳單 (銷售流水號,商品編碼,數(shù)量,金額,收銀員,時

28、間,)另外,需要增加積分卡關(guān)系:積分卡(,累積消費金額,積分點)。試題3解答問題1解答 問題2解答 商品(商品編號,商品名稱,供應(yīng)商,單價) 直銷商品(商品編號,生產(chǎn)批號,消費期限) 庫存商品(商品編號,折扣率)問題3解答 銷售詳單(銷售流水號,商品編碼,數(shù)量,金額,收銀員,時間) 銷售日匯總 (日期,商品編碼,數(shù)量) 存貨表 (商品編碼,數(shù)量) 進貨表 (送貨號碼,商品編碼,數(shù)量,日期) 商品 (商品編號,商品名稱,供應(yīng)商,單價) 直銷商品 (商品編號,生產(chǎn)批號,消費期限) 庫存商品 (直顯組號,折扣率)問題4解答 1采用商品信息集中存儲在中心數(shù)據(jù)庫中,則在銷售前臺的每筆計費中,都必須從中心

29、數(shù)據(jù)庫提取商品名稱和單價,增加網(wǎng)絡(luò)的負載,在業(yè)務(wù)繁忙時直接影響到前臺的銷售效率;同時,如果發(fā)生網(wǎng)絡(luò)故障,則該POS機不能工作。 采用這種方式,對商品庫的更新,如引入新的商品和修改商品價格,會及時體現(xiàn)在前臺的銷售業(yè)務(wù)中。 2采用商品信息存儲在中心數(shù)據(jù)庫中,各POS機存儲商品表的備份,POS機直接從本地讀取商品信息,減少了網(wǎng)絡(luò)的負載,可以提高交易的效率;同時即使有短時間的網(wǎng)絡(luò)故障,也不影響該POS機的正常使用,只有當(dāng)存在商品信息變更時才需要與中心數(shù)據(jù)庫同步。 采用這種方式,必須在每次商品信息變更時同步各POS機的數(shù)據(jù)。問題5解答 1對銷售詳單關(guān)系模式做如下的修改,增加積分卡號屬性。 銷售詳單(銷售

30、流水號,商品編碼,數(shù)量,金額,收銀員,時間,) 2加積分卡關(guān)系模式: 積分卡(積分卡號,累積消費金額,積分點) 關(guān)系模式中畫實下劃線表示主鍵,虛下劃線表示外鍵。試題4 閱讀下列說明,回答問題1至問題3。說明 M公司為某旅游公司設(shè)計機票銷售專用數(shù)據(jù)庫,其關(guān)系模式如圖4-1所示。 關(guān)系模式的主要屬性、含義及約束如表41所示,屬性間的函數(shù)依賴關(guān)系如圖4-2所示,屬性間函數(shù)依賴的標(biāo)記方法如圖4-3所示。 屬性含義和約束條件旅程編號惟一標(biāo)識每個能按期出發(fā)的旅行團隊的編號。相同旅程編號的旅客,在同一日程中搭乘相同航班。旅客編號惟一標(biāo)識一個旅行團隊中的每一位旅客的編號。團隊編號惟一標(biāo)識每個旅行團隊的編號,如

31、“2004-8-4云南雙飛”。身份證號惟一識別身份的編號。 旅客旅行前需要向旅行社提出申請,說明要參加的旅行團隊。旅行社建立的旅行申請包括,旅行出發(fā)日期和到達日期的機票預(yù)訂、購票等信息。旅行社還需要為每個團隊制定“旅程”和“搭乘航班”表。有關(guān)“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。旅客編號A01旅程編號P1搭乘日期出發(fā)地目的地出發(fā)時間到達時間航班名西安桂林10:0013:00JJ100桂林昆明17:0019:00CC400昆明西安9:0012:30JJ600表4-3 “搭乘航班”示例旅程編號旅客編號搭乘日期航班名P1A01JJ100P1A01CC400P1A01JJ600P1B0

32、2JJ100P1B02CC400P1B02JJ600P2C03JJ200P2C03JJ700問題1對關(guān)系“航班”,請回答以下問題: (1)列舉出所有不屬于任何候選鍵的屬性(非鍵屬性)。 (2)關(guān)系“航班”可達到第幾范式,用不超過60個字的內(nèi)容敘述理由。問題2對關(guān)系“旅客”,請回答以下的問題: (1)針對“旅客”關(guān)系,用100字以內(nèi)文字簡要說明會產(chǎn)生什么問題,并加以修正。 (2)列出修正后的關(guān)系模式的所有候選鍵。 (3)把“旅客”分解為第三范式,并用圖4-1所示的關(guān)系模式的形式表示,分解后的關(guān)系名依次取旅客1、旅客2、。問題3對關(guān)系“搭乘航班”,請回答以下的問題: (1)把非平凡的多值依賴屬性(

33、圖4-2中沒有表示)的例子用滿足圖4-3的方式表示出來。 (2)關(guān)系“搭乘航班”是boyce codd范式而不是第四范式,請用200字以內(nèi)文字闡述理由。 (3)把“搭乘航班”關(guān)系分解成第四范式,并采用圖4-1所示的關(guān)系模式的形式表示,分解后的關(guān)系名依次取搭乘航班1、搭乘航班2、。試題4分析 試題四是關(guān)于數(shù)據(jù)庫設(shè)計理論方面的題目。關(guān)系數(shù)據(jù)庫設(shè)計理論的核心是數(shù)據(jù)間的函數(shù)依賴,衡量的標(biāo)準(zhǔn)是關(guān)系規(guī)范化的程度及分解的無須連接和保持函數(shù)依賴性,關(guān)系數(shù)據(jù)庫設(shè)計的目標(biāo)是生成一組合適的、性能良好的關(guān)系模式,以減少系統(tǒng)中信息存儲的冗余度,但又可方便地獲取信息。數(shù)據(jù)庫設(shè)計理論包括函數(shù)依賴,范式和關(guān)系模式規(guī)范化三個方

34、面的內(nèi)容。其中函數(shù)依賴是該理論的核心。問題1分析 為了做好這種類型的試題,需要正確地理解如下基本概念。 函數(shù)依賴:設(shè)R(U)是屬性集U上的關(guān)系模式,X、Y是U的子集。若對R(U)的任何一個可能的關(guān)系r,r中不可能存在兩個元組在x上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)決定Y或Y函數(shù)依賴于X,記作:XY。 非平凡的函數(shù)依賴:如果XY,但YX,則稱XY是非平凡的函數(shù)依賴。一般情況下總是討論非平凡的函數(shù)依賴。 平凡的函數(shù)依賴:如果XY,但YX,則稱XY是平凡的函數(shù)依賴。 完全函數(shù)依賴:在R(U)中,如果XY,并且對于X的任何一個真子集X,都有 X不能決定Y,則稱Y對X完全函數(shù)依賴,記作:XY

35、。 部分函數(shù)依賴:如果XY,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作:XY。部分函數(shù)依賴也稱局部函數(shù)依賴。 傳遞依賴:在R(U,F(xiàn))中,如果XY,YX,YX,YZ,則稱Z對X傳遞依賴。 候選碼:設(shè)K為R(U,F(xiàn))中的屬性的組合,若KU,且對于K的任何一個真子集K,都有K不能決定U,則K為R的候選碼(候選關(guān)鍵字),若有多個候選碼,則選一個作為主碼(主鍵)。 主屬性和非主屬性:包含在任何一個候選碼中的屬性叫做主屬性,否則叫做非主屬性。 1NF:若關(guān)系模式R的每一個分量是不可再分的數(shù)據(jù)項,則關(guān)系模式R第一范式 (1NF)。 2NF:若關(guān)系模式R1NF,且每一個非主屬性完全依賴于碼,則關(guān)系

36、模式R2NF。換句話說,當(dāng)1NF消除了非主屬性對碼的部分函數(shù)依賴,則稱為2NF。 3NF:若關(guān)系模式R(U,F(xiàn))中若不存在這樣的碼X,屬性組Y及非主屬性Z(ZY)使得XY,(YX)YZ成立,則關(guān)系模式R3NF。即當(dāng)2NF消除了非主屬性對碼的傳遞函數(shù)依賴,則稱為3NF。 BCNF:若關(guān)系模式R1NF,若XY且YX時,X必含有碼,則關(guān)系模式 RBCNF。即當(dāng)3NF消除了主屬性對碼的部分和傳遞函數(shù)依賴,則稱為BCNF。 4NF:關(guān)系模式R1NF,若對于R的每個非平凡多值依賴XY且YX時,X必含有碼,則關(guān)系模式R(U,F(xiàn))4NF。 在問題1中,(1)對關(guān)系“航班”的候選鍵為(航班名:飛行日期),所以非

37、鍵屬 性為:航空公司名稱,出發(fā)地點,出發(fā)時間,目的地,到達時間。 (2)關(guān)系“航班”是屬于1NF的。因為非主屬性航空公司名稱,出發(fā)地點,目的地不完全函數(shù)依賴于候選鍵(航班名,飛行日期)。該關(guān)系模式存在如下函數(shù)依賴:航班名航空公司名稱,出發(fā)地點, 目的地;(航班名,飛行日期) 出發(fā)時間,到達時間。問題2分析 問題2可以有兩種解題思路。 第一種解題方法: (1)在題中給出的“旅客”關(guān)系中,不同的團隊會有相同的旅客編號,所以,旅客編號不能作為候選鍵,如果同一旅客不同時間參加不同的團隊將導(dǎo)致“身份證號”無法確定關(guān)系中的每一個元組,所以“身份證號”也不能作為候選鍵。為此,需要增加一個“團隊編號”的屬性。

38、又由于(身份證號,團隊編號)旅客編號:(旅客編號,團隊編號)身份證號;身份證號(姓名,聯(lián)系方法,出生日期,性別),所以該關(guān)系模式存在部分函數(shù)依賴,導(dǎo)致旅客參加多少次團隊,其姓名等信息將重復(fù)多少次。 (2)候選鍵:(身份證號,團隊編號)和(旅客編號,團隊編號) (3)“旅客”分解為第三范式如下所示: 第二種解題方法: (1)在題中給出的“旅客”關(guān)系中,不同的團隊會有相同的旅客編號,所以,旅客編號不能作為候選鍵,如果同一旅客不同時間參加不同的團隊將導(dǎo)致“身份證號”無法確定關(guān)系中的每一個元組,所以“身份證號”也不能作為候選鍵。為此,可以通過修改“旅客編號”屬性的定義加以解決,旅客編號由“團隊編號+隊

39、內(nèi)編號”來解決。這時關(guān)系的候選鍵為“旅客編號”,該關(guān)系模式存在傳遞依賴,導(dǎo)致旅客參加多少次團隊,其姓名等信息將重復(fù)多少次。 (2)候選鍵:旅客編號。 (3)“旅客”分解為第三范式如下所示: 問題3分析 (1)通過對試題中給出的關(guān)系“搭乘航班”,由于旅程編號旅客編號,旅程編號搭乘日期,航班名),所以非平凡的多值依賴的圖如下所示: (2)關(guān)系“搭乘航班”是boyce codd范式而不是第四范式。因為在“搭乘航班”關(guān)系中,存在著非平凡的多值依賴,旅程編號旅客編號,旅程編號搭乘日期,航班名),而該關(guān)系模式的候選鍵為(旅程編號,旅客編號,搭乘日期,航班名),搭乘航班關(guān)系的碼是All-Key,所以,根據(jù)第

40、四范式的定義,該關(guān)系模式BCNF不是第四范式。 (3)把“搭乘航班”關(guān)系分解成第四范式如下: 其中搭乘航班1中的旅程編號惟一標(biāo)識每個能按期出發(fā)的旅行團隊的編號。搭乘航班2中的旅程編號惟一標(biāo)識每個能按期出發(fā)的航班名。 參考答案問題1解答 (1)“航班”關(guān)系模式的候選鍵為(航班名,飛行日期),非鍵屬性為:航空公司名稱,出發(fā)地點,出發(fā)時間,目的地,到達時間。 (2)“航班”是屬于1NF的。因為非主屬性航空公司名稱,出發(fā)地點,目的地不完全函數(shù)依賴于候選鍵(航班名,飛行日期)。該關(guān)系模式存在如下函數(shù)依賴:航班名航空公司名稱,出發(fā)地點,目的地;(航班名,飛行日期) 出發(fā)時間,到達時間。問題2解答參考答案1

41、 (1)在題中給出的“旅客”關(guān)系中,不同的團隊會有相同的旅客編號,所以,旅客編號不能作為候選鍵,如果同一旅客不同時間參加不同的團隊將導(dǎo)致“身份證號”無法確定關(guān)系中的每一個元組,所以“身份證號”也不能作為候選鍵。為此,需要增加一個“團隊編號”的屬性。又由于(身份證號,團隊編號)旅客編號;(旅客編號,團隊編號)身份證號;身份證號(姓名,聯(lián)系方法,出生日期,性別),所以該關(guān)系模式存在部分函數(shù)依賴,導(dǎo)致旅客參加多少次團隊,其姓名等信息將重復(fù)多少次。 (2)候選鍵:(身份證號,團隊編號)和(旅客編號,團隊編號) (3)“旅客”分解為第三范式如下所示:參考答案2 (1)在題中給出的“旅客”關(guān)系中,不同的團

42、隊會有相同的旅客編號,所以,旅客編號不能作為候選鍵,如果同一旅客不同時間參加不同的團隊將導(dǎo)致“身份證號”無法確定關(guān)系中的每一個元組,所以“身份證號”也不能作為候選鍵。為此,可以通過修改“旅客編號”屬性的定義加以解決,旅客編號由“團隊編號+隊內(nèi)編號”來解決。這時關(guān)系的候選鍵為“旅客編號”,該關(guān)系模式存在傳遞依賴,導(dǎo)致旅客參加多少次團隊,其姓名等信息將重復(fù)多少次。 (2)候選鍵:旅客編號。 (3)“旅客”分解為第三范式如下所示: 問題3解答 (1)旅程編號旅客編號,旅程編號搭乘日期,航班名 (2)在“搭乘航班”關(guān)系中,存在著非平凡的多值依賴,旅程編號旅客編號,旅程編號搭乘日期,航班名),而該關(guān)系模

43、式的候選鍵為(旅程編號,旅客編號,搭乘日期,航班名),所以,根據(jù)第四范式的定義,該關(guān)系模式BCNF不是第四范式。 (3)把分解成第四范式的結(jié)果,用與圖41所示的關(guān)系模式的形式表示出來。 第14章 數(shù)據(jù)庫系統(tǒng)工程師級下午試題分析與解答 試題一分析參見軟件設(shè)計師。試題二閱讀下列說明,回答問題1至問題5,將解答填入對應(yīng)欄內(nèi)。說明某工廠的倉庫管理數(shù)據(jù)庫的部分關(guān)系模式如下所示: 倉庫(倉庫號,面積,負責(zé)人,電話) 原材料(編號,名稱,數(shù)量,儲備量,倉庫號) 要求一種原材料只能存放在同一倉庫中?!皞}庫”和“原材料”的關(guān)系實例分別如表2-1和表2-2所示。 表2-1“倉庫”關(guān)系 (表格) 倉庫號面積負責(zé)人電

44、話倉庫號面積負責(zé)人電話01500李勁松8765412103300鄭爽8765412302300陳東明8765412204400劉春來87654125 表2-2“原材料”關(guān)系 編號名稱數(shù)量儲備量倉庫號1001小麥10050012001玉米5030011002大豆2010022002花生3050023001菜油602003【問題1】 根據(jù)上述說明,用SQL定義“原材料”和“倉庫”的關(guān)系模式如下,請在空缺處填入正確的內(nèi)容。 CREATE TABLE倉庫(倉庫號CHAR(4), 面積 INT, 負責(zé)人 CHAR(8), 電話 CHAR(8), (a) ); /主鍵定義 CREATE TABLE 原材料

45、(編號 CHAR(4) (b) , /主鍵定義 名稱 CHAR(16), 數(shù)量 INT, 儲備量 INT, 倉庫號 (c) , (d) ); /外鍵定義【問題2】 將下面的SQL語句補充完整,完成“查詢存放原材料數(shù)量最多的倉庫號”的功能。 SELECT倉庫號 FROM (e) (f) ;【問題3】 將下面的SQL語句補充完整,完成“01號倉庫所存儲的原材料信息只能由管理員李勁松米維護,而采購員李強能夠查詢所有原材料的庫存信息”的功能。 CREATE VIEW raws_in_wh01 AS SELECT (g) FROM 原材料 WHERE倉庫號=01; GRANT (h) ON (i) TO

46、 李勁松; GRANT (j) ON (k) TO 李強;【問題4】 倉庫管理數(shù)據(jù)庫的訂購計劃關(guān)系模式為:訂購計劃(原材料編號,訂購數(shù)量)。采用下面的觸發(fā)器程序可以實現(xiàn)“當(dāng)倉庫中的任一原材料的數(shù)量小于其儲備量時,向訂購計劃表中插入該原材料的訂購記錄,其訂購數(shù)量為儲備量的三倍”的功能。請將該程序的空缺部分補充完整。 CREATE TRIGGER ins_order_trigger AFTER (1) ON 原材料 REFERENCING NEW ROWAS nrow FOR EACHROW WHEN nrow數(shù)量arow儲備量 INSERT INTO 訂購計劃VALUES ( (m) , (n)

47、 );【問題5】 如果一種原材料可以在多個倉庫中存放,則問題4中的觸發(fā)器程序存在什么問題,如何修改?試題二分析問題1 本問題考查應(yīng)試者對SQL數(shù)據(jù)庫定義語言的掌握。通過給出的關(guān)系模式及關(guān)系實例,完成數(shù)據(jù)庫定義語句中的主鍵及外鍵的定義部分。主碼的定義可以有3種:在列級約束中用NOT NULL UNIQUE或PRIMARY KEY指定;在表級約束中用PRIMARY KEY主鍵,的方式定義。前兩種方法只適用于單一屬性作主碼的情況,后一種適用于任何情況。參照完整性的指定使用FOREIGN KEY外鍵REFERENCES被參照關(guān)系(被參照屬性)的方式定義,參照關(guān)系的域應(yīng)和被參照數(shù)據(jù)的域相同。 問題2 本

48、題考查應(yīng)試者對SQL查詢語句的掌握。完成本查詢的思路:根據(jù)原材料表,按照“倉庫號”分組,組內(nèi)的記錄對“數(shù)量”求和,分組求和得到的最大值對應(yīng)的倉庫號即為所求。參考答案中的子查詢完成各倉庫存儲數(shù)量的求和,外部查詢輸出組內(nèi)“數(shù)量”求和為最大值的倉庫號。問題3 本問題考查應(yīng)試者對SQL視圖定義和授權(quán)語句的掌握。題干給出了通過視圖和授權(quán)機制實現(xiàn)數(shù)據(jù)庫安全性的方法:建立了01號倉庫的視圖,將對視圖的更新權(quán)限賦給李勁松。題干同時要求對原材料的查詢權(quán)限賦予李強,可以直接使用授權(quán)語句。授權(quán)的基本語法:GRANT 權(quán)限 ON 對象 TO用戶名;問題4 本問題考查應(yīng)試者對觸發(fā)器程序編寫的掌握。空(1)處要求填入的是

49、觸發(fā)操作 (INSERT、UPDATE或DELETE),空(m),(n)處填入的是欲插入的值。本題的關(guān)鍵是讀懂程序。問題5 本題存在問題:觸發(fā)器程序判定某一原材料“數(shù)量”是否小于其存儲量時,是按照當(dāng)前記錄的“數(shù)量”來判定的,當(dāng)一種原材料存儲在多個倉庫時,這樣判定是錯誤的,應(yīng)根據(jù)該原材料在各倉庫的存儲總量判定。參考答案問題1 (a) PRIMARY KEY 倉庫號 (b) PRIMARY KEY 或 NOT NULL UNIQUE 或NOT NULL PRIMARY KEY (c) CHAR (4) (d) FOREIGN KEY 倉庫號REFERENCES 倉庫(倉庫號)問題2 (e)原材料

50、(f)GROUP BY 倉庫號 HAVING SUM (數(shù)量)=ANY(SELECT SUM(數(shù)量) FROM 原材料 GROUP BY 倉庫號)問題3 (g) *或編號,名稱,數(shù)量,儲備量,倉庫號 (h) INSERT,DELETE,UPDATE (j) raws in wh01 (j) SELECT (k) 原材料問題4 (1) UPDATE,INSERT (m) nrow,編號 (n) nrow存儲量*3問題5 存在問題:觸發(fā)器程序判定某一原材料“數(shù)量”是否小于其存儲量時,是按照當(dāng)前記錄的“數(shù)量”來判定的,當(dāng)一種原材料存儲在多個倉庫時,這樣判定是錯誤的,應(yīng)根據(jù)該原材料在各倉庫的存儲總量判

51、定。 應(yīng)將觸發(fā)器程序的WHEN 子句條件修改為: WHEN nrow.儲備量(SELECT SUM (數(shù)量) FROM 原材料 WHERE 編號=(SELECT 編號 FROM nrow) GROUP BY 編號)試題三說明 某市人才交流中心為促進當(dāng)?shù)厝肆Y源的合理配置,加強當(dāng)?shù)仄髽I(yè)與人才的溝通,擬建立人才信息交流網(wǎng)。需求分析結(jié)果 1每個前來登記的個人需填寫人才入庫登記表(如表31所示),并出示相關(guān)證件,經(jīng)工作人員審核后錄入個人信息。 2每個前來登記的企業(yè)需填寫企業(yè)信息登記表(如表3-2所示),并出示相關(guān)證明及復(fù)印件,經(jīng)工作人員核實后錄入企業(yè)信息。 3個人和企業(yè)的基本信息只需在第一次登記時填寫

52、,個人編號和企業(yè)編號由系統(tǒng)自動生成。個人和企業(yè)的基本信息由電腦長期存儲,以后個人只需提供個人編號和求職意向信息,企業(yè)只需提供企業(yè)編號和崗位需求信息。 4個人的求職意向信息和企業(yè)的崗位需求信息在兩個工作日內(nèi)由工作人員錄入數(shù)據(jù)庫并發(fā)布。 表3-1 人才入庫登記表個人編號:_ 登記日期:_年_月_日 表3-2 企業(yè)信息登記表企業(yè)編號:_ 登記日期:_年_月_日 概念模型設(shè)計 根據(jù)需求階段收集的信息,設(shè)計人才、崗位和企業(yè)的實體聯(lián)系圖(不完整)如圖3-1所示。 圖3-1 人才、崗位和企業(yè)的實體聯(lián)系圖邏輯結(jié)構(gòu)設(shè)計 1將概念模型設(shè)計的實體聯(lián)系圖轉(zhuǎn)換為以下關(guān)系模式:人才(個人編號,姓名,性別,出生日期,身份證

53、號,畢業(yè)院校,專業(yè),學(xué)歷,證書名稱,證書編號,聯(lián)系電話,電子郵件,個人簡歷及特長) 企業(yè)(企業(yè)編號,企業(yè)名稱,聯(lián)系人,聯(lián)系電話,地址,企業(yè)網(wǎng)址,電子郵件,企業(yè)簡介) 求職意向( (b) ) 崗位需求( (c) ) 2由于一個人可能持有多個證書,對“人才”關(guān)系模式進行優(yōu)化,得到如下兩個新的關(guān)系模式: 人才( (d) ) 證書( (e) )根據(jù)上述的設(shè)計過程,回答以下問題:問題1 在(a)處填入所需的實體、聯(lián)系及其屬性,完成概念模型設(shè)計。問題2 在(b)、(c)、(d)、(e)處填入對應(yīng)關(guān)系的屬性,完成邏輯結(jié)構(gòu)設(shè)計。問題3 對最終的各關(guān)系模式,以下劃線指出其主鍵和外鍵。問題4張工設(shè)計的實體聯(lián)系圖如

54、圖3-2所示,請用200字問題5 如果允許企業(yè)通過互聯(lián)網(wǎng)修改本企業(yè)的基本信息,應(yīng)對數(shù)據(jù)庫的設(shè)計做何種修改?請用200字以內(nèi)的文字?jǐn)⑹鰧崿F(xiàn)方案。試題三分析【問題1】 本題考查應(yīng)試者對概念模型設(shè)計和分析能力的掌握。按照題干的說明,應(yīng)該建立人才、崗位和企業(yè)三個實體的聯(lián)系,人才與崗位之間是求職意向聯(lián)系,企業(yè)與崗位之間是崗位需求聯(lián)系。按照所給定的登記表中的屬性,組織兩個聯(lián)系的屬性。實體、聯(lián)系及屬性的名稱根據(jù)題目上出現(xiàn)的名稱來填寫?!締栴}2】 邏輯結(jié)構(gòu)設(shè)計是建立在概念結(jié)構(gòu)設(shè)計的基礎(chǔ)上的,按照E-R圖向關(guān)系模式的轉(zhuǎn)換方法,將實體和聯(lián)系分別轉(zhuǎn)換為關(guān)系模式。本題中已給出了實體對應(yīng)的關(guān)系模式,其中崗位實體沒有屬性

55、,應(yīng)歸并到聯(lián)系中。本題還要求對關(guān)系模式進行模式分解,以達到實體分離的優(yōu)化目的(也是規(guī)范化)。【問題3】 各關(guān)系模式的主鍵和外鍵可以根據(jù)關(guān)系模式的語義,并結(jié)合E-R向關(guān)系模式的轉(zhuǎn)換方法來確定?!締栴}4】 此處的“需求”是“崗位”、“企業(yè)”和“人才”三個實體之間的聯(lián)系,而事實上只有人才被聘用之后三者之間才產(chǎn)生聯(lián)系。本系統(tǒng)解決的是人才的求職和企業(yè)的崗位需求,人才與企業(yè)之間沒有直接的聯(lián)系。【問題5】 建立企業(yè)的登錄信息表,包含用戶名和密碼,記錄企業(yè)的用戶名和密碼,將對本企業(yè)的基本信息的修改權(quán)限賦予企業(yè)的用戶名,企業(yè)工作人員通過輸入用戶名和密碼,經(jīng)過服務(wù)器將其與登錄信息表中記錄的該企業(yè)的用戶名和密碼進行

56、驗證后,合法用戶才有權(quán)限修改企業(yè)的信息。參考答案問題1 (a) 問題2 (b)個人編號,崗位,最低薪水,登記日期 (c)企業(yè)編號,崗位,專業(yè),學(xué)歷,薪水,備注,登記日期 (d)個人編號,姓名,性別,出生日期,身份證號,畢業(yè)院校,專業(yè),學(xué)歷,證書名稱,聯(lián)系電話,電子郵件,個人簡歷及特長 (e)證書名稱,證書編號問題3 企業(yè)(企業(yè)編號,企業(yè)名稱,聯(lián)系人,聯(lián)系電話,地址,企業(yè)網(wǎng)址,電子郵件,企業(yè)簡介) 求職意向(,最低薪水,登記日期) 崗位需求(,專業(yè),學(xué)歷,薪水,備注,登記日期) 人才(個人編號,姓名,性別,出生日期,身份證號,畢業(yè)院校,專業(yè),學(xué)歷, ,聯(lián)系電話,電子郵件,個人簡歷及特長) 證書(

57、證書名稱,證書編號)問題4 此處的“需求”是“崗位”、“企業(yè)”和“人才”三個實體之間的聯(lián)系,而事實上只有人才被聘用之后三者之間才產(chǎn)生聯(lián)系。本系統(tǒng)解決的是人才的求職和企業(yè)的崗位需求,人才與企業(yè)之間沒有直接的聯(lián)系。問題5 建立企業(yè)的登錄信息表,包含用戶名和密碼,記錄企業(yè)的用戶名和密碼,將對本企業(yè)的基本信息的修改權(quán)限賦予企業(yè)的用戶名,企業(yè)工作人員通過輸入用戶名和密碼,經(jīng)過服務(wù)器將其與登錄信息表中記錄的該企業(yè)的用戶名和密碼進行驗證后,合法用戶才有權(quán)限修改企業(yè)的信息。試題四說明 E 軟件開發(fā)公司,決定開發(fā)設(shè)計本公司的項目工作管理系統(tǒng),由王先生承擔(dān)數(shù)據(jù)庫的設(shè)計工作。公司項目管理的需求分析如下。 1組織機構(gòu)

58、:E公司有多個部門,每個部門有多個職員、多個辦公室,每個辦公室有一部電話。當(dāng)部門變更時更換新的部門代碼。職員辭職后,若再次被聘用仍使用辭職前的代碼。被聘用職員擔(dān)任某職務(wù),職務(wù)用職務(wù)代碼來標(biāo)識。職務(wù)分為工程師、高級工程師、經(jīng)理助理、經(jīng)理等。職員的工資根據(jù)等級區(qū)分,共分為S、A、B、C、D五個等級。個職務(wù)對應(yīng)某個等級,一個等級對應(yīng)多個職務(wù)。職員月工資等于職員月工作時間(小時)乘以小時工資。職員的人事變動以及職位變更(升級、降級)在月初進行。 2項目管理:項目用項目代碼標(biāo)識,使用過的項目代碼不能重復(fù)使用。一個部門可承擔(dān)多個項目,但一個項目僅由一個部門承擔(dān)。一個項目有一名項目主管和多名職員:一名職員可

59、參加多個項目。項目代碼由系統(tǒng)自動生成,一旦項目建立,項目名、部門代碼以及起始年月日不能再變更。 3項目的工作管理流程為:項目工作計劃輸入(初始計劃)工作業(yè)績輸入業(yè)績生成(每月一次)計劃修正(每月一次)。 項目工作計劃輸入:項目主管使用如圖4-1所示的工作計劃輸入界面,輸入項目代碼、職員代碼、職員參加某個項目的月工作時間(計劃)。圖中白色部分為可輸入項。 圖4-1 工作計劃輸入界面(初始計劃) 工作業(yè)績輸入:輸入職員每天參加各個項目的工作時間。圖4-2為工作業(yè)績輸入界面,圖中白色部分為可輸入項。其中,出勤時間由考勤系統(tǒng)管理,指定項目代碼的順序可以不同,并且一天可以輸入多個項目代碼,但同一個項目代

60、碼不能重復(fù)輸入。 業(yè)績生成:月底匯總職員的當(dāng)月工作業(yè)績,生成月工作業(yè)績表。 計劃修正:項目主管根據(jù)項目進度修改以后的工作計劃。 圖4-2為工作業(yè)績輸入界面王先生根據(jù)公司的項目需求將數(shù)據(jù)庫關(guān)系模式設(shè)計如下: 部門(部門代碼,部門名,起始年月,終止年月,辦公室,辦公電話) 職務(wù)(職務(wù)代碼,職務(wù)名) 等級(等級代碼,等級名,年月,小時工資) 職員(職員代碼,職員名,部門代碼,職務(wù)代碼,任職時間) 項目(項目代碼,項目名,部門代碼,起始年月口,結(jié)束年月日,項目主管) 工作計劃(項目代碼,職員代碼,年月,工作時間) 【問題1】 請使用“關(guān)系模式標(biāo)記規(guī)則”,給出部門、等級、項目、工作計劃關(guān)系模式的主鍵和外

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論