




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.自助餐管理系統(tǒng)詳細設計說明書一、引言1.1 背景與目的隨著一些公司的規(guī)模不斷擴大, 公司后勤管理工作也日趨繁雜。 許多大型公司擁有自己的食堂, 這些食堂要實現(xiàn)統(tǒng)一的協(xié)調(diào)管理, 就不得不借助現(xiàn)代化的管理模式網(wǎng)絡管理模式。由于某公司為了提高職工的福利待遇, 規(guī)定每個員工每天可以在職工食堂用餐兩次(每餐 3 元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐兩次。月底進行核算,如果用餐次數(shù)不足,餐費不退還職工。公司根據(jù)實際的用餐次數(shù)支付食堂餐費。根據(jù)題目要求, 需要設計并創(chuàng)建該公司的自助餐管理系統(tǒng), 這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩, 從而使管理者能夠準確, 有
2、效的管理餐飲。1.2 后臺數(shù)據(jù)庫 sql sever 2008 簡介sql 全稱是“數(shù)據(jù)化查詢語言” ,其結(jié)構簡單,功能強大,簡單易學,所以自從 ibm 公司 1981 年推出以來, sql語言得到了廣泛的應用。sql語言是高級的非過程化編輯語言,允許用戶在高層數(shù)據(jù)結(jié)構上工作。sql語言不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構的不同數(shù)據(jù)庫可以使用相同的sql語言作為數(shù)據(jù)輸入與管理的接口。 它以記錄集合作為操縱對象, 所有 sql語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條sql 語句的輸出作為另一條sql語句的輸入,所以 sq
3、l語言可以嵌套,這使它具有極大的靈活性和強大的功能,在多數(shù)情況下, 在其他語言中需要一大段程序?qū)崿F(xiàn)的一個單獨事件只需要一個 sql語句就可以達到目的,這也意味著用sql語言可以寫出非常復雜的語句。二、系統(tǒng)需求分析隨著 21 世紀的到來,人們深切的感受到了計算機在生活和工作中的作用,.越來越多職業(yè)需要具有計算機的應用技能。 掌握計算機是職業(yè)的需要, 更是事業(yè)發(fā)展的需要。信息在社會和經(jīng)濟的發(fā)展中所起的作用越來越為人們所重視。 信息資源的開發(fā)利用水平已成為衡量一個國家綜合國力的重要標志之一。 在計算機的三大主要應用領域(科學計算、數(shù)據(jù)處理與過程控制)中,數(shù)據(jù)處理的比重占 70%左右。計算機作為信息處
4、理的工具, 為適應數(shù)據(jù)處理需求的迅速提高, 滿足各類系統(tǒng)對數(shù)據(jù)處理的要求,在文件系統(tǒng)的基礎上發(fā)展起了數(shù)據(jù)庫系統(tǒng)。隨著計算機技術的飛速發(fā)展, 計算機在企業(yè)管理中應用及普及, 利用計算機實現(xiàn)企業(yè)信息管理勢在必行。 本課題以企業(yè)食堂為對象, 作為要面對大量的課程設計項目及相關信息的處理, 這就需要一個課程設計管理系統(tǒng)來提高管理工作的效率。通過本系統(tǒng),可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理工作方面的工作量。數(shù)據(jù)處理工作已深入到我們工作和生活的方方面面, 而數(shù)據(jù)庫技術是數(shù)據(jù)處理必不可少的手段。 隨著數(shù)據(jù)庫技術的發(fā)展, 面向?qū)ο蟮臄?shù)據(jù)庫、 分布式數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、 數(shù)據(jù)庫開發(fā)工具的研
5、究方興未艾, 這些技術的發(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ù)關系分析數(shù)據(jù)、客觀預測未來;(4)向各級管理機構提供不同詳細程度的報告,縮短分析和解釋的時間;(5)用
6、最低的費用最短的時間提供盡可能精確、可靠的信息,以便使決策者選擇最佳的實施方案,以提高企業(yè)的經(jīng)濟效益。2.1 系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務是受用計算機信息管理技術,實現(xiàn)公司的自助餐管理各種信息的系統(tǒng)化,規(guī)范化,自動化,提高公司食堂管理的效率。.對應用系統(tǒng)項目的開發(fā), 首先要對程序要實現(xiàn)的功能和目標進行整體分析和規(guī)劃,確保在后期開發(fā)中不會出現(xiàn)遺漏或重大缺陷。 因此在軟件開發(fā)中, 要嚴格按照軟件工程的流程進行系統(tǒng)的分析和設計系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基本上實現(xiàn)的。主要功能:(1)職工信息管理;(2)職工食堂信息管理;(3)成本核算管理。其中主要任務為職工信息管理和成本核算管理??偟墓δ?/p>
7、特點:完善、全面的綜合查詢;報表翔實,實用性強;2.1.1子模塊功能分析職工信息管理: 對來自客戶端的不同用戶進行權限審查, 限定對數(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)功能模塊設計對上述各項功
8、能進行集中、 分塊分析, 按照結(jié)構化程序設計的要求,得到如圖所示的這個系統(tǒng)的功能模塊圖。2.2.1 系統(tǒng)功能管理模塊圖 2-42.3 數(shù)據(jù)流圖數(shù)據(jù)流程圖是組織中信息運動的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。它可以綜合的反映出信息在系統(tǒng)中的流動、處理和存儲情況, 具有良好的抽象性和概括性。它在調(diào)查的基礎上,從系統(tǒng)的科學性、管理的合理性、實際運行的可行性角度出發(fā), 將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確地描述系統(tǒng)應具有的數(shù)據(jù)輸入、數(shù)據(jù)加工、數(shù)據(jù)輸出、 數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實體)等項目。數(shù)據(jù)流程圖和系統(tǒng)的物理描述無關,它所描.述的內(nèi)容不涉及技術細節(jié), 而是面向用
9、戶的, 即使完全不懂信息技術的用戶也容易理解。因此,數(shù)據(jù)流程圖成為系統(tǒng)分析員與用戶進行交流的有效手段, 同時也成為系統(tǒng)設計的主要依據(jù)之一。用戶的需求具體體現(xiàn)在各種信息的提供、 保存、更新和查詢等方面, 這就要求數(shù)據(jù)庫結(jié)構能充分滿足各種信息的輸入和輸出。 收集基本數(shù)據(jù)、 數(shù)據(jù)結(jié)構及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為數(shù)據(jù)庫的具體設計打下基礎。數(shù)據(jù)流圖表達了數(shù)據(jù)和處理之間的關系。 數(shù)據(jù)流圖是有層次之分的, 越高層次的數(shù)據(jù)流圖表現(xiàn)的業(yè)務邏輯越抽象, 越底層次的數(shù)據(jù)流圖表現(xiàn)得業(yè)務邏輯越具體。在仔細的分析調(diào)查有關食堂管理信息需求的基礎上, 得到如下圖所示的這個系統(tǒng)所處理的數(shù)據(jù)流程。根據(jù)以上的分析,
10、 我們可以先畫出分流程圖, 然后可以綜合分流程圖, 畫出整個系統(tǒng)操作的業(yè)務流程圖 。2.3.1 交易數(shù)據(jù)流圖圖 2-5.2.3.2整體流圖整體流圖簡圖:圖 2-62.4 可行性分析可行性分析是系統(tǒng)分析階段的重要活動,是對系統(tǒng)進行全面、概要的分析。它的任務是確定項目開發(fā)是否必要和可行。 它的主要目標是: 進一步明確系統(tǒng)的目標、規(guī)模和功能,對系統(tǒng)開發(fā)背景、必要性和意義進行調(diào)查分析,并根據(jù)需要和可能提出擬開發(fā)系統(tǒng)的初步方案和計劃, 明確問題,對所提供系統(tǒng)大致規(guī)模和目標的幾個有關約束條件進行論證,并且提出系統(tǒng)的邏輯模型和各種可能的方案,從而為系統(tǒng)開發(fā)項目的決策提供科學依據(jù)。其主要從三個方面進行研究:技
11、術可行性:對現(xiàn)有技術進行評價, 以明確能否利用現(xiàn)有技術進行系統(tǒng)開發(fā)及系統(tǒng)實施。計算機網(wǎng)絡技術的發(fā)展和計算機硬件性價比的不斷提升, 使計算機全面應用于醫(yī)院管理的各個環(huán)節(jié)成為可能。 c/s 開發(fā)模式、 com、dcom技術在國內(nèi)各行各業(yè)的信息管理系統(tǒng)開發(fā)中已經(jīng)被廣泛采用, 實踐證明這些技術都非常適合食堂管理系統(tǒng)的開發(fā)。經(jīng)濟可行性: 對組織的經(jīng)濟狀況和投資能力進行分析, 對系統(tǒng)建設、 運行和維護費用進行評估, 對系統(tǒng)建成后可能取得的社會及經(jīng)濟效益進行估計。 連鎖餐.飲企業(yè)整體規(guī)模龐大, 個體規(guī)模小而營管理相對簡單統(tǒng)一,開發(fā)成本不高, 一旦開發(fā)成功,即能直接應用在所有同種食堂。營運可行性:指系統(tǒng)對組織
12、機構的影響,對現(xiàn)有人員和機構、設施、環(huán)境等的適應性以及進行人員培訓補充計劃的可行性。連鎖餐飲企業(yè)整體規(guī)模龐大, 個體規(guī)模小而營管理相對簡單統(tǒng)一。所以食堂系統(tǒng)的計算機信息管理人才、計算機硬件設備、操作員的計算機應用能力都為系統(tǒng)的運行過程提供了可靠保證。2.5 數(shù)據(jù)字典由于數(shù)據(jù)流程圖只是對數(shù)據(jù)處理及彼此之間的聯(lián)系進行說明, 未對數(shù)據(jù)的詳細內(nèi)容及數(shù)據(jù)的加工過程進行說明, 而這正是數(shù)據(jù)字典所要表達的。 數(shù)據(jù)字典是關于數(shù)據(jù)信息的集合, 也就是對數(shù)據(jù)流程圖中包含的所有元素的定義的集合。 它能將數(shù)據(jù)流程圖中全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素、 數(shù)據(jù)存儲、數(shù)據(jù)加工等描述清楚,便于后續(xù)工作系統(tǒng)設計的進行。 數(shù)據(jù)字
13、典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。 數(shù)據(jù)字典通常包括數(shù)據(jù)項、數(shù)據(jù)結(jié)構、數(shù)據(jù)流、數(shù)據(jù)存諸和處理過程 5 個部分。其中數(shù)據(jù)項是最小組成單位,若干數(shù)據(jù)項組成一個數(shù)據(jù)結(jié)構, 數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲和邏輯內(nèi)容。針對一般食堂管理信息系統(tǒng)的需求, 通過對食堂管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構:數(shù)據(jù)結(jié)構名稱:職工用餐卡信息含義說明:這里指的是職工用來使用付款的工具卡的一系列信息, 它記錄了包括它本身以及持卡者的一些信息包括的數(shù)據(jù)項有:1) 卡號(消費者使用的用來付款的卡的編號,與消費者辦卡的先后順序有
14、關別名 card_number字符型長度 6)2) 余額 ( 今日剩余用餐量 )(消費者卡中所剩的金錢數(shù)量,別名balance字符型長度 6 )3) 辦卡日期(消費者辦卡的日期別名 card_date日期型長度 8 ).4) 持卡者姓名(擁有信息卡的消費者的名稱別名 person_name字符型長度 10 )5) 花費(用餐次數(shù)統(tǒng)計)(消費者所消費的金錢數(shù)量別名 consume字符型長度 20 )數(shù)據(jù)結(jié)構名稱:員工信息含義說明:消費者群體之一, 可以自由選擇消費方式, 辦過卡用卡交易或者用現(xiàn)金交易包括的數(shù)據(jù)項有1)工號 :( 職工在公司所編的號碼別名 s_number字符型 長度 6)2)部門
15、 :( 職工所在的部門的名稱別名 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é)構設計這一設計階段是在需求分析的基礎上,設計出能滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結(jié)構設計打下基礎。將需求分析得到的用戶需求抽象為信息結(jié)構即概念模型的過程就是概念結(jié)構設計。它
16、是整個數(shù)據(jù)庫設計的關鍵。概念結(jié)構設計的特點是能真實、 充分的反映現(xiàn)實世界, 包括事物和事物的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求, 是對現(xiàn)實世界的一個真實的模型。 易于理解,從而可以用它和不熟悉計算機的用戶交換意見, 用戶的積極參與是數(shù)據(jù)庫設計成功的關鍵。易于改正,當應用環(huán)境和應用要求改變時, 易于對概念模型修改和擴充。易于向關系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構是各種數(shù)據(jù)模型的共同基礎,它比數(shù)據(jù)模型更獨立于機器、更抽象,從而更加穩(wěn)定。概念結(jié)構是對現(xiàn)實世界的一種抽象。 所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念準確的加以描述
17、。.概念結(jié)構設計通常分為四種方法:自頂向下,即首先定義全局概念結(jié)構的框架,然后逐步細化。自底向上,即首先定義各局部應用的概念結(jié)構,然后將它們集成起來,得到全局概念結(jié)構。逐步擴張,首先定義最重要的核心概念結(jié)構,然后向外擴張。 混合策略,即自頂向下和自底向上結(jié)合,用自頂向下策略設計一個全局概念結(jié)構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結(jié)構。通常分為兩步,第一步是抽象數(shù)據(jù)并設計局部視圖,第二步是集成局部視圖,得到全局視圖。下面首先對實體和其屬性加以描述,再寫出系統(tǒng)的分e-r 圖,進而合并成為整體的 e-r 圖。3.1 構思 erd的四條原則原則 1:能獨立存在的事物,例如人、物、事、
18、地、團體、機構、活動、事項等等,在其有多個由基本項描述的特性需要關注時,就應把它作為實體。原則 2:兩個或多個實體間的關聯(lián)與結(jié)合,如主管、從屬、組成、占有、作用、配合、協(xié)同等等,當需要予以關注時,應作為聯(lián)系。聯(lián)系通常是某類行為動作, erd中關注的是其狀態(tài)與結(jié)果而非其過程。原則 3:實體的屬性是實體的本質(zhì)特征。實體應有標識屬性(能把不同個體區(qū)分開來的屬性組),并指定其中一個作為主標識。聯(lián)系的屬性是聯(lián)系的結(jié)果或狀態(tài)。屬性具有如下幾個特點:a. 非多值性; b. 非復合性; c. 非導出性。而實體的屬性還應有非關聯(lián)性。原則 4:(一事一地原則):所有基本項在同一e-r 圖中作為屬性要在僅在一個地方
19、出現(xiàn)3.2 設計 e-r 圖根據(jù)上面的設計規(guī)劃出的實體有: 卡信息實體、員工信息實體、消費者實體、包房信息實體、訂餐信息實體、消費情況實體、管理員信息實體。各個實體具體的描述 e-r 圖及其之間的關系描述如下。.3.2.1 分 e-r 圖圖 3-1 為卡信息實體e-r圖圖 3-2 為職工信息實體e-r圖圖 3-3 為消費情況實體e-r圖.圖 3-4 為卡信息實體、職工信息實體、消費者實體關系e-r圖四、邏輯結(jié)構設計現(xiàn)在需要把上面設計好的數(shù)據(jù)庫概念結(jié)構轉(zhuǎn)化為sqlserver 2008 數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)庫模型, 也就是數(shù)據(jù)庫的邏輯結(jié)構。 先對數(shù)據(jù)庫進行結(jié)構設計,最終導出物理結(jié)構模型和邏
20、輯結(jié)構模型,并生成sqlserver 2008 數(shù)據(jù)庫文件。4.1一般邏輯模型設計4.1.1由 erd導出一般關系模型的四條原則原則 1:e-r 圖中的每一個獨立實體變換為一個關系,其屬性變?yōu)殛P系的屬性,其主標識變?yōu)殛P系的主碼。原則 2:e-r 圖中的從實體及相應的主從聯(lián)系變換為一個關系,從實體的屬性加上主體關系的主碼構成這個關系的屬性。主從聯(lián)系是1:1 的,則以主實體關系的主碼(作為外碼)為這個關系的主碼;主從聯(lián)系是1:m的,則以主實體關系的主碼加上同一主實體個體聯(lián)系的不同從屬實體個體賴以相互區(qū)分的屬性組,組成該關系的主碼。.原則 3:1:m聯(lián)系通過在“多”實體關系中增加相聯(lián)系的“1”實體關
21、系的主碼及聯(lián)系本身的屬性來表達。其中“1”實體主碼為外來碼。原則 4:m:m聯(lián)系轉(zhuǎn)換成一個獨立的關系,被聯(lián)系實體關系的主碼(作為外來碼)和聯(lián)系本身的屬性作為該關系的屬性,被聯(lián)系實體關系的主碼組成其復合主碼。4.1.2數(shù)據(jù)庫初步的關系框架(e-r圖向關系模型轉(zhuǎn)化)關系模型轉(zhuǎn)化消費情況: (日期用餐次數(shù)剩余次數(shù))消費 :(日期消費序號)消費者 :(消費序號姓名性別消費類別消費者類別)屬于 :(員工號消費序號)員工信息 :(員工號部門職位姓名性別地址聯(lián)系方式)使用 :(卡號員工號)卡信息 :( 卡號余額辦卡日期持卡者姓名花費 )持有:(卡號員工號 )4.1.3 數(shù)據(jù)模型優(yōu)化數(shù)據(jù)庫邏輯設計的結(jié)果不是唯
22、一的,為了進一步提高數(shù)據(jù)庫應用系統(tǒng)的性能,還應該根據(jù)應用需要適當?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構, 這就是數(shù)據(jù)模型的優(yōu)化。關系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,方法為:1、確定數(shù)據(jù)依賴2、對于各個關系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)為的完整性,給數(shù)據(jù)庫維護增加困難,應當予以消除。 經(jīng)過規(guī)范化理論得出, 原關系模式之間的數(shù)據(jù)依賴已經(jīng)達到極小化,沒有冗余的聯(lián)系,消除冗余的e-r 圖稱為基本 e-r 圖3、按照數(shù)據(jù)依賴的理論對關系模式逐一進行分析,考察是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,多值依賴等,確定各關系模式分別屬于第幾范式。4、按照需求分析階段得到的
23、處理要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對某些模式進行合并或分解。5、對關系模式進行必要的分解, 提高數(shù)據(jù)操作的效率和存儲空間的利用率。.根據(jù)需求分析階段系統(tǒng)的功能分析, 這樣的應用環(huán)境, 這些模式可以完成包括消費者信息管理,預訂信息管理,成本核算管理,審查工作,庫存管理這些模塊的要求,分析結(jié)果中可在設計用戶子模式中對不同級別的用戶定義不同的view 。優(yōu)化后的關系模式:消費情況:(日期員工用餐次數(shù)消費序號)消費者 :(消費序號姓名性別消費類別消費者類別)屬于 :(員工號消費序號)組成 :(員工號消費序號)員工信息 :(員工號部門職位姓名性別地址聯(lián)系方式 )使用 :( 卡號
24、員工號 )卡信息 :( 卡號余額辦卡日期持卡者姓名花費)持有 :( 卡號員工號)4.2 具體邏輯模型設計在上面的實體以及實體之間關系的基礎上,形成數(shù)據(jù)庫中的表格以及各個表格之間的關系。公司自助餐管理系統(tǒng)數(shù)據(jù)庫中各個表格的設計結(jié)果如下面的幾個表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表 4-1 創(chuàng)建消費情況表 consumesituation列名數(shù)據(jù)類型可否為空說明聲明datedatetimenot null日期主鍵 建立唯一索引totalintnull一天消費總額建立聚簇索引consumer_numbernumeric(12)not null消費序號外鍵圖 4-1表 4-2 創(chuàng)建消費者表 co
25、nsumer列名數(shù)據(jù)類型可否為空說明聲明consumer_numbervarchar(6)not null消費序號主鍵consumer_namevarchar(10)not null姓名consumer_sexvarchar(4)null性別.consume_sortvarchar(10)null消費類別consumer_sortvarchar(10)null消費者類別圖 4-2表 4-3 創(chuàng)建員工信息表 worker列名數(shù)據(jù)類型可否為空說明聲明s_numberintnot null員工號主鍵s_namevarchar(10)not null姓名建立聚簇索引s_sexvarchar(4)nul
26、l性別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)not null卡號主鍵 建立唯一索引balanceintnot null余額建立聚簇索引card_datedatetime(8)null辦卡日期person_namevarchar(10)null持卡者姓名consumevarchar(20)null花費建立聚簇索引圖 4-4.表 4-
27、5 創(chuàng)建管理查詢表 manage列名數(shù)據(jù)類型可否為空說明manager_numbervarchar(6)not null管理員編號datedatetimenot null日期圖 4-5表 4-6 創(chuàng)建屬于表attribute列名數(shù)據(jù)類型可否為空說明s_numbervarchar(6)not null員工號consumer_numbervarchar(6)not null消費序號圖 4-6表 4-7 創(chuàng)建使用表 use列名數(shù)據(jù)類型可否為空說明s_numbervarchar(8)not null員工號card_numbervarchar(6)not null卡號圖 4-7表 4.-8 創(chuàng)建持有表
28、hold列名數(shù)據(jù)類型可否為空說明card_numbervarchar(6)not null卡號s_numbervarchar(6)not null員工號圖 4-84.3 設計用戶子模式將概念模型轉(zhuǎn)換為全局邏輯模型后,還應該根據(jù)局部應用需求,結(jié)合具體dbms的特點設計用戶的外模式。目前關系數(shù)據(jù)庫管理系統(tǒng)一般都提供了視圖(view) 概念,可以利用這一功能設計更符合局部用戶需要的用戶外模式。.定義數(shù)據(jù)庫全局模式主要是從系統(tǒng)的時間效率、空間效率、易維護等角度出發(fā)。由于用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以注重考慮用戶的習慣與方便。包括:1) 使用更符合用戶習慣的別名。在合并各分 e
29、r 圖時,曾做了消除命名沖突的工作,以使數(shù)據(jù)庫系統(tǒng)中同一關系和屬性具有唯一的名字。這在設計數(shù)據(jù)庫整體結(jié)構時是非常必要的。用view 機制可以在設計用戶view 時重新定義某些屬性名,使其與用戶一致,以方便使用。2) 可以對不同級別的用戶定義不同的 view,以保證系統(tǒng)的安全性。3) 簡化用戶對系統(tǒng)的使用。如果某些局部應用中經(jīng)常要使用某些很復雜的查詢, 為了方便用戶, 可以將這些復雜查詢定義為視圖, 用戶每次只對定義好的視圖進行查詢, 大大簡化了用戶的使用。消費者查詢信息所建立的視圖1) 員工查詢自己卡中余額員工查詢視圖 s_balance圖 4-9.2 )管理員查詢消費者信息查詢員工的信息 w
30、orker_consumer圖 4-10五、物理結(jié)構設計數(shù)據(jù)庫在物理設備上的存儲結(jié)構與存取方法稱為數(shù)據(jù)庫物理的物理結(jié)構,它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)。 為一個給定的邏輯數(shù)據(jù)模型選取最適合應用要求的物理結(jié)構的過程,就是數(shù)據(jù)庫的物理設計。數(shù)據(jù)庫的物理設計通常分為兩步:1) 確定數(shù)據(jù)庫的物理結(jié)構,在關系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構;2) 對物理結(jié)構進行評價,評價的重點是時間和空間效率。如果評價結(jié)果滿足原設計要求, 則可進入到物理實施階段, 否則,就需要重新設計或修改物理結(jié)構,有時甚至要返回邏輯設計階段修改數(shù)據(jù)模型。5.1 建立索引建立索引是加快查詢速度的有效手段。用戶可以根據(jù)應用環(huán)境的需要,在基
31、本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。一般來說,建立與刪除索引由數(shù)據(jù)庫管理員dba或表的屬主 (owner) ,即建立表的人負責完成。 系統(tǒng)在存取數(shù)據(jù)時會自動選擇合適的索引作為存取路徑,用戶不必也不能顯示地選擇索引。索引的選擇方法,一般來說:.1. 如果一個 ( 或一組 ) 屬性經(jīng)常在查詢條件中出現(xiàn), 則考慮在這個 ( 或這組 )屬性上建立索引 ( 或組合索引 ) ;2. 如果一個屬性經(jīng)常作為最大值或最小值等聚集函數(shù)的參數(shù), 則考慮在這個屬性上建立索引;由上所述建立以下索引:為消費情況表 consumesituation 建立索引1) 按 total 建立聚簇索引2) 按
32、 date 升序 建立唯一索引為消費者 consumer 建立索引1)按 consumer_number升序建立唯一索引為卡信息表 card 建立索引1) 按 balance ,consume建立聚簇索引2) 按 card_number升序 建立唯一索引為職工信息表 worker 建立索引1) 按 s_name建立聚簇索引5.2 建立觸發(fā)器觸發(fā)器 (trigger)是用戶定義在表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對表的增、 刪、改操作均由服務器自動激活相應得觸發(fā)器, 在 dbms 核心層進行集中的完整性控制。 觸發(fā)器類似于約束, 但是比約束更加靈活, 可以實施比 foreign
33、key約束, check約束更為復雜的檢查和操作,具有更精細和更強大的數(shù)據(jù)控制能力。 觸發(fā)器的執(zhí)行, 是由觸發(fā)事件激活的, 并由數(shù)據(jù)庫服務器自動執(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ā)器, 當管理員表 ma
34、nager 的工資發(fā)生變化后就自動在工資變化表 inc_log中增加一條相應的記錄首先建立工資變化表inc_logcreate table inc_log(s_number int references worker(s_number),income int,s_name varchar(6),date timestamp)接著建立觸發(fā)器insert_inccreate trigger insert_incon workerafter insertas begininsert into inc_log values(new. s_number,new.income,current_user,c
35、urrent_timestamp);endgocreate trigger update_incon workerafter updateas beginif(new.incomeold.income)then insert into inc_log values(new. s_number,new. income,current_user,current_timestamp);end if;end;.六、數(shù)據(jù)庫結(jié)構的實現(xiàn)經(jīng)過前面的系統(tǒng)需求分析和概念結(jié)構設計以后,得到數(shù)據(jù)庫邏輯結(jié)構, 數(shù)據(jù)庫物理結(jié)構?,F(xiàn)在就可以在sqlserver 2008 數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)上面設計的數(shù)據(jù)庫結(jié)構。這一步是利用
36、sqlserver 2008 數(shù)據(jù)庫系統(tǒng)中的sql查詢分析器實現(xiàn)的。6.1 數(shù)據(jù)定義關系數(shù)據(jù)庫系統(tǒng)支持三級模式結(jié)構,其模式、外模式和內(nèi)模式中的基本對象有表、視圖和索引。因此sql的數(shù)據(jù)定義功能包括模式定義、表定義、視圖和索引的定義,如下表所示。表 6-1sql的數(shù)據(jù)定義語句操作對象操作方式創(chuàng)建刪除修改表create tabledrop table視圖create viewdrop viewalter table索引create indexdrop index6.1.1 創(chuàng)建表格 sql語句下面給出創(chuàng)建這些表格的sql語句:1) 為創(chuàng)建消費情況表 consumesituation create
37、table consumesituation( date datetime primary key, total int not null, consumer_number varchar(12) not null,foreign key (consumer_number) references consumer(consumer_number),) ;2) 為創(chuàng)建員工表 consumer create table consumer(consumer_number varchar(12) primary key, consumer_name varchar(10) not null, cons
38、umer_sex varchar(4),.consume_sortvarchar(10),consumer_sortvarchar(10),) ;3) 為創(chuàng)建員工卡信息表 card create table card(card_number varchar(6) primary key, balance varchar(6) not null,card_date datetime,person_name varchar(10),consume varchar(20),);4) 為創(chuàng)建管理查詢表 manage create table manage(manager_numbervarchar(6
39、) not null,date datetime not null,primary key (manager_number, date),foreign key (manager_number) referencesmanager(manager_number),foreign key (date) references consumesituation(date);5) 為創(chuàng)建屬于表 attribute create table attribute (s_number varchar(6) not null,consumer_number varchar(6) not null,primar
40、y key (s_number),foreign key (consumer_number) referencesconsumer(consumer_number);6) 為創(chuàng)建組成表 compose.create table compose(t_numbervarchar(6) not null,consumer_number varchar(6) not null,primary key (t_number),foreign key (consumer_number) referencesconsumer(consumer_number);7) 為創(chuàng)建使用表 using create ta
41、ble using( s_numbervarchar(8) not null,card_number varchar(6) not null,primary key (card_number),foreign key (s_number) referencesstudent(s_number);8) 為創(chuàng)建持有表 hold create table hold(card_number varchar(6) not null, t_number varchar(6) not null,primary key (card_number),foreign key (t_number) referenc
42、esteacher(t_number);6.1.2 創(chuàng)建視圖 sql語句視圖是從一個或幾個基本表(或視圖)導出的的表。它與基本表不同,是一個虛表。數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。 所以基本表中數(shù)據(jù)發(fā)生變化, 從視圖中查詢出的數(shù)據(jù)也就隨之改變了。 從這個意義上講, 視圖就像一個窗口, 透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。.視圖還擁有以下優(yōu)點:1) 視圖能夠簡化用戶的操作2) 視圖使用戶能以多種角度看待同一數(shù)據(jù)3) 視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性4) 視圖能夠?qū)C密數(shù)據(jù)提供安全保護5) 適當?shù)睦靡晥D可以更清晰的表達查詢消費
43、者查詢信息所建立的視圖1) 員工查詢自己卡中余額(剩余用餐次數(shù))員工查詢視圖 s_balancecreate view s_balance(sno ,sname,cno,balance)asselect s_number,s_name, card_number,balancefrom student,card管理員查詢信息所建立的視圖1) 食堂總支出create view trade_money(trademoney,entertime ,outtime)asselect price*(enter_number-stock_number), entertime ,outtimefrom sto
44、ck2) 管理員查詢消費者信息查詢員工的信息create view select_studentasselect consumer_number, consume_sort ,s_number, s_name,s_sex, class ,s_system, s_dorm, s_telfrom consumer, studentwhere consumer_sort=員工 6.1.3 創(chuàng)建索引 sql語句為消費情況表 consumesituation 建立索引.1) 按 total 建立聚簇索引createclusterindexcosi_totalonconsumesituation (total)2) 按 date 升序 建立唯一索引createuniqueindex cosi_date onconsumesituation (date)為卡信息表 card 建立索引1) 按 balance ,consume建立聚簇索引create cluster index card_bal on card (balance)create cluster index card_con on card (consume)2) 按 card_number升序建立唯一索引create uniq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2187-2025半徑樣板校準規(guī)范
- 2025至2030年中國丸鐵輸送機數(shù)據(jù)監(jiān)測研究報告
- 統(tǒng)編版三年級語文下冊第八單元達標測試卷(含答案)
- 2025年《義務教育小學體育課程標準測試卷2022版》測試題庫及答案
- 2025年軍隊文職人員招聘之軍隊文職管理學題庫附答案(典型題)
- 2019-2025年消防設施操作員之消防設備中級技能過關檢測試卷A卷附答案
- 2024年遼寧省中考道德與法治試卷(含答案)
- 高等教育自學考試《00102世界市場行情》模擬試卷一
- 2024年廣東省公務員《申論(縣鎮(zhèn)級)》試題真題及答案
- 2025年法制宣傳日普法知識競賽題庫及答案(三)
- 讀書分享讀書交流會《你當像鳥飛往你的山》課件
- GB/T 2423.65-2024環(huán)境試驗第2部分:試驗方法試驗:鹽霧/溫度/濕度/太陽輻射綜合
- 【三菱】M800M80系列使用說明書
- 2024年巴中市中考歷史試卷(含答案解析)
- 高職高專教育英語課程教學基本要求-20211209120040
- 四川省廣元市2023-2024學年八年級下學期7月期末道德與法治試題
- 2024年數(shù)獨完整版課件
- 急性心力衰竭中國急診管理指南(2022)解讀
- 掩耳盜鈴兒童故事課件
- 污水處理設備供貨方案
- 家和萬事興高中政治統(tǒng)編版選擇性必修二
評論
0/150
提交評論