學生檔案管理系統(tǒng)課程設計實驗報告_第1頁
學生檔案管理系統(tǒng)課程設計實驗報告_第2頁
學生檔案管理系統(tǒng)課程設計實驗報告_第3頁
學生檔案管理系統(tǒng)課程設計實驗報告_第4頁
學生檔案管理系統(tǒng)課程設計實驗報告_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計評分表學生姓名: 班級: 學號:課程設計題目:項目內(nèi)容滿分實 評選題能結(jié)合所學課程知識、有一定的能力訓練。符合選題要求(5人一題)10工作量適中,難易度合理10能力水平能熟練應用所學知識,有一定查閱文獻及運用文獻資料能力10理論依據(jù)充分,數(shù)據(jù)準確,公式推導正確10能應用計算機軟件進行編程、資料搜集錄入、加工、排版、制圖等10能體現(xiàn)創(chuàng)造性思維,或有獨特見解10成果質(zhì)量總體設計正確、合理,各項技術(shù)指標符合要求。10說明書綜述簡練完整,概念清楚、立論正確、技術(shù)用語準確、結(jié)論嚴謹合理;分析處理科學、條理分明、語言流暢、結(jié)構(gòu)嚴謹、版面清晰10設計說明書欄目齊全、合理,符號統(tǒng)一、編號齊全。格式、繪

2、圖、表格、插圖等規(guī)范準確,符合國家標準10有一定篇幅,字符數(shù)不少于500010總 分100指導教師評語: 指導教師簽名: 年 月 日· 實驗題目:學生檔案管理系統(tǒng)· 實驗時間、地點:2010-11-212010/11/24.軟件樓206機房· 實驗目的:通過本次課程設計讓學生能夠綜合運用所學的關(guān)系數(shù)據(jù)庫原理知識解決并能設計一個實際問題,進一步掌握數(shù)據(jù)庫原理的相關(guān)理論和數(shù)據(jù)庫的設計實現(xiàn)過程,進一步提高分析問題和解決問題的能力以及動手能力· 實現(xiàn)過程和思路1系統(tǒng)需求分析 (1) 通過對調(diào)查用戶的信息要求.處理要求.完整性與安全性要求根據(jù)具體的數(shù)據(jù)庫管理系統(tǒng)開

3、發(fā)令用戶滿意的檔案管理系統(tǒng)。 當用戶進入該系統(tǒng)后要實現(xiàn)某某學生檔案信息的查詢,更新和修改。“檔案管理系統(tǒng)”主要研究通用的檔案管理信息化解決方案,研究各單位各行業(yè)檔案系統(tǒng)的普遍特征,研發(fā)適合各類型層次單位的檔案信息管理系統(tǒng)軟件。通過通用性的研究,將該系統(tǒng)的可應用拓展到其他單位或者行業(yè)的檔案信息系統(tǒng)建設,以期提高檔案工作信息化水平.(2)系統(tǒng)需求分析階段結(jié)果用戶登錄檔案管理個人成績管理個人信息管理個人所在系管理查看信息修改信息刪除信息查看成績添加成績刪除成績查看系別添加系別刪除系別 2 概念模型設計(1)概念設計是整個數(shù)據(jù)庫設計的關(guān)鍵,它通過對用戶需求進行綜合,歸納與抽象,形成一個獨立于具體dbm

4、s的概念模型,是各種數(shù)據(jù)庫的共同基礎(chǔ)。(2)將各實體畫出e-r圖 學號政治面貌出生日期家庭住址電話號碼就讀學校學生基本信息姓名性別年齡系編號專業(yè)班級 圖2-1 學生基本信息實體的e-r圖 學生成績學號語文數(shù)學物理英語 圖2-2 學生成績實體e-r圖學生所屬系別專業(yè)系編號學號系人數(shù)專業(yè) 圖2-3 學生所屬系專業(yè)實體e-r圖學生基本信息學生成績學生所屬系別擁有屬于圖2-4各實體之間的聯(lián)系e-r圖3 邏輯結(jié)構(gòu)設計 將e-r 圖轉(zhuǎn)換為一個關(guān)系模式(1)把每一個實體轉(zhuǎn)換為關(guān)系學生基本信息(學號 ,姓名,系別年齡,班級,出生日期,政治面貌,專業(yè),家庭住址,電話號碼 ,系編號,就讀學校)學生成績(學號,語文

5、,數(shù)學,英語,物理)學生所屬系別(系編號,學號,專業(yè),系人數(shù))(2)把每一個聯(lián)系轉(zhuǎn)換為關(guān)系模式屬于(學號,系編號)擁有(成績學號,學生信息學號)4物理結(jié)構(gòu)設計(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),主要是存取方法和存取結(jié)構(gòu)為數(shù)據(jù)庫各表建立索引如下:create unique index 學生信息索引 on 學生基本信息表(學號)create unique index 學生成績索引 on 學生成績表(學號)create unique index 學生專業(yè)索引 on 學生所屬系專業(yè)表(系編號) 5數(shù)據(jù)庫實施階段二 數(shù)據(jù)庫實施階段 建立數(shù)據(jù)庫.數(shù)據(jù)表.視圖.索引.觸發(fā)器及存儲過程。 1.建立學生檔案數(shù)據(jù)庫 cr

6、eate database 學生檔案數(shù)據(jù)庫2.建立數(shù)據(jù)表 (1)學生基本信息表 create table 學生基本信息表 ( 學號 char(10) , 姓名char(7), 性別char(2) check(性別in('男','女') , 年齡int, 班級 char(10), 出生日期 datetime, 政治面貌 char(6), 專業(yè) char(10), 家庭住址 char(25), 電話號碼 char(11), 系編號 char(10), 就讀學校 char(20), ) (2)學生成績表 create table 學生成績表 ( 學號 char(10)

7、, 語文 char(6), 數(shù)學 char(6), 英語 char(6), 物理char(6), ) (3)學生所屬系專業(yè)表 create table 學生所屬系專業(yè)表 ( 系編號 char(10), 學號 char(10), 系名char(10), 系人數(shù) int, )3.建立視圖 (1) 查詢學生基本信息的視圖定義如下。 create view 學生信息視圖(學號,姓名,性別,年齡,班級,出生日期,政治面貌,專業(yè),家庭住址,電話號碼 ,系編號) as select * from 學生基本信息表 (2)顯示學生成績的視圖定義如下。 create view 學生成績視圖(學號,語文,數(shù)學,英語

8、,物理) as select * from 學生成績表 (3)顯示學生所屬系專業(yè)的視圖定義如下。 create view 學生專業(yè)視圖(系編號,學號,系名) as select *from 學生所屬系專業(yè)表4.建立索引 create unique index 學生信息索引 on 學生基本信息表(學號)create unique index 學生成績索引 on 學生成績表(學號)create unique index 學生專業(yè)索引 on 學生所屬系專業(yè)表(系編號)5.建立觸發(fā)器 (1)插入觸發(fā)器當插入學生基本信息表中某一基本信息時,觸發(fā)學生所屬系專業(yè)表和學生成績表,插入相應的記錄。觸發(fā)學生基本信

9、息表drop trigger 觸發(fā)學生基本信息1gocreate trigger 觸發(fā)學生基本信息1on 學生基本信息表for insert asselect * from 學生基本信息表go舉例:當在學生基本信息表中插入某一字段,將觸發(fā)insert事件,例如:在學生基本信息表插入該學生所一個部分新記錄,并將結(jié)果顯示到查詢分析器上。insert into 學生基本信息表(學號,姓名,性別,年齡,專業(yè))values ('09111603','李紅','女',18,'軟件工程')插入觸發(fā)器在學生基本信息表插入一個觸發(fā)器,并保證結(jié)在學生

10、基本信息表添加的【學號】和【系編號】部分信息要在學生所屬系專業(yè)表中相應添加并將結(jié)果顯示到查詢分析器上。drop trigger 觸發(fā)學生基本信息2gocreate trigger 觸發(fā)學生基本信息2on 學生基本信息表for insert asdeclare 系編號 varchar(10)declare 學號 varchar(10)beginselect 系編號=系編號 ,學號=學號 from insertedinsert into 學生所屬系專業(yè)表(系編號,學號) values (系編號,學號)endgo舉例:當向?qū)W生基本信息表中再增加一列【學號】和【系編號】insert into 學生基本

11、信息表(系編號,學號 )values ('002','09111629') (2)更新觸發(fā)器 創(chuàng)建一個觸發(fā)器,它實現(xiàn)當學生基本信息表中學號字段的更改,將同步實現(xiàn)學生成績表和學生所屬系專業(yè)表的學號的改變。drop trigger 更新學生成績表gocreate trigger 更新學生成績表on 學生基本信息表 -在學生基本信息表中創(chuàng)建觸發(fā)器 for update -觸發(fā)什么事件as -事件觸發(fā)后所要做的事情 if update(學號) -判斷是否更新了學號 begin update 學生成績表 set 學生成績表.學號=i.學號from 學生成績表as br ,

12、 deleted as d ,inserted as i -deleted和inserted臨時表 where br.學號=d.學號 end godrop trigger 更新學生成績表1gocreate trigger 更新學生成績表1on 學生基本信息表 -在學生基本信息表中創(chuàng)建觸發(fā)器 for update -觸發(fā)什么事件as -事件觸發(fā)后所要做的事情 if update(學號) -判斷是否更新了學號 begin update 學生所屬系專業(yè)表set 學生所屬系專業(yè)表.學號=i.學號from 學生所屬系專業(yè)表 as bt, deleted as d ,inserted as i -dele

13、ted和inserted臨時表 where bt.學號=d.學號 end go舉例:當把學生基本信息表中學號09111603改為09111604時,將觸發(fā) “觸發(fā)學生成績表1”的觸發(fā)器select * from 學生基本信息表select * from 學生成績表select * from 學生所屬系專業(yè)表 update 學生基本信息表 set 學號='09111604' where 學號='09111603'delete from 學生基本信息表 where 學號='09111629'更新觸發(fā)器在學生基本信息表創(chuàng)建限制學生年齡在18到30歲之間

14、的觸發(fā)器drop trigger 限制學生年齡在18到30歲gocreate trigger 限制學生年齡在18到30歲on 學生基本信息表for update,insertasif exists(select * from inserted where 年齡<18 or 年齡>30)beginprint '請輸入學生年齡在18到30 歲之間的數(shù)'rollback transactionendgo舉例:當向?qū)W生基本信息表中插入年齡小于18歲的記錄select* from 學生基本信息表insert into 學生基本信息表( 學號,姓名,年齡)values (

15、9;09111605','張',17)(3)刪除觸發(fā)器當刪除學生基本信息表中學號基本信息時,將同步實現(xiàn)學生所屬系專業(yè)表和學生成績表相應的記錄整行的刪除。 觸發(fā)學生所屬系專業(yè)表drop trigger 刪除學生所屬系專業(yè)表gocreate trigger 刪除學生所屬系專業(yè)表on 學生基本信息表for deleteasbegindelete 學生所屬系專業(yè)表from deleted as d ,學生所屬系專業(yè)表 as brwhere d.學號=br.學號endgodrop trigger 刪除學生成績表gocreate trigger 刪除學生成績表on 學生基本信息表f

16、or deleteasbegindelete 學生成績表from deleted as d1 ,學生成績表 as br1where d1.學號=br1.學號endgo舉例:當刪除學生基本信息表中學號為09111603的記錄,將同步實現(xiàn)學生所屬系專業(yè)表和學生成績表相應的學號記錄的整行刪除。select * from 學生基本信息表select * from 學生成績表select * from 學生所屬系專業(yè)表 deletefrom 學生基本信息表where 學號='09111603'刪除觸發(fā)器在學生基本信息表創(chuàng)建一個觸發(fā)器,并保證結(jié)在學生基本信息表刪除的【學號】和【系編號】部分

17、信息要在學生所屬系專業(yè)表中相應刪除并將結(jié)果顯示到查詢分析器上。drop trigger 觸發(fā)學生基本信息3gocreate trigger 觸發(fā)學生基本信息3on 學生基本信息表for deleteasbegindelete 學生所屬系專業(yè)表 from deleted as djoin 學生所屬系專業(yè)表 on 學生所屬系專業(yè)表.學號=d.學號and 學生所屬系專業(yè)表.系編號=d.系編號endgo舉例:當向?qū)W生基本信息表中再刪除一列【學號】和【系編號】select * from 學生所屬系專業(yè)表delete from 學生基本信息表where 學號='09111629' and

18、系編號='002'(4)綜合觸發(fā)器舉例在學生所屬系專業(yè)表中增加一個學生人數(shù)字段(系人數(shù))表示該系當前最新的學生人數(shù),該字段的值隨著學生信息表中的記錄數(shù)發(fā)生改變,即:當學生基本信息表中新增學生記錄,并且分配了具體的所屬系別后,該系的學生人數(shù)自動加1;當學生表中刪除某記錄并且刪除的記錄原有所屬系別時,該系的學生人數(shù)自動減1;當學生信息表中的所屬系別值發(fā)生改變時,原來系別的學生人數(shù)自動減1,新的系別的學生人數(shù)自動加1。以上處理要求分別用insert、delete、update觸發(fā)器實現(xiàn)其處理功能。insert觸發(fā)器:drop trigger 增加系人數(shù)gocreate trigger

19、 增加系人數(shù) on 學生基本信息表after insert -插入數(shù)據(jù)成功以后觸發(fā)asselect * from 學生所屬系專業(yè)表declare 插入的系編號 varchar(11)select 插入的系編號 = 系編號 from inserted -將插入數(shù)據(jù)的所屬系別取出保存變量update 學生所屬系專業(yè)表 set 系人數(shù) = isnull(系人數(shù),0)+1where 系編號 = 插入的系編號 -將所屬系別的學生人數(shù)加1go 舉例:在學生基本信息表中插入系編號為 002的記錄,將會觸發(fā) 【增加系人數(shù)】觸發(fā)器 則在學生所屬系專業(yè)表中系編號為002的系人數(shù)將增加1個。insert into

20、學生基本信息表(學號,姓名 ,系編號)values('09111604','王明','002')delete觸發(fā)器:drop trigger 減少系人數(shù)gocreate trigger 減少系人數(shù) on 學生基本信息表after delete-刪除數(shù)據(jù)成功以后觸發(fā)asselect * from 學生基本信息表select * from 學生所屬系專業(yè)表declare 刪除前系編號 varchar(10)select 刪除前系編號 = 系編號 from deleted -將刪除數(shù)據(jù)的所屬系別取出保存變量update 學生所屬系專業(yè)表 set 系人數(shù)

21、 = isnull(系人數(shù),0)-1where 系編號 =刪除前系編號 -將所屬系別的學生人減少1go舉例:在學生基本信息表中刪除系編號為 002的記錄,將會觸發(fā) 【減少系人數(shù)】觸發(fā)器 則在學生所屬系專業(yè)表中系編號為002的系人數(shù)將減少1個。 delete from 學生基本信息表where 系編號='002' update觸發(fā)器:解決的是轉(zhuǎn)系的問題drop trigger 轉(zhuǎn)系觸發(fā)器gocreate trigger 轉(zhuǎn)系觸發(fā)器 on 學生基本信息表after update -修改數(shù)據(jù)成功以后觸發(fā)asselect * from 學生基本信息表select * from 學生所屬

22、系專業(yè)表declare 刪除前系編號 varchar(10), 插入的系編號 varchar(10)if update(系編號) -判斷是否修改了所屬系別列beginselect 刪除前系編號 = 系編號 from deleted-存儲修改之前的系別數(shù)據(jù)select 插入的系編號 =系編號 from inserted-存儲修改之后的系別數(shù)據(jù)update 學生所屬系專業(yè)表 set 系人數(shù) = isnull(系人數(shù),0)-1where 系編號 = 刪除前系編號-將原所屬系別的學生人數(shù)減1update 學生所屬系專業(yè)表 set系人數(shù) = isnull(系人數(shù),0)+1where 系編號= 插入的系編

23、號-將新所屬系別的學生人數(shù)加1endgo舉例:當更把在學生基本信息表中系編號為 002的記錄改為001時,將會觸發(fā) 【減少系人數(shù)】觸發(fā)器和【增加系人數(shù)】觸發(fā)器,將相應地在學生所屬系專業(yè)表中系編號為002的系人數(shù)將減少1個,而系編號為001的將相應增加系人數(shù)1個。select * from 學生基本信息表beginupdate 學生基本信息表set 系編號='001'where 系編號='002'end7.數(shù)據(jù)入庫采用事先在excel中錄入數(shù)據(jù),然后使用sql2000數(shù)據(jù)導入/導出功能,將數(shù)據(jù)導入到相應基本表中。8.創(chuàng)建各個功能的存儲過程。(1)創(chuàng)建帶參數(shù)的存儲過

24、程,他的功能是向在學生基本信息表中插入一元組,新元組的值由參數(shù)提供。drop procedure 學生信息存儲過程gocreate procedure 學生信息存儲過程 ( 學號 char(10), 姓名 char (6), 性別 char (2) ='女' , 年齡 int, 班級 char(10), 出生日期 datetime='1989/04/05', 政治面貌 char(6), 專業(yè) char(10), 家庭住址 char(25), 電話號碼 char(11), 系編號 char(10), 就讀學校 char(20)='東華理工大學')a

25、sinsert into 學生基本信息表 values(學號, 姓名, 性別, 年齡, 班級 , 出生日期,政治面貌, 專業(yè), 家庭住址,電話號碼, 系編號,就讀學校)go舉例:執(zhí)行數(shù)據(jù)庫學生檔案數(shù)據(jù)庫帶參數(shù)的存儲過程 “學生信息存儲過程”beginexec 學生信息存儲過程 學號='09111629', 姓名='泉水叮咚', 性別='男', 年齡=21, 班級='16' , 出生日期='1989/04/05',政治面貌='打醬油的', 專業(yè)='軟件工程', 家庭住址='湖南

26、懷化',電話號碼='#39;, 系編號='003',就讀學校='東華理工大學'select * from 學生基本信息表endbeginexec 學生信息存儲過程 學號='09111630', 姓名='在水一方', 年齡=18, 班級='16' , 出生日期='1991-04-05',政治面貌='打醬油的', 專業(yè)='軟件工程', 家庭住址='江西上饒',電話號碼='#39;, 系

27、編號='004'select * from 學生基本信息表end(2)創(chuàng)建能夠返回值的存儲過程,他的功能是從數(shù)據(jù)表 學生基本信息表中根據(jù)學號查詢某一同學的姓名和系別,查詢結(jié)果由參數(shù) 姓名,系編號和就讀學校返回。drop procedure 創(chuàng)建能夠返回值的存儲過程gocreate procedure 創(chuàng)建能夠返回值的存儲過程( 學號 char(10), 姓名 char(6)output, 系編號 char(8)output, 就讀學校 char(13) output)asselect 姓名=姓名, 系編號=系編號,就讀學校=就讀學校from 學生基本信息表where 學號=學號

28、go 舉例:當執(zhí)行數(shù)據(jù)庫學生檔案數(shù)據(jù)庫中帶參數(shù)的存儲過程創(chuàng)建能夠返回值的存儲過程,其結(jié)果將保存在參數(shù) 姓名,系編號和就讀學校中。begin declare 姓名 char(6)declare 系編號 char(8)declare 就讀學校 char(13)exec 創(chuàng)建能夠返回值的存儲過程 '09111602',姓名 output,系編號 output, 就讀學校 outputselect '姓名'= 姓名 ,'系編號'= 系編號,'就讀學校'= 就讀學校end6數(shù)據(jù)庫運行和維護軟件測試當在學生基本信息表中插入某一字段,將觸發(fā)insert事件,例如:在學生基本信息表插入該學生所一個部分新記錄,并將結(jié)果顯示到查詢分析器上。當更把在學生基本信息表中系編號為 002的記錄改為001時,將會觸發(fā) 【減少系人數(shù)】觸發(fā)器和【增加系人數(shù)】觸發(fā)器,將相應地在學生所屬系專業(yè)表中系編號為002的系人數(shù)將減少1個,而系編號為001的將相應增加系人數(shù)1個。select * from 學生基本信息表beginupdate 學生基本信息表set 系編號='001'where 系編號='002'end結(jié)果如下:其他功能留給用戶自己驗證。7實驗總結(jié)檔案管理系統(tǒng)是

溫馨提示

  • 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

提交評論