版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
自 助 餐 管 理 系 統(tǒng) 詳 細 設(shè) 計 說 明 書一、引言1.1背景與目的隨著一些公司的規(guī)模不斷擴大,公司后勤管理工作也日趨繁雜。許多大型公司擁有自己的食堂,這些食堂要實現(xiàn)統(tǒng)一的協(xié)調(diào)管理,就不得不借助現(xiàn)代化的管理模式——網(wǎng)絡(luò)管理模式。由于某公司為了提高職工的福利待遇,規(guī)定每個員工每天可以在職工食堂用餐兩次(每餐3元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐兩次。月底進行核算,如果用餐次數(shù)不足,餐費不退還職工。公司根據(jù)實際的用餐次數(shù)支付食堂餐費。根據(jù)題目要求,需要設(shè)計并創(chuàng)建該公司的自助餐管理系統(tǒng),這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩,從而使管理者能夠準確,有效的管理餐飲。1.2后臺數(shù)據(jù)庫SQLSever2008簡介SQL全稱是“數(shù)據(jù)化查詢語言”,其結(jié)構(gòu)簡單,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。SQL語言是高級的非過程化編輯語言, 允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。SQL語言不要求用戶指定對數(shù)據(jù)的存放方法, 也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫可以使用相同的 SQL語言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條 SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使它具有極大的靈活性和強大的功能,在多數(shù)情況下,在其他語言中需要一大段程序?qū)崿F(xiàn)的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用 SQL語言可以寫出非常復雜的語句。二、系統(tǒng)需求分析隨著21世紀的到來,人們深切的感受到了計算機在生活和工作中的作用,越來越多職業(yè)需要具有計算機的應用技能。 掌握計算機是職業(yè)的需要,更是事業(yè)發(fā)展的需要。信息在社會和經(jīng)濟的發(fā)展中所起的作用越來越為人們所重視。信息資源的開發(fā)利用水平已成為衡量一個國家綜合國力的重要標志之一。在計算機的三大主要應用領(lǐng)域(科學計算、數(shù)據(jù)處理與過程控制)中,數(shù)據(jù)處理的比重占70%左右。計算機作為信息處理的工具,為適應數(shù)據(jù)處理需求的迅速提高,滿足各類系統(tǒng)對數(shù)據(jù)處理的要求,在文件系統(tǒng)的基礎(chǔ)上發(fā)展起了數(shù)據(jù)庫系統(tǒng)。隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)管理中應用及普及,利用計算機實現(xiàn)企業(yè)信息管理勢在必行。本課題以企業(yè)食堂為對象,作為要面對大量的課程設(shè)計項目及相關(guān)信息的處理,這就需要一個課程設(shè)計管理系統(tǒng)來提高管理工作的效率。通過本系統(tǒng),可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理工作方面的工作量。數(shù)據(jù)處理工作已深入到我們工作和生活的方方面面,而數(shù)據(jù)庫技術(shù)是數(shù)據(jù)處理必不可少的手段。隨著數(shù)據(jù)庫技術(shù)的發(fā)展,面向?qū)ο蟮臄?shù)據(jù)庫、分布式數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、數(shù)據(jù)庫開發(fā)工具的研究方興未艾,這些技術(shù)的發(fā)展使軟件的開發(fā)速度更快、成本更低、質(zhì)量更好、功能更強。管理信息系統(tǒng)是一門新興的、集管理科學、信息科學、系統(tǒng)科學及計算機科學為一體的綜合性學科,研究的是信息管理活動的全過程,以便有效的管理信息,提供各類管理決策信息,輔助企業(yè)進行現(xiàn)代化的管理。管理信息系統(tǒng)它具備數(shù)據(jù)處理、計劃、控制、預測和輔助決策功能,具體作用如下5點內(nèi)容:(1)用統(tǒng)一標準處理和提供信息,排除使用前后矛盾的不完整信息;(2)完整、及時提供在管理及決策中需要的數(shù)據(jù);(3)利用指定的數(shù)據(jù)關(guān)系分析數(shù)據(jù)、客觀預測未來;(4)向各級管理機構(gòu)提供不同詳細程度的報告,縮短分析和解釋的時間;(5)用最低的費用最短的時間提供盡可能精確、可靠的信息,以便使決策者選擇最佳的實施方案,以提高企業(yè)的經(jīng)濟效益。2.1系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務(wù)是受用計算機信息管理技術(shù), 實現(xiàn)公司的自助餐管理各種信息的系統(tǒng)化,規(guī)范化,自動化,提高公司食堂管理的效率。對應用系統(tǒng)項目的開發(fā),首先要對程序要實現(xiàn)的功能和目標進行整體分析和規(guī)劃,確保在后期開發(fā)中不會出現(xiàn)遺漏或重大缺陷。因此在軟件開發(fā)中,要嚴格按照軟件工程的流程進行系統(tǒng)的分析和設(shè)計系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基本上實現(xiàn)的。主要功能:(1)職工信息管理;(2)職工食堂信息管理;(3)成本核算管理。其中主要任務(wù)為職工信息管理和成本核算管理??偟墓δ芴攸c:完善、全面的綜合查詢;報表翔實,實用性強; 子模塊功能分析職工信息管理:對來自客戶端的不同用戶進行權(quán)限審查,限定對數(shù)據(jù)庫的訪問級別圖2-1職工用餐信息管理:記錄員工用餐的次數(shù),包括每日用餐次數(shù)和每月的用餐次數(shù);圖2-2本日用餐次數(shù):記錄本日用餐次數(shù),每增加一個便同步使每月用餐次數(shù)也增加一次,每日用餐次數(shù)不大于2次。成本核算管理:對成本利潤的綜合分析。成本包括公司的本月開銷和之前月份公司開銷的統(tǒng)計記錄:圖2-3公司本月開銷:統(tǒng)計公司本月的開銷,員工本月消費一次則增長 3元的開銷。公司每月開銷:記錄之前每月的開銷情況。2.2系統(tǒng)功能模塊設(shè)計對上述各項功能進行集中、分塊分析,按照結(jié)構(gòu)化程序設(shè)計的要求, 得到如圖所示的這個系統(tǒng)的功能模塊圖。圖2-42.3數(shù)據(jù)流圖數(shù)據(jù)流程圖是組織中信息運動的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。它可以綜合的反映出信息在系統(tǒng)中的流動、處理和存儲情況,具有良好的抽象性和概括性。它在調(diào)查的基礎(chǔ)上,從系統(tǒng)的科學性、管理的合理性、實際運行的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確地描述系統(tǒng)應具有的數(shù)據(jù)輸入、數(shù)據(jù)加工、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實體)等項目。數(shù)據(jù)流程圖和系統(tǒng)的物理描述無關(guān),它所描述的內(nèi)容不涉及技術(shù)細節(jié),而是面向用戶的,即使完全不懂信息技術(shù)的用戶也容易理解。因此,數(shù)據(jù)流程圖成為系統(tǒng)分析員與用戶進行交流的有效手段,同時也成為系統(tǒng)設(shè)計的主要依據(jù)之一。用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢等方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為數(shù)據(jù)庫的具體設(shè)計打下基礎(chǔ)。數(shù)據(jù)流圖表達了數(shù)據(jù)和處理之間的關(guān)系。數(shù)據(jù)流圖是有層次之分的,越高層次的數(shù)據(jù)流圖表現(xiàn)的業(yè)務(wù)邏輯越抽象,越底層次的數(shù)據(jù)流圖表現(xiàn)得業(yè)務(wù)邏輯越具體。在仔細的分析調(diào)查有關(guān)食堂管理信息需求的基礎(chǔ)上,得到如下圖所示的這個系統(tǒng)所處理的數(shù)據(jù)流程。根據(jù)以上的分析,我們可以先畫出分流程圖,然后可以綜合分流程圖,畫出整個系統(tǒng)操作的業(yè)務(wù)流程圖。圖2-5整體流圖簡圖:圖2-62.4可行性分析可行性分析是系統(tǒng)分析階段的重要活動,是對系統(tǒng)進行全面、概要的分析。它的任務(wù)是確定項目開發(fā)是否必要和可行。 它的主要目標是:進一步明確系統(tǒng)的目標、規(guī)模和功能,對系統(tǒng)開發(fā)背景、必要性和意義進行調(diào)查分析,并根據(jù)需要和可能提出擬開發(fā)系統(tǒng)的初步方案和計劃, 明確問題,對所提供系統(tǒng)大致規(guī)模和目標的幾個有關(guān)約束條件進行論證,并且提出系統(tǒng)的邏輯模型和各種可能的方案,從而為系統(tǒng)開發(fā)項目的決策提供科學依據(jù)。其主要從三個方面進行研究:技術(shù)可行性:對現(xiàn)有技術(shù)進行評價,以明確能否利用現(xiàn)有技術(shù)進行系統(tǒng)開發(fā)及系統(tǒng)實施。計算機網(wǎng)絡(luò)技術(shù)的發(fā)展和計算機硬件性價比的不斷提升,使計算機全面應用于醫(yī)院管理的各個環(huán)節(jié)成為可能。C/S開發(fā)模式、COM、DCOM技術(shù)在國內(nèi)各行各業(yè)的信息管理系統(tǒng)開發(fā)中已經(jīng)被廣泛采用,實踐證明這些技術(shù)都非常適合食堂管理系統(tǒng)的開發(fā)。經(jīng)濟可行性:對組織的經(jīng)濟狀況和投資能力進行分析,對系統(tǒng)建設(shè)、運行和維護費用進行評估,對系統(tǒng)建成后可能取得的社會及經(jīng)濟效益進行估計。連鎖餐飲企業(yè)整體規(guī)模龐大,個體規(guī)模小而營管理相對簡單統(tǒng)一,開發(fā)成本不高,一旦開發(fā)成功,即能直接應用在所有同種食堂。營運可行性:指系統(tǒng)對組織機構(gòu)的影響,對現(xiàn)有人員和機構(gòu)、設(shè)施、環(huán)境等的適應性以及進行人員培訓補充計劃的可行性。 連鎖餐飲企業(yè)整體規(guī)模龐大,個體規(guī)模小而營管理相對簡單統(tǒng)一。 所以食堂系統(tǒng)的計算機信息管理人才、 計算機硬件設(shè)備、操作員的計算機應用能力都為系統(tǒng)的運行過程提供了可靠保證。2.5數(shù)據(jù)字典由于數(shù)據(jù)流程圖只是對數(shù)據(jù)處理及彼此之間的聯(lián)系進行說明,未對數(shù)據(jù)的詳細內(nèi)容及數(shù)據(jù)的加工過程進行說明,而這正是數(shù)據(jù)字典所要表達的。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流程圖中包含的所有元素的定義的集合。它能將數(shù)據(jù)流程圖中全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素、數(shù)據(jù)存儲、數(shù)據(jù)加工等描述清楚,便于后續(xù)工作—系統(tǒng)設(shè)計的進行。數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存諸和處理過程5個部分。其中數(shù)據(jù)項是最小組成單位,若干數(shù)據(jù)項組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲和邏輯內(nèi)容。針對一般食堂管理信息系統(tǒng)的需求,通過對食堂管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)名稱:職工用餐卡信息含義說明:這里指的是職工用來使用付款的工具卡的一系列信息, 它記錄了包括它本身以及持卡者的一些信息包括的數(shù)據(jù)項有:卡號(消費者使用的用來付款的卡的編號,與消費者辦卡的先后順序有關(guān)別名Card_number 字符型 長度6)余額(今日剩余用餐量)(消費者卡中所剩的金錢數(shù)量,別名 Balance 字符型 長度6)辦卡日期(消費者辦卡的日期 別名Card_date 日期型 長度8)持卡者姓名(擁有信息卡的消費者的名稱 別名Person_name 字符型 長度10)花費(用餐次數(shù)統(tǒng)計)(消費者所消費的金錢數(shù)量 別名Consume 字符型 長度20)數(shù)據(jù)結(jié)構(gòu)名稱:員工信息含義說明:消費者群體之一,可以自由選擇消費方式,辦過卡用卡交易或者用現(xiàn)金交易包括的數(shù)據(jù)項有1)工號:(職工在公司所編的號碼別名S_number字符型長度6)2)部門:(職工所在的部門的名稱別名S_system字符型長度16)3)職位:(職工所擔任的職位別名S_class字符型長度20)4)姓名:(職工的姓名別名S_name字符型長度10)5)性別:(職工的性別別名S_sex字符型長度4)6)地址:(職工的所在地址別名S_dorm字符型長度20)7)聯(lián)系方式:(職工的手機號碼別名S_tel字符型長度20)三、概念結(jié)構(gòu)設(shè)計這一設(shè)計階段是在需求分析的基礎(chǔ)上,設(shè)計出能滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計。它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。概念結(jié)構(gòu)設(shè)計的特點是能真實、充分的反映現(xiàn)實世界,包括事物和事物的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實的模型。易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設(shè)計成功的關(guān)鍵。易于改正,當應用環(huán)境和應用要求改變時,易于對概念模型修改和擴充。易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念準確的加以描述。概念結(jié)構(gòu)設(shè)計通常分為四種方法:自頂向下,即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化。自底向上,即首先定義各局部應用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)。逐步擴張,首先定義最重要的核心概念結(jié)構(gòu),然后向外擴張。混合策略,即自頂向下和自底向上結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。通常分為兩步,第一步是抽象數(shù)據(jù)并設(shè)計局部視圖,第二步是集成局部視圖,得到全局視圖。下面首先對實體和其屬性加以描述,再寫出系統(tǒng)的分E-R圖,進而合并成為整體的E-R圖。3.1構(gòu)思ERD的四條原則原則1:能獨立存在的事物,例如人、物、事、地、團體、機構(gòu)、活動、事項等等,在其有多個由基本項描述的特性需要關(guān)注時,就應把它作為實體。原則2:兩個或多個實體間的關(guān)聯(lián)與結(jié)合,如主管、從屬、組成、占有、作用、配合、協(xié)同等等,當需要予以關(guān)注時,應作為聯(lián)系。聯(lián)系通常是某類行為動作,ERD中關(guān)注的是其狀態(tài)與結(jié)果而非其過程。原則3:實體的屬性是實體的本質(zhì)特征。實體應有標識屬性(能把不同個體區(qū)分開來的屬性組),并指定其中一個作為主標識。 聯(lián)系的屬性是聯(lián)系的結(jié)果或狀態(tài)。屬性具有如下幾個特點: a.非多值性;b.非復合性;c.非導出性。而實體的屬性還應有非關(guān)聯(lián)性。原則4:(一事一地原則):所有基本項在同一 E-R圖中作為屬性要在僅在一個地方出現(xiàn)3.2設(shè)計E-R圖根據(jù)上面的設(shè)計規(guī)劃出的實體有:卡信息實體、員工信息實體、消費者實體、包房信息實體、訂餐信息實體、消費情況實體、管理員信息實體。各個實體具體的描述E-R圖及其之間的關(guān)系描述如下。圖
3-4
圖3-1為卡信息實體 E-R圖圖3-2為職工信息實體 E-R圖圖3-3為消費情況實體 E-R圖為卡信息實體、職工信息實體、消費者實體關(guān)系
E-R圖四、邏輯結(jié)構(gòu)設(shè)計現(xiàn)在需要把上面設(shè)計好的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為 SQLServer2008數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)庫模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。先對數(shù)據(jù)庫進行結(jié)構(gòu)設(shè)計,最終導出物理結(jié)構(gòu)模型和邏輯結(jié)構(gòu)模型,并生成 SQLServer2008數(shù)據(jù)庫文件。4.1 一般邏輯模型設(shè)計 由ERD導出一般關(guān)系模型的四條原則原則1:E-R圖中的每一個獨立實體變換為一個關(guān)系,其屬性變?yōu)殛P(guān)系的屬性,其主標識變?yōu)殛P(guān)系的主碼。原則2:E-R圖中的從實體及相應的主從聯(lián)系變換為一個關(guān)系,從實體的屬性加上主體關(guān)系的主碼構(gòu)成這個關(guān)系的屬性。主從聯(lián)系是 1:1的,則以主實體關(guān)系的主碼(作為外碼)為這個關(guān)系的主碼;主從聯(lián)系是 1:M的,則以主實體關(guān)系的主碼加上同一主實體個體聯(lián)系的不同從屬實體個體賴以相互區(qū)分的屬性組,組成該關(guān)系的主碼。原則3:1:M聯(lián)系通過在“多”實體關(guān)系中增加相聯(lián)系的“ 1”實體關(guān)系的主碼及聯(lián)系本身的屬性來表達。其中“ 1”實體主碼為外來碼。原則4:M:M聯(lián)系轉(zhuǎn)換成一個獨立的關(guān)系,被聯(lián)系實體關(guān)系的主碼(作為外來碼)和聯(lián)系本身的屬性作為該關(guān)系的屬性, 被聯(lián)系實體關(guān)系的主碼組成其復合主碼。 數(shù)據(jù)庫初步的關(guān)系框架( E-R圖向關(guān)系模型轉(zhuǎn)化)關(guān)系模型轉(zhuǎn)化消費情況:(日期用餐次數(shù)剩余次數(shù))消費:(日期消費序號)消費者:(消費序號姓名性別消費類別消費者類別)屬于:(員工號消費序號)員工信息:(員工號部門職位姓名性別地址聯(lián)系方式)使用:(卡號員工號)卡信息:(卡號余額辦卡日期持卡者姓名花費)持有:(卡號員工號)數(shù)據(jù)庫邏輯設(shè)計的結(jié)果不是唯一的,為了進一步提高數(shù)據(jù)庫應用系統(tǒng)的性能,還應該根據(jù)應用需要適當?shù)匦薷摹?調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這就是數(shù)據(jù)模型的優(yōu)化。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,方法為 :1、確定數(shù)據(jù)依賴2、對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)為的完整性,給數(shù)據(jù)庫維護增加困難,應當予以消除。經(jīng)過規(guī)范化理論得出,原關(guān)系模式之間的數(shù)據(jù)依賴已經(jīng)達到極小化,沒有冗余的聯(lián)系,消除冗余的 E-R圖稱為基本E-R圖3、按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考察是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,多值依賴等,確定各關(guān)系模式分別屬于第幾范式。4、按照需求分析階段得到的處理要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對某些模式進行合并或分解。5、對關(guān)系模式進行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率。根據(jù)需求分析階段系統(tǒng)的功能分析, 這樣的應用環(huán)境,這些模式可以完成包括消費者信息管理,預訂信息管理,成本核算管理,審查工作,庫存管理這些模塊的要求,分析結(jié)果中可在設(shè)計用戶子模式中對不同級別的用戶定義不同的view。優(yōu)化后的關(guān)系模式:消費情況:(日期員工用餐次數(shù)消費序號)消費者:(消費序號姓名性別消費類別消費者類別)屬于:(員工號消費序號)組成:(員工號消費序號)員工信息:(員工號部門職位姓名性別地址聯(lián)系方式)使用:(卡號員工號)卡信息:(卡號余額辦卡日期持卡者姓名花費)持有:(卡號員工號)4.2具體邏輯模型設(shè)計在上面的實體以及實體之間關(guān)系的基礎(chǔ)上, 形成數(shù)據(jù)庫中的表格以及各個表格之間的關(guān)系。公司自助餐管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表4-1創(chuàng)建消費情況表ConsumeSituation列名數(shù)據(jù)類型可否為空說明聲明DatedatetimeNOTNULL日期主鍵建立唯一索引TotalintNULL一天消費總額建立聚簇索引Consumer_numbernumeric(12)NOTNULL消費序號外鍵圖4-1表4-2創(chuàng)建消費者表Consumer列名數(shù)據(jù)類型可否為空說明聲明Consumer_numbervarchar(6)NOTNULL消費序號主鍵Consumer_namevarchar(10)NOTNULL姓名Consumer_sexVarchar(4)NULL性別Consume_sortvarchar(10)NULL消費類別Consumer_sortvarchar(10)NULL消費者類別圖4-2表4-3創(chuàng)建員工信息表Worker列名數(shù)據(jù)類型可否為空說明聲明S_numberintNOTNULL員工號主鍵S_namevarchar(10)NOTNULL姓名建立聚簇索引S_sexvarchar(4)NULL性別classvarchar(20)NULL職位S_systemvarchar(16)NULL部門S_dormvarchar(20)NULL地址S_telnumeric(15)NULL聯(lián)系方式圖4-3表4-4創(chuàng)建消費卡信息表Card列名數(shù)據(jù)類型可否為空說明聲明Card_numbervarchar(6)NOTNULL卡號主鍵建立唯一索引BalanceintNOTNULL余額建立聚簇索引Card_dateDatetime(8)NULL辦卡日期Person_namevarchar(10)NULL持卡者姓名Consumevarchar(20)NULL花費建立聚簇索引圖4-4表4-5創(chuàng)建管理查詢表Manage列名數(shù)據(jù)類型可否為空說明Manager_numbervarchar(6)NOTNULL管理員編號DatedatetimeNOTNULL日期圖4-5表4-6創(chuàng)建屬于表Attribute列名數(shù)據(jù)類型可否為空說明S_numbervarchar(6)NOTNULL員工號Consumer_numbervarchar(6)NOTNULL消費序號圖4-6表4-7創(chuàng)建使用表Use列名數(shù)據(jù)類型可否為空說明S_numbervarchar(8)NOTNULL員工號Card_numbervarchar(6)NOTNULL卡號圖4-7表4.-8創(chuàng)建持有表Hold列名數(shù)據(jù)類型可否為空說明Card_numbervarchar(6)NOTNULL卡號S_numbervarchar(6)NOTNULL員工號圖4-84.3設(shè)計用戶子模式將概念模型轉(zhuǎn)換為全局邏輯模型后,還應該根據(jù)局部應用需求,結(jié)合具體DBMS的特點 設(shè)計用戶的外模式。目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)一般都提供了視圖 (View)概念,可以利用這一功能設(shè)計更符合局部用戶需要的用戶外模式。定義數(shù)據(jù)庫全局模式主要是從系統(tǒng)的時間效率、 空間效率、易維護等角度出發(fā)。由于用戶外模式與模式是相對獨立的, 因此在定義用戶外模式時可以注重考慮用戶的習慣與方便。包括:使用更符合用戶習慣的別名。在合并各分E—R圖時,曾做了消除命名沖突的工作,以使數(shù)據(jù)庫系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計數(shù)據(jù)庫整體結(jié)構(gòu)時是非常必要的。用View機制可以在設(shè)計用戶 View時重新定義某些屬性名,使其與用戶一致,以方便使用。可以對不同級別的用戶定義不同的View,以保證系統(tǒng)的安全性。簡化用戶對系統(tǒng)的使用。如果某些局部應用中經(jīng)常要使用某些很復雜的查詢,為了方便用戶,可以將這些復雜查詢定義為視圖,用戶每次只對定義好的視圖進行查詢,大大簡化了用戶的使用。消費者查詢信息所建立的視圖員工查詢自己卡中余額員工查詢視圖S_Balance圖4-9)管理員查詢消費者信息查詢員工的信息Worker_consumer圖4-10五、物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫物理的物理結(jié)構(gòu), 它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取最適合應用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。數(shù)據(jù)庫的物理設(shè)計通常分為兩步:確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu);對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。如果評價結(jié)果滿足原設(shè)計要求, 則可進入到物理實施階段, 否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回邏輯設(shè)計階段修改數(shù)據(jù)模型。5.1建立索引建立索引是加快查詢速度的有效手段。 用戶可以根據(jù)應用環(huán)境的需要, 在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。一般來說,建立與刪除索引由數(shù)據(jù)庫管理員 DBA或表的屬主(owner),即建立表的人負責完成。系統(tǒng)在存取數(shù)據(jù)時會自動選擇合適的索引作為存取路徑, 用戶不必也不能顯示地選擇索引。索引的選擇方法,一般來說:如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引(或組合索引);如果一個屬性經(jīng)常作為最大值或最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引;由上所述建立以下索引:為消費情況表ConsumeSituation建立索引按Total建立聚簇索引按Date升序建立唯一索引為消費者consumer建立索引1)按Consumer_number升序建立唯一索引為卡信息表Card建立索引按Balance,Consume建立聚簇索引按Card_number升序建立唯一索引為職工信息表Worker建立索引按S_name建立聚簇索引5.2建立觸發(fā)器觸發(fā)器(Trigger) 是用戶定義在表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務(wù)器自動激活相應得觸發(fā)器,在DBMS核心層進行集中的完整性控制。觸發(fā)器類似于約束,但是比約束更加靈活,可以實施比FOREIGNKEY約束,CHECK約束更為復雜的檢查和操作,具有更精細和更強大的數(shù)據(jù)控制能力。觸發(fā)器的執(zhí)行,是由觸發(fā)事件激活的,并由數(shù)據(jù)庫服務(wù)器自動執(zhí)行的。一個數(shù)據(jù)表上可能定義了多個觸發(fā)器,比如 BEFORE觸發(fā)器,多個AFTER觸發(fā)器等。同一個表上的多個觸發(fā)器激活時遵循如下執(zhí)行順序 :執(zhí)行該表上的BEFORE觸發(fā)器;激活觸發(fā)器的SQL語句;執(zhí)行該表上的AFTER觸發(fā)器。對于同一個表上的多個 BEFORE(AFTER)觸發(fā)器,遵循“誰先創(chuàng)建誰先執(zhí)行”的原則,即按照觸發(fā)器創(chuàng)建的先后順序執(zhí)行。 有些RDBMS是按照觸發(fā)器的名稱的字母排序順序執(zhí)行觸發(fā)器。定義AFTER行級觸發(fā)器,當管理員表Manager的工資發(fā)生變化后就自動在工資變化表Inc_log 中增加一條相應的記錄首先建立工資變化表 Inc_logCREATETABLEInc_log(S_numberintREFERENCESWorker(S_number),Incomeint,S_namevarchar(6),DateTIMESTAMP)接著建立觸發(fā)器 Insert_IncCREATETRIGGERInsert_IncONWorkerAFTERINSERTASBEGININSERTINTOInc_logVALUES(NEW.S_number,NEW.Income,CURRENT_USER,CURRENT_TIMESTAMP);ENDGOCREATETRIGGERUpdate_IncONWorkerAFTERUPDATEASBEGINIF(NEW.Income<>OLD.Income)THENINSERTINTOInc_logVALUES(NEW.S_number,NEW.Income,CURRENT_USER,CURRENT_TIMESTAMP);ENDIF;END;六、數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)經(jīng)過前面的系統(tǒng)需求分析和概念結(jié)構(gòu)設(shè)計以后, 得到數(shù)據(jù)庫邏輯結(jié)構(gòu),數(shù)據(jù)庫物理結(jié)構(gòu)?,F(xiàn)在就可以在 SQLServer2008數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)上面設(shè)計的數(shù)據(jù)庫結(jié)構(gòu)。這一步是利用 SQLServer2008數(shù)據(jù)庫系統(tǒng)中的 SQL查詢分析器實現(xiàn)的。6.1數(shù)據(jù)定義關(guān)系數(shù)據(jù)庫系統(tǒng)支持三級模式結(jié)構(gòu), 其模式、外模式和內(nèi)模式中的基本對象有表、視圖和索引。因此 SQL的數(shù)據(jù)定義功能包括模式定義、表定義、視圖和索引的定義,如下表所示。表6-1 SQL的數(shù)據(jù)定義語句操作對象
操作方式創(chuàng)建
刪除
修改表
CREATETABLE
DROPTABLE視圖
CREATEVIEW
DROPVIEW
ALTERTABLE索引
CREATEINDEX
DROPINDEX下面給出創(chuàng)建這些表格的 SQL語句:為創(chuàng)建消費情況表ConsumeSituationCREATETABLEConsumeSituation(DatedatetimePRIMARYKEY,TotalintNOTNULL,Consumer_numbervarchar(12)NOTNULL,FOREIGNKEY(Consumer_number)REFERENCESConsumer(Consumer_number),);為創(chuàng)建員工表ConsumerCREATETABLEConsumer(Consumer_number varchar(12)PRIMARYKEY,Consumer_name varchar(10)NOTNULL,Consumer_sexvarchar(4),Consume_sort varchar(10),Consumer_sort varchar(10),);為創(chuàng)建員工卡信息表CardCREATETABLECard(Card_numbervarchar(6)PRIMARYKEY,Balancevarchar(6)NOTNULL,Card_datedatetime,Person_namevarchar(10),Consumevarchar(20),) ;4)為創(chuàng)建管理查詢表 ManageCREATETABLEManage(Manager_number varchar(6)NOTNULL,DatedatetimeNOTNULL,PRIMARYKEY(Manager_number,Date),Foreignkey(Manager_number)referencesManager(Manager_number),foreignkey(Date)referencesConsumeSituation(Date)) ;為創(chuàng)建屬于表AttributeCREATETABLEAttribute(S_numbervarchar(6)NOTNULL,Consumer_numbervarchar(6)NOTNULL,PRIMARYKEY(S_number),FOREIGNKEY(Consumer_number)REFERENCESConsumer(Consumer_number)) ;為創(chuàng)建組成表ComposeCREATETABLECompose(T_number varchar(6)NOTNULL,Consumer_numbervarchar(6)NOTNULL,PRIMARYKEY(T_number),FOREIGNKEY(Consumer_number)REFERENCESConsumer(Consumer_number)) ;為創(chuàng)建使用表UsingCREATETABLEUsing(S_number varchar(8)NOTNULL,Card_numbervarchar(6)NOTNULL,PRIMARYKEY(Card_number),FOREIGNKEY(S_number)REFERENCESStudent(S_number)) ;為創(chuàng)建持有表HoldCREATETABLEHold(Card_numbervarchar(6)NOTNULL,T_numbervarchar(6)NOTNULL,PRIMARYKEY(Card_number),FOREIGNKEY(T_number)REFERENCESTeacher(T_number)) ;視圖是從一個或幾個基本表(或視圖)導出的的表。它與基本表不同,是一個虛表。數(shù)據(jù)庫中只存放視圖的定義, 而不存放視圖對應的數(shù)據(jù), 這些數(shù)據(jù)仍存放在原來的基本表中。所以基本表中數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個意義上講,視圖就像一個窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。視圖還擁有以下優(yōu)點:視圖能夠簡化用戶的操作視圖使用戶能以多種角度看待同一數(shù)據(jù)視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性視圖能夠?qū)C密數(shù)據(jù)提供安全保護適當?shù)睦靡晥D可以更清晰的表達查詢消費者查詢信息所建立的視圖員工查詢自己卡中余額(剩余用餐次數(shù))員工查詢視圖S_BalanceCREATEVIEWS_Balance(sno,sname,cno,balance)ASSELECTS_number,S_name,Card_number,BalanceFROMStudent,Card管理員查詢信息所建立的視圖食堂總支出CREATEVIEWTrade_money(Trademoney,entertime,outtime)ASSELECTPrice*(Enter_number-stock_number) ,entertime,outtimeFROMStock管理員查詢消費者信息查詢員工的信息CREATEVIEWSelect_studentASSELECTConsumer_number,Consume_sort,S_number,S_name,S_sex,class,S_system,S_dorm,S_telFROMConsumer,StudentWHEREConsumer_sort='員工'為消費情況表ConsumeSituation建立索引按Total建立聚簇索引CREATE CLUSTER INDEX Cosi_total ONConsumeSituation(Total)按Date升序建立唯一索引CREATE UNIQUE INDEXCosi_dateONConsumeSituation(Date)為卡信息表Card建立索引1)按Balance,C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版高端醫(yī)療設(shè)備研發(fā)與銷售合同
- 2025版礦粉加工定制銷售合同書3篇
- 2025VI設(shè)計服務(wù)合同:企業(yè)形象重塑與傳播
- 2025山東省建筑安全員B證(項目經(jīng)理)考試題庫
- 二零二五年度商標許可使用合同許可商品范圍與使用期限3篇
- 二零二五年度大型數(shù)據(jù)中心設(shè)備維保服務(wù)合同3篇
- 二零二五年廠房轉(zhuǎn)租與設(shè)備租賃組合協(xié)議
- 2025bot智能機器人市場推廣投資協(xié)議2篇
- 2024網(wǎng)絡(luò)云服務(wù)外包合同技術(shù)支持條款
- 機床附件白熾機床工作燈安全操作規(guī)程
- 基金行業(yè)薪酬報告調(diào)查報告
- GB/T 18329.2-2023滑動軸承多層金屬滑動軸承第2部分:合金厚度≥2 mm的結(jié)合強度破壞性試驗
- 《中國健康生活方式預防心血管代謝疾病指南》
- 如何正確看待成績主題班會課件
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
- 樂山英文介紹
- 工程量清單清單計價封面
- 尺寸鏈講解課件
- 壓濾機產(chǎn)品質(zhì)量檢測報告
- 日產(chǎn)5000噸水泥生產(chǎn)線建筑工程施工組織設(shè)計
- 267條表情猜成語【動畫版】
評論
0/150
提交評論