數(shù)據(jù)庫課程實習 運動會管理系統(tǒng).doc_第1頁
數(shù)據(jù)庫課程實習 運動會管理系統(tǒng).doc_第2頁
數(shù)據(jù)庫課程實習 運動會管理系統(tǒng).doc_第3頁
數(shù)據(jù)庫課程實習 運動會管理系統(tǒng).doc_第4頁
數(shù)據(jù)庫課程實習 運動會管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目 錄1、實習的目的和任務12、實習要求13、實習地點14、主要儀器設備(實驗用的軟硬件環(huán)境)15、實習內(nèi)容25.1需求分析25.2概念結(jié)構(gòu)設計45.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設計65.3數(shù)據(jù)庫關(guān)系圖86、問題討論與分析87、結(jié)論9參考文獻10附錄10運動會管理系統(tǒng)1、實習的目的和任務通過課程實習設計,讓學生能夠全面了解數(shù)據(jù)庫應用系統(tǒng)的整個開發(fā)過程,驗證課堂教學中的理論;掌握數(shù)據(jù)庫系統(tǒng)的基本概念、基本原理及應用技術(shù);掌握SQL語言的定義和各種操作能力,進一步掌握SQL語言的數(shù)據(jù)庫編程技能;學會利用課堂上已學過的數(shù)據(jù)庫知識進行數(shù)據(jù)庫設計;使學生對開發(fā)信息管理系統(tǒng)有一個總體認識,可使學生得到很好鍛煉,為以后學習、工作打下堅實基礎。2、實習要求系統(tǒng)需求分析與功能設計:闡明應用系統(tǒng)背景,組織結(jié)構(gòu)情況以及需求分析的過程,并繪制出數(shù)據(jù)流程圖,寫出數(shù)據(jù)字典。概念結(jié)構(gòu)設計:根據(jù)概念結(jié)構(gòu)設計的基本原則,確定概念模型,并闡明分析步驟和理論依據(jù)完成數(shù)據(jù)庫的概念設計,畫出E-R圖。邏輯結(jié)構(gòu)設計:根據(jù)需求分析和概念模型,將實體及實體間的聯(lián)系按一定的轉(zhuǎn)換規(guī)則轉(zhuǎn)換為關(guān)系模型,寫出轉(zhuǎn)換步驟及相應的理論依據(jù),并確定主碼、外碼。按數(shù)據(jù)庫設計方法和規(guī)范化理論得出符合3NF的邏輯模型。利用SQL Server2005建立相應的數(shù)據(jù)庫對象。利用SQL語句實現(xiàn)相應功能。認真完成本課程實習設計的全部過程。3、實習地點田家炳樓實驗室4044、主要儀器設備(實驗用的軟硬件環(huán)境)硬件:計算機軟件:Windows 2000和SQL Server 2000 5、實習內(nèi)容5.1需求分析本系統(tǒng)的主要功能是收集運動員和裁判信息便于管理人員的查詢。主要包括運動員基本信息表、裁判信息表、運動項目信息表、運動員成績表。主要功能有:運動員、隊伍和裁判的基本信息輸入運動員、隊伍和裁判信息查詢運動員成績錄入運動員成績及處罰情況查詢和打印1)數(shù)據(jù)字典1數(shù)據(jù)項:運動員編號 = 名稱:編號,別名:運動員編號,數(shù)據(jù)類型:varchar,長度:6,取值范圍:100000-199999,取值含義:第一位1表示是運動員,接著的兩位表示運動員參加的運動項目編號,最后三位表示該運動員編號 姓名 = 名稱:姓名,數(shù)據(jù)類型:varchar,長度:20 性別 = 名稱:性別,數(shù)據(jù)類型:char,長度:2 年齡 = 名稱:年齡,數(shù)據(jù)類型:int 隸屬隊 = 名稱:隸屬隊,別名:運動員隸屬隊,數(shù)據(jù)類型:varchar,長度:20 裁判編號 = 名稱:編號,別名:裁判編號,數(shù)據(jù)類型:varchar,長度:6,取值范圍:200000-299999,取值含義:第一位2表示是裁判,接著的兩位表示裁判所在運動項目編號,最后三位表示該裁判編號 職位 = 名稱:職位,別名:裁判職位,數(shù)據(jù)類型:varchar,長度:20 工作單位 = 名稱:工作單位,含義:裁判來自哪里,數(shù)據(jù)類型:varchar,長度:50項目編號 = 名稱:項目編號,數(shù)據(jù)類型:varchar,長度:2項目名稱 = 名稱:項目名稱,數(shù)據(jù)類型:varchar,長度:20地點 = 名稱:地點,別名:賽場,數(shù)據(jù)類型:varchar,長度:20成績 = 名稱:成績,數(shù)據(jù)類型:int隊伍編號 = 名稱:編號,數(shù)據(jù)類型:varchar,長度:6隊伍名 = 名稱:隊伍名,數(shù)據(jù)類型:varchar,長度:20歸屬地 = 名稱:歸屬地,數(shù)據(jù)類型:varchar,長度:20處罰情況 = 名稱:處罰情況,數(shù)據(jù)類型:varchar,長度:502數(shù)據(jù)結(jié)構(gòu):運 動 員 : 編號、姓名、性別、年齡、隸屬隊、項目編號裁 判 : 編號、姓名、性別、年齡、項目編號、職位、工作單位項 目 : 編號、名稱、地點成 績 : 運動員編號、項目編號、成績隊 伍 : 編號、隊伍名、歸屬地處罰記錄 : 運動員編號、處罰情況2)系統(tǒng)設計運動會管理系統(tǒng)錄入基本信息信息管 理查詢運動員運動項目裁判隊伍成績錄入處罰記錄修改查詢成績查詢處罰打印3)數(shù)據(jù)流程圖比賽信息輸入比賽成績處罰信息基本信息輸入運動員、裁判、運動項目、隊伍基本信息查詢5.2概念結(jié)構(gòu)設計將需求分析得到的用戶抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設計。它是整個數(shù)據(jù)庫設計的關(guān)鍵。1)局部E-R圖運動員E-R圖運動員編號姓名性別年齡項目隸屬隊裁判E-R圖裁判編號姓名性別年齡項目職位單位運動項目編號名稱地點運動項目E-R圖成績E-R圖成績編號項目編號成績處罰記錄E-R圖處罰記錄運動員編號處罰情況隊伍E-R圖隊伍編號隊伍名歸屬地2)總E-R圖運動員參加運動項目取得成績裁判評判歸屬隊伍獲得處罰記錄 1 n1 1 1 n n nn 1 n m總E-R圖5.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設計概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。邏輯結(jié)構(gòu)的任務就是把概念結(jié)構(gòu)設計階段設計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型想符合的邏輯結(jié)構(gòu)運動員信息表序號數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1編號Varchar6否主鍵2姓名Varchar20否3性別Char2否4年齡Int否18-355項目Varchar20否外鍵6隸屬隊Varchar30否外鍵裁判信息表序號字段數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1編號Varchar6否主鍵2姓名Varchar20否3性別Char2否4年齡Int是5項目Varchar20否外鍵6職位Varchar20否7單位Varchar30否項目信息表序號字段數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1編號Varchar2否00-99主鍵2項目名稱Varchar20否3地點Varchar30否成績序號字段數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1運動員編號Varchar6否主鍵/外鍵2項目編號Varchar2否主鍵/外鍵3成績Int否隊伍信息序號字段數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1編號Varchar6否主鍵2隊伍名Varchar20否3歸屬地Varchar20否處罰信息序號字段數(shù)據(jù)類型長度可否為空取值范圍性質(zhì)1編號Varchar6否主鍵/外鍵2處罰情況Varchar50否5.3數(shù)據(jù)庫關(guān)系圖6、問題討論與分析通過本次實習,我發(fā)現(xiàn)要濾清事物之間的關(guān)系是一件挺難的事情,這就涉及到如果我們要做好這個系統(tǒng),就得先完成兩件事,首先,做好需求分析,完成數(shù)據(jù)字典,畫出它的功能流程圖,然后,根據(jù)需求分析階段所收集到的用戶需求,設計數(shù)據(jù)庫的概念數(shù)據(jù)模型,它是從用戶角度看到的數(shù)據(jù)庫。即根據(jù)這個功能流程圖畫出這個系統(tǒng)的E-R圖,這是建立數(shù)據(jù)庫的關(guān)鍵,也是這次數(shù)據(jù)庫課程設計的關(guān)鍵。在畫E-R圖的時候,遇到了許多問題,在諸多的實體中主要理清他們之間的關(guān)系,需要將關(guān)系逐漸明確,最后順利的完成E-R圖的繪制。需求分析對于數(shù)據(jù)庫設計來說至關(guān)重要,小到自己的實習大到企業(yè)級數(shù)據(jù)庫設計都必須認真做好需求分析,否則后續(xù)的設計和實施都會有想象不到的麻煩。針對課程設計,要求學生同時站在客戶和供應商的角度思考問題。讓一個人按部就班的一點一點寫需求分析真的很需要耐性。從每個數(shù)據(jù)項的名稱、含義、數(shù)據(jù)類型、長度和取值范圍到表的結(jié)構(gòu)以及表與表之間關(guān)系的設計,從外鍵、索引到各個約束條件和默認值的設計都要在需求分析階段完成,這是很繁雜的工作。所以這種課程設計也是對學生做事嚴謹精神的鍛煉。在對需求分析進行概念結(jié)構(gòu)設計之后,就應設計邏輯結(jié)構(gòu)。設計邏輯結(jié)構(gòu)應該選擇最適于相應概念結(jié)構(gòu)的數(shù)據(jù)模型,然后對支持這種數(shù)據(jù)模型的各種DBMS進行比較,從中選出最合適的DBMS。同時,在本次的實習中,使用到了各種軟件。如用到了MicrosoftVisio2003,用它來完成數(shù)據(jù)庫功能流程圖和E-R圖的繪制。7、結(jié)論通過本次實習,我已掌握數(shù)據(jù)庫的基本知識,并熟悉了SQL Server 2005的基本操作。首先,數(shù)據(jù)庫操作的實習是對基本功的考驗。從基本的SQL語句、視圖到自定義函數(shù)、存儲過程、觸發(fā)器再到數(shù)據(jù)庫的備份與恢復及用戶權(quán)限設置都要求對數(shù)據(jù)庫充分熟悉對基本操作足夠熟練。同時,學到的很多理論知識,在這次課程設計實習中更具體的體現(xiàn)了出來,在實踐過程中,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學到的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,將結(jié)論輔助與理論,才能真正學到知識并寫出有用的程序,所以提高自己的實際動手能力和獨立思考的能力是十分重要的??偟膩碚f,通過此次實習我得以將過去所學的知識綜合融匯,進一步加深了對數(shù)據(jù)庫的認識,更加熟練的掌握了數(shù)據(jù)庫設計的一般過程及其具體環(huán)節(jié)。參考文獻 1 王珊 薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版).北京:高等教育出版社.2005 2 詹英.數(shù)據(jù)庫技術(shù)與應用-SQL Server 2005 教程.北京.清華大學出版社.20083 劉大瑋 馬傳寶 孫穎潔.SQL Server 數(shù)據(jù)庫項目案例導航.北京.清華大學出版社.2005 4 夏邦貴 劉凡馨.SQL Server 數(shù)據(jù)庫開發(fā)經(jīng)典案例精解.北京.機械工業(yè)出版社.2006附錄use SportManager-創(chuàng)建表create table R(re_no varchar(6) primary key,re_name varchar(20) not null,re_sex char(2) check(re_sex in(男,女),re_age int,re_event varchar(2) not null,re_title varchar(20),re_add varchar(30) not null,constraint CK_RENO check(re_no like 20-90-90-90-90-90-9),constraint FK_R_E foreign key(re_event) references E(ev_no)create table S(sp_no varchar(6) primary key,sp_name varchar(20) not null,sp_sex char(2) not null check(re_sex in(男,女),sp_age int check(sp_age between 18 and 35),sp_event varchar(2) not null,team varchar(2) not null,constraint FK_S_S foreign key(sp_event) references E(ev_no),constraint FK_S_T foreign key(team) references T(t_no),constraint CK_SPNO check(sp_no like 10-90-90-90-90-9)create table E(ev_no varchar(20) primary key check(ev_no like 0-90-9),ev_name varchar(20) not null,ev_place varchar(30) not null default 校本部)create table G(sp_no varchar(6),ev_no varchar(2),score int not null,constraint PK_G primary key (sp_no,ev_no), constraint FK_G_SP foreign key(sp_no) references S(sp_no),constraint FK_G_EV foreign key(ev_no) references E(ev_no)create table P(sp_no varchar(6) primary key,punish varchar(50) not null,constraint FK_P_S foreign key(sp_no) references S(sp_no) )create table T(t_no varchar(2) primary key,t_name varchar(20),t_add varchar(20) not null,coach varchar(20) not null,constraint CK_T_NO check(t_no like 0-90-9)-索引create unique index ev_name_indexon E(ev_name)create nonclusteredindex sp_event_indexon S(sp_event)-簡單查詢-查詢102001號運動員01項目的成績select score=score from Gwhere sp_no=01 and ev_no=102001 -查詢103002號運動員的姓名、教練和比賽項目select sp_name,ev_name,coach from S,T,Ewhere sp_no=103002 and sp_event=ev_no and team=t_no-自定義數(shù)據(jù)類型CREATE TYPE NUM FROM char(6) NULL-查詢某位運動員的基本信息 內(nèi)嵌表值函數(shù)create function selectSporter(num varchar(6) returns tableasreturn(select * from S where sp_no=num)select * from selectSporter(101001)-查詢某位裁判的基本信息 內(nèi)嵌表值函數(shù)create function selectReferee(num varchar(6) returns tableasreturn(select * from R where re_no=num)select * from selectReferee(201001)-查詢某運動員在某項目取得的成績 標量函數(shù)create function selectSpGain(num varchar(6),evno varchar(2) returns intasbegin declare score intselect score=score from Gwhere sp_no=num and ev_no=evno return scoreendselect dbo.selectSpGain(101001,01)-或者declare gain intexec gain = dbo.selectSpGain 101001,01select gain as 成績-查詢某運動員的姓名、教練和比賽項目 多語句表值函數(shù)create function selectSpInfor(num varchar(6)returns infor table(姓名varchar(20),教練varchar(20),項目varchar(20)asbegin insert into inforselect sp_name,ev_name,coach from S,T,Ewhere sp_no=num and sp_event=ev_no and team=t_noreturnend select * from selectSpInfor(101001)-查詢某項賽事的地點 存儲過程create procedure selectEvent evno varchar(2),place varchar(30) outputasbegin select place=ev_place from E where ev_no=evnoenddeclare where varchar(30)exec selectEvent 01 ,where outputselect where as 地點-查詢所有處罰信息create procedure selectPunishasbeginselect * from Pendexec selectPunish-創(chuàng)建視圖-創(chuàng)建裁判與賽事的視圖create view referee_eventasselect re_name,ev_name,ev_place from R join E on re_event=ev_noselect * from referee_event-創(chuàng)建運動員和隊伍的視圖cre

溫馨提示

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

評論

0/150

提交評論