已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘 要當人們收集了大量的數(shù)據(jù)后,應該把它們保存起來做進一步的處理和信息的抽取。當年人們把數(shù)據(jù)存放在文件柜中,可現(xiàn)在隨著社會的發(fā)展,數(shù)據(jù)量急劇增長,現(xiàn)在人們就借助計算機和數(shù)據(jù)庫技術來科學地保存大量的數(shù)據(jù),以便能更好的利用這些數(shù)據(jù)資源。我選擇食堂管理系統(tǒng)的原因是我們學校有4個食堂,但人數(shù)眾多,每天的消費量都很大,從學生的角度來講,在高峰期存在某些食堂找不到座位的現(xiàn)象比比皆是,從管理員的角度來講,他們需要知道某些菜的量,這樣才能合理分配菜量,同學們也可以對食堂的飯菜及服務打分,這樣同學們才能更好地進行就餐,食堂管理員才能更好地管理食堂及員工。本課題的目的是為了鞏固數(shù)據(jù)庫原理與應用課程中所學的知識,體現(xiàn)理論指導實踐的原則,為食堂管理系統(tǒng)設計后臺數(shù)據(jù)庫,通過需求分析,概念設計,邏輯設計,物理設計及數(shù)據(jù)庫的實施和運行等階段,體現(xiàn)數(shù)據(jù)庫設計的全過程,并把所學知識應用到實際中,培養(yǎng)自己的思維能力。關鍵詞:SQL SERVER;數(shù)據(jù)庫設計;食堂管理系統(tǒng)35 / 37目錄第一章 緒論11.1課題簡介11.2設計目的11.3設計內容1第二章 需求分析32.1 需求分析的任務32.2 需求分析的過程32.3數(shù)據(jù)字典與流程圖4第三章 概念結構設計83.1 概念結構設計的方法與步驟83.2 數(shù)據(jù)抽象與局部視圖設計83.3視圖的集成11第四章 邏輯結構設計124.1 E-R圖向關系模型的轉換124.2 數(shù)據(jù)庫關系圖12第五章 數(shù)據(jù)庫的實現(xiàn)165.1數(shù)據(jù)庫的建立165.2 數(shù)據(jù)庫基本結構的建立165.3安全性的實現(xiàn)225.4完整性的實現(xiàn)235.5恢復技術的實現(xiàn)25第六章 運行與結果266.1簡單查詢和連接查詢266.2嵌套查詢286.3組合查詢和統(tǒng)計查詢32第一章 緒論1.1課題簡介數(shù)據(jù)庫技術已成為現(xiàn)代信息技術的重要組成部分,是現(xiàn)代計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心。數(shù)據(jù)庫技術是20世紀60年代后期產(chǎn)生和發(fā)展起來的一項計算機數(shù)據(jù)管理技術,它的出現(xiàn)使計算機應用滲透到人類社會的各個領域。目前數(shù)據(jù)庫的建設規(guī)模和性能、數(shù)據(jù)庫信息的大小和使用頻度已成為衡量一個國家信息化程度的重要標志,數(shù)據(jù)庫技術也成為計算機科學技術的一個重要分支。 我的專業(yè)是計算機。經(jīng)過大學三年的學習,我們對計算機方面的知識有了很大的提升,不但掌握了基本的編程方法,工具和軟件,還能進行簡單的小程序開發(fā)。在C語言和JAVA課程設計中,我認真編寫程序,均取得了很好的成績。在這次數(shù)據(jù)庫課程設計中,我本著理論聯(lián)系實際的宗旨,通過學校提供的這次課程設計實踐的機會,在指導教師的幫助和自己的資料查找下,歷經(jīng)兩周時間,我通過數(shù)據(jù)庫設計階段的需求分析,概念模型設計,邏輯結構設計等步驟,自行設計一套學校食堂管理系統(tǒng),在下面的各章中,我將以這套學校食堂管理系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題。1.2設計目的由于我的專業(yè)是軟件,而數(shù)據(jù)庫是軟件領域不可或缺的重要組成部分,有句話說得好,要想學好軟件,C語言,數(shù)據(jù)結構,數(shù)據(jù)庫是必須要學好的,而要想學好數(shù)據(jù)庫,光學習理論知識是不行的,必須要理論結合實際,自己通過構思開發(fā)出一套數(shù)據(jù)庫系統(tǒng),只有在實踐中,我們才能更好地掌握所學的知識,為將來的工作打下良好的基礎。我們學校有4個食堂,人數(shù)眾多,高峰期有占不上座位的情況,而且食堂的數(shù)據(jù)量非常大,比如客流量,菜的信息,窗口信息,盈利額等,而且有的菜有時沒有銷售,而且學生在就餐時,有的同學不知道具體的飯菜質量怎么樣,在選擇時產(chǎn)生了疑惑。對于員工來說,他們需要知道食堂,窗口和菜的評分,對評分低的進行整改。而且能及時處理學生訂的外賣。我設計這套食堂管理系統(tǒng)有以下幾個目的:1學生在就餐之前可以查找自己想要的各個食堂人流情況,菜譜,營業(yè)的現(xiàn)狀,以及好評度等,對客流量大的食堂可以進行外賣點餐。也可以對食堂進行評價。2讓食堂的員工通過使用本系統(tǒng)可以及時掌握學生需求的動態(tài),提高食堂的管理效率。3食堂的管理員根據(jù)學生的評價信息表,可以提高食堂的管理水平。對評分低的項目進行整改。實踐和鞏固在課堂教學中學習的關于關系數(shù)據(jù)庫原理的有關知識、SQL SERVER的有關知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調研、需求分析、概念設計、邏輯設計、物理設計、系統(tǒng)調試、維護以及系統(tǒng)評價的一般過程,為畢業(yè)設計打下基礎。1.3設計內容選擇課題并且對課題的相關信息有一定的了解,對于我選的課題來說,我必須了解食堂管理系統(tǒng)的構造,有哪些功能,并確定完成這些功能需要的相應實體,屬性及聯(lián)系,將這些信息輸入到數(shù)據(jù)庫中,使之能夠進行查詢、修改、刪除并且與食堂管理系統(tǒng)執(zhí)行相同的操作。在需求分析階段,需要完成食堂管理系統(tǒng)的具體分類和實施過程流圖。概念設計階段要完成數(shù)據(jù)抽象與局部視圖設計以及視圖的集成。邏輯結構設計階段要把E-R圖轉化為關系模式。最后是數(shù)據(jù)庫的實施和運行。第二章 需求分析2.1 需求分析的任務需求分析階段的任務是對系統(tǒng)的整個應用情況做全面的、詳細的調查,確定企業(yè)組織的目標,收集支持系統(tǒng)總的設計目標和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些要求寫成用戶和數(shù)據(jù)庫設計者都能夠接受的文檔。首先,我做的是調查食堂管理系統(tǒng)應用領域涉及的內容,對涉及到領域的各個應用的信息要求和操作要求進行詳細分析,形成需求分析說明書。最重要的是調查、收集信息、分析各個功能所需要的數(shù)據(jù)及處理流程。處理要求、數(shù)據(jù)的安全性與完整性要求。要求系統(tǒng)能有效、快速、安全、可靠和無誤的完成上述操作。并要求客戶機的界面要簡單明了,易于操作,服務器程序利于維護。2.2 需求分析的過程 1、分析用戶活動,產(chǎn)生用戶活動圖。 2、確定系統(tǒng)范圍,產(chǎn)生系統(tǒng)范圍圖。 3、分析用戶活動所涉及的數(shù)據(jù),產(chǎn)生數(shù)據(jù)流圖。 4、分析系統(tǒng)數(shù)據(jù),產(chǎn)生數(shù)據(jù)字典。 通過我對學校食堂的調查分析,我得出了食堂以下幾點特點: 每個食堂都會有若干個窗口,每個窗口有若干工作人員。工作人員分為食堂管理員,窗口管理員和一般員工,一般員工負責送餐。 每位同學都有唯一的學號并被分配到指定的宿舍樓和指定的宿舍,有姓名,年齡,性別和聯(lián)系方式。 學生在學校食堂就餐,有菜名和就餐時間。 每個員工都有唯一的員工號,還有姓名,性別,年齡,聯(lián)系方式和職位 每個食堂都有編號,負責人的員工號,營業(yè)狀況,如果正在營業(yè)則會有客流量,同時還會有學生對其的評價。 每個窗口都有編號和所屬食堂編號,并對在此窗口出售的菜進行編號,另外還有此窗口的營業(yè)狀況,以及學生對其的評價。 每道菜有編號,菜名和價錢,所屬食堂的編號和窗口編號,同時有此時的銷售狀況,以及學生對其的評價。 每個學生可以對食堂,窗口和菜評價打分,同時每個學生對其評價時都會自動生成一個編號。 每個外賣都有訂單號以及訂此外賣的學生的學號。 外賣是由食堂的一般工作人員負責送的,有員工編號,訂餐編號和狀態(tài)。若已送,則會有送餐時間。 每道菜又有對應的銷售總量以及總價 總結了以上食堂的基本特點以后,我再說明一下食堂的業(yè)務流程: 1.學生根據(jù)食堂的營業(yè)狀況,好評度和客流量,選擇理想的食堂就餐。 2學生到某個食堂的某個窗口去點餐,員工會點擊學生點的某些菜,系統(tǒng)會統(tǒng)計此菜的編號,從數(shù)據(jù)庫調出其價格,同時統(tǒng)計出點餐的合計金額,同時記錄并更改菜的銷售數(shù)量。 3.食堂管理員可以根據(jù)數(shù)據(jù)庫中訂餐表查看同學們訂的餐以及相關信息。 4學生可以查看食堂現(xiàn)狀的基本信息。學生可以查看所有食堂的人流量,某些食堂某些窗口某些菜是否在出售。 5工作人員可根據(jù)訂外賣的單的住址等信息去送外賣;同時更改每個外賣的狀態(tài)和時間。 以上就是我對食堂管理系統(tǒng)的需求分析,要求系統(tǒng)能有效、快速、安全、可靠和無誤的完成上述操作。并要求客戶機的界面要簡單明了,易于操作,服務器程序利于維護。2.3數(shù)據(jù)字典與流程圖1業(yè)務流程分析經(jīng)過可行性分析和初步需求調查,抽象出該系統(tǒng)業(yè)務流程圖,結合該實例具體情況,給出學生和食堂工作人員對食堂相關信息的具體需求。 圖2.1 學校食堂管理流程圖 調查用戶需求 學生對食堂的需求l 功能:學生首先查看食堂的基本信息,比如是否營業(yè),客流量,好評度,哪些窗口和出售的菜名等,然后選擇合適的食堂進行就餐。在選擇窗口和菜時,可以根據(jù)自己的喜好來選擇,也可以根據(jù)好評度來選擇。l 同學可以通過外賣系統(tǒng)來訂外賣,訂完時,系統(tǒng)會生成訂餐信息。l 同學們也可以對食堂,窗口和菜的質量來進行打分。l 統(tǒng)計功能:u 按菜編號統(tǒng)計食堂所擁有的菜,以及銷售情況。u 可以按照好評度降序排列來選擇食堂,窗口和菜。食堂工作人員需求:l 查詢功能:食堂的工作人員能查詢自己工作的食堂和窗口的相關信息,包括食堂擁有的窗口,該窗口所有菜的信息,正在出售的菜的信息,該窗口的外賣單的信息,銷售狀況,好評度等,有利于對食堂和窗口更好地進行管理,對好評度低的食堂,窗口和菜等進行整改。l 更改功能:當窗口的菜單的信息發(fā)生變化時,工作人員能對其進行修改。比如,某些菜銷售完畢,在銷售狀況總就應該改成F(空);或者某些菜的價格改變,記錄中價格的信息也要作相應的修改等。l 當有學生在該窗口點餐,工作人員可以去統(tǒng)計銷售額,合計總額;l 當有同學訂外賣,可以及時生成訂單的詳細信息,確保準確無誤地送到指定地點。 就餐信息需求l 基本功能:記錄學生在食堂的就餐情況l 統(tǒng)計功能:u 統(tǒng)計食用某道菜的人數(shù)u 統(tǒng)計食用某道菜的時間u 統(tǒng)計某人食用的菜名l 查詢功能:u 上食堂就餐的同學信息查詢:就餐同學姓名就餐同學住址就餐同學學號就餐同學性別就餐同學年齡就餐同學聯(lián)系方式 外賣信息需求l 查詢功能:u 外賣號u 訂外賣的同學相關信息u 送餐的員工的相關信息u 是否送餐以及送餐時間2系統(tǒng)模塊分析在調查完了用戶需求之后,就要開始分析用戶需求。在此,我們采用自頂向下的結構化分析方法(SA方法)。首先,定義全局概念結構的框架,如圖2.2所示。圖2.2食堂管理系統(tǒng)總框架圖3數(shù)據(jù)字典將所有子系統(tǒng)全部細化。將所有用戶需求分析完畢之后,就要開始構造數(shù)據(jù)字典了。數(shù)據(jù)字典提供了對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理,它的功能是存儲和檢索各種數(shù)據(jù)描述,如描述性的數(shù)據(jù)定義等,并且為DBA提供有關的報告。經(jīng)分析之后,本系統(tǒng)要用到11個基本表:食堂信息表,窗口信息表,菜單信息表,學生信息表,員工信息表,就餐信息表,送餐信息表,收入信息表,外賣信息表,送餐信息表,評價信息表。數(shù)據(jù)結構定義如表2.1所示。表2.1 數(shù)據(jù)結構定義數(shù)據(jù)結構名含義說明組成食堂信息定義了食堂的有關信息食堂編號,營業(yè)狀況,好評度,客流量,員工號窗口信息定義了窗口的有關信息窗口編號,食堂號,好評度,營業(yè)狀況,工作人員菜單信息表定義了菜單的有關信息菜編號,窗口編號,食堂編號,菜名,好評度,狀況,價錢評價信息定義了某同學對食堂,窗口,菜的評價的有關信息評價編號,學號,食堂編號,窗口編號,菜編號,食堂分數(shù),窗口分數(shù),菜分數(shù)學生信息定義了學生的有關信息學號,姓名,性別,年齡,住址,聯(lián)系方式就餐信息定義了學生的就餐信息學號,菜編號,就餐時間菜收入信息定義了某一種菜收入的有關信息銷售編號,菜編號,數(shù)量,收入員工信息定義了員工的有關信息員工號,姓名,性別,年齡,職位,聯(lián)系方式外賣信息定義了外賣的有關信息學號,訂餐號訂餐信息定義了訂餐的有關信息訂餐號,食堂號,窗口號,菜編號,數(shù)量,總價送餐信息定義了每一份外賣的送餐人員訂餐號,員工號,狀態(tài),送餐時間第三章 概念結構設計3.1 概念結構設計的方法與步驟數(shù)據(jù)庫概念結構設計階段的任務是將需求分析得到的用戶需求抽象為信息結構。概念結構設計是整個數(shù)據(jù)庫設計的關鍵階段,其主要任務是通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模式。 概念設計階段我采用自底向上的方法,即自頂向下的進行需求分析,然后再自底向上的進行概念結構設計。對已經(jīng)細化到無法再分的階段逐步集成在一起,最終合成一個全局概念模式。3.2 數(shù)據(jù)抽象與局部視圖設計按照圖2.2食堂管理系統(tǒng)總框架圖,設計局部E-R圖。圖3.1食堂和窗口信息局部E-R圖 圖3.2窗口和菜信息局部E-R圖 圖3.3銷售收入和菜信息局部E-R圖 圖3.4員工和食堂信息局部E-R圖 圖3.5員工和窗口信息局部E-R圖 圖3.6學生就餐信息局部E-R圖圖3.7學生訂餐信息局部E-R圖 圖3.8員工送餐信息局部E-R圖 圖3.9學生評價信息局部E-R圖 3.3視圖的集成 經(jīng)過逐步細化再進行每兩個一集成初步形成一個E-R圖,最后得到圖3.10總體概念結構E-R圖。圖3.10系統(tǒng)總體結構E-R圖第四章 邏輯結構設計4.1 E-R圖向關系模型的轉換將圖3.10總體概念結構E-R圖轉化成關系模型。將轉化的關系模式進行優(yōu)化,最終達到第三范式。 食堂信息表(食堂編號,營業(yè)狀況,好評度,客流量,員工編號)窗口信息表(窗口編號,營業(yè)狀況,好評度,食堂編號,員工編號) 菜單信息表(菜編號,窗口編號,食堂編號,菜名,狀況,價錢,好評度) 同學評價信息單(打分編號,食堂編號,食堂分數(shù),窗口編號,窗口分數(shù),菜編號,菜分數(shù),學號,時間)菜收入信息表(銷售編號,菜編號,收入)員工信息表(員工編號,姓名,性別,年齡,職位,聯(lián)系方式)學生信息表(學號,姓名,性別,年齡,住址,聯(lián)系方式)就餐信息表(學號,菜編號,時間)外賣信息表(學號,訂餐號)訂餐信息表(訂餐號,食堂號,窗口號,菜編號,數(shù)量,總價)送餐信息表(訂餐號,員工號,狀況,送餐時間)4.2 基本表結構 根據(jù)各個實體以及實體之間的聯(lián)系,再根據(jù)總體結構圖設計各表的結構,其相應表的定義如下:字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Cnovarchar10否主鍵食堂編號Cconditionchar1是否營業(yè)Cevaluationsmallint好評度Ccustomersmallint客流量Enovarchar10否外鍵員工號表4-1食堂信息表的結構 表4-2 窗口信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Wnovarchar10否主鍵窗口編號Wconditionchar1是否營業(yè)Enovarchar10否外鍵員工編號Cnovarchar10否外鍵食堂編號Wevaluationsmallint10好評度 表4-3 菜單信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Dnovarchar10否主鍵菜編號Wnovarchar10否外鍵窗口編號Cnovarchar10否外鍵食堂編號Dnamevarchar30否菜名Dconditionchar1是否供應pricefloat價錢Devaluationsmallint好評度 表4-4學生評價表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Pno varchar否主鍵評價編號Cnovarchar10外鍵食堂編號Cpointsmallint食堂分數(shù)Wnovarchar10外鍵窗口編號Wpointsmallint窗口分數(shù)Dnovarchar10外鍵菜單編號Dpointsmallint菜單分數(shù)Snovarchar20外鍵學號 表4.5 菜收入信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Inovarchar10否主鍵銷售編號Dnovarchar10否外鍵菜編號Incomefloat收入 表4.6 員工數(shù)據(jù)信息表的結構 字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Enovarchar10否主鍵員工號Enamevarchar20否姓名sexchar2性別agesmallint年齡Eposvarchar20職位Ephonevarchar20聯(lián)系方式 表4.7 學生信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Snovarchar20否主鍵學號Snamevarchar20否姓名sexchar2否性別agesmallint否年齡Saddvarchar20否住址Sphonevarchar20否聯(lián)系方式 表4.8 學生就餐信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Snovarchar20否主鍵外鍵學號Dnovarchar10否外鍵菜編號Sdatedatetime否就餐時間 表4.9 外賣信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Tnovarchar10否主鍵訂餐號Snovarchar20否 學號字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Tnovarchar10否主鍵訂餐號Cnovarchar10外鍵食堂號Wnovarchar10外鍵窗口號Dnovarchar10外鍵菜編號Tcountsmallint數(shù)量sumfloat總價 表4.10 訂餐信息表的結構表4.11 送餐信息表的結構字段名數(shù)據(jù)類型長度是否為空主/外鍵備注Tnovarchar10否主鍵外鍵訂餐號Enovarchar10否外鍵員工號Tconditionchar1否狀況第五章 數(shù)據(jù)庫的實現(xiàn)5.1數(shù)據(jù)庫的建立Create database 食堂管理系統(tǒng)on primary (name=食堂管理系統(tǒng),Filename=E:program filesLSL食堂管理系統(tǒng)_data.mdf,Size=4MB,Maxsize=10MB,Filegrowth=1MB)Log on(name=食堂管理系統(tǒng)_log,Filename=E:program filesLSL食堂管理系統(tǒng)_log.ldf,Size=1MB,Maxsize=6MB,Filegrowth=1%)5.2 數(shù)據(jù)庫基本結構的建立1、基本表的建立學生信息表的創(chuàng)建Create table student(Sno varchar(20) primary key,Sname varchar(20) not null,Sadd varchar(20),Sphone varchar(20),Sex char(2),Age smallint);員工信息表的創(chuàng)建Create table Employee(Eno varchar(10) primary key,Ename varchar(20) not null,Epos varchar(20),Ephone varchar(20),Sex char(2),Age smallint);食堂表創(chuàng)建Create table cafeteria(Cno varchar(10) primary key,Ccondition char(1),Cevaluation smallint,Ccustomer smallint,Eno varchar(10) not null,Foreign key(Eno) references Employee(Eno);窗口表的創(chuàng)建Create table chuangkou(Wno varchar(10) primary key,Wcondition char(1),Eno varchar(10) not null,Cno varchar(10) not null,Wevaluation smallintForeign key(Cno) references cafeteria(Cno)Foreign key(Eno) references Employee(Eno);菜單信息表的創(chuàng)建Create table cai(Dno varchar(10) primary key,Wno varchar(10) not null,Cno varchar(10) not null,Dname char(30) not null,Dcondition char(1),Price float,Devaluation smallintForeign key (Cno) references cafeteria(Cno)Foreign key (Wno) references cafeteria(Wno);同學評價表的創(chuàng)建Create table pingjia(Pno varchar(10) primary key,Cno varchar(10),Cpoint varchar(10),Wno varchar(10),Wpoint varchar(10),Dno varchar(10),Dpoint varchar(10),Sno varchar(20)Foreign key(Cno) references cafeteria(Cno)Foreign key(Wno) references window(Wno)Foreign key(Sno) references student(Sno)Foreign key(Dno) references dish(Dno);收入表的創(chuàng)建Create table Income(Ino varchar(10) primary key,Dno varchar(10) not null,Income floatForeign key(Dno) references dish(Dno);訂餐信息表的創(chuàng)建Create table dingcan(Tno varchar(10) primary key,Cno varchar(10),Wno varchar(10),Dno varchar(10),Tcount int,Sum float,Foreign key(Dno) references dish(Dno),Foreign key(Cno) references cafeteria(Cno),Foreign key(Wno) references window(Wno);外賣信息表的創(chuàng)建Create table waimai(Tno varchar(10),Sno varchar(10),Wdate datetime,primary key(Tno,Sno);學生就餐信息表的創(chuàng)建Create table jiucan(Sno varchar(20),Dno varchar(10),Sdate datetime,Primary key(Sno,Dno),Foreign key(Sno) references student(Sno),Foreign key(Dno) references dish(Dno),);送餐信息表的創(chuàng)建Create table songcan(Tno varchar(10),Eno varchar(10),Tcondition char(1) not null,Primary key(Tno,Eno),Foreign key(Tno) references dingcan(Tno),Foreign key(Eno) references Employee(Eno);2、添加數(shù)據(jù)insert into student values(0912310124,原濤,11號 1506樓24,男);3、視圖的建立Create view view_waimaiAs select sname,Cno,Wno,Dno,Tcount,sumFrom student,waimai,dingcanWhere student.Sno=waimai.Sno and waimai.Tno=dingcan.Tno4、 索引的建立建立窗口評價按降序排列的唯一索引create unique index Wpingjia on Window(Wevaluation desc)建立食堂信息表的聚簇索引create clustered index shitanghao on cafeteria(Cno)建立窗口信息表的聚簇索引create clustered index windowhao on window(Wno)建立菜單信息表的聚簇索引create clustered index Dishhao on dish(Dno)建立學生評價信息表的聚簇索引create clustered index pingjiahao on pingjia(Pno)建立菜收入信息表的聚簇索引create clustered index Incomehao on Income(Ino)建立員工信息表的聚簇索引create clustered index Employeehao on Employee(Eno)建立學生信息表的聚簇索引create clustered index studenthao on student(Sno)建立學生就餐信息表的聚簇索引create clustered index jiucanhao on jiucan(Sno)建立外賣信息表的聚簇索引create clustered index waimaihao on jwaimai(Tno)建立訂餐信息表的聚簇索引create clustered index dingcanhao on dingcan(Tno)建立送餐信息表的聚簇索引create clustered index songcanhao on songcan(Tno)5、 游標的建立建立以下游標,能實現(xiàn)對表student的按行讀取數(shù)據(jù)declare cs_student scroll cursorforselect sno,sname,sadd,sphonefrom studentfor read onlyopen cs_studentfetch from cs_student不斷執(zhí)行fetch from cs_student語句,則能不斷顯示每行數(shù)據(jù)。在菜單表上定義一個包含Dname,price,Devaluation的游標,游標的名稱為dish_cursor,將游標中絕對位置為2的菜名改為“肉末木耳”,價錢改為3.2元,好評度改為87declare dish_cursor scroll cursorforselect Dname,price,Devaluationfrom dishfor update of Dname,price,Devaluationopen dish_cursorfetch absolute 2 from dish_cursorupdate dishset Dname=肉末木耳,price=3.2,Devaluation=87where current of dish_cursorfetch absolute 2 from dish_cursor6、存儲過程的建立建立名為dish_name的存儲過程,功能為:顯示每個訂餐號對應的基本信息,包括訂餐號,菜編號,菜名,菜所在的食堂號,菜所在的窗口號,菜價以及好評度等信息。create procedure dish_nameas select tno,dish.dno,dname,o,dish.wno,price,devaluationfrom dingcan,dishwhere dingcan.dno=dish.dno創(chuàng)建一個存儲過程cai_price,功能如下:輸入菜價,如果大于3.5,則輸出菜太貴,并輸出菜價;如果小于3.5,則輸出菜比較便宜,并輸出菜價create procedure cai_price dprice floatasdeclare ddprice floatselect ddprice=pricefrom dishwhere dish.dno=dpriceif ddprice=3.5print 菜太貴,價錢為:+convert(char(2),dprice)+元elseprint 菜比較便宜,價錢為+convert(char(2),dprice)+元5.3安全性的實現(xiàn)1、利用圖形化工具為了提高安全性,建立系統(tǒng)用戶,SQL SERVER用戶,數(shù)據(jù)庫用戶。系統(tǒng)用戶名:loginSQL SERVER用戶名:LSL數(shù)據(jù)庫用戶名:LSL為SQL SERVER用戶,數(shù)據(jù)庫用戶分配角色,寫出分配的角色名。分配的角色名:role,db_owner2、利用Transact-SQL設計一個SQL server登錄賬戶,并設置密碼,寫出相應的SQL語句。Sp_addlogin LSL,123為登錄帳戶,設計創(chuàng)建一個數(shù)據(jù)庫用戶,寫出相應的SQL語句。Sp_grantdbaccess LSL,LSL為數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫角色,寫出相應的SQL語句。sp_addrolemember db_owner,LSLsp_addrole role,LSL5.4完整性的實現(xiàn)1、UNIQUE約束UNIQUE約束指定一個或多個列的組合的值具有唯一性,以防止在列中輸入重復值。與主鍵約束的區(qū)別是:主鍵約束在每個表中規(guī)定的主鍵只能有一個,且主鍵不允許有空值。但是在UNIQUE約束中是允許有空值的,并且可以在多個列上定義。比如創(chuàng)建菜單信息表時,規(guī)定了菜名不能重復。Create table dish(Dno varchar(10) primary key,Wno varchar(10),Cno varchar(10),Dname char(30) UNIQUE,Dcondition char(1),Price float,Devaluation smallint);2、CHECK約束CHECK約束在SQL Server中被定義在表約束和列約束中。它允許指定包括在列中的值。例如,定義某列的值的范圍,值列表等。在創(chuàng)建菜單信息表時,如指定菜價在0到10之間,則SQL語句為:Create table cai(Dno varchar(10) primary key,Wno varchar(10),Cno varchar(10),Dname char(30) UNIQUE,Dcondition char(1),Price float check(price between 0 and 10),Devaluation smallint);或者,建好表之后,可以輸入如下語句增加CHECK約束。alter table dishadd constraint check_pricecheck(price=0 and price0再創(chuàng)建一個規(guī)則,要求使用該規(guī)則的列的取值在0到100之間:Create rule dafenAsvalue between 0 and 100使用系統(tǒng)存儲過程sp_bindrule將dishname綁定到dish表中的Dname列Use diancaiExec sp_bindrule dishname,dish.dname使用系統(tǒng)存儲過程sp_bindrule將dafen綁定到dish表中的Devaluation列Use diancaiExec sp_bindrule dafen,dish.devaluation5.5恢復技術的實現(xiàn)完成所有數(shù)據(jù)的設計工作后,備份數(shù)據(jù)庫.將食堂管理系統(tǒng)備份到E:LSLshitangguanli.bak在查詢編輯器中輸入如下語句Backup database 食堂管理系統(tǒng)To disk=E:LSLshitangguanli.bakWith format第六章 運行與結果6.1簡單查詢和連接查詢1、簡單查詢輸出食堂的基本信息Select *From cafeteria輸出食堂窗口的基本信息Select *From window輸出菜單的基本信息select *from dish查詢數(shù)學系或計算機系姓張的學生的信息。select * from studentwhere Sdept in (交通系,信息系)and sname like 李% 輸出所有姓”李”的同學的基本信息select *from studentwhere sname like 李%2、連接查詢輸出訂外賣的學生的基本信息以及外賣的基本信息select dingcan.Tno as 訂餐編號,Cno as 食堂編號,Wno as 窗口編號,Dno 菜編號,Tcount as 數(shù)量,sum 總價,student.Sno as 學號,Sname as 姓名,sex as 性別,age as 年齡,Sadd as住址,Sphone as 聯(lián)系方式from waimai,student,dingcanwhere student.sno=waimai.sno and dingcan.tno=waimai.tno輸出食堂的基本信息以及相應的管理員的基本信息select *from cafeteria,employeewhere cafeteria.eno=employee.eno輸出學生的基本信息以及學生對食堂,窗口和菜評價的基本信息select *from student,pingjiawhere student.sno=pingjia.sno查詢“李詩林”同學對菜的評價以及菜的相關信息select *from pingjia,dishwhere ping
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑安裝工程節(jié)能評估合同模板2篇
- 二零二五年機關單位勞動合同續(xù)簽與解約操作指南3篇
- 二零二五版海洋工程船舶維修保險合同3篇
- 二零二五年度教育培訓機構借款合同范本:助力教育產(chǎn)業(yè)發(fā)展3篇
- 二零二五年紅提葡萄品牌推廣與銷售代理合同3篇
- 二零二五版股權投資合作終止后的股權轉讓合同2篇
- 二零二五版保育員家庭服務與職業(yè)發(fā)展合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)勞動保障監(jiān)察與管理規(guī)范合同3篇
- 二零二五版地下管廊鋼筋施工分包合同范本3篇
- 二零二五年海上貨物運輸保險合同與貨物索賠快速處理協(xié)議3篇
- 奶茶督導述職報告
- 山東萊陽核電項目一期工程水土保持方案
- 白熊效應(修訂版)
- 小學數(shù)學知識結構化教學
- 視頻監(jiān)控維保項目投標方案(技術標)
- 社會組織能力建設培訓
- 立項報告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請范本
- 主變壓器試驗報告模板
- 安全防護通道施工方案
評論
0/150
提交評論