![題目11-某公司的自助餐管理系統(tǒng)(共29頁)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/35020ab3-223b-46c0-976d-d01e9581e9cb/35020ab3-223b-46c0-976d-d01e9581e9cb1.gif)
![題目11-某公司的自助餐管理系統(tǒng)(共29頁)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/35020ab3-223b-46c0-976d-d01e9581e9cb/35020ab3-223b-46c0-976d-d01e9581e9cb2.gif)
![題目11-某公司的自助餐管理系統(tǒng)(共29頁)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/35020ab3-223b-46c0-976d-d01e9581e9cb/35020ab3-223b-46c0-976d-d01e9581e9cb3.gif)
![題目11-某公司的自助餐管理系統(tǒng)(共29頁)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/35020ab3-223b-46c0-976d-d01e9581e9cb/35020ab3-223b-46c0-976d-d01e9581e9cb4.gif)
![題目11-某公司的自助餐管理系統(tǒng)(共29頁)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/35020ab3-223b-46c0-976d-d01e9581e9cb/35020ab3-223b-46c0-976d-d01e9581e9cb5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上大型數據庫開發(fā)與設計題 目: 某公司的自助餐管理系統(tǒng) 學 號: 姓 名: 班 級: 目錄專心-專注-專業(yè)某公司的自助餐管理系統(tǒng)一、 引言1.1背景與目的隨著一些公司規(guī)模的不斷擴大,公司后勤管理工作也日趨繁雜許多大型公司擁有自己的食堂,這些食堂要實現統(tǒng)一的協(xié)調管理,就不得不借助現代化的管理模式 網絡管理模式。由于某公司為了提高職工的福利待遇,規(guī)定每個員工每天可以在職工食堂用餐兩次(每餐3元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐兩次。月底進行核算,如果用餐次數不足,餐費不退還職工。公司根據實際的用餐次數支付食堂餐費。根據題目要求,需要設計并創(chuàng)建
2、該公司的自助餐管理系統(tǒng),這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩,從而使得管理者能夠準確,有效的管理餐飲。1.2后臺數據庫SQL Server 2008簡介SQL全稱是“結構化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關系數據庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。SQL是高級的非過程化編程語言,允許用戶在高層數據結構上工作。SQL不要求用戶指定對數據的存放方法,也不需要用戶了解具體的
3、數據存放方式,所以具有完全不同底層結構的不同數據庫系統(tǒng)可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操縱對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語言可以嵌套,這使他具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的一個單獨事件只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。二、 系統(tǒng)需求分析 隨著21世紀的到來,人們更深切地感受到了計算機在生活和工作中的作用越來越重要,越來越多職業(yè)需要具有計算機的應用技能。掌握計算機是職業(yè)的雪
4、要,更是事業(yè)發(fā)展的需要。 信息在社會和經濟的發(fā)展中所起的作用越來越為人們所重視。信息資源的開發(fā)利用水平已成為衡量一個國家綜合國力的重要標志之一。在計算機的三大主要應用領域(科學計算、數據處理與過程控制)中,數據處理的比重占70%左右。計算機作為信息處理的工具,為適應數據處理需求的迅速提高,滿足各類系統(tǒng)對數據處理的要求,在文件系統(tǒng)的基礎上發(fā)展起了數據庫系統(tǒng)。 隨著計算機計算機技術的飛速發(fā)展,計算機在企業(yè)管理中應用及普及,利用計算機實現企業(yè)信息管理勢在必行。本課題以企業(yè)食堂為對象,作為要面對大量的課程設計項目及相關信息的處理,這就需要一個課程設計管理系統(tǒng)來提高管理工作的效率。通過本系統(tǒng),可以做到信
5、息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理工作方面的工作量。 數據處理技術已深入到我們工作和生活的方方面面,而數據庫技術是數據處理不可缺少的手段。隨著數據庫技術的發(fā)展,面向對象的數據庫、分布式數據庫、多媒體數據庫、數據庫開發(fā)工具的研究方興未艾,這些技術的發(fā)展使用軟件的開發(fā)速度更快、成本更低、質量更好、功能更強。管理信息系統(tǒng)是一門新興的、集管理科學、信息科學、系統(tǒng)科學及計算機科學為一體的綜合性學科,研究的是信息管理活動的全過程,以便有效的管理信息,提供各類管理決策信息,輔助企業(yè)進行現代化管理。管理信息系統(tǒng)它具備數據處理、計劃、控制、預測和輔助決策功能,具體作用如下5點內容:(1)用統(tǒng)一標準處
6、理和提供信息,排除使用前后矛盾的不完整的數據。(2)完整、及時提供在管理及決策中需要的數據。(3)利用指定的數據關系分析數據,客觀預測未來。(4)向各級管理機構提供不同詳細程度的報告,縮短分析和解釋的時間。(5)用最低的費用最短的時間提供盡可能精確、可靠的信息,以便使決策者選擇最佳的實施方案,以提高企業(yè)的經濟效益。2.1系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務是受用計算機信息管理技術,實現公司的自助餐管理各種信息的系統(tǒng)化,規(guī)范化,自動化,提高公司食堂管理的效率。對應用系統(tǒng)項目的開發(fā),首先要對程序要實現的功能和目標進行整體分析和規(guī)劃,確保在后期開發(fā)中不會出現遺漏或重大缺陷。因此在軟件開發(fā)中,要嚴格按照軟件
7、工程的流程進行系統(tǒng)的分析和設計系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基本上完成的。主要功能: 1、職工信息管理2、職工食堂信息管理3、成本核算管理其中主要任務為職工信息管理和成本核算管理??偟墓δ芴攸c:l 完善、全面的綜合查詢l 報表翔實,實用性強2.21子模塊功能分析職工信息管理:對來自客戶端的不同用戶進行權限審查,限定對數據庫的訪問級別職工信息管理職工信息添加職工信息修改職工信息查詢職工信息刪除職工用餐信息管理:記錄員工用餐的次數,包括每日用餐次數和每月的用餐次數;職工用餐信息管理本月用餐次數每月用餐次數本日用餐次數l 本日用餐次數:記錄本日用餐次數,每增加一個便同步使每月用餐次數也增加一次
8、,每日用餐次數不大于2次。成本核算管理: 對成本利潤的綜合分析。成本包括公司的本月開銷和之前月份公司開銷的統(tǒng)計記錄;成本核算管理公司每月開銷公司本月開銷公司本月開銷:統(tǒng)計公司本月的開銷,員工本月消費一次則增長3元的開銷。公司每月開銷:記錄之前每月的開銷情況。2.2系統(tǒng)功能模塊設計對上述各項功能進行集中、分塊分析,按照結構化程序設計的要求,得到如圖所示的這個系統(tǒng)的功能模塊圖2.21系統(tǒng)功能管理模塊公司自助餐管理系統(tǒng)職工信息管理職工用餐信息管理成本核算管理職工信息查詢職工信息修改職工信息添加職工信息刪除本月用餐次數每月用餐次數本日用餐次數公司本月開銷公司每月開銷2.3數據流圖【注釋:數據流圖,簡稱
9、DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數據在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型】數據流程圖是組織中信息運動的抽象,是管理信息系統(tǒng)邏輯模型的主要形式。它可以綜合的反映出信息在系統(tǒng)中的流動、處理和存儲情況,具有良好的抽象性和概括性。它在調查的基礎上,從系統(tǒng)的科學性、管理的合理性、實際運行的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解,從邏輯上精確地描述系統(tǒng)應具有的數據加工、數據輸入、數據輸出、數據存儲及數據來源和去向(外部實體)等項目。數據流程圖和系統(tǒng)的物理描述無關,它所描述的內容不涉及技術細節(jié),而是
10、面向用戶的,即使完全不懂信息技術的用戶也容易理解。因此,數據流程圖成為系統(tǒng)分析員與用戶進行交流的有效手段,同時也成為系統(tǒng)設計的主要依據之一。用戶的需求具體體現在各種信息的提供、保存、更新和查詢等方面,這就要求數據庫結構能充分滿足各種信息的輸入和輸出。收集基本數據、數據結構及數據處理的流程,組成一份詳盡的數據字典,為數據庫的具體設計打下基礎。數據流圖表達了數據和處理之間的關系。數據流圖是有層次之分的,越高層次的數據流圖表現的業(yè)務邏輯越抽象,越底層次的數據流圖表現得業(yè)務邏輯越具體。在仔細的分析調查有關食堂管理信息需求的基礎上,得到如下圖所示的這個系統(tǒng)所處理的數據流程。根據以上的分析,我們可以先畫出
11、分流程圖,然后可以綜合分流程圖,畫出整個系統(tǒng)操作的業(yè)務流程圖2.3.1交易數據流圖職工辦卡基本信息輸入職工信息管理職工交易成本結算管理結算信息輸入2.3.2整體流圖整體流圖簡圖:成本結算管理消費者信息管理庫存管理結算信息收款管理預訂信息管理2.4可行性分析可行性分析是系統(tǒng)分析階段的重要活動,是對系統(tǒng)進行全面、概要的分析。它的任務是確定項目開發(fā)是否必要和可行。它的主要目標是:進一步明確系統(tǒng)的目標、規(guī)模和功能,對系統(tǒng)開發(fā)背景、必要性和意義進行調查分析,并根據需要和可能提出擬開發(fā)系統(tǒng)的初步方案和計劃,明確問題,對所提供系統(tǒng)大致規(guī)模和目標的幾個有關約束條件進行論證,并且提出系統(tǒng)的邏輯模型和各種可能的方
12、案,從而為系統(tǒng)開發(fā)項目的決策提供科學依據。其主要從三個方面進行研究:(1)技術可行性:對現有技術進行評價,以明確能否利用現有技術進行系統(tǒng)開發(fā)及系統(tǒng)實施。計算機網絡技術的發(fā)展和計算機硬件性價比的不斷提升,使計算機全面應用于醫(yī)院管理的各個環(huán)節(jié)成為可能。C/S開發(fā)模式、COM、DCOM技術在國內各行各業(yè)的信息管理系統(tǒng)開發(fā)中已經被廣泛采用,實踐證明這些技術都非常適合食堂管理系統(tǒng)的開發(fā)。(2)經濟可行性:對組織的經濟狀況和投資能力進行分析,對系統(tǒng)建設、運行和維護費用進行評估,對系統(tǒng)建成后可能取得的社會及經濟效益進行估計。連鎖餐飲企業(yè)整體規(guī)模龐大,個體規(guī)模小而營管理相對簡單統(tǒng)一,開發(fā)成本不高,一旦開發(fā)成功
13、,即能直接應用在所有同種食堂。(3)營運可行性:指系統(tǒng)對組織機構的影響,對現有人員和機構、設施、環(huán)境等的適應性以及進行人員培訓補充計劃的可行性。連鎖餐飲企業(yè)整體規(guī)模龐大,個體規(guī)模小而營管理相對簡單統(tǒng)一。所以食堂系統(tǒng)的計算機信息管理人才、計算機硬件設備、操作員的計算機應用能力都為系統(tǒng)的運行過程提供了可靠保證。2.5數據字典由于數據流程圖只是對數據處理及彼此之間的聯(lián)系進行說明,未對數據的詳細內容及數據的加工過程進行說明,而這正是數據字典所要表達的。數據字典是關于數據信息的集合,也就是對數據流程圖中包含的所有元素的定義的集合。它能將數據流程圖中全部數據流及其組成部分的數據元素、數據存儲、數據加工等描
14、述清楚,便于后續(xù)工作系統(tǒng)設計的進行。數據字典是系統(tǒng)中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。數據字典通常包括數據項、數據結構、數據流、數據存諸和處理過程5個部分。其中數據項是最小組成單位,若干數據項組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲和邏輯內容。針對一般食堂管理信息系統(tǒng)的需求,通過對食堂管理工作過程的內容和數據流程分析,設計如下所示的數據項和數據結構:l 數據結構名稱:職工用餐卡信息 含義說明:這里指的是職工用來使用付款的工具卡的一系列信息,它記錄了包括它本身以及持卡者的一些信息包括的數據項有:1) 卡號(消費者使用的用來付款
15、的卡的編號,與消費者辦卡的先后順序有關別名Card_number 字符型 長度6)2) 余額(今日剩余用餐量)(消費者卡中所剩的金錢數量,別名Balance 字符型長度 6)3) 辦卡日期(消費者辦卡的日期,別名Card_date 日期型 長度 8)4) 持卡者姓名(擁有信息卡的消費者的名稱,別名 Person_name 字符型 長度 10)5) 花費(用餐次數統(tǒng)計)(消費者所消費的金錢數量 別名Consume 字符型 長度 20)l 數據結構名稱:員工信息含義說明:消費者群體之一,可以自由選擇消費方式,辦過卡用卡交易或者用現金交易包括的數據項有:1) 工號(職工在公司所編的號碼 別名 S_n
16、umber 字符型 長度 6)2) 部門(職工所在的部門的名稱 別名 S_system 字符型 長度 16)3) 職位(職工所擔任的職位 別名 S_class 字符型 長度 20)4) 姓名(職工的姓名 別名 S_name 字符型 長度 10)5) 性別 (職工的性別 別名 S_sex 字符型 長度 4)6) 地址(職工的所在地址 別名 S_adress 字符型 長度 20)7) 聯(lián)系方式(職工的手機號碼 別名 S_tel 字符型 長度 20)三、概念結構設計這一設計階段是在需求分析的基礎上,設計出能滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。將需求分析得到的用戶
17、需求抽象為信息結構即概念模型的過程就是概念結構設計。它是整個數據庫設計的關鍵。概念結構設計的特點是能真實、充分的反映現實世界,包括事物和事物的聯(lián)系,能滿足用戶對數據的處理要求,是對現實世界的一個真實的模型。易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫設計成功的關鍵。易于改正,當應用環(huán)境和應用要求改變時,易于對概念模型修改和擴充。易于向關系、網狀、層次等各種數據模型轉換。概念結構是各種數據模型的共同基礎,它比數據模型更獨立于機器、更抽象,從而更加穩(wěn)定。概念結構是對現實世界的一種抽象。所謂抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細
18、節(jié),并把這些特性用各種概念準確的加以描述。概念結構設計通常分為四種方法:自頂向下,即首先定義全局概念結構的框架,然后逐步細化。自底向上,即首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構。逐步擴張,首先定義最重要的核心概念結構,然后向外擴張。混合策略,即自頂向下和自底向上結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。通常分為兩步,第一步是抽象數據并設計局部視圖,第二步是集成局部視圖,得到全局視圖。下面首先對實體和其屬性加以描述,再寫出系統(tǒng)的分E-R圖,進而合并成為整體的E-R圖。3.1構思ERD的四條原則原則1:能獨立存在
19、的事物,例如人、物、事、地、團體、機構、活動、事項等等,在其有多個由基本項描述的特性需要關注時,就應把它作為實體。原則2:兩個或多個實體間的關聯(lián)與結合,如主管、從屬、組成、占有、作用、配合、協(xié)同等等,當需要予以關注時,應作為聯(lián)系。聯(lián)系通常是某類行為動作,ERD中關注的是其狀態(tài)與結果而非其過程。原則3:實體的屬性是實體的本質特征。實體應有標識屬性(能把不同個體區(qū)分開來的屬性組),并指定其中一個作為主標識。聯(lián)系的屬性是聯(lián)系的結果或狀態(tài)。屬性具有如下幾個特點:a.非多值性;b.非復合性;c.非導出性。而實體的屬性還應有非關聯(lián)性。原則4(一事一地原則):所有基本項在同一E-R圖中作為屬性要在僅在一個地
20、方出現3.2 設計ER圖根據上面的設計規(guī)劃出的實體有:卡信息實體、學生信息實體、教師信息實體、消費者實體、包房信息實體、訂餐信息實體、消費情況實體、管理員信息實體。各個實體具體的描述E-R圖及其之間的關系描述如下。3.2.1分ER圖圖3-1 為卡信息實體E-R圖卡信息卡號余額持卡者姓名辦卡日期花費圖3-2 為職工信息實體E-R圖職工信息職工號部門職位姓名地址聯(lián)系方式性別圖3-3 為消費情況實體E-R圖消費情況本日已經消費本日剩余消費本月已經消費本月剩余消費每月消費統(tǒng)計圖3-4 為卡信息實體、職工信息實體、消費者實體關系E-R圖職工信息卡信息屬于持有卡號余額辦卡日期持卡人姓名聯(lián)系方式職位員工號姓
21、名部門地址花費消費者消費類別消費者類別姓名消費序號性別性別 N 1 1 1四、邏輯結構設計現在需要把上面設計好的數據庫概念結構轉化為SQL Server2008數據庫系統(tǒng)所支持的實際數據庫模型,也就是數據庫的邏輯結構。此部分使用PowerDesigner進行數據庫結構設計,最終導出物理結構模型和邏輯結構模型,并生成SQL Server 2008數據庫文件。4.1 一般邏輯模型設計:4.1.1 由ERD導出一般關系模型的四條原則原則1:E-R圖中的每一個獨立實體變換為一個關系,其屬性變?yōu)殛P系的屬性,其主標識變?yōu)殛P系的主碼。原則2:E-R圖中的從實體及相應的“的”聯(lián)系變換為一個關系,從實體的屬性加
22、上主體關系的主碼構成這個關系的屬性。如果“的”聯(lián)系是1:1的,則以主實體關系的主碼(作為外來碼)為這個關系的主碼;如果“的”聯(lián)系是1:M的,則以主實體關系的主碼加上同一主實體個體聯(lián)系的不同從屬實體個體賴以相互區(qū)分的屬性組,組成該關系的主碼。原則3:1:M聯(lián)系通過在“多”實體關系中增加相聯(lián)系的“1”實體關系的主碼及聯(lián)系本身的屬性來表達。其中“1”實體主碼為外來碼。原則4:M:M聯(lián)系轉換成一個獨立的關系,被聯(lián)系實體關系的主碼(作為外來碼)和聯(lián)系本身的屬性作為該關系的屬性,被聯(lián)系實體關系的主碼組成其復合主碼。4.1.2 數據庫初步的關系框架(E-R圖向關系模型轉化)關系模型轉化消費情況(日期 用餐次
23、數 剩余次數 )消費(日期 消費序號)消費者(消費序號 姓名 性別 消費類別 消費者類別)屬于(員工號 消費序號)員工信息(員工號 部門 職位 姓名 性別 地址 聯(lián)系方式)使用(卡號 員工號)卡信息(卡號 余額 辦卡日期 持卡者姓名 花費)持有(卡號 員工號)4.1.3數據模型優(yōu)化數據庫邏輯設計的結果不是唯一的,為了進一步提高數據庫應用系統(tǒng)的性能,還應該根據應用需要適當地修改、調整數據模型的結構,這就是數據模型的優(yōu)化。關系數據模型的優(yōu)化通常以規(guī)范化理論為指導,方法為:1、確定數據依賴2、對于各個關系模式之間的數據依賴進行極小化處理,消除冗余的聯(lián)系冗余數據和冗余聯(lián)系容易破壞數據為的完整性,給數據
24、庫維護增加困難,應當予以消除。經過規(guī)范化理論得出,原關系模式之間的數據依賴已經達到極小化,沒有冗余的聯(lián)系,消除冗余的E-R圖稱為基本E-R圖3、按照數據依賴的理論對關系模式逐一進行分析,考察是否存在部分函數依賴,傳遞函數依賴,多值依賴等,確定各關系模式分別屬于第幾范式。4、按照需求分析階段得到的處理要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對某些模式進行合并或分解。5、對關系模式進行必要的分解,提高數據操作的效率和存儲空間的利用率。根據需求分析階段系統(tǒng)的功能分析,這樣的應用環(huán)境,這些模式可以完成包括消費者信息管理,預訂信息管理,成本核算管理,審查工作,庫存管理這些模塊的要求,分析
25、結果中可在設計用戶子模式中對不同級別的用戶定義不同的view。優(yōu)化后的關系模式:消費情況(日期 員工用餐次數 消費序號)消費者(消費序號 姓名 性別 消費類別 消費者類別)屬于(員工號 消費序號)組成(員工號 消費序號)員工信息(學號 部門 職位 姓名 性別 地址 聯(lián)系方式)使用(卡號 員工號)卡信息(卡號 余額 辦卡日期 持卡者姓名 花費)持有(卡號 員工號)4.2具體邏輯模型設計在上面的實體以及實體之間關系的基礎上,形成數據庫中的表格以及各個表格之間的關系。公司自助餐管理系統(tǒng)數據庫中各個表格的設計結果如下面的幾個表格所示。每個表格表示在數據庫中的一個表。表4-1為創(chuàng)建消費情況表Consum
26、eSituation創(chuàng)建消費情況表ConsumeSituation列名數據類型可否為空說明聲明DatedatetimeNOT NULL日期主鍵建立唯一索引TotalLong intNULL一天消費總額建立聚簇索引Consumer_numbernumber(12)NOT NULL消費序號 外鍵表4-2為創(chuàng)建消費者表Consumer創(chuàng)建消費者表Consumer列名數據類型可否為空說明聲明Consumer_numbervarchar(6)NOT NULL消費序號主鍵Consumer_namevarchar(10)NOT NULL姓名Consumer_sexVarchar(4)NULL性別Consum
27、e_sortvarchar(10)NULL消費類別Consumer_sortvarchar(10)NULL消費者類別表4-3為創(chuàng)建員工信息表Worker創(chuàng)建員工信息表Worker列名數據類型可否為空說明聲明S_numberintNOT NULL員工號主鍵S_namevarchar(10)NOT NULL姓名建立聚簇索引S_sexvarchar(4)NULL性別classvarchar(20)NULL職位S_systemvarchar(16)NULL部門S_dormvarchar(20)NULL地址S_telnumber(15)NULL聯(lián)系方式表4-4為創(chuàng)建消費卡信息表Card創(chuàng)建消費卡信息表C
28、ard列名數據類型可否為空說明聲明Card_numbernumber(10)NOT NULL卡號主鍵建立唯一索引BalanceintNOT NULL余額建立聚簇索引Card_datedatetime(8)NULL辦卡日期Person_namevarchar(10)NULL持卡者姓名Consumevarchar(20)NULL花費建立聚簇索引表4-5 為創(chuàng)建管理查詢表Manage創(chuàng)建管理查詢表Manage列名數據類型可否為空說明Manager_numbervarchar(6)NOT NULL管理員編號DatedatetimeNOT NULL日期表 4-6 為創(chuàng)建屬于表Attribute創(chuàng)建屬于表
29、Attribute列名數據類型可否為空說明S_numbervarchar(6)NOT NULL員工號Consumer_numbervarchar(6)NOT NULL消費序號表 4.13 為創(chuàng)建使用表Use創(chuàng)建使用表Use列名數據類型可否為空說明S_numbervarchar(8)NOT NULL員工號Card_numbervarchar(6)NOT NULL卡號表 4.14為創(chuàng)建持有表Hold創(chuàng)建持有表Hold列名數據類型可否為空說明Card_numbervarchar(6)NOT NULL卡號T_numbervarchar(6)NOT NULL員工號4.3設計用戶子模式將概念模型轉換為全局
30、邏輯模型后,還應該根據局部應用需求,結合具體DBMS的特點,設計用戶的外模式。目前關系數據庫管理系統(tǒng)一般都提供了視圖(View)概念,可以利用這一功能設計更符合局部用戶需要的用戶外模式。定義數據庫全局模式主要是從系統(tǒng)的時間效率、空間效率、易維護等角度出發(fā)。由于用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以注重考慮用戶的習慣與方便。包括:1) 使用更符合用戶習慣的別名。在合并各分ER圖時,曾做了消除命名沖突的工作,以使數據庫系統(tǒng)中同一關系和屬性具有唯一的名字。這在設計數據庫整體結構時是非常必要的。用View機制可以在設計用戶View時重新定義某些屬性名,使其與用戶一致,以方便使用。2)
31、 可以對不同級別的用戶定義不同的View,以保證系統(tǒng)的安全性。 3) 簡化用戶對系統(tǒng)的使用。如果某些局部應用中經常要使用某些很復雜的查詢,為了方便用戶,可以將這些復雜查詢定義為視圖,用戶每次只對定義好的視圖進行查詢,大大簡化了用戶的使用l 消費者查詢信息所建立的視圖1) 員工查詢自己卡中余額² 員工查詢視圖S_Balance2)管理員查詢消費者信息查詢員工的信息 五、物理結構設計數據庫在物理設備上的存儲結構與存取方法稱為數據庫物理的物理結構,它依賴于選定的數據庫管理系統(tǒng)。為一個給定的邏輯數據模型選取最適合應用要求的物理結構的過程,就是數據庫的物理設計。數據庫的物理設計通常分為兩步:1
32、) 確定數據庫的物理結構,在關系數據庫中主要指存取方法和存儲結構;2) 對物理結構進行評價,評價的重點是時間和空間效率。如果評價結果滿足原設計要求,則可進入到物理實施階段,否則,就需要重新設計或修改物理結構,有時甚至要返回邏輯設計階段修改數據模型。5.1建立索引建立索引是加快查詢速度的有效手段。用戶可以根據應用環(huán)境的需要,在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。一般來說,建立與刪除索引由數據庫管理員DBA或表的屬主(owner),即建立表的人,負責完成。系統(tǒng)在存取數據時會自動選擇合適的索引作為存取路徑,用戶不必也不能顯示地選擇索引。索引的選擇方法,一般來說:1. 如果一
33、個(或一組)屬性經常在查詢條件中出現,則考慮在這個(或這組)屬性上建立索引(或組合索引);2. 如果一個屬性經常作為最大值或最小值等聚集函數的參數,則考慮在這個屬性上建立索引;由上所述建立以下索引u 為庫存信息表Stock建立索引1) 按Trade_name,stock_number,建立聚簇索引,2) 按entertime升序,建立唯一索引u 為消費情況表ConsumeSituation建立索引1) 按Total建立聚簇索引2) 按Date升序,建立唯一索引u 為訂餐信息表book_eat建立索引1) 按Consumer_name,Booktime建立聚簇索引2) 按Consumer_num
34、ber升序,建立唯一索引u 為卡信息表Card建立索引1) 按Balance ,Consume建立聚簇索引2) 按Card_number升序,建立唯一索引u 為學生信息表Student建立索引1) 按S_name建立聚簇索引u 為學生信息表Teacher建立索引1) 按T_name建立聚簇索引5.2建立觸發(fā)器觸發(fā)器(Trigger)是用戶定義在表上的一類由事件驅動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務器自動激活相應得觸發(fā)器,在DBMS核心層進行集中的完整性控制。觸發(fā)器類似于約束,但是比約束更加靈活,可以實施比FOREIGN KEY約束,CHECK約束更為復雜的檢查和操作,具
35、有更精細和更強大的數據控制能力。觸發(fā)器的執(zhí)行,是由觸發(fā)事件激活的,并由數據庫服務器自動執(zhí)行的。一個數據表上可能定義了多個觸發(fā)器,比如BEFORE觸發(fā)器,多個AFTER觸發(fā)器等。同一個表上的多個觸發(fā)器激活時遵循如下執(zhí)行順序:(1) 執(zhí)行該表上的BEFORE觸發(fā)器;(2) 激活觸發(fā)器的SQL語句;(3) 執(zhí)行該表上的AFTER觸發(fā)器。 對于同一個表上的多個BEFORE(AFTER)觸發(fā)器,遵循“誰先創(chuàng)建誰先執(zhí)行”的原則,即按照觸發(fā)器創(chuàng)建的先后順序執(zhí)行。有些RDBMS是按照觸發(fā)器的名稱的字母排序順序執(zhí)行觸發(fā)器。l 定義AFTER行級觸發(fā)器,當管理員表Manager的工資發(fā)生變化后就自動在工資變化表I
36、nc_log中增加一條相應的記錄首先建立工資變化表Inc_logCREATE TABLE Inc_log(Manager_number varchar(6) REFERENCES Manager(Manager_number), Income int,Manager_name varchar(6),Date TIMESTAMP);接著建立觸發(fā)器 Insert_IncCREATE TRIGGER Insert_IncAFTER INSERT ON ManagerFOR EACH ROWAS BEGIN INSERT INTO Inc_log VALUES(NEW. Manager_number,
37、NEW.Income,CURRENT_USER,CURRENT_TIMESTAMP);END;CREATE TRIGGER Update_IncAFTER UPDATE ON ManagerFOR EACH ROWAS BEGIN IF(NEW.Income<>OLD.Income)THEN INSERT INTO Inc_log VALUES(NEW. Manager_number,NEW. Income,CURRENT_USER,CURRENT_TIMESTAMP);END IF;END;六、數據庫結構的實現經過前面的系統(tǒng)需求分析和概念結構設計以后,得到數據庫邏輯結構,數據庫物
38、理結構?,F在就可以在SQL Server2008數據庫系統(tǒng)中,實現上面設計的數據庫結構。這一步是利用SQL Server 2008數據庫系統(tǒng)中的SQL查詢分析器實現的。6.1數據定義關系數據庫系統(tǒng)支持三級模式結構,其模式、外模式和內模式中的基本對象有表、視圖和索引。因此SQL的數據定義功能包括模式定義、表定義、視圖和索引的定義,如下表所示。表6.1 SQL的數據定義語句操作對象操作方式創(chuàng)建刪除修改表CREATE TABLEDROP TABLE視圖CREATE VIEWDROP VIEWALTER TABLE索引CREATE INDEXDROP INDEX6.1.1創(chuàng)建表格SQL語句下面給出創(chuàng)建
39、這些表格的SQL語句:1) 為創(chuàng)建消費情況表ConsumeSituationCREATE TABLE ConsumeSituation(Date datetime PRIMARY KEY, Total bigint NOT NULL, Consumer_number varchar(6) NOT NULL, FOREIGN KEY (Consumer_number) REFERENCES Consumer(Consumer_number),);2) 為創(chuàng)建員工表ConsumerCREATE TABLE Consumer(Consumer_number varchar(6) PRIMARY KE
40、Y, Consumer_name varchar(10) NOT NULL, Consumer_sex varchar(4), Consume_sort varchar(10), Consumer_sort varchar(10),);3) 為創(chuàng)建員工卡信息表CardCREATE 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)建管理查詢表Mana
41、geCREATE TABLE Manage(Manager_number varchar(6) NOT NULL, Date datetime NOT NULL, PRIMARY KEY (Manager_number, Date), Foreign key (Manager_number) references Manager(Manager_number), foreign key (Date) references ConsumeSituation(Date) );5) 為創(chuàng)建屬于表Attribute CREATE TABLE Attribute(S_number varchar(8)
42、NOT NULL, Consumer_number varchar(6) NOT NULL, PRIMARY KEY (S_number), FOREIGN KEY (Consumer_number) REFERENCES Consumer(Consumer_number) );6) 為創(chuàng)建組成表Compose CREATE TABLE Compose(T_number varchar(6) NOT NULL, Consumer_number varchar(6) NOT NULL, PRIMARY KEY (T_number), FOREIGN KEY (Consumer_number) R
43、EFERENCES Consumer(Consumer_number) );7) 為創(chuàng)建使用表Using CREATE TABLE Using( S_number varchar(8) NOT NULL, Card_number varchar(6) NOT NULL, PRIMARY KEY (Card_number), FOREIGN KEY (S_number) REFERENCES Student(S_number) );8) 為創(chuàng)建持有表Hold CREATE TABLE Hold(Card_number varchar(6) NOT NULL, T_number varchar(6
44、) NOT NULL, PRIMARY KEY (Card_number), FOREIGN KEY (T_number) REFERENCES Teacher(T_number) );6.1.2創(chuàng)建視圖SQL語句視圖是從一個或幾個基本表(或視圖)導出的的表。它與基本表不同,是一個虛表。數據庫中只存放視圖的定義,而不存放視圖對應的數據,這些數據仍存放在原來的基本表中。所以基本表中數據發(fā)生變化,從視圖中查詢出的數據也就隨之改變了。從這個意義上講,視圖就像一個窗口,透過它可以看到數據庫中自己感興趣的數據及其變化。視圖還擁有以下優(yōu)點:1) 視圖能夠簡化用戶的操作2) 視圖使用戶能以多種角度看待同一數
45、據3) 視圖對重構數據庫提供了一定程度的邏輯獨立性4) 視圖能夠對機密數據提供安全保護5) 適當的利用視圖可以更清晰的表達查詢l 消費者查詢信息所建立的視圖1) 員工查詢自己卡中余額(剩余用餐次數)Ø 員工查詢視圖S_Balance CREATE VIEW S_Balance(sno,sname,cno,balance)ASSELECT S_number,S_name,Card_number,BalanceFROM Student,Cardl 管理員查詢信息所建立的視圖 1) 食堂總支出 CREATE VIEW Trade_money(Trademoney,entertime,out
46、time)AS SELECT Price*(Enter_number-stock_number),entertime,outtimeFROM Stock2) 管理員查詢消費者信息查詢員工的信息CREATE VIEW Select_studentAS SELECT 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語句u 為消費情況表ConsumeSit
47、uation建立索引1) 按Total建立聚簇索引CREATE CLUSTER INDEX Cosi_total ON ConsumeSituation (Total)2) 按Date升序,建立唯一索引 CREATE UNIQUE INDEX Cosi_date ON ConsumeSituation (Date)u 為卡信息表Card建立索引1) 按Balance ,Consume建立聚簇索引 CREATE CLUSTER INDEX card_bal ON Card (Balance)CREATE CLUSTER INDEX card_con ON Card (Consume)2) 按Card_number升序,建立唯一索引CREATE UNIQUE INDEX book_cono ON Card (Card_number)u 為員工信息表Worker建立索引按S_name建立聚簇索引 CREATE CLUSTER INDEX Worker_name
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑與市政工程質量安全第三方巡查方案與流程
- 腹腔鏡結直腸癌根治術對老年結直腸癌患者術后胃腸功能恢復的影響
- 二零二五年度個人金融理財產品購買擔保協(xié)議3篇
- 房地產行業(yè)房地產銷售培訓心得
- 2025版環(huán)保產業(yè)項目可行性評估范本匯編3篇
- 二零二五版物流裝備租賃及維護服務合同2篇
- 《企業(yè)安全管理》課件
- 二零二五年度房地產分銷代理創(chuàng)新模式合同范文
- 二零二五年度房地產土地一級開發(fā)代理服務合同
- 二零二五版物流園區(qū)物業(yè)承包合作協(xié)議3篇
- 溫泉規(guī)劃工作方案
- 2025年度私立學校教師聘用合同(初中部專業(yè)學科)3篇
- Unit 6 Beautiful landscapes Integration 說課稿 -2024-2025學年譯林版英語七年級下冊001
- DB32T 4880-2024民用建筑碳排放計算標準
- 銀行2025年紀檢工作計劃
- 注射泵管理規(guī)范及工作原理
- 【譯林】九下英語單詞默寫表
- 國潮風中國風2025蛇年大吉蛇年模板
- 故障診斷技術的國內外發(fā)展現狀
- 2024年發(fā)電廠交接班管理制度(二篇)
- 《數學課程標準》義務教育2022年修訂版(原版)
評論
0/150
提交評論