第 1 頁(yè):?jiǎn)芜x題 |
第 4 頁(yè):應(yīng)用題 |
第 5 頁(yè):設(shè)計(jì)與應(yīng)用題 |
第 6 頁(yè):參考答案與解析 |
三、設(shè)計(jì)與應(yīng)用題
1.【解題思路】
(1)ER圖的設(shè)計(jì)原則
在設(shè)計(jì)ER圖時(shí),首先應(yīng)根據(jù)需求分析,確認(rèn)實(shí)體、屬性和聯(lián)系這三種ER圖的基本要素。需要強(qiáng)調(diào)的三條設(shè)計(jì)原則如下:
①相對(duì)原則
建模的過(guò)程實(shí)際上是對(duì)對(duì)象抽象的過(guò)程。實(shí)體、屬性和聯(lián)系是對(duì)同一個(gè)對(duì)象抽象過(guò)程的不同解釋和理解。在同一情況下不同的人,或同一人在不同的情況下,對(duì)事物抽象的結(jié)果可能是不同的。在ER圖的整個(gè)設(shè)計(jì)過(guò)程中,實(shí)體、屬性和聯(lián)系不是一成不變,而是可能會(huì)被不斷的調(diào)整和優(yōu)化。
、谝恢略瓌t
同一對(duì)象在同一個(gè)管理系統(tǒng)中的不同子系統(tǒng)抽象的結(jié)果要求保持一致。
③簡(jiǎn)單原則
為簡(jiǎn)化ER圖,現(xiàn)實(shí)世界中的事物能作屬性對(duì)待時(shí),應(yīng)盡量作為屬性處理。屬性與實(shí)體和聯(lián)系之間,并無(wú)一定界限。當(dāng)屬性滿足如下兩個(gè)條件時(shí),就不能作實(shí)體或關(guān)系對(duì)待:不再具有需要進(jìn)一步描述的性質(zhì),因?yàn)閷傩栽诤x上是不可再分的數(shù)據(jù)項(xiàng);屬性不能再與其它實(shí)體具有聯(lián)系,即ER圖中的聯(lián)系只能是實(shí)體之間的聯(lián)系。
(2)ER圖的組成元素是實(shí)體、屬性和聯(lián)系
①實(shí)體
把客觀存在并且可以相互區(qū)別的事物稱為實(shí)體。實(shí)體可以是實(shí)際事物,也可以是抽象事件。如一個(gè)職工、一場(chǎng)比賽等。
②屬性
描述實(shí)體的特性稱為屬性。如職工的職工號(hào),姓名,性別,出生日期,職稱等。
、勐(lián)系
聯(lián)系是實(shí)體間有意義的相互作用,即實(shí)體問(wèn)存在的關(guān)聯(lián)。
在ER圖中,分別用矩形框表示實(shí)體,橢圓表示屬性,菱形框表示聯(lián)系。
(3)聯(lián)系的類型
實(shí)體之間的聯(lián)系分為三種類型:一對(duì)一(1:1)、一對(duì)多(1:n)和多對(duì)多(n:m)。
題目給出了兩個(gè)實(shí)體論文和作者,并且指明了論文實(shí)體的屬性包括題目、期刊名稱、年份、期刊號(hào),作者實(shí)體的屬性包括姓名、單位、地址。實(shí)體問(wèn)的關(guān)系包括:一篇論文可以有多個(gè)作者,且每一位作者寫過(guò)多篇論文,在每一篇論文中有作者的順序號(hào),可以知道論文和作者是多對(duì)多的關(guān)系。同時(shí)可知論文題目和期刊號(hào)的聯(lián)合是論文關(guān)系模式的主鍵,姓名是作者關(guān)系模式的主鍵,而需要作者姓名和論文題目才能唯一確定發(fā)表的關(guān)系模式。
【參考答案】
(1)
(2)關(guān)系模式:
論文(題目,期刊名稱,年份,期刊號(hào))
作者(姓名,單位,地址)
發(fā)表(姓名,題目,順序號(hào))
2.【解題思路】
SQL Server 2008多語(yǔ)句表值函數(shù)的格式為:
CREATE FUNCTION[schema_name.]function_name
([{@parameter_name[As][type_schema_name.]parameter data_type
[=default]}
[….n]
]
)
RETURNS@return_variable TABLE
[AS]
BEGIN
function_body
RETURN
END
[;]
::=
({I}
[table_constraint][,...n])
采用三表聯(lián)合查詢,通過(guò)傳入的借書(shū)證號(hào)查出借出信息表中的圖書(shū)編號(hào),然后查出圖書(shū)明細(xì)表的信息。
【參考答案】
CREATE FUNCTION BorrowBook(@jszh char(20))
RETURNS@jsqkb TABLE(書(shū)籍編號(hào)char(20),書(shū)籍名稱char(50),定價(jià)float,借書(shū)日期datetime)
AS
BEGIN
INSERT@jsqkb
SELECT圖書(shū)明細(xì)表.圖書(shū)編號(hào),圖書(shū)名稱,定價(jià),借出信息表.借書(shū)日期FROM借出信息表,圖書(shū)明細(xì)表
WHERE借出信息表.圖書(shū)編號(hào)=圖書(shū)明細(xì)表.圖書(shū)編號(hào)AND借出信息表.借書(shū)證號(hào)=@jszh
RETURN
END
3.【解題思路】
從數(shù)據(jù)庫(kù)本身和網(wǎng)絡(luò)傳輸?shù)慕嵌瘸霭l(fā),數(shù)據(jù)庫(kù)性能低下的因素一般有:I/O吞吐量小,形成了瓶頸效應(yīng);沒(méi)有創(chuàng)建計(jì)算列導(dǎo)致查詢不優(yōu)化;SQL Server數(shù)據(jù)庫(kù)內(nèi)存不足;網(wǎng)絡(luò)速度慢;查詢出的數(shù)據(jù)量過(guò)大(可以采用多次查詢或其他的方法降低數(shù)據(jù)量)以及鎖或者死鎖(這也是查詢慢最常見(jiàn)的問(wèn)題,是程序設(shè)計(jì)的缺陷)。
從SQL查詢語(yǔ)句角度來(lái)考慮優(yōu)化響應(yīng)時(shí)間,應(yīng)該從查詢條件、臨時(shí)表、游標(biāo)、返回?cái)?shù)據(jù)量、大事務(wù)操作等方面進(jìn)行調(diào)優(yōu)。
【參考答案】
(1)①把數(shù)據(jù)、日志、索引放到不同的I/O設(shè)備上,增加讀取速度,數(shù)據(jù)量(尺寸)越大,提高I/O越重要。
、诳v向、橫向分割表,減少表的尺寸。
③升級(jí)硬件,擴(kuò)大服務(wù)器的內(nèi)存,Windows 2000和SQL Server 2000能支持4-8G的內(nèi)存。配置虛擬內(nèi)存,虛擬內(nèi)存大小應(yīng)基于計(jì)算機(jī)上并發(fā)運(yùn)行的服務(wù)進(jìn)行配置。增加服務(wù)器CPU個(gè)數(shù)。
④分布式分區(qū)視圖可用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器聯(lián)合體。聯(lián)合體是一組分開(kāi)管理的服務(wù)器,但它們相互協(xié)作分擔(dān)系統(tǒng)的處理負(fù)荷。這種通過(guò)分區(qū)數(shù)據(jù)形成數(shù)據(jù)庫(kù)服務(wù)器聯(lián)合體的機(jī)制能夠擴(kuò)大一組服務(wù)器,以支持大型的多層Web站點(diǎn)的處理需要。
⑤重建索引:DBCC REINDEX,DBCC INDEXDEFRAG;收縮數(shù)據(jù)和日志:DBCC SHRINKDB,DBCCSHRINKFILE。設(shè)置自動(dòng)收縮日志,對(duì)于大的數(shù)據(jù)庫(kù)不要設(shè)置數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),它會(huì)降低服務(wù)器的性能。
、迌(yōu)化鎖結(jié)構(gòu)。
(2)①對(duì)查詢進(jìn)行優(yōu)化,盡量避免全表掃描,首先應(yīng)考慮在where及order by涉及的列上建立索引。
②應(yīng)盡量避免在where子句中使用!=或< >操作符,否則引擎將放棄使用索引而進(jìn)行全表掃描。
、廴魏蔚胤蕉疾灰褂胹elect*from進(jìn)行全表掃描,用具體的字段列代替“*”,不要返回冗余字段。
④避免頻繁創(chuàng)建和刪除臨時(shí)表,以減少系統(tǒng)表資源的消耗。
⑤盡量避免使用游標(biāo),因?yàn)橛螛?biāo)的效率較差,如果游標(biāo)操作的數(shù)據(jù)超過(guò)1萬(wàn)行,那么就應(yīng)該考慮改寫。
、薇M量避免大事務(wù)操作,提高系統(tǒng)并發(fā)能力。
相關(guān)推薦:
全國(guó)計(jì)算機(jī)等級(jí)考試教材目錄(2015年版)
各地計(jì)算機(jī)等級(jí)考試報(bào)名入口及官方網(wǎng)站匯總
各地2015全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
2015年全國(guó)計(jì)算機(jī)等級(jí)考試無(wú)紙化考試系統(tǒng)操作指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |