版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)與信息工程系 數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)報(bào)告學(xué)號(hào)2014-2015學(xué)年 第一學(xué)期1208010數(shù)據(jù)庫(kù)系統(tǒng)概論課程設(shè)計(jì)報(bào)告題目: 學(xué)生成績(jī)管理系統(tǒng)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):12(2)班姓名:XXX學(xué)號(hào):12XXX指導(dǎo)教師:CXXX成績(jī):計(jì)算機(jī)與信息工程系2014年10月12日1 目錄摘要21 需求分析31.1系統(tǒng)需求31.2功能要求31.3安全與完整性要求41.4數(shù)據(jù)字典42 概念結(jié)構(gòu)設(shè)計(jì)52.1系統(tǒng)的實(shí)體與聯(lián)系52.2 各個(gè)實(shí)體E-R圖53邏輯結(jié)構(gòu)設(shè)計(jì)73.1 E-R圖轉(zhuǎn)換為關(guān)系模型73.2 數(shù)據(jù)庫(kù)與表的建立83.3 數(shù)據(jù)庫(kù)關(guān)系圖94物理結(jié)構(gòu)設(shè)計(jì)104.1 確定關(guān)系模型的存取方法104.2
2、數(shù)據(jù)流圖105數(shù)據(jù)庫(kù)實(shí)施與維護(hù)115.1數(shù)據(jù)庫(kù)實(shí)施115.1.1 插入115.1.2查詢135.1.3 創(chuàng)建數(shù)據(jù)類型145.1.4 向表中添加字段145.1.5 創(chuàng)建視圖145.1.6創(chuàng)建存儲(chǔ)過程165.1.7觸發(fā)器185.1.8 自定義函數(shù)195.2數(shù)據(jù)庫(kù)的維護(hù)196 數(shù)據(jù)庫(kù)主要運(yùn)行界面207 小結(jié)22致謝23參考文獻(xiàn)24附錄:25摘要隨著學(xué)校向全國(guó)及至世界范圍的持續(xù)擴(kuò)張,學(xué)生人數(shù)的增加,對(duì)于學(xué)生的信息管理也越來(lái)越復(fù)雜,要求也越來(lái)越高,因此需要一個(gè)全面、詳細(xì)的信息管理系統(tǒng),以便完成對(duì)學(xué)生信息的管理。無(wú)紙化的環(huán)境是技術(shù)時(shí)代的一個(gè)夢(mèng)想,也是許多學(xué)校和公司越來(lái)越意識(shí)到的一個(gè)真實(shí)世界。以前是由學(xué)生檔
3、案和公告欄來(lái)提供各種信息及通告新的變化,而現(xiàn)在這個(gè)繁雜的工作已被網(wǎng)站和內(nèi)部計(jì)算機(jī)網(wǎng)絡(luò)所取代。使得學(xué)生信息的管理更方便、安全。根據(jù)調(diào)查得知,現(xiàn)在廣大學(xué)生進(jìn)行信息提交的主要方式是基于文件、表格等紙介質(zhì)的手工處理,學(xué)生信息管理部門信息處理工作量大,容易出錯(cuò),且管理方面因人而異。然而學(xué)校網(wǎng)上學(xué)生信息管理系統(tǒng)應(yīng)該覆蓋各個(gè)所需功能,使各級(jí)管理人員和廣大教職工在信息系統(tǒng)的輔助下進(jìn)行工作,提高管理的整體水平。使得學(xué)生信息管理更方便。學(xué)生信息管理系統(tǒng),可以用集中的數(shù)據(jù)庫(kù)將與人力資源管理相關(guān)的信息全面、有機(jī)地聯(lián)系起來(lái),有效地減少了信息更新和查找中的重復(fù)勞動(dòng),保證了信息的相容性,從而大大地提高了工作效率,還能使原來(lái)
4、不可能提供的分析報(bào)告成了可能。在采用和實(shí)施學(xué)生信息管理系統(tǒng)之后,就會(huì)將依賴于人的過程改為依賴于計(jì)算機(jī)系統(tǒng)的過程。學(xué)校管理人員只要獲取了相應(yīng)的權(quán)限,就可以隨時(shí)進(jìn)入系統(tǒng),直接查閱相應(yīng)的信息。采用和實(shí)施學(xué)生信息管理系統(tǒng)不僅僅是為了提高工作效率。為了除掉手工記錄的低效率工作方式,運(yùn)用信息化管理,提高工作效率,開發(fā)本系統(tǒng)。應(yīng)該看到,在實(shí)施學(xué)生信息管理系統(tǒng)后,經(jīng)過整合的、較為全面、準(zhǔn)確、一致和相容的信息不僅可以讓學(xué)校領(lǐng)導(dǎo)對(duì)本學(xué)校學(xué)生資源的現(xiàn)狀有一個(gè)比較全面和準(zhǔn)確的認(rèn)識(shí),同時(shí)也可以生成綜合的分析報(bào)表供學(xué)校領(lǐng)導(dǎo)人在決策時(shí)參考。1 需求分析1.1系統(tǒng)需求當(dāng)今社會(huì),計(jì)算機(jī)的使用已經(jīng)深入到日常生活和工作的方方面面,
5、它逐漸成為人們學(xué)習(xí)和工作時(shí)必不可少的工具。雖然目前為止已經(jīng)開發(fā)出了成千上萬(wàn)的軟件系統(tǒng),但它們并不能滿足用戶的各種特殊需要,因此人們不得不開發(fā)屬于自己的軟件,能夠滿足自己的特殊需求。學(xué)生管理系統(tǒng)是教育事業(yè)單位必不可少的。它的內(nèi)容對(duì)學(xué)校的管理者來(lái)說至關(guān)重要,學(xué)生成績(jī)管理系統(tǒng)應(yīng)該能夠提供快捷的查詢功能以及能夠及時(shí)修改、增添、刪除信息等功能。傳統(tǒng)的人工管理文件檔案的方式存在很多缺點(diǎn),例如:效率低、保密性差、另外時(shí)間一長(zhǎng),信息量的不斷擴(kuò)增,都給查找、更新何維護(hù)帶來(lái)很大困難。使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行管理,具有手工管理不可比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、存儲(chǔ)信息量大、保密性好、及時(shí)更新并進(jìn)行維護(hù)等。計(jì)
6、算機(jī)管理學(xué)生成績(jī)能夠提高學(xué)校的管理效率,是科學(xué)化、正規(guī)化管理的重要途徑,型心計(jì)算機(jī)管理將不斷深入到學(xué)校的各項(xiàng)事務(wù)的管理當(dāng)中。1.2功能要求(1)教職工:對(duì)學(xué)生成績(jī)有一個(gè)整體的了解,在今后的教學(xué)中能有所改進(jìn)。同時(shí)可以對(duì)自己教授的課程進(jìn)行修改,進(jìn)一步了解學(xué)生的個(gè)人情況,便于因材施教。當(dāng)學(xué)生的個(gè)人信息發(fā)生改變時(shí),老師能夠及時(shí)進(jìn)行修改。例如學(xué)生轉(zhuǎn)校、后來(lái)轉(zhuǎn)到本系、或者畢業(yè)生離開學(xué)校等,老師能夠根據(jù)具體情況對(duì)學(xué)生信息進(jìn)行添加、修改、刪除等。能夠管理課程信息,合理安排老師教授的課程,及時(shí)為學(xué)生提供選課信息。老師能夠?qū)φn程名、課程編號(hào)、學(xué)分等進(jìn)行修改和更新。能夠?qū)W(xué)生成績(jī)進(jìn)行發(fā)布、修改、刪除,清晰地了解學(xué)生
7、的成績(jī)情況,以便做出總結(jié)和改進(jìn)。(2)學(xué)生:能夠查詢個(gè)人的學(xué)習(xí)成績(jī)和總體學(xué)生的成績(jī),以便做出新的定位。成績(jī)查詢:成績(jī)修改、成績(jī)添加、成績(jī)刪除等。課程查詢:課程修改、課程添加、課程刪除等。學(xué)生查詢:學(xué)生信息修改、學(xué)生信息添加、學(xué)生信息刪除等1.3安全與完整性要求建立數(shù)據(jù)庫(kù)用戶,對(duì)其權(quán)限進(jìn)行設(shè)置。確定各表主鍵、索引、參照完整性、用戶定義完整性。SQL語(yǔ)句不用拼接字符串(例+sno+)的方法來(lái)傳遞參數(shù),用(例sno)來(lái)傳遞參數(shù),這樣可以在一定程度上避免SQL注入,已達(dá)到一定程度上的安全。1.4數(shù)據(jù)字典用戶表(用戶名,用戶等級(jí)) 學(xué)生表(學(xué)號(hào),姓名,性別,系別,學(xué)生年齡) 課程表(課程號(hào),課程名,課時(shí)
8、,學(xué)分)成績(jī)表(課程號(hào),學(xué)生號(hào),成績(jī)。)老師表(老師姓名,老師編號(hào),所授課程,聯(lián)系電話)名字:老師信息描述:學(xué)生成績(jī)管理系統(tǒng)中存儲(chǔ)的所有老師的信息定義:老師信息=老師姓名+所授課程+教師編號(hào)+聯(lián)系電話名字:學(xué)生信息描述:學(xué)生成績(jī)管理中存儲(chǔ)的所有學(xué)生信息定義:學(xué)生信息=學(xué)生學(xué)號(hào)+學(xué)生姓名+學(xué)生性別+學(xué)生系別+學(xué)生年齡位置:存儲(chǔ) 輸出供查詢名字:課程信息描述:多個(gè)必要課程信息組成定義:課程信息=課程號(hào)+課程名+課時(shí)+學(xué)分位置:存儲(chǔ) 輸出供查詢名字:用戶表信息描述:用戶個(gè)人的信息定義:用戶信息=用戶名位置:存儲(chǔ) 輸出供查詢名字:學(xué)生成績(jī)信息輸入:學(xué)生姓名輸出:相應(yīng)的學(xué)生成績(jī)信息名字:查詢信息描述:用
9、戶提出的具體查詢請(qǐng)求定義:查詢信息=課程查詢信息+學(xué)生查詢信息位置:課程表 學(xué)生表 成績(jī)表名字:添加信息輸入:學(xué)號(hào)、學(xué)生姓名、學(xué)生性別、系別、學(xué)生年齡輸出:新輸入的學(xué)生信息名字:刪除信息輸入:選中所要?jiǎng)h除的學(xué)生信息輸出:刪除完成2 概念結(jié)構(gòu)設(shè)計(jì)2.1系統(tǒng)的實(shí)體與聯(lián)系由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計(jì)的實(shí)體包括:(1)學(xué)生基本信息:學(xué)號(hào),姓名,學(xué)院,班級(jí),年齡,性別。(2)課程基本信息:課程名,課程號(hào),學(xué)時(shí)。(3)教師基本信息:教師號(hào),教師姓名,職稱,年齡,性別,學(xué)院(4)學(xué)院基本信息:學(xué)院名、學(xué)院號(hào)、院長(zhǎng)姓名這些實(shí)體間的聯(lián)系包括:(1)每位學(xué)生可以學(xué)習(xí)多門課程,每門課程可供多位學(xué)生學(xué)習(xí)。(2)每
10、門課可以由多個(gè)老師教,每個(gè)老師可以教多門課程(3)學(xué)生每選一門課就可以得到一個(gè)成績(jī),不選此課就不能取得該課程成績(jī)2.2 各個(gè)實(shí)體E-R圖(1)學(xué)生表:性別姓名學(xué)號(hào)班級(jí)學(xué)生表出生日期(2)教師表:性別姓名職稱部門教師表教師編號(hào)(3)課程表:課程表課 程名 稱教 師編 號(hào)課程號(hào)(4)成績(jī)表:成績(jī)表成績(jī)課程號(hào)學(xué)號(hào)(5)總體實(shí)體關(guān)系圖:學(xué)生教師 1 N 學(xué)教 M課程N(yùn) M 3邏輯結(jié)構(gòu)設(shè)計(jì)3.1 E-R圖轉(zhuǎn)換為關(guān)系模型(1)學(xué)生表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注sno學(xué)號(hào)Char(8)不允許為空主鍵sname姓名Char(10)不允許為空Ssex性別Char(2)不允許為空sbirth出生日期Date
11、time(8)允許為空class所在班級(jí)Char(4)不允許為空typeChar(7)允許為空(2)教師表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注tno教師編號(hào)char(5)不允許為空主鍵tname姓名varchar(10)不允許為空depart部門varchar(8)不允許為空Tsex性別char(2)不允許為空Tbirth出生日期datetime ,允許為空prof職稱char(6)允許為空(3)課程表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注cno課程號(hào)Char(5)不允許為空主鍵cname課程名稱varchar(10)不允許為空tno教師編號(hào)char(3)不允許為空(4)成績(jī)表屬性名數(shù)據(jù)描述數(shù)據(jù)類型
12、是否為空備注sno學(xué)號(hào)Char(8)不允許為空主鍵cno課程號(hào)Char(5)不允許為空主鍵degree成績(jī)Float(8)不允許為空3.2 數(shù)據(jù)庫(kù)與表的建立1.創(chuàng)建數(shù)據(jù)庫(kù): create database sshon( name=ssh, filename='e:databasessh.mdf, size=1)log on( name=ssh1, filename='e:databasessh1.ldf', size=1)2.創(chuàng)建數(shù)據(jù)表(1) student表use sshcreate table student( sno char(8) primary key,sna
13、me char(10) not null,Ssex char(2) not null, Sbirth datetime,class char(4) not null semail varchar(20)(2) score表create table score(sno char(8) not null,cno char(4) not null, degree float not null)(3) course表create table course(cno char(5) not null primary key,cname varchar(10) not null, tno char(3) n
14、ot null )(4) teacher表 create table teacher(tno char(5) not null primary key, tname varchar(10) not null, depart varchar(8) not null, Tsex char(2) not null, Tbirth datetime , prof char(6) )3.3 數(shù)據(jù)庫(kù)關(guān)系圖4物理結(jié)構(gòu)設(shè)計(jì)4.1 確定關(guān)系模型的存取方法在將概念模型轉(zhuǎn)換成物理模型之后,我們可以對(duì)物理模型進(jìn)行設(shè)計(jì),雙擊物理模型的關(guān)系,可以對(duì)該關(guān)系的名稱、注釋等信息進(jìn)行查詢??蓪?duì)該關(guān)系的屬性列進(jìn)行設(shè)計(jì),可分別設(shè)置其
15、名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。在實(shí)際設(shè)計(jì)中最常用的存取方法是索引發(fā),使用索引可以大大減少數(shù)據(jù)的查詢時(shí)間,在建立索引時(shí)應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引; 在主關(guān)鍵字上建立索引;在經(jīng)常用于連接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的等規(guī)則。才能充分利用索引的作用避免因索引引起的負(fù)面作用。4.2數(shù)據(jù)流圖該數(shù)據(jù)流圖主要體現(xiàn)教職工對(duì)學(xué)生信息、課程信息和學(xué)生成績(jī)的管理,然后存儲(chǔ)的信息作用于查詢系統(tǒng)。在學(xué)生能夠操作的只有成績(jī)查詢,如圖所示:錄入學(xué)生信息學(xué)生錄入課程信息課程教職工成績(jī)錄入學(xué)生成績(jī)查詢學(xué)生成績(jī)學(xué)
16、生圖1-1 功能流圖5數(shù)據(jù)庫(kù)實(shí)施與維護(hù)5.1數(shù)據(jù)庫(kù)實(shí)施5.1.1 插入(1)向?qū)W生表插入信息insert into student values('101','李明','女','1983-09-18','11')insert into student values('102','王二','男','1984-01-01','11')insert into student values('103','李開',
17、'男','1984-01-01','11')insert into student values('104','章浪','女','1984-11-11','11')insert into student values('105','生命','男','1984-12-05','13')insert into student values('106','無(wú)悔',
18、'女','1984-11-01','13')insert into student values('107','歷史','女','1984-10-01','12')insert into student values('108','風(fēng)塵','男','1985-9-08','11')insert into student values('109','活著',&
19、#39;男','1985-12-12','12')insert into student values('110','傻瓜','女','1985-08-28','12') 查看記錄 Select * from student(2)向成績(jī)表中添加insert into score values('101','01',88)insert into score values('101','02',85)insert i
20、nto score values('102','02',80)insert into score values('101','03',88)insert into score values('102','02',85)insert into score values('102','03',80)insert into score values('103','01',83)insert into score values('103
21、','02',85)insert into score values('103','03',90)insert into score values('104','01',60)查看記錄 Select * from score(3)向教師表中添加數(shù)據(jù)insert into course values('01','計(jì)算機(jī)','11')insert into course values('02','網(wǎng)絡(luò)管理','12'
22、)insert into course values('03','專業(yè)英語(yǔ)','13')insert into course values('04','軟件工程','14')查看記錄 Select * from course(4)向課程表中添加數(shù)據(jù)insert into teacher values('11','無(wú)意','計(jì)算機(jī)系','男','1973-4-5','教授')insert into teac
23、her values('12','生活','計(jì)算機(jī)系','女','1975-12-1','副教授')insert into teacher values('13','沒有','管理系','女','1975-3-3','副教授')insert into teacher values('14','離開','英語(yǔ)系','男','1973-5
24、-5','教授')查看記錄 Select * from teacher5.1.2查詢(1) 查詢成績(jī)大于學(xué)號(hào)為101的學(xué)生的課程為02的成績(jī)的所有列。select * from score where degree>(select degree from score where sno='101' and cno='02')(2) 查詢課程號(hào)01大于課程號(hào)02的最大值、并以分?jǐn)?shù)降序排序的成績(jī)表中所有列select * from score s where o='01' and s.degree>=(select
25、 max(degree) from score y where o='02' ) order by degree descgoselect max(degree) as "02max" from score where cno='02'(3) 查詢性別為男的學(xué)號(hào),姓名,班級(jí),課程號(hào)和成績(jī)的學(xué)生select student.sno,student.sname,student.class,o,score.degree from student,score where student.sno=score.sno and ssex='男
26、9;(4) 查詢成績(jī)?cè)?0到80之間的所有列select * from score where degree between 60 and 80(5) 查詢score表中至少有5名學(xué)生選修的并以0開頭的課程的平均分select avg(degree) as "平均分",cno from score where cno like '0%' group by cno having count(*)>=55.1.3 創(chuàng)建數(shù)據(jù)類型創(chuàng)建一個(gè)email自定義數(shù)據(jù)類型 exec sp_addtype email, 'varchar(20)' ,
27、39;null'修改student表中的semail數(shù)據(jù)類型為email類型alter table student alter column semail email5.1.4 向表中添加字段向student表添加type,semail,b并且郵件地址有check約束alter table student add type char(7)alter table student add semail varchar(20) null constraint ck_sem check (semail like '%')alter table teacher add tel v
28、archar(15)5.1.5 創(chuàng)建視圖(1) 創(chuàng)建所有11班的學(xué)生信息的視圖create view student11as select * from student where class='11'查看視圖中的記錄select * from student11(2) 創(chuàng)建視圖course_degree其中的內(nèi)容是選修計(jì)算機(jī)課程的學(xué)生信息,包括(sno,sname,cno,cname,degree),創(chuàng)建時(shí)加上with check optioncreate view course_degree(sno,sname,cno,cname,degree)as select scor
29、e.sno,sname,o,cname,degree from course ,student, score where o=o and student.sno=score.sno and cname='計(jì)算機(jī)'with check option查看視圖中的記錄select * from course_degree(3) 創(chuàng)建一個(gè)視圖,其中的內(nèi)容是成績(jī)表中每門課程的create view averageas select avg(degree) as '平均分' from score group by cno查看視圖中的記錄select * from avera
30、ge (4) 創(chuàng)建視圖其中的內(nèi)容是所有男教師和男學(xué)生的name,sex,birthcreate view man as select sname as name,ssex as sex,sbirth as birth from student where ssex='男'union select tname,tsex,tbirth from teacher where tsex='男'查看視圖中的記錄select * from man5.1.6創(chuàng)建存儲(chǔ)過程 (1) 創(chuàng)建一個(gè)存儲(chǔ)過程。來(lái)顯示成績(jī)表中的課程號(hào)在課程表中并且所任教師性別為男、所在部門是計(jì)算機(jī)系的成績(jī)表
31、中的列create proc student_11as select * from score where cno in (select cno from course ,teacher where course.tno=teacher.tno and depart='計(jì)算機(jī)系' and tsex='男')調(diào)用此存儲(chǔ)過程Execstudent_11 (2) 創(chuàng)建一個(gè)帶輸入?yún)?shù)的存儲(chǔ)過程。調(diào)用此存儲(chǔ)過程時(shí),給出一個(gè)學(xué)生名,顯示出此學(xué)生的學(xué)號(hào),姓名,所學(xué)課程號(hào),課程名稱和對(duì)應(yīng)的成績(jī)create proc student_namesname varchar(10)as
32、 select student.sno,sname,o,degree cname from student,score,course where student.sno=score.sno and o=o and sname=sname調(diào)用此存儲(chǔ)過程,(此例是輸出姓名為歷史的學(xué)生的信息)exec student_name '歷史'(3) 創(chuàng)建一個(gè)存儲(chǔ)過程,傳遞一個(gè)學(xué)生姓名。先判斷此學(xué)生是否有郵箱,如果有,則顯示此學(xué)生的姓名,郵箱地址,學(xué)號(hào),班級(jí);如果沒有的話,輸出此句話'the semail is empty'create proc student_emails
33、name varchar(10)asbeginif (select semail from student where sname=sname) is nullbeginprint'the semail is empty'endelseselect sname,semail,sno,class from student where sname=snameend調(diào)用此存儲(chǔ)過程exec student_email 'super'5.1.7觸發(fā)器(1) 創(chuàng)建一個(gè)觸發(fā)器。來(lái)檢查學(xué)生的郵箱地址是否相同,如果相同,輸出'inserting fail',并且回
34、滾事務(wù);如果不相同,則插入成功。create trigger studentinserton studentafter insertas if (select semail from inserted where semail in (select semail from student) is not nullbeginprint 'inserting fail'rollback transactionendelseprint'insering succeed'向?qū)W生信息表中插入一條記錄,檢驗(yàn)是否成功插入insertintostudent values(
35、9;114','lengbing','女','1985-12-12','11','lengbingssh','一般' )(2) 在成績(jī)表中建立一個(gè)觸發(fā)器,當(dāng)向表中添加記錄時(shí),此學(xué)生的成績(jī)都乘以1.2create trigger scoreupdate on scoreafter insertas update score set degree=degree*1.2 from score where sno in (select sno from inserted )向表中插入一條記錄,檢驗(yàn)觸
36、發(fā)器是否有用。insert into score values('108','01','56')5.1.8 自定義函數(shù) (1) 創(chuàng)建一個(gè)用戶自定義函數(shù),輸出與指定的學(xué)生同班的學(xué)生個(gè)數(shù)create function studentcount(sno char(5)returns intbegindeclare counter intselect counter=count(*) from student where class=(select class from student where sno=sno)return counterend調(diào)用此
37、自定義函數(shù)(本例是查找與學(xué)號(hào)102同班的學(xué)生個(gè)數(shù))declare a intset a=dbo.studentcount('102')print convert(char(3),a)(2) 創(chuàng)建一個(gè)用戶自定義函數(shù),用于輸出同一個(gè)班級(jí)中的學(xué)生信息create function studentclass(class char(5)returns tablereturn(select * from student where class=class)調(diào)用自定義函數(shù)(本例是輸出12班的學(xué)生信息)select * from studentclass('12')5.2數(shù)據(jù)庫(kù)
38、的維護(hù)當(dāng)試運(yùn)行數(shù)據(jù)庫(kù)合格后,數(shù)據(jù)庫(kù)開發(fā)設(shè)計(jì)的工作就基本完成了,接下來(lái)就是正式運(yùn)行中的調(diào)試,應(yīng)為該系統(tǒng)比較簡(jiǎn)單,數(shù)據(jù)量小,數(shù)據(jù)庫(kù)中幾乎不會(huì)發(fā)生什么大的變化,但是還是需要做好數(shù)據(jù)的備份,在sqlserver中我們可以利用備份數(shù)據(jù)庫(kù)的功能對(duì)已經(jīng)設(shè)計(jì)好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫(kù)受到破壞或系統(tǒng)故障,我們便可輕松的利用備份文件恢復(fù)數(shù)據(jù)庫(kù)的數(shù)據(jù)。當(dāng)然也可以利用其他各種方法進(jìn)行數(shù)據(jù)維護(hù)。6 數(shù)據(jù)庫(kù)主要運(yùn)行界面(1) 登錄界面:(2) 成績(jī)查詢界面: (3) 課程查詢界面: 7 小結(jié)通過這次的課程設(shè)計(jì),使我了解了更多數(shù)據(jù)庫(kù)原理與應(yīng)用這門課程,對(duì)以前不太理解和熟悉的內(nèi)容有更多的掌握,在我設(shè)計(jì)的學(xué)生成績(jī)管理系統(tǒng)中,雖
39、然一開始我對(duì)這個(gè)系統(tǒng)怎樣設(shè)計(jì)完完全全沒有概念。但是如果仔細(xì)的想一下,還是可以找到出發(fā)點(diǎn)的。首先要建立一個(gè)完整的管理系統(tǒng),就必須明白這個(gè)系統(tǒng)所包含的基本內(nèi)容、處理一些怎樣的信息等。最主要的是畫出他們的ER圖,便可直觀的看出他們關(guān)系。在設(shè)計(jì)的時(shí)候,有時(shí)候也會(huì)感到?jīng)]有思路了,或許是只有一點(diǎn)點(diǎn)的頭緒,可經(jīng)過對(duì)圖的分析和認(rèn)真觀察他們的關(guān)系后,便有了新的思路和閃光點(diǎn)。最后根據(jù)自己的整理資料將每一步都運(yùn)用SQL語(yǔ)言執(zhí)行出來(lái),并且看以下是否符合結(jié)果要求。我想經(jīng)過這次課程設(shè)計(jì)可以更好的將所學(xué)知識(shí)運(yùn)用到實(shí)際中去。也讓我加深了對(duì)數(shù)據(jù)庫(kù)知識(shí)的認(rèn)識(shí)和了解。在這次實(shí)踐設(shè)計(jì)過程中,我懂得了如何將所學(xué)的理論知識(shí)運(yùn)用到實(shí)際中去
40、,使得所學(xué)的知識(shí)能夠融會(huì)貫通。同時(shí),在課程設(shè)計(jì)過程中,我懂得了許多知識(shí),增加了我對(duì)數(shù)據(jù)庫(kù)的興趣 ,今后一定努力的學(xué)習(xí),在實(shí)踐中增加自己的學(xué)習(xí)樂趣,讓自己更加充實(shí)。設(shè)計(jì)過程中我也遇到了一些問題,如下:(1)操作視圖查詢,編寫代碼時(shí)發(fā)現(xiàn),一個(gè)表中的主鍵必須是另一個(gè)表的外鍵時(shí)才可以對(duì)另一個(gè)表進(jìn)行引用。(2)在設(shè)計(jì)表時(shí)應(yīng)注意使用正確的字段類型。(3)在建表語(yǔ)句中,如果這個(gè)表的主鍵是多個(gè)屬性的組合主鍵,則必須作為表級(jí)完整性進(jìn)行定義。致謝在這次數(shù)據(jù)庫(kù)課程設(shè)計(jì)中,感謝我的老師和同學(xué)們給了我及大的幫助。特別是我的指導(dǎo)老師兼授課教師陳磊老師,在此,我對(duì)他們表示感謝。感謝他們?cè)谖颐鎸?duì)困難時(shí)給了我?guī)椭椭С?,也感謝
41、那些給我?guī)椭乃型瑢W(xué)。參考文獻(xiàn)1肖永順 劉韜 李生海等.delphi程序設(shè)計(jì)M.北京.人民郵電出版社.2000.12儲(chǔ)啟明 周旭.delphi7典型實(shí)例開發(fā)篇(基礎(chǔ)開發(fā)篇)M.北京.清華大學(xué)出版社.2003.93段來(lái)盛 鄭城榮.delphi實(shí)戰(zhàn)演練M.北京:人民郵電出版社.2000.114岳付強(qiáng) 羅明英 韓德.SQL Server從實(shí)戰(zhàn)到入門M.北京:清華大學(xué)出版社.2009.95王珊 薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論M.北京:高等教育出版社.2006.56賽奎春,高春艷,李俊民.Visual Basic工程應(yīng)用與項(xiàng)目實(shí)踐.北京:機(jī)械工業(yè)出版社,2005年7東方人華.SQL Server2000與Vi
42、sual Basic數(shù)據(jù)庫(kù)入門與提高.北京:聯(lián)華大學(xué)出社,2002年附錄:源代碼:#include "stdafx.h"#include "StudentScore.h"#include "Course.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;/ CCourseIMPLEMENT_DYNAMIC(CCourse, CRecordset)CCourse:CCourse(CDatabase* pdb): CReco
43、rdset(pdb)/AFX_FIELD_INIT(CCourse)/AFX_FIELD_INITm_nDefaultType = snapshot;CString CCourse:GetDefaultConnect()return _T("ODBC;DSN=");CString CCourse:GetDefaultSQL()return _T("");void CCourse:DoFieldExchange(CFieldExchange* pFX)/AFX_FIELD_MAP(CCourse)pFX->SetFieldType(CFieldExc
44、hange:outputColumn);/AFX_FIELD_MAP/ CCourse diagnosticsvoid CCourse:AssertValid() constCRecordset:AssertValid();void CCourse:Dump(CDumpContext& dc) constCRecordset:Dump(dc);/ MainFrm.h : interface of the CMainFrame classclass CMainFrame : public CFrameWndprotected: / create from serialization on
45、lyCMainFrame();DECLARE_DYNCREATE(CMainFrame)/ Attributespublic:/ Operationspublic:/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CMainFrame)virtual BOOL PreCreateWindow(CREATESTRUCT& cs);/AFX_VIRTUAL/ Implementationpublic:virtual CMainFrame();protected: / control bar e
46、mbedded members/CStatusBar m_wndStatusBar;/CToolBar m_wndToolBar;/ Generated message map functionsprotected:/AFX_MSG(CMainFrame)afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);afx_msg void OnPassword();afx_msg void OnUser();afx_msg void OnStudent();afx_msg void OnTeach();afx_msg void OnTeacher()
47、;afx_msg void OnScore();afx_msg void OnQueryTeach();afx_msg void OnQueryScore();afx_msg void OnCourse();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line./ CScoreAddDlg dialogCScoreAddDlg:CScoreAddDlg(CWnd
48、* pParent /*=NULL*/): CDialog(CScoreAddDlg:IDD, pParent)/AFX_DATA_INIT(CScoreAddDlg)/AFX_DATA_INITvoid CScoreAddDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CScoreAddDlg)DDX_Control(pDX, IDC_SCORE_STUDENT, m_cStudent);DDX_Control(pDX, IDC_SCORE_SCORE, m_cScore);DDX
49、_Control(pDX, IDC_SCORE_COURSE, m_cCourse);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CScoreAddDlg, CDialog)/AFX_MSG_MAP(CScoreAddDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()void CScoreAddDlg:OnOK()CString student,course,score,student_no,course_no;m_cStudent.GetWindowText(student);m_cCourse.GetWindowText(course); m_cScore.Get
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州科技大學(xué)天平學(xué)院《機(jī)械制造裝備設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《混凝土與砌體結(jié)構(gòu)設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 天然氣行業(yè)人才培養(yǎng)與引進(jìn)考核試卷
- Shanzhiside-methyl-ester-Standard-生命科學(xué)試劑-MCE
- 操作系統(tǒng)復(fù)習(xí)
- 蘇州科技大學(xué)天平學(xué)院《多聲部音樂分析與寫作三》2021-2022學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《檔案管理學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《標(biāo)志與設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 蘇州科技大學(xué)天平學(xué)院《風(fēng)景園林工程與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2023年嘉興市中醫(yī)醫(yī)院招聘考試真題
- GB/T 706-2008熱軋型鋼
- 實(shí)驗(yàn)六 雙子葉植物莖的初生結(jié)構(gòu)和單子葉植物莖的結(jié)構(gòu)
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
- 《彩虹》教案 省賽一等獎(jiǎng)
- 2023年湖南建筑工程初中級(jí)職稱考試基礎(chǔ)知識(shí)
- 沈陽(yáng)機(jī)場(chǎng)航站樓擴(kuò)建工程安裝施工組織設(shè)計(jì)
- 司法考試:證據(jù)法
- 動(dòng)物外科學(xué)基礎(chǔ)第八章-四肢疾病課件
- 期末考試工作手冊(cè)
- 中建一局總包結(jié)算商務(wù)策劃管理工作交底概要課件
評(píng)論
0/150
提交評(píng)論