【正文】
r 2 ,birth datetime,post char 10 ,department char 10 as begin insert into Tea_tab1 values user_id ,username,sex,birth,post,department end return ,參數(shù)是學(xué)生號(hào) create proc IsExistsStu id char 10 as begin select * from Stu_Table1 where Stu_ID id end ,參數(shù)是教師號(hào) create proc IsExistsTea id char 10 as begin select * from Tea_tab1 where Tea_ID id end create proc ProcAllStu as begin select * from Stu_Table1 end create proc ProcAllTea as begin select * from Tea_tab1 end ,參數(shù),賬號(hào)和密碼 create proc ProcLogon user_id char 16 ,password char 10 as begin select * from Logon where User_id user_id and Password password end return 16. 修改密碼參數(shù)賬號(hào),密碼 create proc ProcModify id char 10 ,password char 16 as begin update Logon set Password password where User_id id end ,參數(shù)是學(xué)生號(hào) create proc ProcStudent id char 10 as begin select * from Stu_Table1 where Stu_ID id end ,參數(shù)是課程號(hào),學(xué)號(hào),空值 create proc SelectCourse1 id char 10 ,cou_id char 16 as begin insert into S_table values cou_id,id,null end 19查看某個(gè)學(xué)生的成績(jī),參數(shù)是學(xué)生號(hào) create proc SelectedCourse id char 10 as begin select * from S_table where id Stu_ID end 20. 查 看 某 個(gè) 學(xué) 生 已 選 課 的 成 績(jī) , 參 數(shù) , 學(xué) 生 號(hào) create proc SelectedCou_Num id char 10 as begin select COUNT * from S_table where Stu_ID id end ,參數(shù),學(xué)生號(hào) create proc SelectedDetail id char 10 as begin select , , from Cou_ x,Tea_tab1 y,T_tab z,S_table s where id and and and end 二.觸發(fā)器設(shè)計(jì) : /* 利用觸發(fā)器為用戶(hù)表初始化 *利用觸發(fā)器為用戶(hù)表更新,每當(dāng)有新的老師或是同學(xué)記錄加入的時(shí)候,就在用戶(hù)表里面添加一條用戶(hù)表記 錄 */ create trigger insert_logon after insert on tea_table as begin declare a char 16 seta select tea_id from inserted insert into logon values a,a End ,生成一條記錄: /* 利用觸發(fā)器實(shí)現(xiàn)用戶(hù)表的初始化 *利用觸發(fā)器實(shí)現(xiàn),每 當(dāng)有新的同學(xué)添加記錄是,自動(dòng)在用戶(hù)表生成一條記錄 */ reate trigger insert_logon1 afer insert on stu_table1 declare ab char 16 setab select stu_id from insered insert into logon values a,a end 觸發(fā)器名 功能 類(lèi)型 作用表 insert_logon 教師表中有新的記錄加入時(shí),自動(dòng)在用戶(hù)表里生成一條記錄 insert logon insert_logon1 學(xué)生表里面有新的記錄加入時(shí),自動(dòng)在用戶(hù)表里生成一條記錄 insert logon 第六章 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)的實(shí)現(xiàn)是完全按照本文檔的三、四章設(shè)計(jì)進(jìn)行的,當(dāng)然在設(shè)計(jì)過(guò)程中偶爾也會(huì)遇到一些小的問(wèn)題,但最終大都通過(guò)各種辦法解決掉了。 由于本身能力的局限性,所以做編寫(xiě)的代碼,即使經(jīng)過(guò)反復(fù)檢查也難免出錯(cuò)所以在本階段力求使用有限的時(shí)間找出盡可能多的錯(cuò)誤,力求系統(tǒng)盡量正確。 4 所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。同時(shí)通過(guò)本次的實(shí)驗(yàn), 層次化,模塊化,抽象化也是我學(xué)到的一個(gè)經(jīng)驗(yàn),一個(gè)大的程序肯定要分成多個(gè)模塊,這樣做起來(lái)比較輕松,又清晰,在這方面我們有嚴(yán)重的不足。由這樣把每張表關(guān)聯(lián)起來(lái),實(shí)現(xiàn)一個(gè)小型的選課數(shù)據(jù)庫(kù), 而界面是由 java 語(yǔ)言實(shí)現(xiàn)的,由于初次用 java 語(yǔ)言編寫(xiě)界面比較不熟悉,用了很多的時(shí)間查資料,調(diào)試,修改,因此做出來(lái)界面比較粗糙,通過(guò)這次的實(shí)驗(yàn)我們也總 結(jié)了很多的不:以前用學(xué) java 編寫(xiě)小程序的時(shí)候,感覺(jué)很輕松,可是現(xiàn)在寫(xiě)的程序大點(diǎn)的時(shí)候,就感覺(jué)有點(diǎn)力 bug 很多,一直調(diào)試,花費(fèi)了很時(shí)間。鍵是表間連接的工具,主鍵越少,表間的連接就越簡(jiǎn)單。減少誤操作,減少錯(cuò)誤產(chǎn)生的可能,這對(duì)用戶(hù)和開(kāi)發(fā)人員都有很多的好處。 字段名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 主鍵否 是否為空 cou_id Char 16 主鍵 不為空 cou_name Char 16 不為空 point Char 8 不為空 stu_num Int 不為空 所有用戶(hù)賬戶(hù)表 logon : 統(tǒng)一記錄管理員、教師和學(xué)生的賬號(hào)密碼,包括賬號(hào)( user_id)、密碼( password)、 2 個(gè)字段。包括課程編號(hào) ( cou_id) 、 學(xué)生學(xué)號(hào)( stu_id )、 學(xué)生成 績(jī)( score) 3 個(gè)字段。學(xué)校管理員可以瀏覽,查詢(xún),修改,統(tǒng)計(jì)選課的基本信息。 學(xué)生信息管理 可以添加,刪除學(xué)生的基本信息。并非所有的關(guān)系都同樣符合要求,有些關(guān)系比其它關(guān)系更結(jié)構(gòu)化一些。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的目標(biāo)是建立一個(gè)滿足用戶(hù)長(zhǎng)期需求的產(chǎn)品。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本。有權(quán)限的人可以對(duì)這些庫(kù)信息進(jìn)行修改和刪除。 學(xué)生在選修課程時(shí)教師會(huì)在后臺(tái)嚴(yán)格控制,系統(tǒng)設(shè)計(jì)時(shí)要充分考慮到線程之間的并發(fā)與沖突。同時(shí)形成學(xué)生選課查看確認(rèn);選課管理員的功能最為復(fù)雜,包括對(duì)學(xué)生,教師,選課進(jìn)行管理和統(tǒng)計(jì),及系統(tǒng)狀態(tài)的查看,維護(hù)并生成選課報(bào)表。 因此,開(kāi)發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)一套學(xué)生課程管理 系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及的問(wèn)題及解決辦法。 充分為