試題中通用的表示規(guī)則
關(guān)于概念數(shù)據(jù)模型、關(guān)系模式、關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)標(biāo)記,除非試題中有特殊聲明,否則將使用如下的通用標(biāo)記規(guī)則。
1.概念數(shù)據(jù)模型的標(biāo)記規(guī)則分別如圖1、圖2和圖3所示。其中:
(1)實(shí)體類型用長(zhǎng)方形表示,長(zhǎng)方形內(nèi)為實(shí)體類型名稱。
(2)實(shí)體類型間的聯(lián)系用直線表示。表示“1對(duì)1” 聯(lián)系的直線兩端不帶箭頭:表示“1對(duì)多”聯(lián)系的直線,在多的一端帶箭頭;表示“多對(duì)多”聯(lián)系的直線兩端都帶箭頭。
圖1 實(shí)體類型和聯(lián)系的規(guī)則
(3)超類型和子類型之間的聯(lián)系,從超類型到子類型之間畫連線,在分支點(diǎn)處畫 △ 號(hào)
圖2超類型和子類型標(biāo)記規(guī)則 |
圖3 實(shí)體類型的屬性標(biāo)記規(guī)則 |
(4)表示實(shí)體屬性時(shí),把長(zhǎng)方形分成上、下兩部分,實(shí)體名稱填入上段,把實(shí)體屬性填入下段。若該屬性僅為主鍵屬性時(shí),則該屬性名下畫實(shí)下劃線;若該屬性僅是外鍵屬性時(shí),則該屬性名下畫虛下劃線;若該屬性既是主鍵屬性,又是外鍵屬性時(shí),則在該屬性名下面畫實(shí)下劃線;若該屬性既不是主鍵屬性,又不是外鍵屬性時(shí),則在該屬性名下不做標(biāo)記。
2.關(guān)系模式的標(biāo)記規(guī)則如下:
關(guān)系名(屬性名1,屬性名2,…,屬性名n)
其中:
(1)若該屬性僅為主鍵屬性時(shí),則該屬性名下畫實(shí)下劃線;
(2)若該屬性僅是外鍵屬性時(shí),則該屬性名下畫虛下劃線;
(3)若該屬性既是主鍵屬性,又是外鍵屬性時(shí),則在該屬性名下面畫實(shí)下劃線:
(4)若該屬性既不是主鍵屬性,又不是外鍵屬性時(shí),則在該屬性名下不做標(biāo)記。
3.關(guān)系數(shù)據(jù)庫(kù)的表結(jié)構(gòu)標(biāo)記規(guī)則如下:
表名
列名1 | 列名2 | 列名3 | … | 列名n |
其中:
(1)若該列名僅為主鍵的列名時(shí),則該列名下畫實(shí)下劃線;
(2)若該列名僅是外鍵的列名時(shí),則該列名下畫虛下劃線:
(3)若該列名既是主鍵的列名,又是外鍵的列名時(shí),則在該列名下面畫實(shí)下劃線;
(4)若該列名既不是主鍵的列名,又不是外鍵的列名時(shí),則在該列名下不做標(biāo)記。
試題一(15分)
閱讀下列說(shuō)明和數(shù)據(jù)流圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
某圖書管理系統(tǒng)的主要功能是圖書管理和信息查詢。對(duì)于初次借書的讀者,系統(tǒng)自動(dòng)生成讀者號(hào),并與讀者基本信息(姓名、單位、地址等)一起寫入讀者文件。 系統(tǒng)的圖書管理功能分為四個(gè)方面:購(gòu)入新書、讀者借書、讀者還書以及圖書注銷。
1、購(gòu)入新書時(shí)需要為該書編制入庫(kù)單。入庫(kù)單內(nèi)容包括圖書分類目錄號(hào)、書名、作者、價(jià)格、數(shù)量和購(gòu)書日期,將這些信息寫入圖書目錄文件并修改文件中的庫(kù)存總量(表示到目前為止,購(gòu)入此種圖書的數(shù)量)。
2、讀者借書時(shí)需填寫借書單。借書單內(nèi)容包括讀者號(hào)和所借圖書分類目錄號(hào)。系統(tǒng)首先檢查該讀者號(hào)是否有效,若無(wú)效,則拒絕借書;若有效,則進(jìn)一步檢查該讀者已借圖書是否超過(guò)最大限制數(shù)(假設(shè)每位讀者能同時(shí)借閱的書不超過(guò)5本),若已達(dá)到最大限制數(shù),則拒絕借書;否則允許借書,同時(shí)將圖書分類目錄號(hào)、讀者號(hào)和借閱日期等信息寫入借書文件中。
3、讀者還書時(shí)需填寫還書單。系統(tǒng)根據(jù)讀者號(hào)和圖書分類目錄號(hào),從借書文件中讀出與該圖書相關(guān)的借閱記錄,標(biāo)明還書日期,再寫回到借書文件中,若圖書逾期,則處以相應(yīng)的罰款。
4、注銷圖書時(shí),需填寫注銷單并修改圖書目錄文件中的庫(kù)存總量。 系統(tǒng)的信息查詢功能主要包括讀者信息查詢和圖書信息查詢。其中讀者信息查詢可得到讀者的基本信息以及讀者借閱圖書的情況;圖書信息查詢可得到圖書基本信息和圖書的借出情況。
圖書管理系統(tǒng)的頂層圖如圖1-1所示;圖書管理系統(tǒng)的第0層DFD圖如圖1-2所示 其中,加工2的細(xì)化圖如圖1-3所示。
【數(shù)據(jù)流圖1-1】
圖1-1圖書管理系統(tǒng)頂層圖
【數(shù)據(jù)流圖1-2】
圖1-2圖書管理系統(tǒng)第0層DFD圖
【數(shù)據(jù)流圖1-3】
【問(wèn)題1】(2分)
數(shù)據(jù)流圖1-2中有兩條數(shù)據(jù)流是錯(cuò)誤的,請(qǐng)指出這兩條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。
【問(wèn)題2】(6分)
數(shù)據(jù)流圖1-3中缺少三條數(shù)據(jù)流,請(qǐng)指出這三條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。
【問(wèn)題3】(7分)
根據(jù)系統(tǒng)功能和數(shù)據(jù)流圖填充下列數(shù)據(jù)字典條目中的(1)和(2):
查洵請(qǐng)求信息=[查詢讀者請(qǐng)求信息|查詢圖書請(qǐng)求信息]
讀者情況=讀者號(hào)+姓名+所在單位+{借書情況}
管理工作請(qǐng)求單=__(1)__
入庫(kù)單=__(2)__
試題二(20分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題5,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
[說(shuō)明]某工廠的信息管理數(shù)據(jù)庫(kù)的部分關(guān)系模式如下所示:職工(職工號(hào),姓名,年齡,月工資,部門號(hào),電話,辦公室)部門(部門號(hào),部門名,負(fù)責(zé)人代碼,任職時(shí)間)關(guān)系模式的主要屬性、含義及約束如表2-1所示,“職工”和“部門”的關(guān)系示例分別如表2-2和表2-3所示。
表2-1 主要屬性、含義及約束
屬 性 |
含義及約束 |
職工號(hào) | 唯一標(biāo)識(shí)每個(gè)職工的編號(hào),每個(gè)職工屬于并且僅屬于一個(gè)部門 |
部門號(hào) | 唯一標(biāo)識(shí)每個(gè)部門的編號(hào),每個(gè)部門有一個(gè)負(fù)責(zé)人,且他也是一個(gè)職工 |
月工資 | 500≤月工資≤5000元 |
表2-2 “職工”關(guān)系
職工號(hào) | 姓名 | 年齡 | 月工資 | 部門號(hào) | 電話 | 辦公室 |
1001 |
鄭俊華 |
26 |
1000 |
1 |
8001234 |
主樓201 |
1002 |
王 平 |
27 |
1100 |
1 |
8001234 |
主樓201 |
2001 |
王曉華 |
38 |
1300 |
2 |
8001235 |
1號(hào)樓302 |
2002 |
李 力 |
24 |
800 |
2 |
8001236 |
1號(hào)樓303 |
3001 |
黎運(yùn)軍 |
42 |
1300 |
3 |
8001237 |
主樓202 |
4001 |
李 源 |
24 |
800 |
4 |
8001245 |
2號(hào)樓102 |
4002 |
李興民 |
36 |
1200 |
4 |
8001246 |
2號(hào)樓103 |
5001 |
趙 欣 |
25 |
0 |
Null |
… |
… |
表2-2 “部門”關(guān)系
部門號(hào) | 部門名 | 負(fù)責(zé)人代碼 | 任職時(shí)間 |
1 | 人事處 | 1002 | 2004-8-3 |
2 | 機(jī)關(guān) | 2001 | 2004-8-3 |
3 | 銷售科 | ||
4 | 生產(chǎn)科 | 4002 | 2003-6-1 |
5 | 車間 |
【問(wèn)題1】
根據(jù)上述說(shuō)明,由SQL定義的“職工”和“部門”的關(guān)系模式,以及統(tǒng)計(jì)各部門的人數(shù)C、工資總數(shù)Totals、平均工資Averages的D_S視圖如下所示,請(qǐng)?jiān)诳杖碧幪钊胝_的內(nèi)容。(6分)
Create Table 部門(部門號(hào) CHAR(1) __(a)__,
部門名 CHAR(16),
負(fù)責(zé)人代碼 CHAR(4),
任職時(shí)間 DATE, __(b)__(職工號(hào)));
Create Table 職工(職工號(hào) CHAR(4),
姓名 CHAR(8),
年齡 NUMBER(3),
月工資 NUMBER(4),
部門號(hào) CHAR(1),
電話 CHAR(8),
辦公室 CHAR(8),
__(a)__(職工號(hào)),
__(c)__(部門號(hào)),
CHECKL(__(d)__));
Create View D_S(D,C,Totals,Averages)As,
。⊿elect 部門號(hào),__(e)__
from 職工
__(f)__
【問(wèn)題2】
對(duì)于表2-2、表2-3所示的“職工”和“部門”關(guān)系,請(qǐng)指出下列各行是否可以插入,為什么?(3分)
1 | 1001 | 王新軍 | 28 | 1000 | 1 | 8001234 | 主樓201 |
2 | 2003 | 李 力 | 28 | 1000 | |||
3 | 5802 | 趙曉嘯 | 36 | 1500 | 6 | 8001568 | 3號(hào)樓503 |
【問(wèn)題3】
在問(wèn)題l定義的視圖D_S上,下面那個(gè)查詢或更新是允許執(zhí)行的,為什么? (3分)
(1)Update D_S set=3 where D=4;
(2)Delete from D_S where C>4;
(3)Select D,Averages fromD_S where C>(Select C from D_S where D=:dept);
(4)Select D,C From D_S where Totals>10000;
(5)Select * from D_S;
【問(wèn)題4】
查詢每個(gè)部門中月工資最高的“職工號(hào)”的SQl查詢語(yǔ)句如下:
Select 職工號(hào) from 職工E
where 月工資=(Select Max(月工資)
from職工as M
where M.部門號(hào)=E.部門號(hào))
(1)請(qǐng)用30字以內(nèi)文字簡(jiǎn)要說(shuō)明該查詢語(yǔ)句對(duì)查詢效率的影響。(3分)
(2)對(duì)該查詢語(yǔ)句進(jìn)行修改,使它既可以完成相同功能,又可以提高查詢效率。(3分)
【問(wèn)題5】
假定分別在“職工”關(guān)系中的“年齡”和“月工資”字段上創(chuàng)建了索引,如下的Select查詢語(yǔ)句可能不會(huì)促使查詢優(yōu)化器使用索引,從而降低查詢效率,請(qǐng)寫出既可以完成相同功能又可以提高查詢效率的SQL語(yǔ)句。(2分)
Select 姓名,年齡,月工資 from 職工
where 年齡>45 or 月工資<1000;
試題三(20分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題5,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某倉(cāng)儲(chǔ)超市采用POS(Point of Sale)收銀機(jī)負(fù)責(zé)前臺(tái)的銷售收款,為及時(shí)掌握銷售信息,并依此指導(dǎo)進(jìn)貨,擬建立商品進(jìn)、銷、存數(shù)據(jù)庫(kù)管理系統(tǒng)。該系統(tǒng)的需求分析已經(jīng)基本完成,下面將進(jìn)入概念模型的設(shè)計(jì)。
【需求分析結(jié)果】
1.銷售業(yè)務(wù)由POS收銀機(jī)來(lái)輔助實(shí)現(xiàn)。POS機(jī)外接條碼閱讀器,結(jié)帳時(shí)收銀員將商品的條碼通過(guò)閱讀器輸入POS機(jī)中。所售商品數(shù)量默認(rèn)值為1,可以由收銀員修改。POS機(jī)根據(jù)輸入的商品信息,打印出圖3-1所示的購(gòu)物清單。
圖3-1購(gòu)物清單
2.將經(jīng)銷的商品分為直銷商品和庫(kù)存商品兩大類。直銷商品的保質(zhì)期較短,如食品類,由供應(yīng)商直接送達(dá)超市,管理員將過(guò)期的商品返還給供應(yīng)商處理;庫(kù)存商品由采購(gòu)員向供應(yīng)商提交訂購(gòu)單,供應(yīng)商根據(jù)訂購(gòu)單送貨。超市會(huì)不定期對(duì)庫(kù)存商品按照折扣率進(jìn)行打折優(yōu)惠。
直銷商品和庫(kù)存商品的送貨單樣表分別如圖3-2、圖3-3所示,其中直銷商品生產(chǎn)批號(hào)的前六位表示生產(chǎn)日期。
3.超市的硬件拓?fù)浣Y(jié)構(gòu)如圖3-4所示。
圖3-4硬件系統(tǒng)拓?fù)浣Y(jié)構(gòu)
4.業(yè)務(wù)處理過(guò)程:
由POS機(jī)存儲(chǔ)每一筆銷售記錄,在每個(gè)工作日結(jié)束前匯總當(dāng)日各商品的銷售量至中心數(shù)據(jù)庫(kù)(銷售日匯總);根據(jù)當(dāng)日的銷售日匯總更新存貨表;每筆進(jìn)貨記入進(jìn)貨表中,并及時(shí)更新存貨表。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖和關(guān)系模式(不完整)如下:
1.實(shí)體聯(lián)系圖
銷售詳單 ←銷售日匯總 存貨表 進(jìn)貨表 |
圖3-5實(shí)體聯(lián)系圖
2.關(guān)系模式
銷售詳單(銷售流水號(hào),商品編碼,數(shù)量,金額,收銀員,時(shí)間)
銷售日匯總(日期,商品編碼,數(shù)量)
存貨表(商品編碼,數(shù)量)
進(jìn)貨表(送貨號(hào)碼,商品編碼,數(shù)量,日期)
商品(_(b)_)
【問(wèn)題1】
對(duì)直銷商品和庫(kù)存商品進(jìn)行概括,給出超類和子類,填入圖3-5中(a)處所示的虛線框內(nèi),并補(bǔ)充聯(lián)系。(5分)
【問(wèn)題2】
根據(jù)你的實(shí)體聯(lián)系圖,完成(b)處的商品關(guān)系模式,并增加子類型的實(shí)體關(guān)系模式。(3分)
【問(wèn)題3】
對(duì)所有關(guān)系模式,以下劃線指出各關(guān)系模式的主鍵。(4分)
【問(wèn)題4】
如果將商品信息只存儲(chǔ)在中心數(shù)據(jù)庫(kù)中,與在各POS機(jī)上存儲(chǔ)其備份相比,從前臺(tái)銷售效率和更新商品庫(kù)兩方面論述各自的優(yōu)缺點(diǎn)(不超過(guò)300字)。(4分)
【問(wèn)題5】
如果考慮引入積分卡,根據(jù)累積消費(fèi)金額計(jì)算積分點(diǎn),再根據(jù)積分點(diǎn)在顧客購(gòu)物時(shí)進(jìn)行現(xiàn)金返還,并修改顧客的累積消費(fèi)金額和積分點(diǎn)。請(qǐng)給出新增加的積分卡關(guān)系模式,并對(duì)銷售詳單關(guān)系模式進(jìn)行修正,指出修正后關(guān)系模式和新增關(guān)系模式的候選鍵和外鍵。(4分)
[NextPage]
試題四(20分)
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
M公司為某旅游公司設(shè)計(jì)機(jī)票銷售專用數(shù)據(jù)庫(kù),其關(guān)系模式如圖4-1所示。
航班(航班名,飛行日期,航空公司名稱,出發(fā)地點(diǎn),出發(fā)時(shí)間,目的地,到達(dá)時(shí)間) 旅游申請(qǐng)(團(tuán)隊(duì)編號(hào),旅客編號(hào),申請(qǐng)日期,出發(fā)日期,返回日期,擔(dān)保人) 旅客(旅客編號(hào),姓名,性別,出生日期,身份證號(hào),聯(lián)系方法) 搭乘航班(旅程編號(hào),旅客編號(hào),搭乘日期,航班名) |
圖4-1機(jī)票銷售專用數(shù)據(jù)庫(kù)
關(guān)系模式的主要屬性、含義及約束如表4-1所示,屬性間的函數(shù)依賴關(guān)系如圖4-2所示,屬性間函數(shù)依賴的標(biāo)記方法如圖4-3所示。
表4-1主要屬性、含義及約束
屬性 | 含義合約束條件 |
旅程編號(hào) | 唯一標(biāo)識(shí)每個(gè)能按期出發(fā)的旅行團(tuán)隊(duì)的編號(hào)。相同旅程編號(hào)的旅客,在同一日程中搭乘相同航班 |
旅客編號(hào) | 唯一標(biāo)識(shí)一個(gè)旅行團(tuán)隊(duì)中每一位旅客的編號(hào)。 |
團(tuán)隊(duì)編號(hào) | 唯一標(biāo)志每個(gè)旅行團(tuán)隊(duì)的編號(hào),如“2004-8-4云南雙飛” |
身份證號(hào) | 唯一識(shí)別身份的編號(hào) |
旅客旅行前需要向旅行社提出申請(qǐng),說(shuō)明要參加的旅行團(tuán)隊(duì)。旅行社建立的旅行申請(qǐng)包括,旅行出發(fā)日期和到達(dá)日期的機(jī)票預(yù)訂、購(gòu)票等信息。旅行社還需要為每個(gè)團(tuán)隊(duì)制定‘旅程”和“搭乘航班”表。有關(guān)“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。
表4-2“旅程”示例
A01 | P1 | ||||
出發(fā)日期 | 出發(fā)地點(diǎn) | 目的地 | 出發(fā)時(shí)間 | 到達(dá)時(shí)間 | 搭乘航班 |
2001.5.1 | 西安 | 桂林 | 10:00 | 13:00 | JJ100 |
2001.5.1 | 桂林 | 昆明 | 17:00 | 19:00 | CC400 |
2001.5.5 | 昆明 | 西安 | 9:00 | 12:30 | JJ600 |
表4-3“搭乘航班”示例
旅程編號(hào) | 團(tuán)隊(duì)編號(hào) | 出發(fā)日期 | 搭乘航班 |
P1 | A01 | 2001.5.1 | JJ100 |
P1 | A01 | 2001.5.1 | CC400 |
P1 | A01 | 2001.5.5 | JJ600 |
P1 | B01 | 2001.5.1 | JJ100 |
P1 | B01 | 2001.5.1 | CC400 |
P1 | B01 | 2001.5.5 | JJ600 |
P2 | C01 | 2001.5.1 | JJ200 |
P2 | C01 | 2001.5.5 | JJ700 |
【問(wèn)題1】
對(duì)關(guān)系“航班”,請(qǐng)回答以下問(wèn)題:(6分)
(1)列舉出所有不屬于任何候選鍵的屬性(非鍵屬性)。
(2)關(guān)系“航班”可達(dá)到第幾范式,用不超過(guò)60個(gè)字的內(nèi)容敘述理由。
【問(wèn)題2】
對(duì)關(guān)系“旅客”,請(qǐng)回答以下的問(wèn)題:(6分)
(1)針對(duì)“旅客”關(guān)系,用100字以內(nèi)文字簡(jiǎn)要說(shuō)明會(huì)產(chǎn)生什么問(wèn)題,并加以修正。
(2)列出修正后的關(guān)系模式的所有候選鍵。
(3)把“旅客”分解為第三范式,并用圖4-1所示的關(guān)系模式的形式表示,分解后的關(guān)系名依次取旅客1、旅客2、…。
【問(wèn)題3】
對(duì)關(guān)系“搭乘航班”,請(qǐng)回答以下的問(wèn)題:(8分)
(1)把非平凡的多值依賴屬性(圖4-2中沒(méi)有表示)的例子用滿足圖4-3的方式表示出來(lái)。
(2)關(guān)系“搭乘航班”是boyce codd范式而不是第四范式,請(qǐng)用200字以內(nèi)文字闡述理由。
(3)把“搭乘航班”關(guān)系分解成第四范式,并采用圖4-1所示的關(guān)系模式的形式表示,分解后的關(guān)系名依次取搭乘航班1、搭乘航班2、…。
下午試題參考答案
試題一
[問(wèn)題1]解答
起點(diǎn):讀者文件 終點(diǎn);登記讀者信息或3
起點(diǎn):處理查詢請(qǐng)求 或2 終點(diǎn):讀者文件
[問(wèn)候2]解答
起點(diǎn);圖書目錄文件 終點(diǎn):圖書信息查詢或2.2
起點(diǎn):借書文件 終點(diǎn):讀者信息查詢或2.1
起點(diǎn);借書文件 終點(diǎn);圖書信息查詢或2.2
[問(wèn)題3]解答
(1)[入庫(kù)單|借書單|還書單|注銷單]
(2)分類目錄號(hào)+書名+作者+價(jià)格+數(shù)量+購(gòu)書日期
試題二
[問(wèn)題1]解答
(a)PRIMARY KEY
(b)FOREIGN KEY(負(fù)貴人代碼) REFERENCES 職工
(c)FOREIGN KEY(部門號(hào))REFERENCES部門
(d)月工資>=500 AND 月工資<=5000
(e)coumt(*),Sum(月工資),Avg(月工資)
(f)Croup by 部門號(hào)
[問(wèn)題2]解答
(1)該行不能插入“職工”關(guān)系,它違反了實(shí)體完整性中主碼必須唯一區(qū)分關(guān)系中的每一個(gè)屬性。
(2)該行可以插入“職工”關(guān)系,盡管部門號(hào)、電話和辦公室為空,但是它表示該雇員沒(méi)有分配到某個(gè)部門。
(3)該行不能插入“職工”關(guān)系,它違反了參照完整性。因?yàn)?在關(guān)系“部門’中不存在。
[問(wèn)題3]解答
此間考查的是對(duì)視圖定義的掌握。
(1)和(2)都不能更新,因?yàn)槭褂梅纸M合聚集函數(shù)定義的視圖是不可更新的。
(3)不一定,視子查詢的返回值而定,(4)和(5)允許查詢。
[問(wèn)題4]解答
此間考察的是查詢效率的問(wèn)題。在涉及相關(guān)查詢的某些情形中,構(gòu)造臨時(shí)關(guān)系可以提高查詢效率。
(1)對(duì)于外層的職工關(guān)系E中的每一個(gè)元組,都要對(duì)內(nèi)層的整個(gè)職工關(guān)系M進(jìn)行檢索,因此查詢效率不高。
(2)解答一
改正后的SQL語(yǔ)句使用了臨時(shí)表:
Select Max(月工資)as 最高工資,部門號(hào) into Temp from職工
Group by部門號(hào)
Select 職工號(hào) from職工,Temp
where月工資=最高工資 and 職工.部門號(hào)=Temp.部門號(hào)
解答二
Select 職工號(hào) from 職工,(Select Max(月工資) as 最高工資,部門號(hào)
Group by 部門號(hào)) as depMax
where 月工資=最高工資 and 職工.部門號(hào)=depMax.部門號(hào)
[問(wèn)題5]解答
此問(wèn)主要考察在查詢中注意where子句中使用索引的問(wèn)題。
Select 姓名,年齡,月工資 from 職工
where 年齡>45;
union
Select 姓名,年齡,月工資 from 職工
where 年齡 月工資<1000;
試題三
[問(wèn)題1]解答
[問(wèn)題2]解答
商品(商品編號(hào),商品名稱,供應(yīng)商,單價(jià))
直銷商品(商品編號(hào),生產(chǎn)批號(hào),消費(fèi)期限)
庫(kù)存商品(商品編號(hào),折扣率)
[問(wèn)題3]解答
銷售詳單(銷售流水號(hào),商品編碼,數(shù)量,金額,收銀員,時(shí)間)
銷售日匯總(日期,商品編碼,數(shù)量)
存貨表(商品編碼,數(shù)量)
進(jìn)貨表(送貨號(hào)碼,商品編碼,數(shù)量,日期)
商品(商品編碼,商品名稱,供應(yīng)商,單價(jià))
直銷商品(商品編號(hào),生產(chǎn)批號(hào),消費(fèi)期限)
庫(kù)存商品(商品編號(hào),折扣率)
[問(wèn)題4]解答
1.采用商品信息集中存儲(chǔ)在中心數(shù)據(jù)庫(kù)中,則在銷售前臺(tái)的每筆計(jì)費(fèi)中,都必須從中心數(shù)據(jù)庫(kù)提取商品名稱和單價(jià),增加網(wǎng)絡(luò)的負(fù)載,在業(yè)務(wù)繁忙時(shí)直接影響到前臺(tái)的銷售效率;同時(shí),如果發(fā)生網(wǎng)絡(luò)故障,則該P(yáng)OS機(jī)不能工作。 采用這種方式,對(duì)商品庫(kù)的更新,如引入新的商品和修改商品價(jià)格,會(huì)及時(shí)體現(xiàn)在前臺(tái)的銷售業(yè)務(wù)中。
2.采用商品信息存儲(chǔ)在中心數(shù)據(jù)庫(kù)中,各Pos機(jī)存儲(chǔ)商品表的備份,POS機(jī)直接從本地讀取商品信息,減少了網(wǎng)絡(luò)的負(fù)載,可以提高交易的效率;同時(shí)即使有短時(shí)間的網(wǎng)絡(luò)故障,也不影響該P(yáng)OS機(jī)的正常使用,只有當(dāng)存在商品信息變更時(shí)才需要與中心數(shù)據(jù)庫(kù)同步。
采用這種方式,必須在每次商品信息變更時(shí)同步各POS機(jī)的數(shù)據(jù)。
[問(wèn)題5]解答
1.對(duì)銷售詳單做如下的修改,增加積分卡號(hào)屬性。
銷售詳單(銷售流水號(hào),商品編號(hào),數(shù)量,金額,收銀員,時(shí)間,積分卡號(hào))
2.加積分卡關(guān)系:積分卡(積分卡號(hào),累積消費(fèi)金額,積分點(diǎn))
試題四
[問(wèn)題1]解答
(1)“航班”關(guān)系模式的候選鍵為(航班名,飛行日期),非鍵屬性為;航空公司名稱,出發(fā)地點(diǎn),出發(fā)時(shí)間,目的地,到達(dá)時(shí)間。
(2)“航班”是屬于1NF的。因?yàn)榉侵鲗傩院娇展久Q,出發(fā)地點(diǎn),目的地不完全函數(shù)依賴于候選鍵(航班名,飛行日期)。
該關(guān)系模式存在如下函數(shù)依賴:
航班名→航空公司名稱,出發(fā)地點(diǎn),目的地;
(航班名,飛行日期)→出發(fā)時(shí)間,到達(dá)時(shí)間。
[問(wèn)題2]解答
參考答案1
(1)在題中給出的“旅客”關(guān)系中,不同的團(tuán)隊(duì)會(huì)有相同的旅客編號(hào),所以,旅客編號(hào)不能作為候選鍵,如果同一旅客不同時(shí)間參加不同的團(tuán)隊(duì)將導(dǎo)致“身份證號(hào)無(wú)法確定關(guān)系中的每一個(gè)元組,所以“身份證號(hào)”也不能作為候選鍵。為此,需要增加一個(gè)“團(tuán)隊(duì)編號(hào)”的屬性。又由于{(身份證號(hào),團(tuán)隊(duì)編號(hào))→旅客編號(hào);(旅客編號(hào),團(tuán)隊(duì)編號(hào))→身份證號(hào);身份證號(hào)一(姓名,聯(lián)系方法,出生日期,性別)},所以該關(guān)系模式存在部分函數(shù)依賴,導(dǎo)致旅客參加多少次團(tuán)隊(duì),其姓名等信息將重復(fù)多少次。
(2)候選鍵:(身份證號(hào),團(tuán)隊(duì)編號(hào))和(旅客編號(hào),團(tuán)隊(duì)編號(hào))
(3)“旅客”分解為第三范式如下所示:
旅客1(身份證號(hào),姓名,聯(lián)系方法,出生日期,性別) 旅客2(旅客編號(hào),身份證號(hào),團(tuán)隊(duì)編號(hào)) |
參考答案2
(1)在題中給出的“旅客”關(guān)系中,不同的團(tuán)隊(duì)會(huì)有相同的旅客編號(hào),所以,旅客編號(hào)不能作為候選鍵,如果同一旅客不同時(shí)間參加不同的團(tuán)隊(duì)將導(dǎo)致“身份證號(hào)”無(wú)法確定關(guān)系中的每一個(gè)元組,所以“身份證號(hào)”也不能作為候選鍵。為此,可以通過(guò)修改“旅客編號(hào)”屬性的定義加以解決,旅客編號(hào)由“團(tuán)隊(duì)編號(hào)+隊(duì)內(nèi)編號(hào)”來(lái)解決。這時(shí)關(guān)系的候選鍵為“旅客編號(hào)”,該關(guān)系模式存在傳遞依賴,導(dǎo)致旅客參加多少次團(tuán)隊(duì),其姓名等信息將重復(fù)多少次。
(2)候選鍵;旅客編號(hào)。
(3)“旅客”分解為第三范式如下所示:
旅客1(身份證號(hào),姓名,聯(lián)系方法,出生日期,性別) 旅客2(旅客編號(hào),身份證號(hào)) |
[問(wèn)題3]解答
(1)旅程編號(hào)→→旅客編號(hào),旅程編號(hào)→→{搭乘日期,航班名}
(2)在“搭乘航班”關(guān)系中,存在著非平凡的多值依賴,旅程編號(hào)→旅客編號(hào),旅程編號(hào)→→{搭乘日期,航班名},而該關(guān)系模式的候選鍵為(旅程編號(hào),旅客編號(hào),搭乘日期,航班名),所以,根據(jù)第四范式的定義,該關(guān)系模式BCNP不是第四范式。
(3)把分解成第四范式的結(jié)果,用與圖4-1所示的關(guān)系模式的形式表示出來(lái)。
搭乘航班1(旅程編號(hào),旅客編號(hào)) 搭乘航班2(旅程編號(hào),航班名,搭乘日期) |
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |