數(shù)據(jù)庫課程設(shè)計(jì)finish.doc_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)finish.doc_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)finish.doc_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)finish.doc_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)finish.doc_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

中國石油大學(xué)遠(yuǎn)程教育學(xué)院20*-20*-*學(xué)期數(shù)據(jù)庫課程設(shè)計(jì)大作業(yè)題 目: 運(yùn)動(dòng)會(huì)管理系統(tǒng)設(shè)計(jì) 專 業(yè): 班 級: 學(xué)生姓名: 學(xué) 號: 年 月目 錄1 需求分析背景31.1 系統(tǒng)設(shè)計(jì)背景31.2系統(tǒng)設(shè)計(jì)的原則31.3系統(tǒng)設(shè)計(jì)的目標(biāo)42 需求分析功能及性能42.1系統(tǒng)需求功能分析42.2 系統(tǒng)業(yè)務(wù)需求分析52.3 賽前準(zhǔn)備系統(tǒng)62.4 系統(tǒng)權(quán)限設(shè)計(jì)62.5系統(tǒng)數(shù)據(jù)流程圖62.6數(shù)據(jù)定義73 數(shù)據(jù)庫設(shè)計(jì)93.1確定實(shí)體和聯(lián)93.2 E-R 圖設(shè)計(jì)103.3關(guān)系模式截圖104 數(shù)據(jù)庫邏輯設(shè)計(jì)114.1 將 E-R 圖轉(zhuǎn)化為關(guān)系模式114.2 數(shù)據(jù)表的代碼(創(chuàng)建)115 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)146 檢驗(yàn)是否滿足用戶需求157 數(shù)據(jù)庫實(shí)施、運(yùn)行和維護(hù)158 系統(tǒng)測試159 課程設(shè)計(jì)心得體會(huì)24參考文獻(xiàn)251 需求分析背景1.1 系統(tǒng)設(shè)計(jì)背景高等院校運(yùn)動(dòng)會(huì)是高校體育工作的重要組成部分。近年來,隨著招生規(guī)模的擴(kuò)大, 導(dǎo)致比賽項(xiàng)目、參賽人數(shù)不斷增加,同時(shí)人們對比賽結(jié)果的準(zhǔn)確性和實(shí)時(shí)性要求也越來越高,參賽隊(duì)需要得到及時(shí)、準(zhǔn)確的相關(guān)信息 ,從而有效進(jìn)行競賽的決策指導(dǎo),這些問題和需求是采用人工方式或單機(jī)版運(yùn)動(dòng)會(huì)管理系統(tǒng)都難以解決的。為此,我們對運(yùn)動(dòng)會(huì)的信息綜合管理系統(tǒng)進(jìn)行了研究,使運(yùn)動(dòng)會(huì)的籌備、組織、管理、協(xié)調(diào)等工作全面實(shí)現(xiàn)了計(jì)算機(jī)網(wǎng)絡(luò)化、自動(dòng)化,極大的提高了工作效率和信息處理的實(shí)時(shí)性。高校運(yùn)動(dòng)會(huì)作為各項(xiàng)體育運(yùn)動(dòng)的基礎(chǔ),具有廣泛的群眾性。每屆的高校運(yùn)動(dòng)會(huì)聲勢浩大,是提高、檢驗(yàn)學(xué)生的健康水平,開展全民健身運(yùn)動(dòng)的有效途徑。由于比賽項(xiàng)目較多,參賽人數(shù)廣,數(shù)據(jù)處理量大且變化時(shí)效性要求高,管理較為復(fù)雜,其編排,記錄,公告工作是一項(xiàng)復(fù)雜的工程。為了解決在運(yùn)動(dòng)會(huì)管理和組織所面臨的各種問題,我們開發(fā)了一套適合高校的運(yùn)動(dòng)會(huì)管理系統(tǒng)。在分析運(yùn)動(dòng)會(huì)管理需求的基礎(chǔ)上,通過比較分析不 同的開發(fā)模式和特點(diǎn),系統(tǒng)采用簡單實(shí)用的Windows環(huán)境下的基于瀏覽器/服務(wù)器的模式構(gòu)建,用SQL Server2005作為后臺數(shù)據(jù)庫,提供對數(shù)據(jù)庫的查詢、添加、修改、刪除等操作來實(shí)現(xiàn)信息網(wǎng)上管理,并對信息管理功能進(jìn)行了詳細(xì)的分析,以實(shí)現(xiàn)動(dòng)態(tài)、交互、高效的網(wǎng)絡(luò)化信息管理。系統(tǒng)采用業(yè)務(wù)流程圖,實(shí)現(xiàn)了賽前管理、賽中管理、賽后管理三大功能模塊。系統(tǒng)能夠?qū)\(yùn)動(dòng)員的報(bào)名信息進(jìn)行準(zhǔn)確統(tǒng)計(jì),能夠有效處理賽程中的實(shí)時(shí)數(shù)據(jù)。系統(tǒng)具有覆蓋面廣、維護(hù)性強(qiáng)、通用性好以及安全性高等優(yōu)點(diǎn)。本系統(tǒng)投入使用后,運(yùn)行穩(wěn)定可靠,基本達(dá)到了預(yù)期效果,提高了高校運(yùn)動(dòng)會(huì)管理的效率,降低了管理的人力、財(cái)力成本取得了一定的實(shí)用價(jià)值和經(jīng)濟(jì)效益。同時(shí),我們也得到了一些好的建議,為今后系統(tǒng)的不斷完善創(chuàng)造了有力條件。1.2系統(tǒng)設(shè)計(jì)的原則 本系統(tǒng)從高校運(yùn)動(dòng)會(huì)的實(shí)際情況出發(fā),堅(jiān)持用戶方便易用,運(yùn)動(dòng)會(huì)期間數(shù)據(jù)實(shí)時(shí)共享,從本質(zhì)上改變以前繁瑣、重復(fù)和低效率的手工操作的工作方式,提高了運(yùn)動(dòng)會(huì)管理數(shù)據(jù)的準(zhǔn)確性和及時(shí)性,因而能更好地為學(xué)生和決策人服務(wù)。為了該系統(tǒng)能更好的為高校運(yùn)動(dòng)會(huì)管理服務(wù),本系統(tǒng)的建立應(yīng)該遵循以下四個(gè)基本原則:(1)規(guī)范化原則 先對高校運(yùn)動(dòng)會(huì)管理業(yè)務(wù)流程的綜合分析,建立相關(guān)的規(guī)范的運(yùn)動(dòng)會(huì)管理制度,利用現(xiàn)有的信息技術(shù)實(shí)現(xiàn)管理的規(guī)范化和高效性。(2)兼容性原則 本系統(tǒng)應(yīng)能夠與學(xué)?,F(xiàn)有的管理系統(tǒng)在技術(shù)上兼容,在技術(shù)條件允許的前提下,最大限度地利用現(xiàn)有的硬件、軟件平臺。使得在更大程度上提高管理部門的數(shù)據(jù)和信息資源的共享,為以后的領(lǐng)導(dǎo)決策提供必要的信息支持。(3)易用性原則 根據(jù)高校運(yùn)動(dòng)會(huì)的業(yè)務(wù)需要,給各類用戶提供高效,友好的用戶界面,交互更加的人性化和易操作。(4)創(chuàng)新性原則 在系統(tǒng)建設(shè)過程中,將結(jié)合信息系統(tǒng)的特點(diǎn),基于高校運(yùn)動(dòng)會(huì)流程管理思想對現(xiàn)有的業(yè)務(wù)流程進(jìn)行重新梳理,優(yōu)化組合。在管理制度和業(yè)務(wù)實(shí)現(xiàn)等方面體現(xiàn)該系統(tǒng)創(chuàng)新和開拓的思路。1.3系統(tǒng)設(shè)計(jì)的目標(biāo)為了使系統(tǒng)更好的為高校運(yùn)動(dòng)會(huì)管理服務(wù),本系統(tǒng)的建立需要實(shí)現(xiàn)以下兩個(gè)目標(biāo): (1) 系統(tǒng)具有較廣的覆蓋面,系統(tǒng)將根據(jù)整個(gè)運(yùn)動(dòng)會(huì)組織管理的具體情況量身定制,應(yīng)該包括運(yùn)動(dòng)會(huì)管理的各個(gè)方面,從比賽項(xiàng)目信息到運(yùn)動(dòng)員信息、從報(bào)名信息到比賽成績信息等都應(yīng)該 包含到位。(2)系統(tǒng)具有較高的安全性 我們除了視窗系統(tǒng)本身提供的安全措施外,系統(tǒng)還應(yīng)該具有以下幾項(xiàng)安全性能:數(shù)據(jù)庫系統(tǒng)的身份核查;系統(tǒng)的登錄和身份核查;非登錄用戶不允許直接進(jìn)入工作頁面。2 需求分析功能及性能2.1系統(tǒng)需求功能分析 根據(jù)用戶需求,按照結(jié)構(gòu)化程序設(shè)計(jì)的思想,采用自頂向下的結(jié)構(gòu)化分析方法,整個(gè)系統(tǒng)可以劃分為三大部分:賽前準(zhǔn)備,賽中管理,賽后處理。運(yùn)動(dòng)會(huì)管理系統(tǒng)賽前準(zhǔn)備賽后處理賽中管理比賽規(guī)則比賽項(xiàng)目報(bào)名分組分道成績錄入名次裁定運(yùn)動(dòng)員成績統(tǒng)計(jì)統(tǒng)計(jì)團(tuán)體總分破紀(jì)錄人數(shù)統(tǒng)計(jì)成績查詢記錄表成績表團(tuán)體總分表獎(jiǎng)牌榜決賽成績總表破紀(jì)錄情況表運(yùn)動(dòng)員姓名號碼順序表項(xiàng)目分組表系統(tǒng)功能模塊圖(1)賽前準(zhǔn)備 根據(jù)比賽需求,學(xué)校制定相關(guān)比賽規(guī)則和比賽項(xiàng)目,運(yùn)動(dòng)員根據(jù)比賽規(guī)則報(bào)名,并確定所要參加的比賽項(xiàng)目。所有的運(yùn)動(dòng)員都需要在報(bào)名表上登記個(gè)人的基本信息。由管理人員對參賽的運(yùn)動(dòng)員進(jìn)行編號,生成運(yùn)動(dòng)員姓名號碼對照表,并根據(jù)報(bào)名表系統(tǒng)進(jìn)行自動(dòng)分組,分道,生成項(xiàng)目分組表。(2)賽中管理 根據(jù)比賽結(jié)果,裁判對運(yùn)動(dòng)員的進(jìn)行成績評定、成績錄入和成績處理,從而判定出各個(gè)比賽項(xiàng)目的名次,并對運(yùn)動(dòng)隊(duì)的成績和團(tuán)體總分進(jìn)行統(tǒng)計(jì),實(shí)現(xiàn)智能化成績處理。(3)賽后管理 運(yùn)動(dòng)員可以根據(jù)自己的院系、姓名、號碼等查詢自己的成績,并根據(jù)賽前準(zhǔn)備和比賽管理階段所涉及到的各個(gè)信息,打印出各種檢錄表、成績單及團(tuán)體總分表、獎(jiǎng)牌榜、決賽成績總表、破記錄情況表。2.2 系統(tǒng)業(yè)務(wù)需求分析 經(jīng)過詳細(xì)的分析,田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)所實(shí)現(xiàn)的最終目標(biāo)就是要使運(yùn)動(dòng)會(huì)管理人員的 各項(xiàng)工作實(shí)現(xiàn)全面的規(guī)范化、科學(xué)化、自動(dòng)化、高效化和流程化,使各類信息得到及時(shí)、有序的管理。因此,根據(jù)業(yè)務(wù)需要,運(yùn)動(dòng)會(huì)管理系統(tǒng)應(yīng)滿足以下的需求: (1)該系統(tǒng)是田徑運(yùn)動(dòng)會(huì)比賽期間的信息處理系統(tǒng),同時(shí)也是對外發(fā)布信息的窗口。賽會(huì)管理人員可以通過發(fā)布比賽信息,如比賽準(zhǔn)備期間的比賽規(guī)則,比賽項(xiàng)目流 程信息,比賽期間的各個(gè)比賽實(shí)時(shí)信息等。因此,該系統(tǒng)必須要有一個(gè)簡捷的操 作界面給管理人員進(jìn)行操作。 (2)提供報(bào)名功能。運(yùn)動(dòng)員的報(bào)名信息是一屆運(yùn)動(dòng)會(huì)的關(guān)鍵信息,因此,要給運(yùn)動(dòng)員提供一個(gè)方便快捷的方式進(jìn)行報(bào)名操作。 (3)運(yùn)動(dòng)會(huì)期間要進(jìn)行比賽成績,排名等信息的錄入和發(fā)布的操作。 (4)比賽結(jié)束后,要為運(yùn)動(dòng)會(huì)信息管理提供各個(gè)比賽項(xiàng)目信息的查詢,統(tǒng)計(jì)功能,并且將統(tǒng)計(jì)結(jié)果生成文檔,打印為報(bào)表。開 始發(fā)布比賽規(guī)則和比賽項(xiàng)目運(yùn)動(dòng)員報(bào)名統(tǒng)計(jì)報(bào)名人數(shù)比 賽生產(chǎn)成績單和團(tuán)體總分表結(jié) 束系統(tǒng)業(yè)務(wù)流程圖2.3 賽前準(zhǔn)備系統(tǒng)其基本功能包括以下幾個(gè)方面 (1) 比賽規(guī)程(包括比賽規(guī)則,裁判員名單,記分規(guī)則,比賽項(xiàng)目等等)的方布 (2) 運(yùn)動(dòng)員報(bào)名 (3) 運(yùn)動(dòng)員編號,分項(xiàng)目,分組,分道 (4) 報(bào)名表的錄人,即統(tǒng)計(jì)參賽人數(shù)和各個(gè)項(xiàng)目參賽人數(shù)的統(tǒng)計(jì) (5) 輸出比賽用表,包含運(yùn)動(dòng)員姓名號碼對照表,項(xiàng)目分組表 賽中管理系統(tǒng)其基本功能包括以下幾個(gè)方面 (1) 裁判員輸入各個(gè)比賽項(xiàng)目的比賽成績信息 (2) 根據(jù)賽會(huì)成績,發(fā)布比賽信息 (3) 生成決賽名單,并公布賽后處理系統(tǒng)該過程具有如下功能:(1) 打印出各種檢錄表、成績單及團(tuán)體總分表、獎(jiǎng)牌榜、決賽成績總表、破記錄情況表 (2) 比賽信息數(shù)據(jù)存儲(chǔ)及備份2.4 系統(tǒng)權(quán)限設(shè)計(jì)為了保證系統(tǒng)的安全性,系統(tǒng)中的用戶必須擁有不同的權(quán)限,而且不同權(quán)限的用戶操作不同的頁面。為了能更好的管理,可以將用戶分為 3 種:(1)管理員 管理員可以使用系統(tǒng)的所有功能,有權(quán)添加授權(quán)用戶,控制各級使用的菜單,發(fā) 布賽會(huì)信息等。 (2)授權(quán)用戶 授權(quán)用戶只能使用管理員授權(quán)使用的系統(tǒng)的部分功能,可以對系統(tǒng)的部分信息進(jìn)行查詢和瀏覽。 (3)一般用戶 一般用戶只能使用菜單功能和信息查詢。2.5系統(tǒng)數(shù)據(jù)流程圖數(shù)據(jù)流程圖是用來描繪軟件系統(tǒng)邏輯模型的圖形工具,是描繪信息在系統(tǒng)中流動(dòng)和處理的情況。數(shù)據(jù)流圖是軟件設(shè)計(jì)人員和用戶之間很好的通信工具。運(yùn)動(dòng)會(huì)的管理過程中需要處理大量的數(shù)據(jù)并且要及時(shí),準(zhǔn)確的提供處理結(jié)果。首先,要輸入各個(gè)參賽運(yùn)動(dòng)員的報(bào)名表,并建立相關(guān)的數(shù)據(jù)庫;利用報(bào)名表等數(shù)據(jù)進(jìn)行田徑運(yùn)動(dòng)會(huì)各個(gè)比賽項(xiàng)目時(shí)間、分組、分道的編排;在運(yùn)動(dòng)會(huì)比賽過程中,要求及時(shí)的輸入各個(gè)運(yùn)動(dòng)員比賽項(xiàng)目的成績并進(jìn)行相應(yīng)的出理,打印出成績報(bào)表,提供各個(gè)運(yùn)動(dòng)會(huì)信息的查詢。2.6數(shù)據(jù)定義數(shù)據(jù)結(jié)構(gòu)編號數(shù)據(jù)結(jié)構(gòu)名含義說明組成01用戶記錄用戶情況用戶編號,用戶名,用戶密碼02比賽項(xiàng)目表記錄學(xué)校設(shè)置的比賽項(xiàng)目情況項(xiàng)目編號,項(xiàng)目名稱,項(xiàng)目類型,項(xiàng)目比賽時(shí)間03項(xiàng)目成績表記錄運(yùn)動(dòng)員的各個(gè)項(xiàng)目的比賽成績項(xiàng)目編號,項(xiàng)目名稱,運(yùn)動(dòng)員編號,預(yù)賽成績,預(yù)賽排名,決賽成績,決賽排名04班級得分表記錄每個(gè)班級的得分情況項(xiàng)目編號,項(xiàng)目名次,項(xiàng)目得分,班級總分,班級,系別05項(xiàng)目記錄表記錄破紀(jì)錄的情況項(xiàng)目編號,項(xiàng)目記錄,創(chuàng)造者學(xué)號,創(chuàng)造記錄時(shí)間06運(yùn)動(dòng)員記錄運(yùn)動(dòng)員的基本信息與報(bào)名信息姓名,性別,學(xué)號,系別,班級07分組分道表記錄運(yùn)動(dòng)員的分組分道信息項(xiàng)目編號,運(yùn)動(dòng)員編號,分組號08運(yùn)動(dòng)員的姓名號碼對照表記錄運(yùn)動(dòng)員的姓名號碼對照情況運(yùn)動(dòng)員編號,學(xué)號,姓名對上述8種數(shù)據(jù)定義如下:(1)用 戶數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1用戶編號記錄用戶權(quán)限情況,用戶的唯一標(biāo)識YH_IDCHAR8數(shù)字2用戶名用戶的全稱YH_NAMECHAR20任何漢字3用戶密碼記錄用戶的登錄密碼情況YH_MIMACHAR20數(shù)字或漢字(2)項(xiàng)目成績表數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1運(yùn)動(dòng)員編號運(yùn)動(dòng)員比賽的唯一標(biāo)識YDY_ID自動(dòng)編號8數(shù)字2項(xiàng)目編號項(xiàng)目的編號情況XM_IDCHAR8數(shù)字3項(xiàng)目名稱項(xiàng)目的全稱XM_NAMECHAR20任何漢字4預(yù)賽成績記錄運(yùn)動(dòng)員在預(yù)賽中取得的成績YS_CJCHAR8數(shù)字5預(yù)賽排名記錄運(yùn)動(dòng)員在預(yù)賽中取得的成績YS_PMCHAR8數(shù)字6決賽成績記錄運(yùn)動(dòng)員在決賽中取得的排名JS_CJCHAR8數(shù)字7決賽排名記錄運(yùn)動(dòng)員在決賽中取得的排名Js_pmChar4漢字或數(shù)字(3)比賽項(xiàng)目表數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1項(xiàng)目編號項(xiàng)目的編號情況Xm_idChar8數(shù)字2項(xiàng)目名稱項(xiàng)目的全稱Xm_nameChar20任何漢字3項(xiàng)目類型記錄項(xiàng)目的類型Xm_lxChar12任何漢字4項(xiàng)目比賽預(yù)賽時(shí)間記錄項(xiàng)目的比賽預(yù)賽時(shí)間Xmys_sj日期型-5項(xiàng)目比賽決賽時(shí)間記錄項(xiàng)目的比賽決賽的時(shí)間Xmjs_sj日期型-(4)班級總分表編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1項(xiàng)目編號項(xiàng)目的編號情況Xm_idChar6數(shù)字2項(xiàng)目名次記錄項(xiàng)目的名次情況Xm_mcChar6漢字或數(shù)字3項(xiàng)目得分記錄項(xiàng)目的得分情況Xm_dfChar6數(shù)字4班級總分記錄班級的總得分情況Bj_zfChar6數(shù)字5班級班級的全稱Bj_nameChar6任何漢字6班級名次記錄班級的名次情況Bj_mcChar6漢字或數(shù)字(5)項(xiàng)目記錄表數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1項(xiàng)目編號項(xiàng)目的編號情況Xm_idChar8數(shù)字2項(xiàng)目記錄記錄項(xiàng)目的記錄Xm_jlChar8數(shù)字或漢字3創(chuàng)造者學(xué)號記錄創(chuàng)造者的學(xué)生學(xué)號Jl_idChar12數(shù)字4創(chuàng)造記錄時(shí)間記錄創(chuàng)造者的時(shí)間Jl_sj日期型(6)運(yùn)動(dòng)員數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1姓名運(yùn)動(dòng)員的全稱Stu_nameChar8任何漢字2系別運(yùn)動(dòng)員所在的系別Stu_xbChar20任何漢字3學(xué)號運(yùn)動(dòng)員的唯一標(biāo)識Stu_xhChar12數(shù)字4班級班級的全稱Bj_nameChar8任何漢字5性別運(yùn)動(dòng)員的性別Stu_sexChar2男或女6項(xiàng)目1運(yùn)動(dòng)員所報(bào)項(xiàng)目Stu_xmlChar8任何漢字7項(xiàng)目2運(yùn)動(dòng)員所報(bào)項(xiàng)目Stu_xm2Char8任何漢字(7)分組分道表數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1運(yùn)動(dòng)員編號運(yùn)動(dòng)員比賽的唯一標(biāo)識Ydy_id自動(dòng)編號8數(shù)字2項(xiàng)目編號項(xiàng)目的編號情況Xm_idChar8數(shù)字3分組號運(yùn)動(dòng)員分組情況Fz_idChar4數(shù)字4分道號運(yùn)動(dòng)員分道情況Fd_idChar4數(shù)字(8)運(yùn)動(dòng)員姓名號碼對照表數(shù)據(jù)項(xiàng)編號數(shù)據(jù)項(xiàng)名含義說明別名數(shù)據(jù)類型數(shù)據(jù)長度取值范圍1運(yùn)動(dòng)員編號運(yùn)動(dòng)員比賽的唯一標(biāo)識Ydy_id自動(dòng)編號8數(shù)字2運(yùn)動(dòng)員姓名運(yùn)動(dòng)員的全稱Stu_nameChar8任何漢字3學(xué)號運(yùn)動(dòng)員的唯一標(biāo)識Stu_xhChar12數(shù)字3 數(shù)據(jù)庫設(shè)計(jì) 概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)較獨(dú)立于 DBMS 的概念模型。 這個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵階段,設(shè)計(jì)時(shí),一般先根據(jù)系統(tǒng)要求,畫出能反映每個(gè)應(yīng)用需求的 E-R 圖,其中包括確定實(shí)體、屬性和聯(lián)系的類型。然后對初始的 E-R 圖進(jìn)行優(yōu)化,消除冗余和可能存在的矛盾。概念模型的設(shè)計(jì)是對用戶需求的客觀反映,并不涉及具體的計(jì)算機(jī)軟件、硬件環(huán)境。因此,在這個(gè)階段中我們必須將注意力集中在怎樣表達(dá)出用戶對系統(tǒng)的需求,而不考慮具體實(shí)現(xiàn)問題。 3.1確定實(shí)體和聯(lián)實(shí)體: 學(xué)校:學(xué)校編號,學(xué)校名稱。 比賽項(xiàng)目:項(xiàng)目編號,項(xiàng)目規(guī)則,項(xiàng)目名稱,項(xiàng)目類型。運(yùn)動(dòng)員:運(yùn)動(dòng)員編號,姓名,性別,年齡,院系名。 運(yùn)動(dòng)隊(duì):運(yùn)動(dòng)隊(duì)編號,運(yùn)動(dòng)隊(duì)名稱,隊(duì)長名。 裁判員:裁判員編號,姓名,性別,崗位。 成績:等級,排名。 報(bào)表:報(bào)表編號,報(bào)表名稱,打印時(shí)間。 聯(lián)系: 制定:制定人,制定日期。 報(bào)名:比賽細(xì)則,人數(shù)限制。 參加:比賽地點(diǎn),比賽時(shí)間,比賽人數(shù)。 遣派:遣派人數(shù)。 裁決:裁決人。 查詢:用戶名,密碼,查詢方式。 評定:評定規(guī)則,評定人。 處理:處理人。3.2 E-R 圖設(shè)計(jì) 班級 1 組成 n 運(yùn)動(dòng)員 m 成績 參加 名次 n 項(xiàng)目3.3關(guān)系模式截圖4 數(shù)據(jù)庫邏輯設(shè)計(jì)4.1 將 E-R 圖轉(zhuǎn)化為關(guān)系模式學(xué)校(學(xué)校編號,學(xué)校名稱) 比賽項(xiàng)目(項(xiàng)目編號,項(xiàng)目規(guī)則,項(xiàng)目名稱,項(xiàng)目類型,制定人,制定日期,學(xué)校編號) 運(yùn)動(dòng)員(運(yùn)動(dòng)員編號,姓名,性別,年齡,院系名稱,遣派人數(shù),運(yùn)動(dòng)隊(duì)編號) 運(yùn)動(dòng)隊(duì)(運(yùn)動(dòng)隊(duì)編號,運(yùn)動(dòng)隊(duì)名稱) 裁判員(裁判員編號,姓名,性別,崗位,項(xiàng)目編號) 成績(等級,排名,用戶名,密碼) 報(bào)表(報(bào)表編號,報(bào)表名稱,打印時(shí)間) 報(bào)名(運(yùn)動(dòng)員編號,項(xiàng)目編號,比賽細(xì)則,人數(shù)限制) 參加(運(yùn)動(dòng)員編號,項(xiàng)目編號,比賽地點(diǎn),比賽時(shí)間,比賽人數(shù)) 裁決(裁判員編號,項(xiàng)目編號,裁決人) 評定(裁判員編號,項(xiàng)目編號,評定規(guī)則,評定人) 處理(等級,裁判員編號,處理人)4.2 數(shù)據(jù)表的代碼(創(chuàng)建)建立數(shù)據(jù)庫,代碼如下: create database Student on (name=Student_data1,filename=e:Student_data1.mdf,size=20MB, filegrowth=1MB), (name=Student_data2,filename=e:Student_data2.ndf,size=10MB, maxsize=100MB,filegrowth=1MB) log on (name=Student_log,filename=e:Student_log.ldf,size=5MB, filegrowth=10%) 創(chuàng)建數(shù)據(jù)表,代碼如下: Create table dbo.用戶 ( yh_id char(8) NOT NULL, yh_name char(20) NULL,yh_mimachar(20) NULL,Primary key(yh_id) ) Create table dbo.項(xiàng)目成績表(ydy_id 自動(dòng)編號(8) NOT NULL, xm_id char(8) NULL, xm_namechar(20) NULL, ys_cj char(8) NULL,ys_pm char(4) NULL, js_cj char(8) NULL,js_pm char(4) NULL,Primary key(ydy_id),Foreign key(xm_id) )Create table dbo.比賽項(xiàng)目表( xm_idchar(8) NOT NULL, xm_name char(20) NULL, xm_lx char(12) NULL, xmys_sj datetime NULL, xmjs_sj datetime NULL, Primary key (xm_id) ) Create table dbo.班級總分表 ( xm_idchar(8) NULL, xm_mcchar(4) NULL, xm_dfchar(4) NULL, xm_zfchar(4) NULL, bj_namechar(8) NULL, bj_mcchar(4) NOT NULL, Primary key(bj_name), Foreign key(xm_id) )Create table dbo.項(xiàng)目記錄表 ( xm_idchar(8) NULL, xm_jlchar(8) NULL, ji_idchar(12) NOT NULL,ji_sj NULLPrimary key(ji_id) Foreign key(xm_id) ) Create table dbo.運(yùn)動(dòng)員( stu_namechar(8) NULL, stu_xbchar(20) NULL, stu_xhchar(12) NOT NULL, bj_name char(8)NULL, stu_sex char(2) NULL, stu_xm1 char(8) NULL,stu_xm2 char(8) NULL,Primary key(stu_xh)Foreign key(bj_name) ) Create table dbo.分組分道表 ( xm_idchar(8) NULL, ydy_id 自動(dòng)編號(8) NOT NULL, fz_idchar(4) NULL, fd_idchar(4) NULL, Primary key(ydy_id), Foreign key(xm_id) ) Create table dbo.運(yùn)動(dòng)員姓名號碼對照表 ( ydy_id 自動(dòng)編號(8) NULL,stu_name char(8) NULL, stu_xh char(12) NOT NULL,Primary key(stu_xh), Foreign key(ydy_id) )5 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu) 為了提高系統(tǒng)性能,先根據(jù)應(yīng)用情況將數(shù)據(jù)的易變部分和穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低的部分分開在兩個(gè)磁盤上存放,并且考慮將日志文件單獨(dú)存放于一個(gè)磁盤。同時(shí),考慮到本系統(tǒng)是多用戶的,為了提高效率,可以考慮將最大的表運(yùn)動(dòng)員成績表分開存放在多個(gè)磁盤上。至于備份的數(shù)據(jù)和日志文件將保存在磁帶中。一般來說,關(guān)系到運(yùn)動(dòng)員成績的表需要經(jīng)常修改和存取,而關(guān)系到運(yùn)動(dòng)員、分組分道資料的表相對比較穩(wěn)定。本例中,經(jīng)常存取部分和數(shù)據(jù)的易變部分如:運(yùn)動(dòng)員成績報(bào)表、破記錄情況表、團(tuán)體總分表和獎(jiǎng)牌榜等。而存取頻率較低的部分和穩(wěn)定部分如運(yùn)動(dòng)員分組分道記錄表等。創(chuàng)建存儲(chǔ)結(jié)構(gòu)IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME=Pro_n AND TYPE=p)DROP PROCEDURE Pro_nGOCREATE PROCEDURE Pro_nmima_in CHAR(20)AS SELECT yh.mima 密碼,yh_id 用戶編號FROM yhWHERE yh.mima=mima_inAND yh.mima=yh.yh_idGO6 檢驗(yàn)是否滿足用戶需求例行事務(wù)需求 1.運(yùn)動(dòng)員報(bào)名 查詢運(yùn)動(dòng)員報(bào)名信息,確認(rèn)是否報(bào)名成功,對運(yùn)動(dòng)員進(jìn)行分組分道 2.運(yùn)動(dòng)員比賽 記錄運(yùn)動(dòng)員比賽成績,進(jìn)行排名查詢事務(wù)需求 1.查詢某一運(yùn)動(dòng)員報(bào)名情況:根據(jù)運(yùn)動(dòng)員院系名、姓名查詢報(bào)名信息和具體分組分道情況 2.查詢運(yùn)動(dòng)員比賽成績:查詢破記錄人次統(tǒng)計(jì) 按院系、姓名、號碼等查詢成績 3.報(bào)表需求:生成運(yùn)動(dòng)員參賽信息用到的表:運(yùn)動(dòng)員報(bào)名信息,分組分道信息 生成運(yùn)動(dòng)員成績信息用到的表:成績單及團(tuán)體總分表、獎(jiǎng)牌榜、決賽成績總表、破記錄情況7 數(shù)據(jù)庫實(shí)施、運(yùn)行和維護(hù) 完成數(shù)據(jù)庫的物理設(shè)計(jì)之后,設(shè)計(jì)人員就要用DBMS提供的數(shù)據(jù)定義語言和其他實(shí)用 程序?qū)?shù)據(jù)庫邏輯設(shè)計(jì)和物理設(shè)計(jì)結(jié)果嚴(yán)格描述出來,成為DBMS可以接受的源代碼,再經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后就可以組織數(shù)據(jù)入庫,從而建立起真正的數(shù)據(jù)庫。同時(shí),在數(shù)據(jù)庫的基礎(chǔ)上開發(fā)出各種應(yīng)用程序,建立完善、規(guī)范的管理制度,使數(shù)據(jù)庫系統(tǒng)進(jìn)入正常運(yùn)行狀況。隨著系統(tǒng)運(yùn)行環(huán)境的變化,數(shù)據(jù)庫也要進(jìn)行動(dòng)態(tài)的維護(hù)和擴(kuò)充。 8 系統(tǒng)測試 登錄界面如圖8-1所示。 圖8-1登錄界面 對應(yīng)代碼: private void button1_Click(object sender, EventArgs e) try if (txtUserName.Text = ) /判斷用戶是否輸入了用戶名 MessageBox.Show(用戶名不能為空); else if (txtPwd.Text = ) MessageBox.Show(密碼不能為空); /判斷用戶是否輸入了密碼 else SqlConnection con = DBOcn.createCon();/創(chuàng)建數(shù)據(jù)庫連接 con.Open(); if (comboBox1.Text = 運(yùn)動(dòng)員) SqlCommand cmd = new SqlCommand(select count(*) from 用戶信息表 where 用戶= + txtUserName.Text + and 密碼= + txtPwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) this.Hide(); Form3 M = new Form3(); M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用戶名或者密碼錯(cuò)誤,請重新輸入!); txtUserName.Clear(); txtPwd.Clear(); txtUserName.Focus(); else if (comboBox1.Text = 管理員) SqlCommand cmd = new SqlCommand(select count(*) from 管理員 where 用戶= + txtUserName.Text + and 密碼= + txtPwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) this.Hide(); Form4 M = new Form4(); M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用戶名或者密碼錯(cuò)誤,請重新輸入!); txtUserName.Clear(); txtPwd.Clear(); txtUserName.Focus(); else MessageBox.Show(請選擇登錄界面); catch (Exception ex) MessageBox.Show(ex.ToString(); private void txtPwd_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar = 13) /判斷是否按下Enter鍵 button1_Click(sender, e); /調(diào)用“登錄”按鈕的Click事件 報(bào)名界面如圖8-2所示。 圖8-2報(bào)名界面對應(yīng)代碼: private void 提交_Click(object sender, EventArgs e) string s; SqlConnection con = DBOcn.createCon(); con.Open();/在原表中新建一個(gè)新行,然后再數(shù)據(jù)添加到新行中 SqlCommand cmd = new SqlCommand(insert into 運(yùn)動(dòng)員信息表(編號,姓名,性別,比賽項(xiàng)目1,比賽項(xiàng)目2,比賽項(xiàng)目3,比賽項(xiàng)目4,代表隊(duì)), con); cmd.Parameters.Add(編號, SqlDbType.Char, 20).Value = textBox1.Text; cmd.Parameters.Add(姓名, SqlDbType.Char, 20).Value = textBox2.Text; cmd.Parameters.Add(代表隊(duì), SqlDbType.Char, 20).Value = textBox3.Text; if (radioButton1.Checked = true) s = 男; cmd.Parameters.Add(性別, SqlDbType.Char, 2).Value = s; if (radioButton2.Checked = true) s = 女; cmd.Parameters.Add(性別, SqlDbType.Char, 2).Value = s; cmd.Parameters.Add(比賽項(xiàng)目1, SqlDbType.Char, 10).Value = comboBox1.Text; cmd.Parameters.Add(比賽項(xiàng)目2, SqlDbType.Char, 40).Value = comboBox2.Text; cmd.Parameters.Add(比賽項(xiàng)目3, SqlDbType.Char, 20).Value = comboBox3.Text; cmd.Parameters.Add(比賽項(xiàng)目4, SqlDbType.Char, 20).Value = comboBox4.Text; cmd.Connection = con; cmd.ExecuteNonQuery(); con.Close(); SqlDataAdapter sda = new SqlDataAdapter(select 編號 as 編號,姓名 as 姓名,性別 as 性別,比賽項(xiàng)目1 as 比賽項(xiàng)目1,比賽項(xiàng)目2 as 比賽項(xiàng)目2,比賽項(xiàng)目3 as 比賽項(xiàng)目3,比賽項(xiàng)目4 as 比賽項(xiàng)目4,代表隊(duì) as 代表隊(duì) , con); DataSet ds = new DataSet(); sda.Fill(ds, table); this.textBox1.Enabled = false; MessageBox.Show(報(bào)名成功!); private void comboBox1_DropDown(object sender, EventArgs e) string str = 跳遠(yuǎn)(男), 跳高(男), 男子100米, 男子200米, 男子400米, 男子800米, 男子110米欄 ,男子 4100米接力 , 跳遠(yuǎn)(女) ,跳高(女) ,女子100米 ,女子200米 ,女子400米,女子800米,女子100米欄 ,女子4100米接力; if (radioButton1.Checked = true) comboBox1.Items.Clear(); for (int i = 0; i 8; i+) comboBox1.Items.Add(stri); if (radioButton2.Checked = true) comboBox1.Items.Clear(); for (int i = 8; i 16; i+) comboBox1.Items.Add(stri); private void comboBox2_DropDown(object sender, EventArgs e) string str = 跳遠(yuǎn)(男), 跳高(男), 男子100米, 男子200米, 男子400米, 男子800米, 男子110米欄, 男子 4100米接力, 跳遠(yuǎn)(女), 跳高(女), 女子100米, 女子200米, 女子400米, 女子800米, 女子100米欄, 女子4100米接力 ; if (radioButton1.Checked = true) comboBox1.Items.Clear(); for (int i = 0; i 8; i+) comboBox1.Items.Add(stri); if (radioButton2.Checked = true) comboBox1.Items.Clear(); for (int i = 8; i 16; i+) comboBox1.Items.Add(stri); private void comboBox3_DropDown(object sender, EventArgs e) string str = 跳遠(yuǎn)(男), 跳高(男), 男子100米, 男子200米, 男子400米, 男子800米, 男子110米欄, 男子 4100米接力, 跳遠(yuǎn)(女), 跳高(女), 女子100米, 女子200米, 女子400米, 女子800米, 女子100米欄, 女子4100米接力 ; if (radioButton1.Checked = true) comboBox1.Items.Clear(); for (int i = 0; i 8; i+) comboBox1.Items.Add(stri); if (radioButton2.Checked = true) comboBox1.Items.Clear(); for (int i = 8; i 16; i+) comboBox1.Items.Add(stri); private void comboBox4_DropDown(object sender, EventArgs e) string str = 跳遠(yuǎn)(男), 跳高(男), 男子100米, 男子200米, 男子400米, 男子800米, 男子110米欄, 男子 4100米接力, 跳遠(yuǎn)(女), 跳高(女),

溫馨提示

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

評論

0/150

提交評論