食堂管理系統_畢業設計論文_第1頁
食堂管理系統_畢業設計論文_第2頁
食堂管理系統_畢業設計論文_第3頁
食堂管理系統_畢業設計論文_第4頁
食堂管理系統_畢業設計論文_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、引言211背景與目的212后臺數據庫為SQLSERVER2000簡介2二、系統需求分析221系統功能分析3221子模塊功能分析322系統功能模塊設計5221系統功能管理模塊623數據流圖7231卡交易數據流圖7232現金交易數據流圖8233庫存管理數據流圖9234整體流圖924可行性分析1125數據字典11三、概念結構設計1531構思ERD的四條原則1532設計ER圖16321分ER圖16322整體ER圖22四、邏輯結構設計2341一般邏輯模型設計23411由ERD導出一般關系模型的四條原則23412數據庫初步的關系框架(ER圖向關系模型轉化)23413數據模型優化2542具體邏輯模型設計2643設計用戶子模式35五、物理結構設計3961建立索引4062建立觸發器40六、數據庫結構的實現4261數據定義42611創建表格SQL語句42612創建視圖SQL語句45613創建索引SQL語句4763數據查詢4764數據更新49641數據添加49642數據修改49643數據刪除50七、總結51一、引言11背景與目的隨著高校辦學規模的不斷擴大,高校后勤管理工作也日趨繁雜許多大型高校擁有多個校區,有十幾個甚至幾十個學生和教工食堂,這些食堂的地理位置分散,又要實現統一的協調管理,就不得不借助現代化的管理模式網絡管理模式由于當前學校的規模不斷擴大,學生數量不斷增加,學生信息量也成倍增長,食堂管理工作成為學校各項管理工作的一個重要部分。面對龐大的信息量,如何有效在提高食堂管理工作的效率是學校急需解決的問題。這樣不僅提高了工作效率,也避免了以前手工作業的麻煩,從而使得管理者能夠準確,有效的管理餐飲。12后臺數據庫為SQLSERVER2000簡介SQL全稱是“結構化查詢語言STRUCTUREDQUERYLANGUAGE”,最早的是IBM的圣約瑟研究實驗室為其關系數據庫管理系統SYSTEMR開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。SQL不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。二、系統需求分析隨著21世紀的到來,人們更深切地感受到了計算機在生活和工作中的作用越來越重要,越來越多職業需要具有計算機的應用技能。掌握計算機是職業的雪要,更是事業發展的需要。信息在社會和經濟的發展中所起的作用越來越為人們所重視。信息資源的開發利用水平已成為衡量一個國家綜合國力的重要標志之一。在計算機的三大主要應用領域(科學計算、數據處理與過程控制)中,數據處理的比重占70左右。計算機作為信息處理的工具,為適應數據處理需求的迅速提高,滿足各類系統對數據處理的要求,在文件系統的基礎上發展起了數據庫系統。隨著計算機計算機技術的飛速發展,計算機在企業管理中應用及普及,利用計算機實現企業信息管理勢在必行。本課題以高等院校為對象,作為高效要面對大量的課程設計項目及相關信息的處理,這就需要一個課程設計管理系統來提高管理工作的效率。通過本系統,可以做到信息的規范管理、科學統計和快速查詢,從而減少管理工作方面的工作量。數據處理技術已深入到我們工作和生活的方方面面,而數據庫技術是數據處理不可缺少的手段。隨著數據庫技術的發展,面向對象的數據庫、分布式數據庫、多媒體數據庫、數據庫開發工具的研究方興未艾,這些技術的發展使用軟件的開發速度更快、成本更低、質量更好、功能更強。管理信息系統是一門新興的、集管理科學、信息科學、系統科學及計算機科學為一體的綜合性學科,研究的是信息管理活動的全過程,以便有效的管理信息,提供各類管理決策信息,輔助企業進行現代化管理。管理信息系統它具備數據處理、計劃、控制、預測和輔助決策功能,具體作用如下5點內容(1)用統一標準處理和提供信息,排除使用前后矛盾的不完整的數據。(2)完整、及時提供在管理及決策中需要的數據。(3)利用指定的數據關系分析數據,客觀預測未來。(4)向各級管理機構提供不同詳細程度的報告,縮短分析和解釋的時間。(5)用最低的費用最短的時間提供盡可能精確、可靠的信息,以便使決策者選擇最佳的實施方案,以提高企業的經濟效益。21系統功能分析系統開發的總體任務是受用計算機信息管理技術,實現食堂各種信息的系統化,規范化,自動化,提高食堂管理的效率。對應用系統項目的開發,首先要對程序要實現的功能和目標進行整體分析和規劃,確保在后期開發中不會出現遺漏或重大缺陷。因此在軟件開發中,要嚴格按照軟件工程的流程進行系統的分析和設計系統功能分析是在系統開發的總體任務的基本上完成的。主要功能1、消費者信息管理2、預訂信息管理3、成本核算管理4、庫存管理其中主要任務為消費者信息管理和結算信息管理。總的功能特點完善、全面的綜合查詢報表翔實,實用性強221子模塊功能分析消費者信息管理對來自客戶端的不同用戶進行權限審查,限定對數據庫的訪問級別預訂信息管理各部門向采購部發出需求申請,預定用貨;對于采購部已送達的貨物進行電子簽名接收;預訂信息管理訂餐、訂餐信息修改、訂餐信息取消、定金處理、訂餐統計、訂餐查詢,訂餐報表。有效的預訂處理,充分發揮銷售潛力,這使該系統更實用、全面、方便和快捷。需要有關包房的詳細情況和全面的咨詢服務,減少了文件資料的手工整理等繁瑣工作,并能避免處理上的錯誤,從而簡化預訂房間手續。成本核算管理對成本利潤的綜合分析。成本包括固定成本(人員工資、水電、稅等)變動成本(菜、酒、米等的采購成本)。收入指每天的銷售收入。能核算每天、每月、每年、以及任何一段時間的成本,利潤。微機室核計每天各單位、各窗口的收益情況并消費者信息管理消費者信息修改消費者信息添加消費者信息刪除消費者信息查詢預訂信息管理預訂信息修改預訂信息添加剩余房間信息查詢預訂信息查詢將結果送入數據庫供管理層查詢;成本查詢用于各個單位查詢各個部門每日每月的成本情況。效益查詢用于各個單位查詢各個部門每日每月的收益情況。庫存管理管理各種用品的使用情況,確定用貨來源和送達目的地;對商品的入庫,出庫,結算的管理。要有明細賬,記載出入庫的詳細情況。供食堂負責人員和采購人員還有審查工作,實現對于每天各部門、各食堂中所使用的貨物進行審核和查看現有庫存情況;22系統功能模塊設計對上述各項功能進行集中、分塊分析,按照結構化程序設計的要求,得到如圖所示的這個系統的功能模塊圖成本核算管理成本查詢效益查詢入庫商品查詢出庫商品查詢庫存管理221系統功能管理模塊食堂管理系統消費者信息管理預訂信息管理成本核算管理庫存管理消費者信息查詢消費者信息修改消費者信息添加消費者信息刪除預訂信息修改預訂信息添加預訂信息刪除預訂信息查詢成本查詢效益查詢入庫商品查詢出庫商品查詢23數據流圖【注釋數據流圖,簡稱DFD,是SA方法中用于表示系統邏輯模型的一種工具,它以圖形的方式描繪數據在系統中流動和處理的過程,由于它只反映系統必須完成的邏輯功能,所以它是一種功能模型】數據流程圖是組織中信息運動的抽象,是管理信息系統邏輯模型的主要形式。它可以綜合的反映出信息在系統中的流動、處理和存儲情況,具有良好的抽象性和概括性。它在調查的基礎上,從系統的科學性、管理的合理性、實際運行的可行性角度出發,將信息處理功能和彼此之間的聯系自頂向下、逐層分解,從邏輯上精確地描述系統應具有的數據加工、數據輸入、數據輸出、數據存儲及數據來源和去向(外部實體)等項目。數據流程圖和系統的物理描述無關,它所描述的內容不涉及技術細節,而是面向用戶的,即使完全不懂信息技術的用戶也容易理解。因此,數據流程圖成為系統分析員與用戶進行交流的有效手段,同時也成為系統設計的主要依據之一。用戶的需求具體體現在各種信息的提供、保存、更新和查詢等方面,這就要求數據庫結構能充分滿足各種信息的輸入和輸出。收集基本數據、數據結構及數據處理的流程,組成一份詳盡的數據字典,為數據庫的具體設計打下基礎。數據流圖表達了數據和處理之間的關系。數據流圖是有層次之分的,越高層次的數據流圖表現的業務邏輯越抽象,越底層次的數據流圖表現得業務邏輯越具體。在仔細的分析調查有關食堂管理信息需求的基礎上,得到如下圖所示的這個系統所處理的數據流程。根據以上的分析,我們可以先畫出分流程圖,然后可以綜合分流程圖,畫出整個系統操作的業務流程圖231卡交易數據流圖消費者辦卡基本信息輸入消費者信息管理消費者交易成本結算管理結算信息輸入232現金交易數據流圖消費者訂餐預訂信息管理消費查詢收款管理成本結算管理233庫存管理數據流圖成本結算管理庫存管理采購員消費者入庫管理出庫管理入庫出庫加工庫存信息判斷234整體流圖整體流圖簡圖成本結算管理消費者信息管理庫存管理結算信息收款管理預訂信息管理整體流圖整圖24可行性分析可行性分析是系統分析階段的重要活動,是對系統進行全面、概要的分析。它的任務是確定項目開發是否必要和可行。它的主要目標是進一步明確系統的目標、規模和功能,對系統開發背景、必要性和意義進行調查分析,并根據需要和可能提出擬開發系統的初步方案和計劃,明確問題,對所提供系統大致規模和目標的幾個有關約束條件進行論證,并且提出系統的邏輯模型和各種可能的方案,從而為系統開發項目的決策提供科學依據。其主要從三個方面進行研究(1)技術可行性對現有技術進行評價,以明確能否利用現有技術進行系統開發及系統實施。計算機網絡技術的發展和計算機硬件性價比的不斷提升,使計算機全面應用于醫院管理的各個環節成為可能。C/S開發模式、COM、DCOM技術在國內各行各業的信息管理系統開發中已經被廣泛采用,實踐證明這些技術都非常適合食堂管理系統的開發。(2)經濟可行性對組織的經濟狀況和投資能力進行分析,對系統建設、運行和維護費用進行評估,對系統建成后可能取得的社會及經濟效益進行估計。連鎖餐飲企業整體規模龐大,個體規模小而營管理相對簡單統一,開發成本不高,一旦開發成功,即能直接應用在所有同種食堂。(3)營運可行性指系統對組織機構的影響,對現有人員和機構、設施、環境等的適應性以及進行人員培訓補充計劃的可行性。連鎖餐飲企業整體規模龐大,個體規模小而營管理相對簡單統一。所以食堂系統的計算機信息管理人才、計算機硬件設備、操作員的計算機應用能力都為系統的運行過程提供了可靠保證。25數據字典由于數據流程圖只是對數據處理及彼此之間的聯系進行說明,未對數據的詳細內容及數據的加工過程進行說明,而這正是數據字典所要表達的。數據字典是關于數據信息的集合,也就是對數據流程圖中包含的所有元素的定義的集合。它能將數據流程圖中全部數據流及其組成部分的數據元素、數據存儲、數據加工等描述清楚,便于后續工作系統設計的進行。數據字典是系統中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。數據字典通常包括數據項、數據結構、數據流、數據存諸和處理過程5個部分。其中數據項是最小組成單位,若干數據項組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲和邏輯內容。針對一般食堂管理信息系統的需求,通過對食堂管理工作過程的內容和數據流程分析,設計如下所示的數據項和數據結構數據結構名稱卡信息含義說明是消費者這里指的是學生和教師用來使用付款的工具卡的一系列信息,它記錄了包括它本身以及持卡者的一些信息包括的數據項有1卡號(消費者使用的用來付款的卡的編號,與消費者辦卡的先后順序有關別名CARD_NUMBER字符型長度6)2余額(消費者卡中所剩的金錢數量,別名BALANCE字符型長度6)3辦卡日期(消費者辦卡的日期,別名CARD_DATE日期型長度8)4持卡者姓名(擁有信息卡的消費者的名稱,別名PERSON_NAME字符型長度10)5花費(消費者所消費的金錢數量別名CONSUME字符型長度20)數據結構名稱學生信息含義說明消費者群體之一,可以自由選擇消費方式,辦過卡用卡交易或者用現金交易包括的數據項有1學號(學生在校所編的號碼別名S_NUMBER字符型長度6)2系別(學生所在的系的名稱別名S_SYSTEM字符型長度16)3班級(學生所在的班級的班號別名CLASS字符型長度20)4姓名(學生的姓名別名S_NAME字符型長度10)5性別(學生的性別別名S_SEX字符型長度4)6宿舍(學生所在宿舍名稱別名S_DORM字符型長度20)7聯系方式(學生的手機號碼別名S_TEL字符型長度20)數據結構名稱教師信息含義說明消費者群體之一,可以自由選擇消費方式,辦過卡用卡交易或者用現金交易包括的數據項有1教師號(教師的編號別名T_NUMBER字符型長度6)2系別(教師所在的系的名稱別名T_SYSTEM字符型長度10)3姓名(教師的姓名別名T_NAME字符型長度6)4性別(教師的性別別名T_SEX字符型長度4)5家庭住址(教師的家庭住址別名ADDRESS字符型長度50)6聯系方式(教師的手機號碼別名T_TEL字符型長度20)數據結構名稱消費者含義說明來到食堂消費的人,這里指的是學生和教師包括的數據項有1消費序號(消費者來消費的序號別名CONSUMER_NUMBER字符型長度6)2姓名(消費者的姓名別名CONSUMER_NAME字符型長度10)3性別(消費者的性別別名CONSUMER_SEX字符型長度10)4消費類別(消費者消費的類別,其中包括卡消費和現金消費別名CONSUME_SORT字符型長度10)5消費者類別(消費者的類別,這里指學生或教師別名CONSUMER_SORT字符型長度10)數據結構名稱包房信息含義說明消費者訂餐的房間的信息包括的數據項有1房間編號(消費者訂餐房間所在的編號別名ROOM_NUMBER字符型長度6)2房間位置(消費者訂餐房間所在的房間位置別名ROOM_ADDRESS字符型長度20)數據結構名稱訂餐信息含義說明消費者在訂餐時所需要的信息包括的數據項有1訂餐編號(消費者訂餐的編號,以便管理別名BEAT_NUMBER字符型長度6)2顧客姓名(消費者的姓名別名CONSUMER_NAME字符型長度10)3聯系方式(消費者的聯系方式(手機號碼)別名CONSUMER_TEL字符型長度20)4約定時間(消費者訂餐時所約定的吃飯時間別名BOOKTIME日期型長度8)5備注信息(在訂餐時其他的信息別名REMARK_INFO文本型長度50)數據結構名稱消費情況含義說明消費者在食堂的消費總體情況,用于管理員的審查工作以及預算,計算成本利潤的工作。包括的數據項有1一樓窗口(一樓所有窗口一天內收入總和別名FLOOR_ONE字符型長度6)2二樓窗口(二樓所有窗口一天內收入總和別名FLOOR_TWO字符型長度6)3三樓窗口(三樓所有窗口一天內收入總和別名FLOOR_THREE字符型長度6)4一天消費總額(一天內在食堂用餐的消費者所花費的總額,它的數值等于所有樓層的收入與消費者在包房所花費的總額別名TOTAL長整型長度6)5日期(記錄的日期別名DATE日期型長度8)數據結構名稱管理員信息含義說明食堂的主要負責人以及采購員,管帳人員等的信息包括的數據項有1管理員編號(管理員在食堂的編號別名MANAGER_NUMBER字符型長度6)2姓名(管理員的姓名別名MANAGER_NAME字符型長度6)3性別(管理員的性別別名MANAGER_SEX字符型長度4)4家庭住址(管理員的家庭住址別名MANAGER_ADDRESS字符型長度50)5聯系方式(管理員的聯系方式別名MANAGER_TEL字符型長度20)6工資(管理員每個月的收入別名INCOME整型長度20)數據結構名稱庫存信息含義說明食堂的庫存中商品的信息包括的數據項有1商品編號(商品的編號別名TRADE_NO字符型長度20)2商品名稱(商品的名稱別名TRADE_NAME字符型長度20)3商品價格(商品所入庫時的價格別名PRICE整型長度4)4入庫商品數量(入庫時商品的數量別名ENTER_NUMBER整型長度4)5庫存商品數量(現在庫存的商品的數量別名STOCK_NUMBER整型長度4)6入庫時間(商品入庫的時間別名ENTERTIME日期型長度8)7出庫時間(商品出庫的時間別名OUTTIME日期型長度8)三、概念結構設計這一設計階段是在需求分析的基礎上,設計出能滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計。它是整個數據庫設計的關鍵。概念結構設計的特點是能真實、充分的反映現實世界,包括事物和事物的聯系,能滿足用戶對數據的處理要求,是對現實世界的一個真實的模型。易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫設計成功的關鍵。易于改正,當應用環境和應用要求改變時,易于對概念模型修改和擴充。易于向關系、網狀、層次等各種數據模型轉換。概念結構是各種數據模型的共同基礎,它比數據模型更獨立于機器、更抽象,從而更加穩定。概念結構是對現實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細節,并把這些特性用各種概念準確的加以描述。概念結構設計通常分為四種方法自頂向下,即首先定義全局概念結構的框架,然后逐步細化。自底向上,即首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構。逐步擴張,首先定義最重要的核心概念結構,然后向外擴張。混合策略,即自頂向下和自底向上結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。通常分為兩步,第一步是抽象數據并設計局部視圖,第二步是集成局部視圖,得到全局視圖。下面首先對實體和其屬性加以描述,再寫出系統的分ER圖,進而合并成為整體的ER圖。31構思ERD的四條原則原則1能獨立存在的事物,例如人、物、事、地、團體、機構、活動、事項等等,在其有多個由基本項描述的特性需要關注時,就應把它作為實體。原則2兩個或多個實體間的關聯與結合,如主管、從屬、組成、占有、作用、配合、協同等等,當需要予以關注時,應作為聯系。聯系通常是某類行為動作,ERD中關注的是其狀態與結果而非其過程。原則3實體的屬性是實體的本質特征。實體應有標識屬性(能把不同個體區分開來的屬性組),并指定其中一個作為主標識。聯系的屬性是聯系的結果或狀態。屬性具有如下幾個特點A非多值性;B非復合性;C非導出性。而實體的屬性還應有非關聯性。原則4(一事一地原則)所有基本項在同一ER圖中作為屬性要在僅在一個地方出現32設計ER圖根據上面的設計規劃出的實體有卡信息實體、學生信息實體、教師信息實體、消費者實體、包房信息實體、訂餐信息實體、消費情況實體、管理員信息實體。各個實體具體的描述ER圖及其之間的關系描述如下。321分ER圖圖31為卡信息實體ER圖卡信息卡號余額持卡者姓名辦卡日期花費圖32為學生信息實體ER圖學生信息學號系別班級姓名宿舍聯系方式性別圖33為教師信息實體ER圖教師信息教師號系別姓名家庭住址聯系方式性別圖34為消費者實體ER圖消費者消費類別消費者類別消費序號性別圖35為包房信息實體ER圖包房信息房間編號房間位置圖36為訂餐信息實體ER圖姓名訂餐信息訂餐編號顧客姓名聯系方式約定時間備注信息圖37為消費情況實體ER圖消費情況一樓窗口二樓窗口三樓窗口一天消費總額日期圖38為管理員信息實體ER圖管理員信息管理員編號姓名家庭住址聯系方式性別工資圖39為庫存信息實體ER圖出庫時間庫存信息入庫時間商品價格商品名稱入庫商品數量庫存商品數量商品編號圖310為管理員信息實體和庫存管理實體關系ER圖N1圖311為管理員信息實體、消費情況實體、消費者實體關系ER圖MNN1管理員信息管理員編號姓名聯系方式家庭住址性別庫存信息出庫時間管理入庫時間商品名稱入庫商品數量庫存商品數量工資商品價格商品編號管理員信息消費情況管理查詢聯系方式家庭住址姓名二樓窗口一樓窗口三樓窗口日期一天的消費總額管理員編號消費者消費消費者類別姓名消費類別消費序號性別性別工資圖312為訂餐信息實體、包房信息實體、消費者實體關系ER圖111N圖313為卡信息實體、學生信息實體、消費者實體關系ER圖N111包房信息訂餐信息消費者訂餐所在顧客姓名訂餐編號備注信息約定時間聯系方式房間編號房間位置消費者類別消費類別消費序號姓名性別學生信息卡信息屬于持有卡號余額辦卡日期持卡人姓名聯系方式班級學號姓名系別宿舍花費消費者消費類別消費者類別姓名消費序號性別性別工資商品價格商品名稱圖314為卡信息實體、教師信息實體、消費者實體關系ER圖N111322整體ER圖由上面的分ER圖可以得到整體ER圖,如下圖所示圖315為整體ER圖N111N管理員信息管理查詢消費情況包房信息訂餐信息學生信息卡信息教師信息消費者消費組成屬于使用持有訂餐所在管理員編號姓名聯系方式家庭住址一樓窗口二樓窗口一天的消費總額日期三樓窗口顧客姓名訂餐編號備注信息約定時間聯系方式房間編號房間位置消費者類別姓名消費類別卡號余額辦卡日期持卡人姓名聯系方式聯系方式家庭住址系別教師號姓名班級學號姓名系別宿舍花費消費序號庫存信息。出庫時間管理性別性別性別性別教師信息教師號系別家庭住址聯系方式屬于持有姓名卡信息持卡人姓名卡號余額辦卡日期花費消費者消費類別姓名消費序號消費者類別性別性別MN1N111NN1111四、邏輯結構設計現在需要把上面設計好的數據庫概念結構轉化為SQLSERVER2000數據庫系統所支持的實際數據庫模型,也就是數據庫的邏輯結構。41一般邏輯模型設計411由ERD導出一般關系模型的四條原則原則1ER圖中的每一個獨立實體變換為一個關系,其屬性變為關系的屬性,其主標識變為關系的主碼。原則2ER圖中的從實體及相應的“的”聯系變換為一個關系,從實體的屬性加上主體關系的主碼構成這個關系的屬性。如果“的”聯系是11的,則以主實體關系的主碼(作為外來碼)為這個關系的主碼;如果“的”聯系是1M的,則以主實體關系的主碼加上同一主實體個體聯系的不同從屬實體個體賴以相互區分的屬性組,組成該關系的主碼。原則31M聯系通過在“多”實體關系中增加相聯系的“1”實體關系的主碼及聯系本身的屬性來表達。其中“1”實體主碼為外來碼。原則4MM聯系轉換成一個獨立的關系,被聯系實體關系的主碼(作為外來碼)和聯系本身的屬性作為該關系的屬性,被聯系實體關系的主碼組成其復合主碼。412數據庫初步的關系框架(ER圖向關系模型轉化)最多關系模型轉化庫存信息(商品編號商品名稱商品價格入庫商品數量庫存商品數量入庫時間出庫時間)管理(商品名稱管理員編號)管理員信息(管理員編號姓名性別家庭住址聯系方式工資)管理查詢(管理員編號日期)消費情況(日期一樓窗口二樓窗口三樓窗口一天消費總額)消費(日期消費序號)消費者(消費序號姓名性別消費類別消費者類別)訂餐(訂餐編號消費序號)訂餐信息(訂餐編號顧客姓名聯系方式約定時間備注信息)所在(訂餐編號房間編號)包房信息(房間編號房間位置)屬于(學號消費序號)組成(教師號消費序號)學生信息(學號系別班級姓名性別宿舍聯系方式)使用(卡號學號)卡信息(卡號余額辦卡日期持卡者姓名花費)持有(卡號教師號)教師信息(教師號系別姓名性別家庭住址聯系方式)最少關系模型轉化庫存信息(商品編號商品名稱商品價格入庫商品數量庫存商品數量入庫時間出庫時間管理員編號)管理員信息(管理員編號姓名性別家庭住址聯系方式工資)管理查詢(管理員編號日期)消費情況(日期一樓窗口二樓窗口三樓窗口一天消費總額消費序號)消費者(消費序號姓名性別消費類別消費者類別)訂餐信息(訂餐編號顧客姓名聯系方式約定時間備注信息消費序號房間編號)包房信息(房間編號房間位置)學生信息(學號系別班級姓名性別宿舍聯系方式消費序號)卡信息(卡號余額辦卡日期持卡者姓名花費學號教師號)教師信息(教師號系別姓名性別家庭住址聯系方式消費序號)413數據模型優化數據庫邏輯設計的結果不是唯一的,為了進一步提高數據庫應用系統的性能,還應該根據應用需要適當地修改、調整數據模型的結構,這就是數據模型的優化。關系數據模型的優化通常以規范化理論為指導,方法為1、確定數據依賴2、對于各個關系模式之間的數據依賴進行極小化處理,消除冗余的聯系冗余數據和冗余聯系容易破壞數據為的完整性,給數據庫維護增加困難,應當予以消除。經過規范化理論得出,原關系模式之間的數據依賴已經達到極小化,沒有冗余的聯系,消除冗余的ER圖稱為基本ER圖3、按照數據依賴的理論對關系模式逐一進行分析,考察是否存在部分函數依賴,傳遞函數依賴,多值依賴等,確定各關系模式分別屬于第幾范式。4、按照需求分析階段得到的處理要求,分析對于這樣的應用環境這些模式是否合適,確定是否要對某些模式進行合并或分解。5、對關系模式進行必要的分解,提高數據操作的效率和存儲空間的利用率。根據需求分析階段系統的功能分析,這樣的應用環境,這些模式可以完成包括消費者信息管理,預訂信息管理,成本核算管理,審查工作,庫存管理這些模塊的要求,分析結果中可在設計用戶子模式中對不同級別的用戶定義不同的VIEW。優化后的關系模式庫存信息(商品編號商品名稱商品價格入庫商品數量庫存商品數量入庫時間出庫時間管理員編號)管理員信息(管理員編號姓名性別家庭住址聯系方式工資)管理查詢(管理員編號日期)消費情況(日期一樓窗口二樓窗口三樓窗口一天消費總額消費序號)消費者(消費序號姓名性別消費類別消費者類別)訂餐信息(訂餐編號顧客姓名聯系方式約定時間備注信息消費序號房間編號)包房信息(房間編號房間位置)屬于(學號消費序號)組成(教師號消費序號)學生信息(學號系別班級姓名性別宿舍聯系方式)使用(卡號學號)卡信息(卡號余額辦卡日期持卡者姓名花費)持有(卡號教師號)教師信息(教師號系別姓名性別家庭住址聯系方式)42具體邏輯模型設計在上面的實體以及實體之間關系的基礎上,形成數據庫中的表格以及各個表格之間的關系。食堂管理系統數據庫中各個表格的設計結果如下面的幾個表格所示。每個表格表示在數據庫中的一個表。表41為創建庫存信息表STOCK創建庫存信息表STOCK列名數據類型可否為空說明聲明TRADE_NOVARCHAR20NOTNULL商品編號主鍵TRADE_NAMEVARCHAR20NULL商品名稱建立聚簇索引PRICEINT4NULL商品價格ENTER_NUMBERINT4NULL入庫商品數量STOCK_NUMBERINT4NULL庫存商品數量建立聚簇索引ENTERTIMEDATETIME8NULL入庫時間建立唯一索引OUTTIMEDATETIME8NULL出庫時間MANAGER_NUMBERVARCHAR6NOTNULL管理員編號外鍵表42為創建管理員信息表MANAGER創建管理員信息表MANAGER列名數據類型可否為空說明聲明MANAGER_NUMBERVARCHAR6NOTNULL管理員編號主鍵MANAGER_NAMEVARCHAR6NOTNULL姓名MANAGER_SEXVARCHAR4NULL性別MANAGER_ADDRESSVARCHAR50NULL家庭住址MANAGER_TELVARCHAR20NULL聯系方式INCOMEINTNULL工資表43為創建消費情況表CONSUMESITUATION創建消費情況表CONSUMESITUATION列名數據類型可否為空說明聲明DATEDATETIMENOTNULL日期主鍵建立唯一索引TOTALBIGINTNULL一天消費總額建立聚簇索引FLOOR_ONEVARCHAR6NULL一樓窗口FLOOR_TWOVARCHAR6NULL二樓窗口FLOOR_THREEVARCHAR6NULL三樓窗口CONSUMER_NUMBERVARCHAR6NOTNULL消費序號外鍵表44為創建消費者表CONSUMER創建消費者表CONSUMER列名數據類型可否為空說明聲明CONSUMER_NUMBERVARCHAR6NOTNULL消費序號主鍵CONSUMER_NAMEVARCHAR10NOTNULL姓名CONSUMER_SEXVARCHAR4NULL性別CONSUME_SORTVARCHAR10NULL消費類別CONSUMER_SORTVARCHAR10NULL消費者類別表45為創建訂餐信息表BOOK_EAT創建訂餐信息表BOOK_EAT列名數據類型可否為空說明聲明BEAT_NUMBERVARCHAR6NOTNULL訂餐編號主鍵CONSUMER_NAMEVARCHAR10NOTNULL顧客姓名建立聚簇索引CONSUMER_TELVARCHAR20NULL聯系方式BOOKTIMEDATETIME8NULL約定時間建立聚簇索引REMARK_INFOTEXT50NULL備注信息CONSUMER_NUMBERVARCHAR6NOTNULL消費序號外鍵建立唯一索引ROOM_NUMBERVARCHAR6NOTNULL房間編號外鍵表46為創建包房信息表ROOMINFO創建包房信息表ROOMINFO列名數據類型可否為空說明聲明ROOM_NUMBERVARCHAR6NOTNULL房間編號主鍵ROOM_ADDRESSVARCHAR20NOTNULL房間位置表47為創建學生信息表STUDENT創建學生信息表STUDENT列名數據類型可否為空說明聲明S_NUMBERVARCHAR6NOTNULL學號主鍵S_NAMEVARCHAR10NOTNULL姓名建立聚簇索引S_SEXVARCHAR4NULL性別CLASSVARCHAR20NULL班級S_SYSTEMVARCHAR16NULL系別S_DORMVARCHAR20NULL宿舍S_TELVARCHAR20NULL聯系方式表48為創建卡信息表CARD創建卡信息表CARD列名數據類型可否為空說明聲明CARD_NUMBERVARCHAR6NOTNULL卡號主鍵建立唯一索引BALANCEVARCHAR6NOTNULL余額建立聚簇索引CARD_DATEDATETIME(8)NULL辦卡日期PERSON_NAMEVARCHAR10NULL持卡者姓名CONSUMEVARCHAR20NULL花費建立聚簇索引表49為創建教師信息表TEACHER創建教師信息表TEACHER列名數據類型可否為空說明聲明T_NUMBERVARCHAR6NOTNULL教師號主鍵T_NAMEVARCHAR6NOTNULL姓名建立聚簇索引T_SEXVARCHAR4NULL性別T_SYSTEMVARCHAR20NULL系別ADDRESSVARCHAR20NULL家庭住址T_TELVARCHAR50NULL聯系方式表410為創建管理查詢表MANAGE創建管理查詢表MANAGE列名數據類型可否為空說明MANAGER_NUMBERVARCHAR6NOTNULL管理員編號DATEDATETIMENOTNULL日期表411為創建屬于表ATTRIBUTE創建屬于表ATTRIBUTE列名數據類型可否為空說明S_NUMBERVARCHAR6NOTNULL學號CONSUMER_NUMBERVARCHAR6NOTNULL消費序號表412為創建組成表COMPOSE創建組成表COMPOSE列名數據類型可否為空說明T_NUMBERVARCHAR6NOTNULL教師號CONSUMER_NUMBERVARCHAR6NOTNULL消費序號表413為創建使用表USE創建使用表USE列名數據類型可否為空說明S_NUMBERVARCHAR8NOTNULL學號CARD_NUMBERVARCHAR6NOTNULL卡號表414為創建持有表HOLD創建持有表HOLD列名數據類型可否為空說明CARD_NUMBERVARCHAR6NOTNULL卡號T_NUMBERVARCHAR6NOTNULL教師號43設計用戶子模式將概念模型轉換為全局邏輯模型后,還應該根據局部應用需求,結合具體DBMS的特點,設計用戶的外模式。目前關系數據庫管理系統一般都提供了視圖(VIEW)概念,可以利用這一功能設計更符合局部用戶需要的用戶外模式。定義數據庫全局模式主要是從系統的時間效率、空間效率、易維護等角度出發。由于用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以注重考慮用戶的習慣與方便。包括1使用更符合用戶習慣的別名。在合并各分ER圖時,曾做了消除命名沖突的工作,以使數據庫系統中同一關系和屬性具有唯一的名字。這在設計數據庫整體結構時是非常必要的。用VIEW機制可以在設計用戶VIEW時重新定義某些屬性名,使其與用戶一致,以方便使用。2可以對不同級別的用戶定義不同的VIEW,以保證系統的安全性。3簡化用戶對系統的使用。如果某些局部應用中經常要使用某些很復雜的查詢,為了方便用戶,可以將這些復雜查詢定義為視圖,用戶每次只對定義好的視圖進行查詢,大大簡化了用戶的使用消費者查詢信息所建立的視圖1消費者查詢自己卡中余額學生查詢視圖S_BALANCE教師查詢視圖T_BALANCE2消費者查詢自己的訂餐信息管理員查詢信息所建立的視圖1食堂買商品所需金錢數量2食堂每個月發給職工的工資總和3管理員查詢消費者信息查詢學生的信息查詢教師的信息五、物理結構設計數據庫在物理設備上的存儲結構與存取方法稱為數據庫物理的物理結構,它依賴于選定的數據庫管理系統。為一個給定的邏輯數據模型選取最適合應用要求的物理結構的過程,就是數據庫的物理設計。數據庫的物理設計通常分為兩步1確定數據庫的物理結構,在關系數據庫中主要指存取方法和存儲結構;2對物理結構進行評價,評價的重點是時間和空間效率。如果評價結果滿足原設計要求,則可進入到物理實施階段,否則,就需要重新設計或修改物理結構,有時甚至要返回邏輯設計階段修改數據模型。61建立索引建立索引是加快查詢速度的有效手段。用戶可以根據應用環境的需要,在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。一般來說,建立與刪除索引由數據庫管理員DBA或表的屬主(OWNER),即建立表的人,負責完成。系統在存取數據時會自動選擇合適的索引作為存取路徑,用戶不必也不能顯示地選擇索引。索引的選擇方法,一般來說1如果一個或一組屬性經常在查詢條件中出現,則考慮在這個或這組屬性上建立索引或組合索引;2如果一個屬性經常作為最大值或最小值等聚集函數的參數,則考慮在這個屬性上建立索引;由上所述建立以下索引為庫存信息表STOCK建立索引1按TRADE_NAME,STOCK_NUMBER,建立聚簇索引,2按ENTERTIME升序,建立唯一索引為消費情況表CONSUMESITUATION建立索引1按TOTAL建立聚簇索引2按DATE升序,建立唯一索引為訂餐信息表BOOK_EAT建立索引1按CONSUMER_NAME,BOOKTIME建立聚簇索引2按CONSUMER_NUMBER升序,建立唯一索引為卡信息表CARD建立索引1按BALANCE,CONSUME建立聚簇索引2按CARD_NUMBER升序,建立唯一索引為學生信息表STUDENT建立索引1按S_NAME建立聚簇索引為學生信息表TEACHER建立索引1按T_NAME建立聚簇索引62建立觸發器觸發器(TRIGGER)是用戶定義在表上的一類由事件驅動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務器自動激活相應得觸發器,在DBMS核心層進行集中的完整性控制。觸發器類似于約束,但是比約束更加靈活,可以實施比FOREIGNKEY約束,CHECK約束更為復雜的檢查和操作,具有更精細和更強大的數據控制能力。觸發器的執行,是由觸發事件激活的,并由數據庫服務器自動執行的。一個數據表上可能定義了多個觸發器,比如BEFORE觸發器,多個AFTER觸發器等。同一個表上的多個觸發器激活時遵循如下執行順序(1)執行該表上的BEFORE觸發器;(2)激活觸發器的SQL語句;(3)執行該表上的AFTER觸發器。對于同一個表上的多個BEFORE(AFTER)觸發器,遵循“誰先創建誰先執行”的原則,即按照觸發器創建的先后順序執行。有些RDBMS是按照觸發器的名稱的字母排序順序執行觸發器。定義AFTER行級觸發器,當管理員表MANAGER的工資發生變化后就自動在工資變化表INC_LOG中增加一條相應的記錄首先建立工資變化表INC_LOGCREATETABLEINC_LOGMANAGER_NUMBERVARCHAR6REFERENCESMANAGERMANAGER_NUMBER,INCOMEINT,MANAGER_NAMEVARCHAR6,DATETIMESTAMP接著建立觸發器INSERT_INCCREATETRIGGERINSERT_INCAFTERINSERTONMANAGERFOREACHROWASBEGININSERTINTOINC_LOGVALUESNEWMANAGER_NUMBER,NEWINCOME,CURRENT_USER,CURRENT_TIMESTAMPENDCREATETRIGGERUPDATE_INCAFTERUPDATEONMANAGERFOREACHROWASBEGINIFNEWINCOMEOLDINCOMETHENINSERTINTOINC_LOGVALUESNEWMANAGER_NUMBER,NEWINCOME,CURRENT_USER,CURRENT_TIMESTAMPENDIFEND六、數據庫結構的實現經過前面的系統需求分析和概念結構設計以后,得到數據庫邏輯結構,數據庫物理結構。現在就可以在SQLSERVER2000數據庫系統中,實現上面設計的數據庫結構。這一步是利用SQLSERVER2000數據庫系統中的SQL查詢分析器實現的。61數據定義關系數據庫系統支持三級模式結構,其模式、外模式和內模式中的基本對象有表、視圖和索引。因此SQL的數據定義功能包括模式定義、表定義、視圖和索引的定義,如下表所示。表61SQL的數據定義語句操作方式操作對象創建刪除修改表CREATETABLEDROPTABLE視圖CREATEVIEWDROPVIEWALTERTABLE索引CREATEINDEXDROPINDEX611創建表格SQL語句下面給出創建這些表格的SQL語句1為創建庫存信息表STOCKCREATETABLESTOCKTRADE_NOVARCHAR20PRIMARYKEY,TRADE_NAMEVARCHAR20,PRICEINT,ENTER_NUMBERINT,STOCK_NUMBERINT,ENTERTIMEDATETIME,OUTTIMEDATETIME,MANAGER_NUMBERVARCHAR6NOTNULL,FOREIGNKEYMANAGER_NUMBERREFERENCESMANAGERMANAGER_NUMBER,2為創建管理員信息表MANAGERCREATETABLEMANAGERMANAGER_NUMBERVARCHAR6PRIMARYKEY,MANAGER_NAMEVARCHAR6NOTNULL,MANAGER_SEXVARCHAR4,MANAGER_ADDRESSVARCHAR50,MANAGER_TELVARCHAR20,INCOMEINT3為創建消費情況表CONSUMESITUATIONCREATETABLECONSUMESITUATIONDATEDATETIMEPRIMARYKEY,TOTALBIGINTNOTNULL,FLOOR_ONEVARCHAR6,FLOOR_TWOVARCHAR6,FLOOR_THREEVARCHAR6,CONSUMER_NUMBERVARCHAR6NOTNULL,FOREIGNKEYCONSUMER_NUMBERREFERENCESCONSUMERCONSUMER_NUMBER,4為創建消費者表CONSUMERCREATETABLECONSUMERCONSUMER_NUMBERVARCHAR6PRIMARYKEY,CONSUMER_NAMEVARCHAR10NOTNULL,CONSUMER_SEXVARCHAR4,CONSUME_SORTVARCHAR10,CONSUMER_SORTVARCHAR10,5為創建訂餐信息表BOOK_EATCREATETABLEBOOK_EATBEAT_NUMBERVARCHAR6PRIMARYKEY,CONSUMER_NAMEVARCHAR10NOTNULL,CONSUMER_TELVARCHAR20,BOOKTIMEDATETIME,REMARK_INFOTEXT,CONSUMER_NUMBERVARCHAR6NOTNULL,ROOM_NUMBERVARCHAR6NOTNULL,FOREIGNKEYCONSUMER_NUMBERREFERENCESCONSUMERCONSUMER_NUMBER,FOREIGNKEYROOM_NUMBERREFERENCESROOMINFOROOM_NUMBER,6為創建包房信息表ROOMINFOCREATETABLEROOMINFOROOM_NUMBERVARCHAR6PRIMARYKEY,ROOM_ADDRESSVARCHAR20NOTNULL,7為創建學生信息表STUDENTCREATETABLESTUDENTS_NUMBERVARCHAR8PRIMARYKEY,S_NAMEVARCHAR10NOTNULL,S_SEXVARCHAR4,CLASSVARCHAR20,S_SYSTEMVARCHAR16,S_DORMVARCHAR20,S_TELVARCHAR20,8為創建卡信息表CARDCREATETABLECARDCARD_NUMBERVARCHAR6PRIMARYKEY,BALANCEVARCHAR6NOTNULL,CARD_DATEDATETIME,PERSON_NAMEVARCHAR10,CONSUMEVARCHAR20,9為創建教師信息表TEACHERCREATETABLETEACHERT_NUMBERVARCHAR6PRIMARYKEY,T_NAMEVARCHAR6NOTNULL,T_SEXVARCHAR4,T_SYSTEMVARCHAR20,ADDRESSVARCHAR20,T_TELVARCHAR50,10為創建管理查詢表MANAGECREATETABLEMANAGEMANAGER_NUMBERVARCHAR6NOTNULL,DATEDATETIMENOTNULL,PRIMARYKEYMANAGER_NUMBER,DATE,FOREIGNKEYMANAGER_NUMBERREFERENCESMANAGERMANAGER_NUMBER,FOREIGNKEYDATEREFERENCESCONSUMESITUATIONDATE11為創建屬于表ATTRIBUTECREATETABLEATTRIBUTES_NUMBERVARCHAR8NOTNULL,CONSUMER_NUMBERVARCHAR6NOTNULL,PRIMARYKE

溫馨提示

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

評論

0/150

提交評論