《學(xué)生成績管理系統(tǒng)》課程設(shè)計報告_第1頁
《學(xué)生成績管理系統(tǒng)》課程設(shè)計報告_第2頁
《學(xué)生成績管理系統(tǒng)》課程設(shè)計報告_第3頁
《學(xué)生成績管理系統(tǒng)》課程設(shè)計報告_第4頁
《學(xué)生成績管理系統(tǒng)》課程設(shè)計報告_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)與信息工程系 數(shù)據(jù)庫系統(tǒng)概論課程設(shè)計報告學(xué)號2014-2015學(xué)年 第一學(xué)期1208010數(shù)據(jù)庫系統(tǒng)概論課程設(shè)計報告題目: 學(xué)生成績管理系統(tǒng)專業(yè):計算機(jī)科學(xué)與技術(shù)班級:12(2)班姓名:XXX學(xué)號:12XXX指導(dǎo)教師:CXXX成績:計算機(jī)與信息工程系2014年10月12日1 目錄摘要21 需求分析31.1系統(tǒng)需求31.2功能要求31.3安全與完整性要求41.4數(shù)據(jù)字典42 概念結(jié)構(gòu)設(shè)計52.1系統(tǒng)的實體與聯(lián)系52.2 各個實體E-R圖53邏輯結(jié)構(gòu)設(shè)計73.1 E-R圖轉(zhuǎn)換為關(guān)系模型73.2 數(shù)據(jù)庫與表的建立83.3 數(shù)據(jù)庫關(guān)系圖94物理結(jié)構(gòu)設(shè)計104.1 確定關(guān)系模型的存取方法104.2

2、數(shù)據(jù)流圖105數(shù)據(jù)庫實施與維護(hù)115.1數(shù)據(jù)庫實施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)建存儲過程165.1.7觸發(fā)器185.1.8 自定義函數(shù)195.2數(shù)據(jù)庫的維護(hù)196 數(shù)據(jù)庫主要運(yùn)行界面207 小結(jié)22致謝23參考文獻(xiàn)24附錄:25摘要隨著學(xué)校向全國及至世界范圍的持續(xù)擴(kuò)張,學(xué)生人數(shù)的增加,對于學(xué)生的信息管理也越來越復(fù)雜,要求也越來越高,因此需要一個全面、詳細(xì)的信息管理系統(tǒng),以便完成對學(xué)生信息的管理。無紙化的環(huán)境是技術(shù)時代的一個夢想,也是許多學(xué)校和公司越來越意識到的一個真實世界。以前是由學(xué)生檔

3、案和公告欄來提供各種信息及通告新的變化,而現(xiàn)在這個繁雜的工作已被網(wǎng)站和內(nèi)部計算機(jī)網(wǎng)絡(luò)所取代。使得學(xué)生信息的管理更方便、安全。根據(jù)調(diào)查得知,現(xiàn)在廣大學(xué)生進(jìn)行信息提交的主要方式是基于文件、表格等紙介質(zhì)的手工處理,學(xué)生信息管理部門信息處理工作量大,容易出錯,且管理方面因人而異。然而學(xué)校網(wǎng)上學(xué)生信息管理系統(tǒng)應(yīng)該覆蓋各個所需功能,使各級管理人員和廣大教職工在信息系統(tǒng)的輔助下進(jìn)行工作,提高管理的整體水平。使得學(xué)生信息管理更方便。學(xué)生信息管理系統(tǒng),可以用集中的數(shù)據(jù)庫將與人力資源管理相關(guān)的信息全面、有機(jī)地聯(lián)系起來,有效地減少了信息更新和查找中的重復(fù)勞動,保證了信息的相容性,從而大大地提高了工作效率,還能使原來

4、不可能提供的分析報告成了可能。在采用和實施學(xué)生信息管理系統(tǒng)之后,就會將依賴于人的過程改為依賴于計算機(jī)系統(tǒng)的過程。學(xué)校管理人員只要獲取了相應(yīng)的權(quán)限,就可以隨時進(jìn)入系統(tǒng),直接查閱相應(yīng)的信息。采用和實施學(xué)生信息管理系統(tǒng)不僅僅是為了提高工作效率。為了除掉手工記錄的低效率工作方式,運(yùn)用信息化管理,提高工作效率,開發(fā)本系統(tǒng)。應(yīng)該看到,在實施學(xué)生信息管理系統(tǒng)后,經(jīng)過整合的、較為全面、準(zhǔn)確、一致和相容的信息不僅可以讓學(xué)校領(lǐng)導(dǎo)對本學(xué)校學(xué)生資源的現(xiàn)狀有一個比較全面和準(zhǔn)確的認(rèn)識,同時也可以生成綜合的分析報表供學(xué)校領(lǐng)導(dǎo)人在決策時參考。1 需求分析1.1系統(tǒng)需求當(dāng)今社會,計算機(jī)的使用已經(jīng)深入到日常生活和工作的方方面面,

5、它逐漸成為人們學(xué)習(xí)和工作時必不可少的工具。雖然目前為止已經(jīng)開發(fā)出了成千上萬的軟件系統(tǒng),但它們并不能滿足用戶的各種特殊需要,因此人們不得不開發(fā)屬于自己的軟件,能夠滿足自己的特殊需求。學(xué)生管理系統(tǒng)是教育事業(yè)單位必不可少的。它的內(nèi)容對學(xué)校的管理者來說至關(guān)重要,學(xué)生成績管理系統(tǒng)應(yīng)該能夠提供快捷的查詢功能以及能夠及時修改、增添、刪除信息等功能。傳統(tǒng)的人工管理文件檔案的方式存在很多缺點(diǎn),例如:效率低、保密性差、另外時間一長,信息量的不斷擴(kuò)增,都給查找、更新何維護(hù)帶來很大困難。使用計算機(jī)對學(xué)生成績進(jìn)行管理,具有手工管理不可比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、存儲信息量大、保密性好、及時更新并進(jìn)行維護(hù)等。計

6、算機(jī)管理學(xué)生成績能夠提高學(xué)校的管理效率,是科學(xué)化、正規(guī)化管理的重要途徑,型心計算機(jī)管理將不斷深入到學(xué)校的各項事務(wù)的管理當(dāng)中。1.2功能要求(1)教職工:對學(xué)生成績有一個整體的了解,在今后的教學(xué)中能有所改進(jìn)。同時可以對自己教授的課程進(jìn)行修改,進(jìn)一步了解學(xué)生的個人情況,便于因材施教。當(dāng)學(xué)生的個人信息發(fā)生改變時,老師能夠及時進(jìn)行修改。例如學(xué)生轉(zhuǎn)校、后來轉(zhuǎn)到本系、或者畢業(yè)生離開學(xué)校等,老師能夠根據(jù)具體情況對學(xué)生信息進(jìn)行添加、修改、刪除等。能夠管理課程信息,合理安排老師教授的課程,及時為學(xué)生提供選課信息。老師能夠?qū)φn程名、課程編號、學(xué)分等進(jìn)行修改和更新。能夠?qū)W(xué)生成績進(jìn)行發(fā)布、修改、刪除,清晰地了解學(xué)生

7、的成績情況,以便做出總結(jié)和改進(jìn)。(2)學(xué)生:能夠查詢個人的學(xué)習(xí)成績和總體學(xué)生的成績,以便做出新的定位。成績查詢:成績修改、成績添加、成績刪除等。課程查詢:課程修改、課程添加、課程刪除等。學(xué)生查詢:學(xué)生信息修改、學(xué)生信息添加、學(xué)生信息刪除等1.3安全與完整性要求建立數(shù)據(jù)庫用戶,對其權(quán)限進(jìn)行設(shè)置。確定各表主鍵、索引、參照完整性、用戶定義完整性。SQL語句不用拼接字符串(例+sno+)的方法來傳遞參數(shù),用(例sno)來傳遞參數(shù),這樣可以在一定程度上避免SQL注入,已達(dá)到一定程度上的安全。1.4數(shù)據(jù)字典用戶表(用戶名,用戶等級) 學(xué)生表(學(xué)號,姓名,性別,系別,學(xué)生年齡) 課程表(課程號,課程名,課時

8、,學(xué)分)成績表(課程號,學(xué)生號,成績。)老師表(老師姓名,老師編號,所授課程,聯(lián)系電話)名字:老師信息描述:學(xué)生成績管理系統(tǒng)中存儲的所有老師的信息定義:老師信息=老師姓名+所授課程+教師編號+聯(lián)系電話名字:學(xué)生信息描述:學(xué)生成績管理中存儲的所有學(xué)生信息定義:學(xué)生信息=學(xué)生學(xué)號+學(xué)生姓名+學(xué)生性別+學(xué)生系別+學(xué)生年齡位置:存儲 輸出供查詢名字:課程信息描述:多個必要課程信息組成定義:課程信息=課程號+課程名+課時+學(xué)分位置:存儲 輸出供查詢名字:用戶表信息描述:用戶個人的信息定義:用戶信息=用戶名位置:存儲 輸出供查詢名字:學(xué)生成績信息輸入:學(xué)生姓名輸出:相應(yīng)的學(xué)生成績信息名字:查詢信息描述:用

9、戶提出的具體查詢請求定義:查詢信息=課程查詢信息+學(xué)生查詢信息位置:課程表 學(xué)生表 成績表名字:添加信息輸入:學(xué)號、學(xué)生姓名、學(xué)生性別、系別、學(xué)生年齡輸出:新輸入的學(xué)生信息名字:刪除信息輸入:選中所要刪除的學(xué)生信息輸出:刪除完成2 概念結(jié)構(gòu)設(shè)計2.1系統(tǒng)的實體與聯(lián)系由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括:(1)學(xué)生基本信息:學(xué)號,姓名,學(xué)院,班級,年齡,性別。(2)課程基本信息:課程名,課程號,學(xué)時。(3)教師基本信息:教師號,教師姓名,職稱,年齡,性別,學(xué)院(4)學(xué)院基本信息:學(xué)院名、學(xué)院號、院長姓名這些實體間的聯(lián)系包括:(1)每位學(xué)生可以學(xué)習(xí)多門課程,每門課程可供多位學(xué)生學(xué)習(xí)。(2)每

10、門課可以由多個老師教,每個老師可以教多門課程(3)學(xué)生每選一門課就可以得到一個成績,不選此課就不能取得該課程成績2.2 各個實體E-R圖(1)學(xué)生表:性別姓名學(xué)號班級學(xué)生表出生日期(2)教師表:性別姓名職稱部門教師表教師編號(3)課程表:課程表課 程名 稱教 師編 號課程號(4)成績表:成績表成績課程號學(xué)號(5)總體實體關(guān)系圖:學(xué)生教師 1 N 學(xué)教 M課程N(yùn) M 3邏輯結(jié)構(gòu)設(shè)計3.1 E-R圖轉(zhuǎn)換為關(guān)系模型(1)學(xué)生表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注sno學(xué)號Char(8)不允許為空主鍵sname姓名Char(10)不允許為空Ssex性別Char(2)不允許為空sbirth出生日期Date

11、time(8)允許為空class所在班級Char(4)不允許為空typeChar(7)允許為空(2)教師表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注tno教師編號char(5)不允許為空主鍵tname姓名varchar(10)不允許為空depart部門varchar(8)不允許為空Tsex性別char(2)不允許為空Tbirth出生日期datetime ,允許為空prof職稱char(6)允許為空(3)課程表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注cno課程號Char(5)不允許為空主鍵cname課程名稱varchar(10)不允許為空tno教師編號char(3)不允許為空(4)成績表屬性名數(shù)據(jù)描述數(shù)據(jù)類型

12、是否為空備注sno學(xué)號Char(8)不允許為空主鍵cno課程號Char(5)不允許為空主鍵degree成績Float(8)不允許為空3.2 數(shù)據(jù)庫與表的建立1.創(chuàng)建數(shù)據(jù)庫: 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ù)庫關(guān)系圖4物理結(jié)構(gòu)設(shè)計4.1 確定關(guān)系模型的存取方法在將概念模型轉(zhuǎn)換成物理模型之后,我們可以對物理模型進(jìn)行設(shè)計,雙擊物理模型的關(guān)系,可以對該關(guān)系的名稱、注釋等信息進(jìn)行查詢??蓪υ撽P(guān)系的屬性列進(jìn)行設(shè)計,可分別設(shè)置其

15、名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。在實際設(shè)計中最常用的存取方法是索引發(fā),使用索引可以大大減少數(shù)據(jù)的查詢時間,在建立索引時應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引;  在主關(guān)鍵字上建立索引;在經(jīng)常用于連接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的等規(guī)則。才能充分利用索引的作用避免因索引引起的負(fù)面作用。4.2數(shù)據(jù)流圖該數(shù)據(jù)流圖主要體現(xiàn)教職工對學(xué)生信息、課程信息和學(xué)生成績的管理,然后存儲的信息作用于查詢系統(tǒng)。在學(xué)生能夠操作的只有成績查詢,如圖所示:錄入學(xué)生信息學(xué)生錄入課程信息課程教職工成績錄入學(xué)生成績查詢學(xué)生成績學(xué)

16、生圖1-1 功能流圖5數(shù)據(jù)庫實施與維護(hù)5.1數(shù)據(jù)庫實施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','無悔',

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)向成績表中添加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ī)','11')insert into course values('02','網(wǎng)絡(luò)管理','12'

22、)insert into course values('03','專業(yè)英語','13')insert into course values('04','軟件工程','14')查看記錄 Select * from course(4)向課程表中添加數(shù)據(jù)insert into teacher values('11','無意','計算機(jī)系','男','1973-4-5','教授')insert into teac

23、her values('12','生活','計算機(jī)系','女','1975-12-1','副教授')insert into teacher values('13','沒有','管理系','女','1975-3-3','副教授')insert into teacher values('14','離開','英語系','男','1973-5

24、-5','教授')查看記錄 Select * from teacher5.1.2查詢(1) 查詢成績大于學(xué)號為101的學(xué)生的課程為02的成績的所有列。select * from score where degree>(select degree from score where sno='101' and cno='02')(2) 查詢課程號01大于課程號02的最大值、并以分?jǐn)?shù)降序排序的成績表中所有列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é)號,姓名,班級,課程號和成績的學(xué)生select student.sno,student.sname,student.class,o,score.degree from student,score where student.sno=score.sno and ssex='男

26、9;(4) 查詢成績在60到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)建一個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ī)課程的學(xué)生信息,包括(sno,sname,cno,cname,degree),創(chuàng)建時加上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ī)'with check option查看視圖中的記錄select * from course_degree(3) 創(chuàng)建一個視圖,其中的內(nèi)容是成績表中每門課程的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)建存儲過程 (1) 創(chuàng)建一個存儲過程。來顯示成績表中的課程號在課程表中并且所任教師性別為男、所在部門是計算機(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ī)系' and tsex='男')調(diào)用此存儲過程Execstudent_11 (2) 創(chuàng)建一個帶輸入?yún)?shù)的存儲過程。調(diào)用此存儲過程時,給出一個學(xué)生名,顯示出此學(xué)生的學(xué)號,姓名,所學(xué)課程號,課程名稱和對應(yīng)的成績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)用此存儲過程,(此例是輸出姓名為歷史的學(xué)生的信息)exec student_name '歷史'(3) 創(chuàng)建一個存儲過程,傳遞一個學(xué)生姓名。先判斷此學(xué)生是否有郵箱,如果有,則顯示此學(xué)生的姓名,郵箱地址,學(xué)號,班級;如果沒有的話,輸出此句話'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)用此存儲過程exec student_email 'super'5.1.7觸發(fā)器(1) 創(chuàng)建一個觸發(fā)器。來檢查學(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生信息表中插入一條記錄,檢驗是否成功插入insertintostudent values(

35、9;114','lengbing','女','1985-12-12','11','lengbingssh','一般' )(2) 在成績表中建立一個觸發(fā)器,當(dāng)向表中添加記錄時,此學(xué)生的成績都乘以1.2create trigger scoreupdate on scoreafter insertas update score set degree=degree*1.2 from score where sno in (select sno from inserted )向表中插入一條記錄,檢驗觸

36、發(fā)器是否有用。insert into score values('108','01','56')5.1.8 自定義函數(shù) (1) 創(chuàng)建一個用戶自定義函數(shù),輸出與指定的學(xué)生同班的學(xué)生個數(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é)號102同班的學(xué)生個數(shù))declare a intset a=dbo.studentcount('102')print convert(char(3),a)(2) 創(chuàng)建一個用戶自定義函數(shù),用于輸出同一個班級中的學(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ù)庫

38、的維護(hù)當(dāng)試運(yùn)行數(shù)據(jù)庫合格后,數(shù)據(jù)庫開發(fā)設(shè)計的工作就基本完成了,接下來就是正式運(yùn)行中的調(diào)試,應(yīng)為該系統(tǒng)比較簡單,數(shù)據(jù)量小,數(shù)據(jù)庫中幾乎不會發(fā)生什么大的變化,但是還是需要做好數(shù)據(jù)的備份,在sqlserver中我們可以利用備份數(shù)據(jù)庫的功能對已經(jīng)設(shè)計好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫受到破壞或系統(tǒng)故障,我們便可輕松的利用備份文件恢復(fù)數(shù)據(jù)庫的數(shù)據(jù)。當(dāng)然也可以利用其他各種方法進(jìn)行數(shù)據(jù)維護(hù)。6 數(shù)據(jù)庫主要運(yùn)行界面(1) 登錄界面:(2) 成績查詢界面: (3) 課程查詢界面: 7 小結(jié)通過這次的課程設(shè)計,使我了解了更多數(shù)據(jù)庫原理與應(yīng)用這門課程,對以前不太理解和熟悉的內(nèi)容有更多的掌握,在我設(shè)計的學(xué)生成績管理系統(tǒng)中,雖

39、然一開始我對這個系統(tǒng)怎樣設(shè)計完完全全沒有概念。但是如果仔細(xì)的想一下,還是可以找到出發(fā)點(diǎn)的。首先要建立一個完整的管理系統(tǒng),就必須明白這個系統(tǒng)所包含的基本內(nèi)容、處理一些怎樣的信息等。最主要的是畫出他們的ER圖,便可直觀的看出他們關(guān)系。在設(shè)計的時候,有時候也會感到?jīng)]有思路了,或許是只有一點(diǎn)點(diǎn)的頭緒,可經(jīng)過對圖的分析和認(rèn)真觀察他們的關(guān)系后,便有了新的思路和閃光點(diǎn)。最后根據(jù)自己的整理資料將每一步都運(yùn)用SQL語言執(zhí)行出來,并且看以下是否符合結(jié)果要求。我想經(jīng)過這次課程設(shè)計可以更好的將所學(xué)知識運(yùn)用到實際中去。也讓我加深了對數(shù)據(jù)庫知識的認(rèn)識和了解。在這次實踐設(shè)計過程中,我懂得了如何將所學(xué)的理論知識運(yùn)用到實際中去

40、,使得所學(xué)的知識能夠融會貫通。同時,在課程設(shè)計過程中,我懂得了許多知識,增加了我對數(shù)據(jù)庫的興趣 ,今后一定努力的學(xué)習(xí),在實踐中增加自己的學(xué)習(xí)樂趣,讓自己更加充實。設(shè)計過程中我也遇到了一些問題,如下:(1)操作視圖查詢,編寫代碼時發(fā)現(xiàn),一個表中的主鍵必須是另一個表的外鍵時才可以對另一個表進(jìn)行引用。(2)在設(shè)計表時應(yīng)注意使用正確的字段類型。(3)在建表語句中,如果這個表的主鍵是多個屬性的組合主鍵,則必須作為表級完整性進(jìn)行定義。致謝在這次數(shù)據(jù)庫課程設(shè)計中,感謝我的老師和同學(xué)們給了我及大的幫助。特別是我的指導(dǎo)老師兼授課教師陳磊老師,在此,我對他們表示感謝。感謝他們在我面對困難時給了我?guī)椭椭С郑哺兄x

41、那些給我?guī)椭乃型瑢W(xué)。參考文獻(xiàn)1肖永順 劉韜 李生海等.delphi程序設(shè)計M.北京.人民郵電出版社.2000.12儲啟明 周旭.delphi7典型實例開發(fā)篇(基礎(chǔ)開發(fā)篇)M.北京.清華大學(xué)出版社.2003.93段來盛 鄭城榮.delphi實戰(zhàn)演練M.北京:人民郵電出版社.2000.114岳付強(qiáng) 羅明英 韓德.SQL Server從實戰(zhàn)到入門M.北京:清華大學(xué)出版社.2009.95王珊 薩師煊.數(shù)據(jù)庫系統(tǒng)概論M.北京:高等教育出版社.2006.56賽奎春,高春艷,李俊民.Visual Basic工程應(yīng)用與項目實踐.北京:機(jī)械工業(yè)出版社,2005年7東方人華.SQL Server2000與Vi

42、sual Basic數(shù)據(jù)庫入門與提高.北京:聯(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論