【正文】
。score39。collegename39。departID39。coursename39。majorname39。tel39。collegename39。sno39。輸入原來的舊職工號39。create trigger ctrig on course after deleteasbegindelete SC where o in(select o from deleted)End用戶輸入:delete C where o=(輸入您要刪除的課程號)(2)觸發(fā)器strigger:要求學生信息表中的學號被修改時,學生選課成績表、學生公共課成績表中的學號自動修改。輸入您要查找的課程名39。, filename=39。利用SQL Server 2005 數(shù)據(jù)庫系統(tǒng)中的SQL查詢分析器來實現(xiàn)。(4) 教師數(shù)據(jù)表(老師工號,老師姓名,性別,年齡,學院名稱,教研室名稱,電話)中的學院名稱,教研室名稱分別參照學院數(shù)據(jù)表中的學院名稱,教師教研室表中的教研室名稱。(9) 教師任課數(shù)據(jù)表(課程號,課程名稱,教師工號),主鍵為課程號,教師工號。學生管理系統(tǒng)的關(guān)系模式集如下:(1) 學生信息表(學生學號,學生姓名,性別,年齡,學院名稱,專業(yè)名稱,年級,班級名稱,電話),主鍵為學生學號。(3)一個專業(yè)有多個班級,一個班級只能屬于一個專業(yè),因此專業(yè)與班級之間具有一對多關(guān)系。如圖所示: 學生信息管理系統(tǒng)學生信息管理 查看學生信息修改學生信息增加學生信息刪除學生信息所在學院信息所在專業(yè)信息所在年級信息所在班級信息老師信息管理查看老師信息修改老師信息增加老師信息刪除老師信息所在教研室信息課程信息管理課程資料管理學生選課管理成績信息管理成績錄入成績修改成績查詢二. 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)所涉及的數(shù)據(jù)是獨立于硬件和軟件系統(tǒng)的,它的目標是以用戶可以理解的形式來表達信息的流程,從而可以和不熟悉計算機的用戶交換意見。根據(jù)實際問題,本系統(tǒng)要實現(xiàn)以下功能:(1)用戶認證。該系統(tǒng)是一個集成多功能的信息管理系統(tǒng),有教師資料管理、學生管理、班級管理、院系管理、課程管理和成績管理功能模塊。開發(fā)計劃分階段完成任務(wù):第一階段實現(xiàn)快速界面原型,并進行相應(yīng)的補充修改以滿足客戶的需求;第二階段完成界面的進一步設(shè)計求精,形成最終的設(shè)計樣式;第三階段:完成數(shù)據(jù)庫的開發(fā);第四階段:整合管理系統(tǒng)并進行各項測試改正出現(xiàn)的各種問題。數(shù)據(jù)庫原理實訓(xùn)——學生管理系統(tǒng)班級:成員:指導(dǎo)老師:開發(fā)時間:一. 需求分析編寫目的為了明確軟件需求、安排項目規(guī)劃與進度、組織軟件開發(fā)與測試,撰寫本文檔。實現(xiàn)的內(nèi)容學生信息管理系統(tǒng)屬于應(yīng)用系統(tǒng)。本系統(tǒng)將大大提高學生信息的管理效率,帶來數(shù)據(jù)共享、網(wǎng)絡(luò)查詢和網(wǎng)絡(luò)管理等便利,實現(xiàn)學生信息管理的數(shù)字化和智能化。本系統(tǒng)用戶有教務(wù)處管理員和學生,所以用戶必須通過認證才能登入系統(tǒng)。它要充分地反映實體之間的關(guān)系,成為反映現(xiàn)實的概念數(shù)據(jù)模型。(4)一個班級有多個學生,一個學生只能屬于一個班級,因此班級與學生之間具有一對多關(guān)系。(2) 課程數(shù)據(jù)表(課程號,課程名稱,學院名稱,學分),主鍵為課程號。四、物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計是指對給定的基本數(shù)據(jù)模型選擇一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程。(5) 專業(yè)數(shù)據(jù)表(專業(yè)名稱,專業(yè)編號,學院名稱)中的學院名稱參照學院數(shù)據(jù)表中學院名稱。下面給出具體的實現(xiàn)過程。D:\DATA\39。,a output,b outputselect a as 平均成績,b as 選課人次(3)創(chuàng)建一個存儲過程,輸入學院名稱顯示該學院的代號,學院名稱以及包含的各個專業(yè)的代號和名稱,并統(tǒng)計該學院包含專業(yè)的數(shù)目create proc majorproccollegename char(20),countmajor int outputasbeginselect ,collegename,majorID,majornamefrom college,majorwhere = and=collegenameselect countmajor=count(*)from major where collegename=collegenameendgo用戶請輸入:declare a intexec majorproc 39。create trigger ctrig on student after updateasbeginupdate selectcourse set sno in(select sno from inserted)where sno in(select sno from deleted)end用戶輸入:update student set sno=39。(4)觸發(fā)器 ttrigger:要求若輸入的學號或者課程號與數(shù)據(jù)庫中數(shù)據(jù)不符則不插入選課成績表中create trigger check_trigon selectcourse after insertasbeginif exists(select * from inserted where sno not in(select sno from s) or o not in(select o from course))rollbackendgo用戶輸入:insert selectcourse values(39。,39。,39。)End(6)觸發(fā)器insert_classes:如果有新的班級被添加,則觸發(fā)該觸發(fā)器使得該班級信息添加進來create trigger insert_classes on classesafter insertasbegininsert into classes values(39。)end(7)觸發(fā)器insert_college:如果有新的學院被添加,則觸發(fā)該觸發(fā)器使得該學院信息添加進來create trigger insert_college on collegeafter insertasbegininsert into college values(39。,39。,39。)end(11)觸發(fā)器insert_selectcourse:如果有某位同學新選的課程需要添加進來,則觸發(fā)該觸發(fā)器使得該學生選擇的這門課程的相關(guān)信息被添加進來create trigger insert_selectcourse on selectcourseafter insertasbegininsert into selectcourse values(39。)end 77(12)觸發(fā)器insert_teachercourse:如果有某位教師的選課信息要添加,則觸發(fā)該觸發(fā)器使得相關(guān)信息被添加進來create trigger insert_teachercourse on teachercourseafter insertasbegininsert into teachercourse values(39。,39。,39。,39。,39。,39。,39。)end(10)觸發(fā)器insert_major:如果有新的專業(yè)被添加,則觸發(fā)該觸發(fā)器使得該專業(yè)的相關(guān)信息被添加進來create trigger insert_major on majorafter insertasbegininsert into major values(39。,39。,39