2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《某公司自助餐管理系統(tǒng)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  計(jì)算機(jī)學(xué)院</b></p><p>  2017年12月8日</p><p> 學(xué)號(hào)</p><p><b>  目錄</b>&

2、lt;/p><p><b>  一、引言1</b></p><p>  1.1背景與目的1</p><p>  1.2后臺(tái)數(shù)據(jù)庫SQL Server 2008簡(jiǎn)介1</p><p>  二、系統(tǒng)需求分析1</p><p>  2.1系統(tǒng)功能分析2</p><p>

3、  2.21子模塊功能分析3</p><p>  2.2系統(tǒng)功能模塊設(shè)計(jì)4</p><p>  2.21系統(tǒng)功能管理模塊4</p><p><b>  2.3數(shù)據(jù)流圖5</b></p><p>  2.3.1交易數(shù)據(jù)流圖6</p><p>  2.3.2整體流圖7</p>

4、<p>  2.4可行性分析8</p><p><b>  2.5數(shù)據(jù)字典8</b></p><p>  三、概念結(jié)構(gòu)設(shè)計(jì)9</p><p>  3.1構(gòu)思ERD的四條原則10</p><p>  3.2 設(shè)計(jì)E-R圖10</p><p>  3.2.1分E-R圖10<

5、;/p><p>  四、邏輯結(jié)構(gòu)設(shè)計(jì)12</p><p>  4.1 一般邏輯模型設(shè)計(jì):13</p><p>  4.1.1 由ERD導(dǎo)出一般關(guān)系模型的四條原則13</p><p>  4.1.2 數(shù)據(jù)庫初步的關(guān)系框架(E-R圖向關(guān)系模型轉(zhuǎn)化)13</p><p>  4.1.3數(shù)據(jù)模型優(yōu)化14</p&g

6、t;<p>  4.2具體邏輯模型設(shè)計(jì)14</p><p>  4.3設(shè)計(jì)用戶子模式18</p><p>  五、物理結(jié)構(gòu)設(shè)計(jì)19</p><p>  5.1建立索引19</p><p>  5.2建立觸發(fā)器20</p><p>  六、數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)21</p><p&

7、gt;  6.1數(shù)據(jù)定義21</p><p>  6.1.1創(chuàng)建表格SQL語句22</p><p>  6.1.2創(chuàng)建視圖SQL語句23</p><p>  6.1.3創(chuàng)建索引SQL語句24</p><p>  6.3數(shù)據(jù)查詢25</p><p>  6.4數(shù)據(jù)更新25</p><p&g

8、t;  6.4.1數(shù)據(jù)添加25</p><p>  6.4.2數(shù)據(jù)修改25</p><p>  6.4.3數(shù)據(jù)刪除26</p><p><b>  七、總結(jié)27</b></p><p><b>  引言</b></p><p><b>  1.1背景與目的&

9、lt;/b></p><p>  隨著一些公司規(guī)模的不斷擴(kuò)大,公司后勤管理工作也日趨繁雜.許多大型公司擁有自己的食堂,這些食堂要實(shí)現(xiàn)統(tǒng)一的協(xié)調(diào)管理,就不得不借助現(xiàn)代化的管理模式— — 網(wǎng)絡(luò)管理模式。</p><p>  由于某公司為了提高職工的福利待遇,規(guī)定每個(gè)員工每天可以在職工食堂用餐兩次(每餐3元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐兩次。月底進(jìn)行核算

10、,如果用餐次數(shù)不足,餐費(fèi)不退還職工。公司根據(jù)實(shí)際的用餐次數(shù)支付食堂餐費(fèi)。</p><p>  根據(jù)題目要求,需要設(shè)計(jì)并創(chuàng)建該公司的自助餐管理系統(tǒng),這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩,從而使得管理者能夠準(zhǔn)確,有效的管理餐飲。</p><p>  1.2后臺(tái)數(shù)據(jù)庫SQL Server 2008簡(jiǎn)介</p><p>  SQL全稱是“結(jié)構(gòu)化查詢語言(Str

11、uctured Query Language)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)用。</p><p>  SQL是高級(jí)的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具

12、體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操縱對(duì)象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其他語言中需要一大段程序?qū)崿F(xiàn)的一個(gè)單獨(dú)事件只需要一個(gè)SQL語句就可以達(dá)到目的,這也意味著用SQL語言可以寫出非常復(fù)雜

13、的語句。</p><p><b>  系統(tǒng)需求分析</b></p><p>  隨著21世紀(jì)的到來,人們更深切地感受到了計(jì)算機(jī)在生活和工作中的作用越來越重要,越來越多職業(yè)需要具有計(jì)算機(jī)的應(yīng)用技能。掌握計(jì)算機(jī)是職業(yè)的雪要,更是事業(yè)發(fā)展的需要。</p><p>  信息在社會(huì)和經(jīng)濟(jì)的發(fā)展中所起的作用越來越為人們所重視。信息資源的開發(fā)利用水平已成為衡

14、量一個(gè)國(guó)家綜合國(guó)力的重要標(biāo)志之一。在計(jì)算機(jī)的三大主要應(yīng)用領(lǐng)域(科學(xué)計(jì)算、數(shù)據(jù)處理與過程控制)中,數(shù)據(jù)處理的比重占70%左右。計(jì)算機(jī)作為信息處理的工具,為適應(yīng)數(shù)據(jù)處理需求的迅速提高,滿足各類系統(tǒng)對(duì)數(shù)據(jù)處理的要求,在文件系統(tǒng)的基礎(chǔ)上發(fā)展起了數(shù)據(jù)庫系統(tǒng)。</p><p>  隨著計(jì)算機(jī)計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用及普及,利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)信息管理勢(shì)在必行。本課題以企業(yè)食堂為對(duì)象,作為要面對(duì)大量的課程設(shè)計(jì)

15、項(xiàng)目及相關(guān)信息的處理,這就需要一個(gè)課程設(shè)計(jì)管理系統(tǒng)來提高管理工作的效率。通過本系統(tǒng),可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,從而減少管理工作方面的工作量。</p><p>  數(shù)據(jù)處理技術(shù)已深入到我們工作和生活的方方面面,而數(shù)據(jù)庫技術(shù)是數(shù)據(jù)處理不可缺少的手段。隨著數(shù)據(jù)庫技術(shù)的發(fā)展,面向?qū)ο蟮臄?shù)據(jù)庫、分布式數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、數(shù)據(jù)庫開發(fā)工具的研究方興未艾,這些技術(shù)的發(fā)展使用軟件的開發(fā)速度更快、成本更低、質(zhì)量更

16、好、功能更強(qiáng)。</p><p>  管理信息系統(tǒng)是一門新興的、集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)及計(jì)算機(jī)科學(xué)為一體的綜合性學(xué)科,研究的是信息管理活動(dòng)的全過程,以便有效的管理信息,提供各類管理決策信息,輔助企業(yè)進(jìn)行現(xiàn)代化管理。管理信息系統(tǒng)它具備數(shù)據(jù)處理、計(jì)劃、控制、預(yù)測(cè)和輔助決策功能,具體作用如下5點(diǎn)內(nèi)容:</p><p>  (1)用統(tǒng)一標(biāo)準(zhǔn)處理和提供信息,排除使用前后矛盾的不完整的數(shù)據(jù)。&l

17、t;/p><p> ?。?)完整、及時(shí)提供在管理及決策中需要的數(shù)據(jù)。</p><p> ?。?)利用指定的數(shù)據(jù)關(guān)系分析數(shù)據(jù),客觀預(yù)測(cè)未來。</p><p> ?。?)向各級(jí)管理機(jī)構(gòu)提供不同詳細(xì)程度的報(bào)告,縮短分析和解釋的時(shí)間。</p><p>  (5)用最低的費(fèi)用最短的時(shí)間提供盡可能精確、可靠的信息,以便使決策者選擇最佳的實(shí)施方案,以提高企業(yè)的

18、經(jīng)濟(jì)效益。</p><p><b>  2.1系統(tǒng)功能分析</b></p><p>  系統(tǒng)開發(fā)的總體任務(wù)是受用計(jì)算機(jī)信息管理技術(shù),實(shí)現(xiàn)公司的自助餐管理各種信息的系統(tǒng)化,規(guī)范化,自動(dòng)化,提高公司食堂管理的效率。</p><p>  對(duì)應(yīng)用系統(tǒng)項(xiàng)目的開發(fā),首先要對(duì)程序要實(shí)現(xiàn)的功能和目標(biāo)進(jìn)行整體分析和規(guī)劃,確保在后期開發(fā)中不會(huì)出現(xiàn)遺漏或重大缺陷。因

19、此在軟件開發(fā)中,要嚴(yán)格按照軟件工程的流程進(jìn)行系統(tǒng)的分析和設(shè)計(jì)</p><p>  系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基本上完成的。</p><p><b>  主要功能:</b></p><p><b>  1、職工信息管理</b></p><p>  2、職工食堂信息管理</p>

20、<p><b>  3、成本核算管理</b></p><p>  其中主要任務(wù)為職工信息管理和成本核算管理。</p><p><b>  總的功能特點(diǎn):</b></p><p>  完善、全面的綜合查詢</p><p><b>  報(bào)表翔實(shí),實(shí)用性強(qiáng)</b></

21、p><p>  2.21子模塊功能分析</p><p>  職工信息管理:對(duì)來自客戶端的不同用戶進(jìn)行權(quán)限審查,限定對(duì)數(shù)據(jù)庫的訪問級(jí)別</p><p>  職工用餐信息管理:記錄員工用餐的次數(shù),包括每日用餐次數(shù)和每月的用餐次數(shù);</p><p>  本日用餐次數(shù):記錄本日用餐次數(shù),每增加一個(gè)便同步使每月用餐次數(shù)也增加一次,每日用餐次數(shù)不大于2次。&

22、lt;/p><p>  成本核算管理: 對(duì)成本利潤(rùn)的綜合分析。成本包括公司的本月開銷和之前月份公司開銷的統(tǒng)計(jì)記錄;</p><p>  公司本月開銷:統(tǒng)計(jì)公司本月的開銷,員工本月消費(fèi)一次則增長(zhǎng)3元的開銷。</p><p>  公司每月開銷:記錄之前每月的開銷情況。</p><p>  2.2系統(tǒng)功能模塊設(shè)計(jì)</p><p>

23、;  對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊分析,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如圖所示的這個(gè)系統(tǒng)的功能模塊圖</p><p>  2.21系統(tǒng)功能管理模塊</p><p><b>  2.3數(shù)據(jù)流圖</b></p><p>  【注釋:數(shù)據(jù)流圖,簡(jiǎn)稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于

24、它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型】</p><p>  數(shù)據(jù)流程圖是組織中信息運(yùn)動(dòng)的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。它可以綜合的反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況,具有良好的抽象性和概括性。它在調(diào)查的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實(shí)際運(yùn)行的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲(chǔ)

25、及數(shù)據(jù)來源和去向(外部實(shí)體)等項(xiàng)目。數(shù)據(jù)流程圖和系統(tǒng)的物理描述無關(guān),它所描述的內(nèi)容不涉及技術(shù)細(xì)節(jié),而是面向用戶的,即使完全不懂信息技術(shù)的用戶也容易理解。因此,數(shù)據(jù)流程圖成為系統(tǒng)分析員與用戶進(jìn)行交流的有效手段,同時(shí)也成為系統(tǒng)設(shè)計(jì)的主要依據(jù)之一。</p><p>  用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢等方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組

26、成一份詳盡的數(shù)據(jù)字典,為數(shù)據(jù)庫的具體設(shè)計(jì)打下基礎(chǔ)。</p><p>  數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理之間的關(guān)系。數(shù)據(jù)流圖是有層次之分的,越高層次的數(shù)據(jù)流圖表現(xiàn)的業(yè)務(wù)邏輯越抽象,越底層次的數(shù)據(jù)流圖表現(xiàn)得業(yè)務(wù)邏輯越具體。</p><p>  在仔細(xì)的分析調(diào)查有關(guān)食堂管理信息需求的基礎(chǔ)上,得到如下圖所示的這個(gè)系統(tǒng)所處理的數(shù)據(jù)流程。</p><p>  根據(jù)以上的分析,我們可以

27、先畫出分流程圖,然后可以綜合分流程圖,畫出整個(gè)系統(tǒng)操作的業(yè)務(wù)流程圖</p><p>  2.3.1交易數(shù)據(jù)流圖</p><p><b>  2.3.2整體流圖</b></p><p><b>  整體流圖簡(jiǎn)圖:</b></p><p><b>  2.4可行性分析</b><

28、;/p><p>  可行性分析是系統(tǒng)分析階段的重要活動(dòng),是對(duì)系統(tǒng)進(jìn)行全面、概要的分析。它的任務(wù)是確定項(xiàng)目開發(fā)是否必要和可行。它的主要目標(biāo)是:進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模和功能,對(duì)系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行調(diào)查分析,并根據(jù)需要和可能提出擬開發(fā)系統(tǒng)的初步方案和計(jì)劃,明確問題,對(duì)所提供系統(tǒng)大致規(guī)模和目標(biāo)的幾個(gè)有關(guān)約束條件進(jìn)行論證,并且提出系統(tǒng)的邏輯模型和各種可能的方案,從而為系統(tǒng)開發(fā)項(xiàng)目的決策提供科學(xué)依據(jù)。</p&

29、gt;<p>  其主要從三個(gè)方面進(jìn)行研究:</p><p> ?。?)技術(shù)可行性:對(duì)現(xiàn)有技術(shù)進(jìn)行評(píng)價(jià),以明確能否利用現(xiàn)有技術(shù)進(jìn)行系統(tǒng)開發(fā)及系統(tǒng)實(shí)施。計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展和計(jì)算機(jī)硬件性價(jià)比的不斷提升,使計(jì)算機(jī)全面應(yīng)用于醫(yī)院管理的各個(gè)環(huán)節(jié)成為可能。C/S開發(fā)模式、COM、DCOM技術(shù)在國(guó)內(nèi)各行各業(yè)的信息管理系統(tǒng)開發(fā)中已經(jīng)被廣泛采用,實(shí)踐證明這些技術(shù)都非常適合食堂管理系統(tǒng)的開發(fā)。</p>

30、<p> ?。?)經(jīng)濟(jì)可行性:對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè)、運(yùn)行和維護(hù)費(fèi)用進(jìn)行評(píng)估,對(duì)系統(tǒng)建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)行估計(jì)。連鎖餐飲企業(yè)整體規(guī)模龐大,個(gè)體規(guī)模小而營(yíng)管理相對(duì)簡(jiǎn)單統(tǒng)一,開發(fā)成本不高,一旦開發(fā)成功,即能直接應(yīng)用在所有同種食堂。</p><p> ?。?)營(yíng)運(yùn)可行性:指系統(tǒng)對(duì)組織機(jī)構(gòu)的影響,對(duì)現(xiàn)有人員和機(jī)構(gòu)、設(shè)施、環(huán)境等的適應(yīng)性以及進(jìn)行人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。連鎖餐飲

31、企業(yè)整體規(guī)模龐大,個(gè)體規(guī)模小而營(yíng)管理相對(duì)簡(jiǎn)單統(tǒng)一。所以食堂系統(tǒng)的計(jì)算機(jī)信息管理人才、計(jì)算機(jī)硬件設(shè)備、操作員的計(jì)算機(jī)應(yīng)用能力都為系統(tǒng)的運(yùn)行過程提供了可靠保證。</p><p><b>  2.5數(shù)據(jù)字典</b></p><p>  由于數(shù)據(jù)流程圖只是對(duì)數(shù)據(jù)處理及彼此之間的聯(lián)系進(jìn)行說明,未對(duì)數(shù)據(jù)的詳細(xì)內(nèi)容及數(shù)據(jù)的加工過程進(jìn)行說明,而這正是數(shù)據(jù)字典所要表達(dá)的。數(shù)據(jù)字典是關(guān)于

32、數(shù)據(jù)信息的集合,也就是對(duì)數(shù)據(jù)流程圖中包含的所有元素的定義的集合。它能將數(shù)據(jù)流程圖中全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)加工等描述清楚,便于后續(xù)工作—系統(tǒng)設(shè)計(jì)的進(jìn)行。</p><p>  數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存諸和處理過程5個(gè)部分。其中數(shù)據(jù)項(xiàng)是最小組成單位,若干數(shù)據(jù)項(xiàng)組成一個(gè)數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通

33、過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和邏輯內(nèi)容。</p><p>  針對(duì)一般食堂管理信息系統(tǒng)的需求,通過對(duì)食堂管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p>  數(shù)據(jù)結(jié)構(gòu)名稱:職工用餐卡信息 </p><p>  含義說明:這里指的是職工用來使用付款的工具卡的一系列信息,它記錄了包括它本身以及持卡者的一些信息<

34、/p><p><b>  包括的數(shù)據(jù)項(xiàng)有:</b></p><p><b>  卡號(hào)</b></p><p>  (消費(fèi)者使用的用來付款的卡的編號(hào),與消費(fèi)者辦卡的先后順序有關(guān)</p><p>  別名Card_number 字符型 長(zhǎng)度6)</p><p>  余額(今日剩

35、余用餐量)</p><p> ?。ㄏM(fèi)者卡中所剩的金錢數(shù)量,別名Balance 字符型長(zhǎng)度 6)</p><p><b>  辦卡日期</b></p><p>  (消費(fèi)者辦卡的日期,別名Card_date 日期型 長(zhǎng)度 8)</p><p><b>  持卡者姓名</b></p

36、><p> ?。〒碛行畔⒖ǖ南M(fèi)者的名稱,別名 Person_name 字符型 長(zhǎng)度 10)</p><p>  花費(fèi)(用餐次數(shù)統(tǒng)計(jì))</p><p> ?。ㄏM(fèi)者所消費(fèi)的金錢數(shù)量 別名Consume 字符型 長(zhǎng)度 20)</p><p>  數(shù)據(jù)結(jié)構(gòu)名稱:?jiǎn)T工信息</p><p>  含義說明:消費(fèi)者群體之一,

37、可以自由選擇消費(fèi)方式,辦過卡用卡交易或者用現(xiàn)金交易</p><p><b>  包括的數(shù)據(jù)項(xiàng)有:</b></p><p><b>  工號(hào)</b></p><p> ?。毠ぴ诠舅幍奶?hào)碼 別名 S_number 字符型 長(zhǎng)度 6)</p><p><b>  部門&l

38、t;/b></p><p> ?。毠に诘牟块T的名稱 別名 S_system 字符型 長(zhǎng)度 16)</p><p><b>  職位</b></p><p>  (職工所擔(dān)任的職位 別名 S_class 字符型 長(zhǎng)度 20)</p><p><b>  

39、姓名</b></p><p> ?。毠さ男彰?別名 S_name 字符型 長(zhǎng)度 10)</p><p><b>  性別 </b></p><p> ?。毠さ男詣e 別名 S_sex 字符型 長(zhǎng)度 4)</p><p><b>  地址&l

40、t;/b></p><p> ?。毠さ乃诘刂?別名 S_adress 字符型 長(zhǎng)度 20)</p><p><b>  聯(lián)系方式</b></p><p> ?。毠さ氖謾C(jī)號(hào)碼 別名 S_tel 字符型 長(zhǎng)度 20)</p><p>  這一設(shè)計(jì)階段

41、是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p>  將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì)。它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。</p><p>  概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)是能真實(shí)、充分的反映現(xiàn)實(shí)世界,包括事物和事物的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)的模型。易于理解,從而可以

42、用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設(shè)計(jì)成功的關(guān)鍵。易于改正,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),易于對(duì)概念模型修改和擴(kuò)充。易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。</p><p>  概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定。概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一種抽象。所謂抽象是對(duì)實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用

43、各種概念準(zhǔn)確的加以描述。</p><p>  概念結(jié)構(gòu)設(shè)計(jì)通常分為四種方法:自頂向下,即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。自底向上,即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)。逐步擴(kuò)張,首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)張?;旌喜呗?,即自頂向下和自底向上結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。通常分為兩步,第一步是

44、抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第二步是集成局部視圖,得到全局視圖。</p><p>  下面首先對(duì)實(shí)體和其屬性加以描述,再寫出系統(tǒng)的分E-R圖,進(jìn)而合并成為整體的E-R圖。</p><p>  3.1構(gòu)思ERD的四條原則</p><p>  原則1:能獨(dú)立存在的事物,例如人、物、事、地、團(tuán)體、機(jī)構(gòu)、活動(dòng)、事項(xiàng)等等,在其有多個(gè)由基本項(xiàng)描述的特性需要關(guān)注時(shí),就應(yīng)把它作為實(shí)體。

45、</p><p>  原則2:兩個(gè)或多個(gè)實(shí)體間的關(guān)聯(lián)與結(jié)合,如主管、從屬、組成、占有、作用、配合、協(xié)同等等,當(dāng)需要予以關(guān)注時(shí),應(yīng)作為聯(lián)系。聯(lián)系通常是某類行為動(dòng)作,ERD中關(guān)注的是其狀態(tài)與結(jié)果而非其過程。</p><p>  原則3:實(shí)體的屬性是實(shí)體的本質(zhì)特征。實(shí)體應(yīng)有標(biāo)識(shí)屬性(能把不同個(gè)體區(qū)分開來的屬性組),并指定其中一個(gè)作為主標(biāo)識(shí)。聯(lián)系的屬性是聯(lián)系的結(jié)果或狀態(tài)。屬性具有如下幾個(gè)特點(diǎn):a.

46、非多值性;b.非復(fù)合性;c.非導(dǎo)出性。而實(shí)體的屬性還應(yīng)有非關(guān)聯(lián)性。</p><p>  原則4(一事一地原則):所有基本項(xiàng)在同一E-R圖中作為屬性要在僅在一個(gè)地方出現(xiàn)</p><p>  3.2 設(shè)計(jì)E-R圖</p><p>  根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:卡信息實(shí)體、學(xué)生信息實(shí)體、教師信息實(shí)體、消費(fèi)者實(shí)體、包房信息實(shí)體、訂餐信息實(shí)體、消費(fèi)情況實(shí)體、管理員信息實(shí)體

47、。各個(gè)實(shí)體具體的描述E-R圖及其之間的關(guān)系描述如下。</p><p>  3.2.1分E-R圖</p><p>  圖3-1 為卡信息實(shí)體E-R圖</p><p>  圖3-2 為職工信息實(shí)體E-R圖</p><p>  圖3-4 為卡信息實(shí)體、職工信息實(shí)體、消費(fèi)者實(shí)體關(guān)系E-R圖</p><p>  N

48、 1</p><p><b>  1</b></p><p><b>  1</b></p><p><b>  四、邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  現(xiàn)在需要把上面設(shè)計(jì)好的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server2008數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)

49、庫模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。此部分使用PowerDesigner進(jìn)行數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì),最終導(dǎo)出物理結(jié)構(gòu)模型和邏輯結(jié)構(gòu)模型,并生成SQL Server 2008數(shù)據(jù)庫文件。</p><p>  4.1 一般邏輯模型設(shè)計(jì):</p><p>  4.1.1 由ERD導(dǎo)出一般關(guān)系模型的四條原則</p><p>  原則1:E-R圖中的每一個(gè)獨(dú)立實(shí)體變換為一個(gè)關(guān)系,其屬性

50、變?yōu)殛P(guān)系的屬性,其主標(biāo)識(shí)變?yōu)殛P(guān)系的主碼。</p><p>  原則2:E-R圖中的從實(shí)體及相應(yīng)的“的”聯(lián)系變換為一個(gè)關(guān)系,從實(shí)體的屬性加上主體關(guān)系的主碼構(gòu)成這個(gè)關(guān)系的屬性。如果“的”聯(lián)系是1:1的,則以主實(shí)體關(guān)系的主碼(作為外來碼)為這個(gè)關(guān)系的主碼;如果“的”聯(lián)系是1:M的,則以主實(shí)體關(guān)系的主碼加上同一主實(shí)體個(gè)體聯(lián)系的不同從屬實(shí)體個(gè)體賴以相互區(qū)分的屬性組,組成該關(guān)系的主碼。</p><p>

51、;  原則3:1:M聯(lián)系通過在“多”實(shí)體關(guān)系中增加相聯(lián)系的“1”實(shí)體關(guān)系的主碼及聯(lián)系本身的屬性來表達(dá)。其中“1”實(shí)體主碼為外來碼。</p><p>  原則4:M:M聯(lián)系轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系,被聯(lián)系實(shí)體關(guān)系的主碼(作為外來碼)和聯(lián)系本身的屬性作為該關(guān)系的屬性,被聯(lián)系實(shí)體關(guān)系的主碼組成其復(fù)合主碼。</p><p>  4.1.2 數(shù)據(jù)庫初步的關(guān)系框架(E-R圖向關(guān)系模型轉(zhuǎn)化)</p&g

52、t;<p><b>  關(guān)系模型轉(zhuǎn)化</b></p><p><b>  消費(fèi)情況</b></p><p> ?。ㄈ掌?用餐次數(shù) 剩余次數(shù) )</p><p><b>  消費(fèi)</b></p><p> ?。ㄈ掌?消費(fèi)序號(hào))</p>

53、<p><b>  消費(fèi)者</b></p><p>  (消費(fèi)序號(hào) 姓名 性別 消費(fèi)類別 消費(fèi)者類別)</p><p><b>  屬于</b></p><p> ?。▎T工號(hào) 消費(fèi)序號(hào))</p><p><b>  員工信息</b></p&g

54、t;<p> ?。▎T工號(hào) 部門 職位 姓名 性別 地址 聯(lián)系方式)</p><p><b>  使用</b></p><p><b>  (卡號(hào) 員工號(hào))</b></p><p><b>  卡信息</b></p><p> ?。ㄌ?hào)

55、 余額 辦卡日期 持卡者姓名 花費(fèi))</p><p><b>  持有</b></p><p> ?。ㄌ?hào) 員工號(hào))</p><p>  4.1.3數(shù)據(jù)模型優(yōu)化</p><p>  數(shù)據(jù)庫邏輯設(shè)計(jì)的結(jié)果不是唯一的,為了進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,還應(yīng)該根據(jù)應(yīng)用需要適當(dāng)?shù)匦薷摹⒄{(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這就是數(shù)據(jù)

56、模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),方法為:</p><p><b>  1、確定數(shù)據(jù)依賴</b></p><p>  2、對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系</p><p>  冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)為的完整性,給數(shù)據(jù)庫維護(hù)增加困難,應(yīng)當(dāng)予以消除。經(jīng)過規(guī)范化理論得出,原關(guān)系模式之間的數(shù)據(jù)依賴

57、已經(jīng)達(dá)到極小化,沒有冗余的聯(lián)系,消除冗余的E-R圖稱為基本E-R圖</p><p>  3、按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考察是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,多值依賴等,確定各關(guān)系模式分別屬于第幾范式。</p><p>  4、按照需求分析階段得到的處理要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)某些模式進(jìn)行合并或分解。</p><p>

58、;  5、對(duì)關(guān)系模式進(jìn)行必要的分解,提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率。</p><p>  根據(jù)需求分析階段系統(tǒng)的功能分析,這樣的應(yīng)用環(huán)境,這些模式可以完成包括消費(fèi)者信息管理,預(yù)訂信息管理,成本核算管理,審查工作,庫存管理這些模塊的要求,分析結(jié)果中可在設(shè)計(jì)用戶子模式中對(duì)不同級(jí)別的用戶定義不同的view。</p><p><b>  優(yōu)化后的關(guān)系模式:</b><

59、;/p><p><b>  消費(fèi)情況</b></p><p> ?。ㄈ掌?員工用餐次數(shù) 消費(fèi)序號(hào))</p><p><b>  消費(fèi)者</b></p><p> ?。ㄏM(fèi)序號(hào) 姓名 性別 消費(fèi)類別 消費(fèi)者類別)</p><p><b>  屬于&

60、lt;/b></p><p> ?。▎T工號(hào) 消費(fèi)序號(hào))</p><p><b>  組成</b></p><p> ?。▎T工號(hào) 消費(fèi)序號(hào))</p><p><b>  員工信息</b></p><p>  (學(xué)號(hào) 部門 職位 姓名 性別 地址

61、 聯(lián)系方式)</p><p><b>  使用</b></p><p>  (卡號(hào) 員工號(hào))</p><p><b>  卡信息</b></p><p> ?。ㄌ?hào) 余額 辦卡日期 持卡者姓名 花費(fèi))</p><p><b>  持有<

62、/b></p><p> ?。ㄌ?hào) 員工號(hào))</p><p>  4.2具體邏輯模型設(shè)計(jì)</p><p>  在上面的實(shí)體以及實(shí)體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個(gè)表格之間的關(guān)系。</p><p>  公司自助餐管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面的幾個(gè)表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。</p>

63、<p>  表4-1為創(chuàng)建消費(fèi)情況表ConsumeSituation</p><p>  創(chuàng)建消費(fèi)情況表ConsumeSituation</p><p>  表4-2為創(chuàng)建消費(fèi)者表Consumer</p><p>  創(chuàng)建消費(fèi)者表Consumer</p><p>  表4-3為創(chuàng)建員工信息表Worker</p>

64、<p>  創(chuàng)建員工信息表Worker</p><p>  表4-4為創(chuàng)建消費(fèi)卡信息表Card</p><p>  創(chuàng)建消費(fèi)卡信息表Card</p><p>  表4-5 為創(chuàng)建管理查詢表Manage</p><p>  創(chuàng)建管理查詢表Manage</p><p>  表 4-6 為創(chuàng)建屬于表Attrib

65、ute</p><p>  創(chuàng)建屬于表Attribute</p><p>  表 4.13 為創(chuàng)建使用表Use</p><p><b>  創(chuàng)建使用表Use</b></p><p>  表 4.14為創(chuàng)建持有表Hold</p><p><b>  創(chuàng)建持有表Hold</b>&

66、lt;/p><p>  4.3設(shè)計(jì)用戶子模式</p><p>  將概念模型轉(zhuǎn)換為全局邏輯模型后,還應(yīng)該根據(jù)局部應(yīng)用需求,結(jié)合具體DBMS的特點(diǎn),設(shè)計(jì)用戶的外模式。</p><p>  目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)一般都提供了視圖(View)概念,可以利用這一功能設(shè)計(jì)更符合局部用戶需要的用戶外模式。</p><p>  定義數(shù)據(jù)庫全局模式主要是從系統(tǒng)的

67、時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。由于用戶外模式與模式是相對(duì)獨(dú)立的,因此在定義用戶外模式時(shí)可以注重考慮用戶的習(xí)慣與方便。包括:</p><p>  使用更符合用戶習(xí)慣的別名。</p><p>  在合并各分E—R圖時(shí),曾做了消除命名沖突的工作,以使數(shù)據(jù)庫系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫整體結(jié)構(gòu)時(shí)是非常必要的。用View機(jī)制可以在設(shè)計(jì)用戶View時(shí)重新定義某些屬性名,使

68、其與用戶一致,以方便使用。</p><p>  可以對(duì)不同級(jí)別的用戶定義不同的View,以保證系統(tǒng)的安全性。 </p><p>  簡(jiǎn)化用戶對(duì)系統(tǒng)的使用。</p><p>  如果某些局部應(yīng)用中經(jīng)常要使用某些很復(fù)雜的查詢,為了方便用戶,可以將這些復(fù)雜查詢定義為視圖,用戶每次只對(duì)定義好的視圖進(jìn)行查詢,大大簡(jiǎn)化了用戶的使用</p><p>  消

69、費(fèi)者查詢信息所建立的視圖</p><p>  員工查詢自己卡中余額</p><p>  員工查詢視圖S_Balance</p><p>  2)管理員查詢消費(fèi)者信息</p><p><b>  查詢員工的信息</b></p><p><b>  五、物理結(jié)構(gòu)設(shè)計(jì)</b><

70、;/p><p>  數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫物理的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。為一個(gè)給定的邏輯數(shù)據(jù)模型選取最適合應(yīng)用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)。</p><p>  數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步:</p><p>  確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲(chǔ)結(jié)構(gòu);</p><p>

71、;  對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。</p><p>  如果評(píng)價(jià)結(jié)果滿足原設(shè)計(jì)要求,則可進(jìn)入到物理實(shí)施階段,否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回邏輯設(shè)計(jì)階段修改數(shù)據(jù)模型。</p><p><b>  5.1建立索引</b></p><p>  建立索引是加快查詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需要,在基本

72、表上建立一個(gè)或多個(gè)索引,以提供多種存取路徑,加快查找速度。</p><p>  一般來說,建立與刪除索引由數(shù)據(jù)庫管理員DBA或表的屬主(owner),即建立表的人,負(fù)責(zé)完成。系統(tǒng)在存取數(shù)據(jù)時(shí)會(huì)自動(dòng)選擇合適的索引作為存取路徑,用戶不必也不能顯示地選擇索引。</p><p>  索引的選擇方法,一般來說:</p><p>  1. 如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中

73、出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引);</p><p>  2. 如果一個(gè)屬性經(jīng)常作為最大值或最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引;</p><p>  由上所述建立以下索引</p><p>  為庫存信息表Stock建立索引</p><p>  按Trade_name,stock_number,建立聚簇索引

74、,</p><p>  按entertime升序,建立唯一索引</p><p>  為消費(fèi)情況表ConsumeSituation建立索引</p><p>  按Total建立聚簇索引</p><p>  按Date升序,建立唯一索引</p><p>  為訂餐信息表book_eat建立索引</p><

75、;p>  按Consumer_name,Booktime建立聚簇索引</p><p>  按Consumer_number升序,建立唯一索引</p><p>  為卡信息表Card建立索引</p><p>  按Balance ,Consume建立聚簇索引</p><p>  按Card_number升序,建立唯一索引</p>

76、;<p>  為學(xué)生信息表Student建立索引</p><p>  按S_name建立聚簇索引</p><p>  為學(xué)生信息表Teacher建立索引</p><p>  按T_name建立聚簇索引</p><p><b>  5.2建立觸發(fā)器</b></p><p>  觸發(fā)器(

77、Trigger)是用戶定義在表上的一類由事件驅(qū)動(dòng)的特殊過程。一旦定義,任何用戶對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)得觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。觸發(fā)器類似于約束,但是比約束更加靈活,可以實(shí)施比FOREIGN KEY約束,CHECK約束更為復(fù)雜的檢查和操作,具有更精細(xì)和更強(qiáng)大的數(shù)據(jù)控制能力。觸發(fā)器的執(zhí)行,是由觸發(fā)事件激活的,并由數(shù)據(jù)庫服務(wù)器自動(dòng)執(zhí)行的。一個(gè)數(shù)據(jù)表上可能定義了多個(gè)觸發(fā)器,比如BEFORE觸發(fā)器,多個(gè)

78、AFTER觸發(fā)器等。同一個(gè)表上的多個(gè)觸發(fā)器激活時(shí)遵循如下執(zhí)行順序:</p><p>  執(zhí)行該表上的BEFORE觸發(fā)器;</p><p>  激活觸發(fā)器的SQL語句;</p><p>  執(zhí)行該表上的AFTER觸發(fā)器。</p><p>  對(duì)于同一個(gè)表上的多個(gè)BEFORE(AFTER)觸發(fā)器,遵循“誰先創(chuàng)建誰先執(zhí)行”的原則,即按照觸發(fā)器創(chuàng)建的

79、先后順序執(zhí)行。有些RDBMS是按照觸發(fā)器的名稱的字母排序順序執(zhí)行觸發(fā)器。</p><p>  定義AFTER行級(jí)觸發(fā)器,當(dāng)管理員表Manager的工資發(fā)生變化后就自動(dòng)在工資變化表Inc_log中增加一條相應(yīng)的記錄</p><p>  首先建立工資變化表Inc_log</p><p>  CREATE TABLE Inc_log</p><p>

80、;  (Manager_number varchar(6) REFERENCES Manager(Manager_number),</p><p>  Income int,</p><p>  Manager_name varchar(6),</p><p>  Date TIMESTAMP</p><p><b>  );<

81、;/b></p><p>  接著建立觸發(fā)器 Insert_Inc</p><p>  CREATE TRIGGER Insert_Inc</p><p>  AFTER INSERT ON Manager</p><p>  FOR EACH ROW</p><p><b>  AS BEGIN<

82、;/b></p><p>  INSERT INTO Inc_log VALUES(</p><p>  NEW. Manager_number,NEW.Income,</p><p>  CURRENT_USER,CURRENT_TIMESTAMP);</p><p><b>  END;</b></p&g

83、t;<p>  CREATE TRIGGER Update_Inc</p><p>  AFTER UPDATE ON Manager</p><p>  FOR EACH ROW</p><p><b>  AS BEGIN</b></p><p>  IF(NEW.Income<>OLD.I

84、ncome)THEN INSERT INTO Inc_log VALUES(</p><p>  NEW. Manager_number,NEW. Income,</p><p>  CURRENT_USER,CURRENT_TIMESTAMP);</p><p><b>  END IF;</b></p><p>&l

85、t;b>  END;</b></p><p>  六、數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)</p><p>  經(jīng)過前面的系統(tǒng)需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫邏輯結(jié)構(gòu),數(shù)據(jù)庫物理結(jié)構(gòu)。現(xiàn)在就可以在SQL Server2008數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)上面設(shè)計(jì)的數(shù)據(jù)庫結(jié)構(gòu)。這一步是利用SQL Server 2008數(shù)據(jù)庫系統(tǒng)中的SQL查詢分析器實(shí)現(xiàn)的。</p><p>

86、;<b>  6.1數(shù)據(jù)定義</b></p><p>  關(guān)系數(shù)據(jù)庫系統(tǒng)支持三級(jí)模式結(jié)構(gòu),其模式、外模式和內(nèi)模式中的基本對(duì)象有表、視圖和索引。因此SQL的數(shù)據(jù)定義功能包括模式定義、表定義、視圖和索引的定義,如下表所示。</p><p>  表6.1 SQL的數(shù)據(jù)定義語句</p><p>  6.1.1創(chuàng)建表格SQL語句</p>

87、<p>  下面給出創(chuàng)建這些表格的SQL語句:</p><p>  為創(chuàng)建消費(fèi)情況表ConsumeSituation</p><p>  CREATE TABLE ConsumeSituation</p><p>  (Date datetime PRIMARY KEY,</p><p>  Total bigint NOT NU

88、LL,</p><p>  Consumer_number varchar(6) NOT NULL,</p><p>  FOREIGN KEY (Consumer_number) REFERENCES </p><p>  Consumer(Consumer_number),</p><p><b>  );</b&g

89、t;</p><p>  為創(chuàng)建員工表Consumer</p><p>  CREATE TABLE Consumer</p><p>  (Consumer_number varchar(6) PRIMARY KEY,</p><p>  Consumer_name varchar(10) NOT NULL,</p>

90、<p>  Consumer_sex varchar(4),</p><p>  Consume_sort varchar(10),</p><p>  Consumer_sort varchar(10),</p><p><b>  );</b></p><p>  為創(chuàng)建員工卡信息表Card<

91、;/p><p>  CREATE TABLE Card</p><p>  (Card_number varchar(6) PRIMARY KEY,</p><p>  Balance varchar(6) NOT NULL,</p><p>  Card_date datetime,</p><p>  Person

92、_name varchar(10),</p><p>  Consume varchar(20),</p><p><b>  );</b></p><p>  為創(chuàng)建管理查詢表Manage</p><p>  CREATE TABLE Manage</p><p>  (Manager_nu

93、mber varchar(6) NOT NULL,</p><p>  Date datetime NOT NULL,</p><p>  PRIMARY KEY (Manager_number, Date),</p><p>  Foreign key (Manager_number) references</p><p>  Ma

94、nager(Manager_number),</p><p>  foreign key (Date) references ConsumeSituation(Date)</p><p><b>  );</b></p><p>  為創(chuàng)建屬于表Attribute</p><p>  CREATE TABLE Attr

95、ibute</p><p>  (S_number varchar(8) NOT NULL,</p><p>  Consumer_number varchar(6) NOT NULL,</p><p>  PRIMARY KEY (S_number),</p><p>  FOREIGN KEY (Consumer_number)

96、REFERENCES </p><p>  Consumer(Consumer_number)</p><p><b>  );</b></p><p>  為創(chuàng)建組成表Compose</p><p>  CREATE TABLE Compose</p><p>  (T_number var

97、char(6) NOT NULL,</p><p>  Consumer_number varchar(6) NOT NULL,</p><p>  PRIMARY KEY (T_number),</p><p>  FOREIGN KEY (Consumer_number) REFERENCES </p><p>  Consumer(

98、Consumer_number)</p><p><b>  );</b></p><p>  為創(chuàng)建使用表Using</p><p>  CREATE TABLE Using</p><p>  ( S_number varchar(8) NOT NULL,</p><p>  Card_n

99、umber varchar(6) NOT NULL,</p><p>  PRIMARY KEY (Card_number),</p><p>  FOREIGN KEY (S_number) REFERENCES </p><p>  Student(S_number)</p><p><b>  );</b>&l

100、t;/p><p>  為創(chuàng)建持有表Hold</p><p>  CREATE TABLE Hold</p><p>  (Card_number varchar(6) NOT NULL,</p><p>  T_number varchar(6) NOT NULL,</p><p>  PRIMARY KEY (Ca

101、rd_number),</p><p>  FOREIGN KEY (T_number) REFERENCES </p><p>  Teacher(T_number)</p><p><b>  );</b></p><p>  6.1.2創(chuàng)建視圖SQL語句</p><p>  視圖是從一個(gè)或

102、幾個(gè)基本表(或視圖)導(dǎo)出的的表。它與基本表不同,是一個(gè)虛表。數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。所以基本表中數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個(gè)意義上講,視圖就像一個(gè)窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。</p><p>  視圖還擁有以下優(yōu)點(diǎn):</p><p>  視圖能夠簡(jiǎn)化用戶的操作</p>

103、<p>  視圖使用戶能以多種角度看待同一數(shù)據(jù)</p><p>  視圖對(duì)重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性</p><p>  視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)</p><p>  適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢</p><p>  消費(fèi)者查詢信息所建立的視圖</p><p>  員工查詢自己卡中余

104、額(剩余用餐次數(shù))</p><p>  員工查詢視圖S_Balance</p><p>  CREATE VIEW S_Balance(sno,sname,cno,balance)</p><p><b>  AS</b></p><p>  SELECT S_number,S_name,Card_number,Bala

105、nce</p><p>  FROM Student,Card</p><p>  管理員查詢信息所建立的視圖</p><p><b>  食堂總支出</b></p><p>  CREATE VIEW Trade_money(Trademoney,entertime,outtime)</p><p&

106、gt;<b>  AS </b></p><p>  SELECT Price*(Enter_number-stock_number),entertime,outtime</p><p>  FROM Stock</p><p>  管理員查詢消費(fèi)者信息</p><p><b>  查詢員工的信息</b&

107、gt;</p><p>  CREATE VIEW Select_student</p><p><b>  AS </b></p><p>  SELECT Consumer_number, Consume_sort,</p><p>  S_number,S_name,S_sex,class,S_system, S_

108、dorm, S_tel</p><p>  FROM Consumer, Student</p><p>  WHERE Consumer_sort='員工' </p><p>  6.1.3創(chuàng)建索引SQL語句</p><p>  為消費(fèi)情況表ConsumeSituation建立索引</p><p>

109、  按Total建立聚簇索引</p><p>  CREATE CLUSTER INDEX Cosi_total ON </p><p>  ConsumeSituation (Total)</p><p>  按Date升序,建立唯一索引</p><p>  CREATE UNIQUE INDEX Cosi_date

110、 ON </p><p>  ConsumeSituation (Date)</p><p>  為卡信息表Card建立索引</p><p>  按Balance ,Consume建立聚簇索引</p><p>  CREATE CLUSTER INDEX card_bal ON Card (Balance)</p><

111、p>  CREATE CLUSTER INDEX card_con ON Card (Consume)</p><p>  按Card_number升序,建立唯一索引</p><p>  CREATE UNIQUE INDEX book_cono ON Card (Card_number)</p><p>  為員工信息表Worker建立索引</p&

112、gt;<p>  按S_name建立聚簇索引</p><p>  CREATE CLUSTER INDEX Worker_name ON Worker (S_name)</p><p><b>  6.3數(shù)據(jù)查詢</b></p><p>  數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。SQL提供了SELECT語句進(jìn)行數(shù)據(jù)庫的查詢,該語句具有靈活

113、的使用方式和豐富的功能。SELECT語句既可以完成簡(jiǎn)單的單表查詢,也可以完成復(fù)雜的連接查詢和嵌套查詢。</p><p><b>  消費(fèi)者管理信息查詢</b></p><p><b>  員工信息查詢</b></p><p>  查詢關(guān)于公司員工的所有信息: </p><p><b>  

114、SELECT *</b></p><p>  FROM Worker,Using</p><p>  WHERE Worker.S_number=</p><p>  (SELECT S_number FROM Using WHERE Card_number IN </p><p>  (SELECT Card_number F

115、ROM Card))</p><p><b>  成本查詢</b></p><p>  查詢2014年11月的成本</p><p>  SELECT sum(Trademoney )+ sum_income</p><p>  FROM Trade_money , sum_money</p><p

116、>  WHERE entertime>2014-11-1 AND entertime<2014-12-1 </p><p><b>  效益查詢</b></p><p>  查詢2014年11月的效益</p><p>  SELECT sum(Total)-sum(Trademoney )- sum_income&l

117、t;/p><p>  FROM Trade_money , ConsumeSituation, sum_money</p><p>  WHERE entertime>2014-11-1 AND entertime<2014-12-1 AND</p><p>  Date>2014-11-1 AND Date<2014-12-1&l

118、t;/p><p><b>  6.4數(shù)據(jù)更新</b></p><p><b>  6.4.1數(shù)據(jù)添加</b></p><p><b>  消費(fèi)者信息添加</b></p><p><b>  員工信息添加</b></p><p>  將一

119、個(gè)新員工信息元組(員工號(hào):20140101;姓名:張三;性別:男;部門:09;職位:項(xiàng)目負(fù)責(zé)人;地址:解放路095;聯(lián)系方式:13012345678)插入到Student表中。</p><p><b>  INSERT</b></p><p>  INTO Worker(S_number,S_name,S_sex,class,S_system,S_dorm,S_tel

120、)</p><p>  VALUES ('20140101','張三','男','09','項(xiàng)目負(fù)責(zé)人','解放路095','13012345678')</p><p><b>  6.4.2數(shù)據(jù)修改</b></p><p><

121、b>  消費(fèi)者信息修改</b></p><p><b>  員工信息修改</b></p><p>  將一個(gè)員工(S_number)為20140101的員工信息元組Student中班級(jí)修改為20141201</p><p>  UPDATE Worker</p><p>  SET class=201

122、41201</p><p>  WHERE S_number=20140101 </p><p><b>  6.4.3數(shù)據(jù)刪除</b></p><p><b>  消費(fèi)者信息刪除</b></p><p><b>  員工信息刪除</b></p><p&g

123、t;  將一個(gè)員工號(hào)(S_number)為20140101的員工信息元組Worker中刪除</p><p><b>  DELETE</b></p><p>  FROM Worker</p><p>  WHERE S_number=20140101</p><p><b>  七、總結(jié)</b&g

124、t;</p><p>  通過這一個(gè)學(xué)期的大型數(shù)據(jù)庫設(shè)計(jì)課程,讓我深刻體會(huì)到了數(shù)據(jù)庫的相關(guān)知識(shí)以及數(shù)據(jù)庫課程設(shè)計(jì)的全過程,需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)庫實(shí)施以及未能考慮的數(shù)據(jù)庫的運(yùn)行和維護(hù)。并且學(xué)會(huì)了熟練使用PowerDesigner數(shù)據(jù)庫設(shè)計(jì)工具進(jìn)行數(shù)據(jù)庫的邏輯模型設(shè)計(jì)。</p><p>  在數(shù)據(jù)庫設(shè)計(jì)的過程中,需求分析和概念設(shè)計(jì)可以獨(dú)立于任何數(shù)據(jù)庫管理系統(tǒng)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論