




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計報告2010年1月課題:數(shù)據(jù)庫設(shè)計目的和要求:掌握數(shù)據(jù)庫需求分析掌握數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計與邏輯結(jié)構(gòu)設(shè)計方法掌握創(chuàng)建表、約束的方法操作內(nèi)容:創(chuàng)建學(xué)生成績管理系統(tǒng)通過需求分析確定表結(jié)構(gòu)。1、分幾個表2、表中需哪些列,列名、數(shù)據(jù)類型、長度;
3、可否為空值;(表示未知、不可用或?qū)⒃谝院筇砑訑?shù)據(jù))
4、是否需使用約束、缺省值或規(guī)則;
5、是否使用索引及索引類型;
6、哪些是主鍵,哪些是外鍵。操作方法和步驟一、數(shù)據(jù)需求分析對于學(xué)生成績管理系統(tǒng),我們要錄入學(xué)生的所有資料,但是如果把所以的信息都錄入一個表中,這個表就會很復(fù)雜,且表的容量會非常大,占了很多的存儲空間,操作起來也十分不方便,添加數(shù)據(jù)或是修改數(shù)據(jù)就很麻煩,尤其是用代碼查詢的時候,服務(wù)器就很慢。所以我們要將表細(xì)分。先建一個大表,即學(xué)籍表,里面保存學(xué)生的最基本,且一般不改變,還要只有一個值的項,如學(xué)號,姓名,性別,出生日期,民族,政治面貌,班級,專業(yè),部門,這里就包含了學(xué)生大部分的信息。但是這里還漏掉了與學(xué)生密切相關(guān)的成績和所學(xué)課程,因一個同學(xué)要學(xué)多門課程就要有多個成績,所以我們考慮把成績和課程單獨拿出來的放在一個表中。但是要和兩個表連起來才能知道成績表里的成績是誰的啊,所以要在這個表里建一列與學(xué)籍表里的一列相同的,才能解決問題。考慮到要節(jié)約存儲空間,還要保證列里的值是唯一的,所以選擇學(xué)號列最合適。但是在建表的時候發(fā)現(xiàn)很多學(xué)生都學(xué)了一門課程,所以這個課程名稱要在這個表里輸入很多次,這也浪費了大量的空間,這里我們又開始考慮建課程表了,同樣要知道成績表里的成績是什么課程的,我們就開始考慮給課程編號了,再在成績表和課程表里都添加一列課程代號就行了。學(xué)校為了方便管理,也要建立相應(yīng)的表,如部門表,專業(yè)表,班級表,這些表比較簡單,一般是一個代號和一個名稱列。為了避免錯誤,這些獨立的表也最好連起來,有了建課程表的經(jīng)驗,我們也考慮給部門,專業(yè),班級編號。既然在這里給班級編了號,那么在學(xué)籍表里我們就可以把班級名稱列改為班級代號列,這又使我們節(jié)約了大量的存儲空間。同時在專業(yè)表和班級表列都建立一個專業(yè)代號列,在部門表和專業(yè)表里都建立一個部門代號列,這樣,我們就把所有的表連起來了.用戶表則是用來存儲登錄到數(shù)據(jù)庫系統(tǒng)的人。二、涉及到的表1:學(xué)籍表字段名稱類型長度鍵名特殊屬性學(xué)號Char8主鍵只能為字符姓名Varchar12只能為漢字性別char2默認(rèn)為男出生日期Smalldatetime不能為空民族varchar8默認(rèn)為漢族政治面貌varchar12默認(rèn)為團(tuán)員班級代號int外鍵不能為空籍貫varchar20不能為空聯(lián)系電話varchar16不能為空家庭住址varchar20不能為空2:班級表字段名稱類型長度鍵名特殊屬性班級代號int主鍵自動增長,級聯(lián)學(xué)籍表班級名稱varchar12唯一不能為空專業(yè)代號Int外鍵級聯(lián)專業(yè)表3:專業(yè)表字段名稱類型長度鍵名特殊屬性專業(yè)代號Int主鍵自動增長專業(yè)名稱varchar12唯一不能為空部門代號tinyint外鍵級聯(lián)部門表班級人數(shù)Int不能為空4:部門表字段名稱類型長度鍵名特殊屬性部門代號Tinyint主鍵自動增長部門名稱varchar12唯一不能為空5:成績表字段名稱類型長度鍵名特殊屬性學(xué)號Char8聯(lián)合主鍵級聯(lián)學(xué)籍表課程代號int聯(lián)合主鍵級聯(lián)課程表成績tinyint不能為空6:課程表字段名稱類型長度鍵名特殊屬性課程代號Int主鍵自動增長課程名稱varchar12唯一不能為空7:用戶表字段名稱類型長度鍵名特殊屬性用戶名varchar20不能為空密碼varchar20不能為空權(quán)限char10默認(rèn)為普通用戶三、存儲過程、視圖、觸發(fā)器存儲過程為了防止有人利用非法方式登錄,在學(xué)生成績管理系統(tǒng)中創(chuàng)建了兩個存儲過程,名稱分別為proAdminInfo和proMemberInfo。存儲過程proAdminInfo中,定義了兩個輸入?yún)?shù),用于系統(tǒng)管理員登錄網(wǎng)站的姓名和密碼,創(chuàng)建該存儲過程的SQL語句如下:CREATEPROCEDUREguanliyuan(@AdminNamevarchar(20),@AdminPwdvarchar(20))asselect*from用戶表where用戶名=@AdminNameand密碼=@AdminPwdGO存儲過程proMemberInfo中,定義了兩個輸入?yún)?shù),用于存儲普通用戶登錄網(wǎng)站的姓名和密碼,創(chuàng)建該存儲過程的SQL語句如下:CREATEPROCEDUREyonghu(@MemberNamevarchar(20),@MemberPwdvarchar(20))asselect*from用戶表where用戶名=@MemberNameand密碼=@MemberPwdGO建立一個輸入學(xué)號查學(xué)生成績的存儲過程。createprocchengji@xuehaochar(8)asselecta.學(xué)號,姓名,成績,課程名稱from學(xué)籍表a,成績表b,課程表cwherea.學(xué)號=b.學(xué)號andb.課程代號=c.課程代號and學(xué)號=@xuehaogo根據(jù)輸入的學(xué)號和課程名稱刪除該學(xué)生該課程表的成績。createprocshanchu@achar(6),@bvarchar(16)asdelete成績表from成績表a,課程表bwherea.課程號=b.課程號and學(xué)號=@aand課程名稱=@bgo可往成績表中添加一條記錄。createproctianjia@achar(8),@bint,@ctinyintasinsert成績表values(@a,@b,@c)go視圖按系將學(xué)生的不及格的課程查詢出來createviewbujigeasselecta.學(xué)號,姓名,課程名稱from學(xué)籍表a,成績表b,課程表c,班級表dwherea.學(xué)號=b.學(xué)號andb.課程代號=c.課程代號and成績<60anda.班級代號=d.班級代號groupby專業(yè)代號,a.學(xué)號,姓名,課程名稱go觸發(fā)器當(dāng)某班已經(jīng)有學(xué)生時不能修改或刪除該班的資料。createtriggerbanjion班級表fordeleteasifEXISTS(select*from學(xué)籍表a,班級表bwherea.班級代號=b.班級代號)print‘該班有學(xué)生,不能刪除’rollbackgocreatetriggerbanjion學(xué)籍表forinsertasprint‘請將該同學(xué)的班級人數(shù)更新’go設(shè)計后總結(jié)通過本次課程設(shè)計,我們了解了數(shù)據(jù)庫需求分析的方法,理解了數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計與邏輯結(jié)構(gòu),復(fù)習(xí)了創(chuàng)建表、約束的方法,以及建立視圖和觸發(fā)器的設(shè)計,并大體完成了建立一個小型數(shù)據(jù)系統(tǒng)的建立和管理。建立系統(tǒng)的初期,數(shù)據(jù)的分析尤其重要,有多少種數(shù)據(jù)要保存?我在建立的時候把數(shù)據(jù)分為三類,一類是一般不改變的,一類是要保存多個數(shù)據(jù)的,另一些是經(jīng)常變化的。然后再在這三類中去看那些邏輯上是緊密相關(guān)的數(shù)據(jù)就放在一個表中,這可以作為一個劃分表的依據(jù)。確定好各單個的表之后,一般把列名最多的表作為一條主表,可以將其看做是樹的莖,其他的表則是依附在樹莖上的樹枝,它們組合在一起就是一個完整的生命體,一個完整的數(shù)據(jù)庫系統(tǒng)。連接它們的關(guān)節(jié)時,我們一般要在其上面建相同的列,而遵照數(shù)據(jù)庫是越精簡越好的原則,添加的列取編號的列最合適,因為數(shù)字的存儲空間是最少的。在這些關(guān)節(jié)點的地方,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全國青島版初中信息技術(shù)第三冊第三單元第11課《認(rèn)識APP Inventor》教學(xué)設(shè)計
- 失業(yè)金解除勞動合同(2025年版)
- 金秋助學(xué)個人申請書
- 車輛采購委托協(xié)議
- 比亞迪文員工作簡歷模板
- 項目領(lǐng)人態(tài)發(fā)言材料
- 2025年汽車空氣過濾器項目發(fā)展計劃
- 2025年林芝道路運(yùn)輸貨運(yùn)考試題庫
- 異分母分?jǐn)?shù)加減法(教案)-五年級下冊數(shù)學(xué)西師大版
- 語言發(fā)育遲緩培訓(xùn)
- 武漢理工大學(xué)計算機(jī)網(wǎng)絡(luò)試題及答案
- 先學(xué)后教當(dāng)堂訓(xùn)練簡介
- “順豐杯”第三屆全國大學(xué)生物流設(shè)計大賽案例
- 灌區(qū)工程施工方案與技術(shù)措施
- (完整)交叉作業(yè)施工方案
- 幼兒園繪本:《小蛇散步》 課件
- 華中師大版七年級心理 2走近老師 課件(共15張PPT)
- 裝配式建筑疊合板安裝技術(shù)交底
- 內(nèi)科學(xué)第八版循環(huán)系統(tǒng)教學(xué)大綱
- 1-100數(shù)字卡片(A4打印)
- 支氣管肺炎臨床路徑
評論
0/150
提交評論