數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告范例_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告范例_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告范例_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告范例_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告范例_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上江西理工大學(xué)應(yīng)用科學(xué)學(xué)院數(shù)據(jù)庫原理課程設(shè)計(jì)專 業(yè): 班 級(jí): 學(xué) 號(hào): 姓 名: 設(shè)計(jì)題目: 2010年6月專心-專注-專業(yè)課程設(shè)計(jì)評(píng)分表姓 名班 級(jí)學(xué) 號(hào)課設(shè)題目指導(dǎo)教師評(píng)分項(xiàng)目滿分分值得分設(shè)計(jì)文檔(30分)文檔格式封面2頁面布局4目錄格式3圖表質(zhì)量2頁眉頁腳2文檔內(nèi)容內(nèi)容完整性6內(nèi)容邏輯性5內(nèi)容正確性6程序代碼(30分)程序功能15編程規(guī)范7編程文檔8答辯(20分)課題陳述7問題答辯10是否超時(shí)3考勤(20分)20總評(píng)成績(jī)指導(dǎo)教師評(píng)語簽名: 年 月 日教研室意見簽名: 年 月 日課程設(shè)計(jì)答辯記錄表教師提問學(xué)生答辯情況記錄成績(jī)答辯小組教師簽名摘要本系統(tǒng)為學(xué)生學(xué)籍管理

2、系統(tǒng),是一個(gè)信息管理系統(tǒng),其開發(fā)主要包括數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。 經(jīng)過分析,我使用了 MICROSOFT公司的 VISUAL BASIC 6.0開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具, 開發(fā)了登錄模塊主要用于驗(yàn)證用戶身份,進(jìn)行有效的操作。在我們所開發(fā)的學(xué)生學(xué)籍管理系統(tǒng)中創(chuàng)建了兩個(gè)用戶教師管理員和學(xué)生,通過身份驗(yàn)證后方可進(jìn)入。本系統(tǒng)還包含查詢、插入、修改、刪除等基本操作,在整個(gè)系統(tǒng)設(shè)計(jì)中充分利用了模塊化的設(shè)計(jì)思想和開發(fā)方法,用戶在從主界面模塊在驗(yàn)證后進(jìn)入每個(gè)子模塊進(jìn)行各個(gè)子系統(tǒng)的具體功能操作。在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和

3、改進(jìn),直到形成一個(gè)滿意的可行系統(tǒng)。在下面的各章中我將以開發(fā)學(xué)生學(xué)籍管理系統(tǒng),談?wù)勂渚唧w開發(fā)過程和所涉及到的問題及解決方法。目錄第一章 系統(tǒng)概述數(shù)據(jù)庫原理及應(yīng)用課程的學(xué)習(xí),其主要的目標(biāo)是能利用課程中學(xué)習(xí)到的數(shù)據(jù)庫知識(shí)與技術(shù)較好地開發(fā)設(shè)計(jì)出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。本實(shí)驗(yàn)主要在于鞏固學(xué)生對(duì)數(shù)據(jù)庫的基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)開發(fā)的基本方法,進(jìn)一步提高學(xué)生的綜合運(yùn)用所學(xué)的知識(shí)能力。為了使數(shù)據(jù)庫的應(yīng)用系統(tǒng)開發(fā)設(shè)計(jì)合理、規(guī)范、有序、正確、高效進(jìn)行,現(xiàn)在廣泛采用的是工程化6階段開發(fā)設(shè)計(jì)過程與方法,它們是需求分析階段、概念結(jié)構(gòu)設(shè)計(jì)階段、邏輯結(jié)構(gòu)設(shè)計(jì)階段、物理結(jié)構(gòu)設(shè)

4、計(jì)階段、數(shù)據(jù)庫實(shí)施、數(shù)據(jù)庫系統(tǒng)運(yùn)行與維護(hù)階段。我們按照以上幾點(diǎn)開發(fā)了學(xué)生學(xué)籍管理系統(tǒng)數(shù)據(jù)庫。學(xué)生學(xué)籍管理系統(tǒng)要求讀者較好的正我數(shù)據(jù)庫知識(shí)與技術(shù)外,還要求讀者掌握某種客戶端開發(fā)工具或語言。這里是利用相對(duì)簡(jiǎn)單易學(xué)易掌握的Visual Basic6.0 開發(fā)工具來實(shí)現(xiàn)示例系統(tǒng)的。如果讀者對(duì)該開發(fā)工具不熟悉,這里也無妨。這次課程設(shè)計(jì)能順利通過是老師的細(xì)心指導(dǎo)和我們小組團(tuán)結(jié)一致、努力的結(jié)果。在這次課程設(shè)計(jì)中每位同學(xué)都積極參與各項(xiàng)環(huán)節(jié)的設(shè)計(jì),但我們也有分工。初步列出如下:韓信元是用VB制作前臺(tái)的界面;惠城旗和趙曉霞擔(dān)任的工作是對(duì)系統(tǒng)的需求分析、構(gòu)思數(shù)據(jù)流圖、把E-R圖轉(zhuǎn)化成關(guān)系模型并對(duì)其進(jìn)行規(guī)范化處理、用

5、SQL語言建表、視圖以及文檔的初步編寫等。劉方山和張熙磊的工作是負(fù)責(zé)畫數(shù)據(jù)流圖和E-R圖,以及轉(zhuǎn)化初始關(guān)系模型,和內(nèi)容摘要等的編寫。徐冰是我們組的組長(zhǎng),除對(duì)我們所制作單個(gè)模塊審核外還擔(dān)任了WORD文檔的總結(jié)排版。這次數(shù)據(jù)庫的課程設(shè)計(jì)讓我們對(duì)數(shù)據(jù)庫的操作有了進(jìn)一步的了解,受益匪淺。第二章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)部分2.1 需求分析2.1.1 需求描述隨著學(xué)校的普及和人們文化水平的提高,高效的教學(xué)管理系統(tǒng)越來越廣泛應(yīng)用于各類信息化學(xué)校。學(xué)生學(xué)籍管理系統(tǒng)要求實(shí)用性強(qiáng)、使用方便、效率高和安全可靠等特點(diǎn)。經(jīng)分析我們認(rèn)為學(xué)生學(xué)籍管理系統(tǒng)的具體要求為:1.能全面管理學(xué)校教學(xué)相關(guān)的各類主體,如院系信息、教師信息、班級(jí)

6、信息、學(xué)生信息、課程信息、專業(yè)信息等2通過使用計(jì)算機(jī)能方便的維護(hù)(包括插入、刪除、修改)各信息表3能方便的實(shí)現(xiàn)基于多個(gè)表的連接查詢4系統(tǒng)具有操作方便、簡(jiǎn)捷等特點(diǎn)因而,我們所開發(fā)的管理系統(tǒng)正是圍繞以上幾個(gè)方面進(jìn)行的,在開發(fā)過程中充分考慮到本系統(tǒng)的應(yīng)用特點(diǎn),并進(jìn)行了大量的檢驗(yàn),證明其的確達(dá)到了設(shè)計(jì)的要求。本文主要論述學(xué)生學(xué)籍管理系統(tǒng)的開發(fā)過程。2.1.2 數(shù)據(jù)流圖請(qǐng)求結(jié)果正確信息輸入請(qǐng)求更新請(qǐng)求更新結(jié)果輸入請(qǐng)求核對(duì)結(jié)果待檢驗(yàn)信息信息規(guī)范班主任正確信息輸出結(jié)果錯(cuò)誤信息個(gè)人信息管理系統(tǒng)查詢認(rèn)證教務(wù)辦P規(guī)則表信息規(guī)范輸出結(jié)果輸入請(qǐng)求教師輸出結(jié)果學(xué)生輸出結(jié)果輸入請(qǐng)求查詢信息處理標(biāo)準(zhǔn)查詢表圖2.1 數(shù)據(jù)流圖

7、(1)規(guī)范表修改請(qǐng)求規(guī)范表插入結(jié)果插入請(qǐng)求插入結(jié)果插入請(qǐng)求查詢結(jié)果查詢請(qǐng)求信息規(guī)范P2插入教務(wù)辦P1查詢規(guī)范表修改結(jié)果修改請(qǐng)求刪除結(jié)果刪除請(qǐng)求查詢請(qǐng)求查詢結(jié)果管理系統(tǒng)刪除請(qǐng)求修改結(jié)果P3修改P4刪除圖2.2 數(shù)據(jù)流圖(2)2.1.3 數(shù)據(jù)詞典數(shù)據(jù)元素?cái)?shù)據(jù)類型長(zhǎng)度數(shù)據(jù)來源系編號(hào)varchar50院系表系名varchar50院系表主任工號(hào)varchar50院系表電話varchar50院系表專業(yè)號(hào)varchar50專業(yè)表專業(yè)名varchar50專業(yè)表班號(hào)varchar50班級(jí)表班名varchar50班級(jí)表人數(shù)varchar50班級(jí)表教師號(hào)varchar50教師表姓名varchar50教師表性別var

8、char50教師表學(xué)號(hào)varchar50學(xué)生表姓名varchar50學(xué)生表性別varchar50學(xué)生表出生年月smalldatetime8學(xué)生表籍貫varchar50學(xué)生表名族varchar50學(xué)生表政治面貌varchar50學(xué)生表院系varchar50學(xué)生表專業(yè)班級(jí)varchar50學(xué)生表照片image16學(xué)生表電話varchar50學(xué)生表課號(hào)varchar50課程表課名varchar50課程表學(xué)分float8課程表類別varchar50課程表開課院系varchar50課程表任課老師varchar50課程表學(xué)時(shí)varchar50課程表成績(jī)varchar50選課表效果varchar50講授表2

9、.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)1n1 n m n1m n1 n 1 n 1 n院系含有包含專業(yè)老師班級(jí)包含講授課程包含學(xué)生選課管理2.2.1 E-R圖姓名性別政治面貌出生年月學(xué)號(hào)專業(yè)班級(jí)院系籍貫電話民族學(xué)生圖2.3 系統(tǒng)實(shí)體及聯(lián)系圖照片學(xué)號(hào)姓名院系課號(hào)成績(jī)成績(jī)?cè)合迪稻幪?hào)系名主任工號(hào)電話圖2.4 系統(tǒng)部分實(shí)體及其屬性課號(hào)學(xué)分課名類別學(xué)時(shí)開課院系任課老師選課講授工號(hào)課號(hào)效果圖2.5 系統(tǒng)主要聯(lián)系及其屬性2.2.2 實(shí)體及屬性的定義在此系統(tǒng)中實(shí)體有:院系、專業(yè)、班級(jí)、教師、學(xué)生、課程聯(lián)系有:選課、講授屬性以表的形式列出:表2.1 院系表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引系編號(hào)varchar50不允許有

10、系名varchar50允許無主任工號(hào)varchar50允許無電話varchar50允許無表2.2 專業(yè)表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引專業(yè)號(hào)varchar50不允許有專業(yè)名varchar50允許無系編號(hào)varchar50不允許有表2.3 班級(jí)表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引班號(hào)varchar50不允許有班名varchar50允許無人數(shù)varchar50允許無專業(yè)號(hào)varchar50不允許有教師號(hào)varchar50不允許有表2.4 教師表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引教師號(hào)varchar50不允許有姓名varchar50允許無性別varchar50允許無系編號(hào)varcha

11、r50不允許有表2.5 學(xué)生表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引學(xué)號(hào)varchar50不允許有姓名varchar50允許無性別varchar50允許無出生年月smalldatetime8允許無籍貫varchar50允許無名族varchar50允許無政治面貌varchar50允許無院系varchar50允許無專業(yè)班級(jí)varchar50允許無照片Image16允許無電話varchar50允許無班號(hào)varchar50不允許有表2.6 課程表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引課號(hào)varchar50不允許有課名varchar50允許無學(xué)時(shí)varchar50允許無類別varchar50允許無講課學(xué)

12、時(shí)varchar50允許無開課院系varchar50允許無任課老師varchar50允許無學(xué)分varchar50允許無表2.7 選課表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引學(xué)號(hào)varchar50不允許有課號(hào)varchar50不允許有成績(jī)Float8允許無表2.8 講授表屬性名數(shù)據(jù)類型長(zhǎng)度是否允許為空有無索引教師號(hào)varchar50不允許有課號(hào)varchar50不允許有效果Float8允許無2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)2.3.1 初始關(guān)系模式院系(系編號(hào),系名,主任工號(hào),電話)專業(yè)(專業(yè)號(hào),專業(yè)名,系編號(hào))班級(jí)(班號(hào),班名,人數(shù),專業(yè)號(hào), 教師號(hào))教師(教師號(hào),姓名,性別,系編號(hào))學(xué)生(學(xué)號(hào),姓名

13、,性別,出生年月, 籍貫,民族,政治面貌,院系,電話,班號(hào))課程(課號(hào),課名,講課學(xué)時(shí),開課院系,任課老師,學(xué)分)選課(學(xué)號(hào),課號(hào),成績(jī))講授(教師號(hào),課號(hào),效果)2.3.2 規(guī)范化處理經(jīng)過對(duì)初始關(guān)系模式的規(guī)范化處理以下關(guān)系模式中不存在部分函數(shù)依賴和傳遞函數(shù)依賴,已經(jīng)達(dá)到3NF。(=代表主碼,代表外碼)院系(系編號(hào),系名,主任工號(hào),電話)專業(yè)(專業(yè)號(hào),專業(yè)名,系編號(hào))班級(jí)(班號(hào),班名,人數(shù),專業(yè)號(hào), 教師號(hào))教師(教師號(hào),姓名,性別,系編號(hào))學(xué)生(學(xué)號(hào),姓名,性別,出生年月, 籍貫,民族,政治面貌,院系,電話,班號(hào))課程(課號(hào),課名,講課學(xué)時(shí),開課院系,任課老師,學(xué)分)選課(學(xué)號(hào),課號(hào),成績(jī))

14、 講授(教師號(hào),課號(hào),效果) 2.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)2.4.1 基于SQL Server的數(shù)據(jù)表設(shè)計(jì)用企業(yè)管理器建表,以學(xué)生表為例如下圖所示:圖2.6學(xué)生表(用SQL語言查詢分析器建表代碼見附錄一)2.4.2 索引表列出索引表格(查詢分析器建立索引代碼見附錄一)表2.9 院系索引表索引字段名稱數(shù)據(jù)類型字段大小主索引系編號(hào)Varchar50無系名Varchar50有主任工號(hào)Varchar50無電話Varchar50表2.91 專業(yè)索引表索引字段名稱數(shù)據(jù)類型字段大小主索引專業(yè)號(hào)Varchar50無專業(yè)名Varchar50主索引系編號(hào)Varchar50表2.92 班級(jí)索引表索引字段名稱數(shù)據(jù)類型字

15、段大小主索引班號(hào)Varchar50無班名Varchar50無人數(shù)Varchar50主索引專業(yè)號(hào)Varchar50主索引教師號(hào)Varchar50表2.93 教師索引表索引字段名稱數(shù)據(jù)類型字段大小主索引教師號(hào)Varchar50無姓名Varchar50無性別Varchar50主索引系編號(hào)Varchar50表2.94 學(xué)生索引表索引字段名稱數(shù)據(jù)類型字段大小主索引學(xué)號(hào)Varchar50無姓名Varchar50無性別Varchar50無出生年月smalldatetime8無籍貫Varchar50無名族Varchar50無政治面貌Varchar50無院系Varchar50無專業(yè)班級(jí)Varchar50無 照片

16、image16無電話Varchar50主索引班號(hào)Varchar50表2.95 課程索引表索引字段名稱數(shù)據(jù)類型字段大小主索引課號(hào)Varchar50無課名Varchar50無學(xué)時(shí)Varchar50無類別Varchar50無講課學(xué)時(shí)Varchar50無開課院系Varchar50無任課老師Varchar50無學(xué)分float8表2.96 選課索引表索引字段名稱數(shù)據(jù)類型字段大小主索引學(xué)號(hào)Varchar50主索引課號(hào)Varchar50無成績(jī)Float8表2.97 講授索引表索引字段名稱數(shù)據(jù)類型字段大小主索引教師號(hào)Varchar50主索引課號(hào)Varchar50無效果Varchar502.4.3 角色建立了教師

17、和學(xué)生兩個(gè)角色圖2.7 角色(1)圖2.8 角色(2)2.4.4 視圖用企業(yè)管理器建立兩個(gè)視圖,即學(xué)生_成績(jī)視圖,教師_信息_成績(jī)視圖。菜單欄中單擊工具 向?qū)?數(shù)據(jù)庫 創(chuàng)建視圖向?qū)?,選擇你所要建的試圖的對(duì)象,選擇列名,按照提示,最后單擊完成即可。用查詢分析器建立視圖以學(xué)生_成績(jī)視圖(教師_信息_成績(jī)視圖的代碼見附錄一)為例代碼如下:create view 學(xué)生_成績(jī)asselect選課表.學(xué)號(hào),姓名, 選課表.課號(hào),課名,成績(jī)from 選課表,學(xué)生表,課程表where 學(xué)生表.學(xué)號(hào) = 選課表.學(xué)號(hào) and選課表.課號(hào) = 課程表.課號(hào)2.5 數(shù)據(jù)庫操作部分2.5.1 數(shù)據(jù)庫的插入操作INSE

18、RT INTO <表名>(<屬性列1>,<屬性列2>) VALUES(<常量1>,<常量2>);例如:在學(xué)生表中插入一個(gè)新同學(xué)的相關(guān)信息(注:學(xué)號(hào)是主碼,故不可以相同) INSERT INTO 學(xué)生表(學(xué)號(hào),姓名,性別,出生年月,籍貫,政治面貌,名族,院系,電話)VALUES(34,丁一,女,1986年1月1號(hào),北京,團(tuán)員,漢族,信息工程系,)2.5.2 數(shù)據(jù)庫的修改操作UPDATE <表名> SET<列名>=<表達(dá)式> WHERE<條件>例如:在學(xué)生表中修改學(xué)號(hào)為的院系為人文科學(xué)系。U

19、PDATE 學(xué)生表 SET院系=人文科學(xué)系 WHERE 學(xué)號(hào)=2.5.3 數(shù)據(jù)庫的刪除記錄操作DELETE FROM<表名>WHERE<條件>例如:刪除學(xué)號(hào)為的相關(guān)信息DELETEFROM學(xué)生表WHERE 學(xué)號(hào)=2.5.4 數(shù)據(jù)庫的備份及還原操作使用 SQL Server 模糊備份和還原操作: 將包含數(shù)據(jù)的擴(kuò)展盤區(qū)寫入備份集,而無需考慮使備份期間正由用戶修改的頁同步。這顯著減小了備份對(duì)當(dāng)前用戶的影響。還使備份得以串行地復(fù)制頁。取消了所有隨機(jī)讀取,從而加快使用頻繁的系統(tǒng)中的備份過程。但這同時(shí)也意味著備份中的頁以一種不一致的、無法恢復(fù)的狀態(tài)存儲(chǔ)。 將事務(wù)日志作為備份的一部分

20、復(fù)制。 RESTORE 語句: RESTORE FILELISTONLY FROM DISK = ''c:Northwind.bak'' RESTORE DATABASE TestDB FROM DISK = ''c:Northwind.bak'' WITH MOVE ''Northwind'' TO ''c:testdb.mdf'', MOVE ''Northwind_log'' TO ''c:testdb.ldf&#

21、39;' 如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫,并初始化數(shù)據(jù)庫中的擴(kuò)展盤區(qū)。如果 RESTORE 語句執(zhí)行時(shí)數(shù)據(jù)庫已存在,則可以跳過這一步。 復(fù)制備份集中的擴(kuò)展盤區(qū)。因?yàn)樗械臄U(kuò)展盤區(qū)都按串行順序排列,所以這個(gè)過程較快。將忽略未在備份集中找到的擴(kuò)展盤區(qū);它們將不作為空的擴(kuò)展盤區(qū)進(jìn)行初始化。 使用事務(wù)日志恢復(fù)數(shù)據(jù)庫。將日志中記錄的數(shù)據(jù)修改前滾到日志末尾,然后回滾任何未完成的事務(wù)。這將使數(shù)據(jù)庫返回到一致的已恢復(fù)狀態(tài),這種狀態(tài)與數(shù)據(jù)庫在 BACKUP 語句完成時(shí)的狀態(tài)一致。 備份BACKUP DATABASE Northwind TO DISK = 'c:Northwind.bak'

22、;還原-返回由備份集內(nèi)包含的和日志文件列表組成的結(jié)果集RESTORE FILELISTONLY FROM DISK = 'c:Northwind.bak'-還原由BACKUP備份的RESTORE DATABASE Northwind FROM DISK = 'c:Northwind.bak' -指定還原后的物理文件名稱及路徑RESTORE DATABASE TestDB FROM DISK = 'c:Northwind.bak' WITH MOVE 'Northwind' TO 'c:testtestdb.mdf'

23、, MOVE 'Northwind_log' TO 'c:testtestdb.ldf' MOVE 'logical_file_name' TO 'operating_system_file_name'指定應(yīng)將給定的 logical_file_name 移到 operating_system_file_name。默認(rèn)情況下,logical_file_name 將還原到其原始位置。如果使用 RESTORE 語句將復(fù)制到相同或不同的上,則可能需要使用 MOVE 選項(xiàng)重新定位文件以避免與現(xiàn)有文件沖突??梢栽诓煌?MOVE 語句中指定內(nèi)

24、的每個(gè)邏輯文件。 -強(qiáng)制還原,加上REPLACE參數(shù),則在現(xiàn)有基礎(chǔ)上強(qiáng)制還原。RESTORE DATABASE TestDB FROM DISK = 'c:Northwind.bak' WITH REPLACE, MOVE 'Northwind' TO 'c:testtestdb.mdf', MOVE 'Northwind_log' TO 'c:testtestdb.ldf'2.5.5 關(guān)系圖圖2.9 關(guān)系圖2.6 系統(tǒng)(界面)設(shè)計(jì)部分基于VISUAL BASIC 6.0開發(fā)工具1:主窗體類型為“展示屏幕”,命名為

25、frmSplash如下圖所示:該窗體有兩個(gè)作用,一為系統(tǒng)啟動(dòng)時(shí)的窗體,二為系統(tǒng)運(yùn)行時(shí)的“關(guān)于.”窗體,而mbAbout即為標(biāo)識(shí)若mbAbout為true, 則表示為系統(tǒng)啟動(dòng)時(shí)的窗體若mbAbout為false,則表示為系統(tǒng)運(yùn)行時(shí)的“關(guān)于.”窗體2:接下來鼠標(biāo)單擊進(jìn)入用戶權(quán)限登陸界面,其為“登陸對(duì)話框”的;類型,命名為frmLogin。窗體的界面如下圖所示:以上為老師的登陸界面,教師身份 如admin admin 見數(shù)據(jù)庫的Admin表以上為其中之一的學(xué)生的登陸界面 學(xué)生身份 以學(xué)生名字為用戶名,學(xué)號(hào)為其密碼如韓信元 見數(shù)據(jù)庫的Student表3:進(jìn)入與SQL server 2000的連接界面。

26、其數(shù)據(jù)庫名為“xin”2.6.1 數(shù)據(jù)錄入、修改、刪除界面設(shè)計(jì)進(jìn)入學(xué)生信息管理系統(tǒng)。其為“frmStudent”的窗體,如下圖:該窗體的流程圖如下圖所示:學(xué)生記錄列表查找學(xué)生記錄列出某班級(jí)的學(xué)生記錄瀏覽學(xué)生記錄編輯學(xué)生記錄添加學(xué)生記錄刪除當(dāng)前學(xué)生記錄以報(bào)表形式顯示學(xué)生記錄在該界面內(nèi),可以進(jìn)行修改,編輯,添加等操作。由于時(shí)間的限制,不足的地方是“以報(bào)表形式顯示學(xué)生記錄”沒完成,暫時(shí)實(shí)現(xiàn)不了。希望以后能夠完成這個(gè)版塊的功能。2.6.2 數(shù)據(jù)查詢與打印輸出設(shè)計(jì)單擊“自定義查詢”按鈕,將會(huì)出現(xiàn)自定義查詢窗體frmFind。窗體的設(shè)計(jì)界面如下圖所示:進(jìn)入某個(gè)學(xué)生信息界面如下所示,其窗體為frmView。

27、在該窗體下,學(xué)生只許可查看自己的信息,而且不能進(jìn)行修改2.6.3 系統(tǒng)的維護(hù)、安全設(shè)計(jì)與SQL server 2000的具體連接如下圖所示:第三章 總結(jié)經(jīng)過這些天的設(shè)計(jì)和開發(fā),學(xué)生學(xué)籍管理系統(tǒng)基本開發(fā)完畢。本系統(tǒng)基本能夠完成學(xué)生學(xué)籍信息和學(xué)生的成績(jī)的查詢、插入、刪除、修改等。這次的課程設(shè)計(jì)是分組討論和制作的。在制作的過程中,我學(xué)到的不僅是知識(shí),我還認(rèn)識(shí)到許多事情。這次設(shè)計(jì)對(duì)我們的綜合能力是一次很好的鍛煉,使我的編程水平提高了一大步,同時(shí)也使我充分的認(rèn)識(shí)到合作的可貴。在我們所制作的學(xué)生學(xué)籍管理系統(tǒng)中,涉及到數(shù)據(jù)庫、VB等,前臺(tái)是用VB制作的,其中包括主界面和一些按扭等,后臺(tái)用到的是我們所學(xué)的數(shù)據(jù)

28、庫的知識(shí),建立了基本表和視圖、角色等,權(quán)限在前臺(tái)已經(jīng)制作,故在后臺(tái)不在重復(fù)。在后臺(tái)中我們還簡(jiǎn)單的制作了數(shù)據(jù)庫的備份與還原,用來防止數(shù)據(jù)庫遭到破壞,可即時(shí)修改。最后按照謝老師的要求編寫成文檔,從中也對(duì)WORD的運(yùn)用提高了一步。但是該系統(tǒng)還有許多不盡如人意的地方,比如用戶界面與SQL語言的連接上并不是很完善,這是因?yàn)槲覀儗?duì)VB不是很了解。還有就是由于我們對(duì)數(shù)據(jù)庫知識(shí)的掌握有限和不牢固,角色和視圖的創(chuàng)建沒有想象中的完美,備份和還原也只是初步的形成,以致學(xué)生學(xué)籍管理系統(tǒng)只是達(dá)到了基本要求,有待進(jìn)一步改善,希望老師給予批評(píng)。最后,在這里我要衷心的感謝我們的指導(dǎo)老師謝曉云,謝老師嚴(yán)謹(jǐn)?shù)闹笇?dǎo)態(tài)度與深厚的理論

29、知識(shí)都讓我受益非淺,從他身上我學(xué)到了很多的東西,無論是理論還是實(shí)踐都使我的知識(shí)有很大的提高我們才能在短時(shí)間內(nèi)順利的完成這次課程設(shè)計(jì)。由于我們水平有限,因此在我們所設(shè)計(jì)的學(xué)籍管理系統(tǒng)中還有許多不足之處,請(qǐng)老師批評(píng)指正,我會(huì)在以后的制作中不斷改進(jìn),不斷完善。主要參考文獻(xiàn)1數(shù)據(jù)庫系統(tǒng)概論 作者:王珊 薩師煊 第四版 高等教育出版社 2006年2 Visual Basic6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航 作者: 劉韜、駱娟、何旭洪3數(shù)據(jù)庫原理及應(yīng)用實(shí)驗(yàn)指導(dǎo) 作者:錢雪忠 陶向東 北京郵電大學(xué)出版社 2005 附錄一1用SQL語言分別建立院系表、專業(yè)表、教師表、班級(jí)表、學(xué)生、課程和選課表、講授表。代碼如下:

30、院系表CREATE Table 院系表(系編號(hào) varchar(50) not null primary key(系編號(hào)),系名 varchar(50),主任工號(hào) varchar(50),電話 varchar(50)INSERT INTO 院系表 VALUES('05','信息工程系','1','07978');專業(yè)表CREATE Table 專業(yè)表(專業(yè)號(hào) varchar(50) not null primary key(系編號(hào)),專業(yè)名 varchar(50),系編號(hào) varchar(50),foreign key(系編號(hào))r

31、eferences 院系表(系編號(hào))教師表CREATE Table 教師表(教師號(hào) varchar(50) not null primary key(教師號(hào)),姓名 varchar(50),性別 varchar(50),系編號(hào) varchar(50),foreign key(系編號(hào))references 院系表(系編號(hào))班級(jí)表CREATE Table 班級(jí)表(班號(hào) varchar(50)not null primary key(班號(hào)),班名 varchar(50),人數(shù) varchar(50),專業(yè)號(hào) varchar(50),教師號(hào) varchar(50),)學(xué)生表CREATE Table 學(xué)

32、生表(學(xué)號(hào) varchar(50) not null primary key(學(xué)號(hào)),姓名 varchar(50) not null,性別 varchar(50),出生年月 varchar(50),籍貫 varchar(50),民族 varchar(50),政治面貌 varchar(50),院系 varchar(50),專業(yè)班級(jí) varchar(50),電話 varchar(50)INSERT INTO 學(xué)生表 VALUES('','趙曉霞','女','1985','河北省','漢族','預(yù)

33、備黨員', '信息工程系','計(jì)算機(jī)051','0797');INSERT INTO 學(xué)生表 VALUES('','張熙磊','男','1985','河北省','蒙古族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','');INSERT INTO 學(xué)生表 VALUES('','惠城旗','男','1986','

34、;江蘇省','漢族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','');INSERT INTO 學(xué)生表 VALUES('','劉方山','男','1986','江西省','漢族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','0797');INSERT INTO 學(xué)生表 VALUES('','徐 冰','

35、男','1987','江西省','漢族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','0797');INSERT INTO 學(xué)生表 VALUES('','韓信元','男','1987','海南省','漢族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','0797');INSERT INTO 學(xué)生表 VALUES(

36、'','張 三','男','1987','海南省','漢族','團(tuán)員', '信息工程系','計(jì)算機(jī)051','0797');課程表CREATE Table 課程表(課號(hào) varchar(50) not null primary key(課號(hào)),課名 varchar(50),類別 varchar(50),學(xué)時(shí) varchar(50) not null,開課院系 varchar(50),任課老師 varchar(50),學(xué)分 float(8

37、)INSERT INTO 課程表 VALUES(' 1','計(jì)算機(jī)導(dǎo)論','理工','72','信息工程系','曹老師','4');INSERT INTO課程表 VALUES(' 2','C語言 ','理工','72','信息工程系','徐老師','4.5');INSERT INTO課程表 VALUES(' 3','C+ ','理工&

38、#39;,'72','信息工程系','陳老師','4');INSERT INTO 課程表 VALUES(' 4','數(shù)據(jù)結(jié)構(gòu) ','理工','72','信息工程系','吳老師','5');INSERT INTO 課程表 VALUES(' 5','數(shù)據(jù)庫 ','理工','72','信息工程系','曾老師','4.5

39、9;);INSERT INTO 課程表 VALUES(' 6','計(jì)算機(jī)網(wǎng)絡(luò)','理工','72','信息工程系','陳老師','4');INSERT INTO 課程表 VALUES(' 7','中國(guó)近代史','理工','72','人文科學(xué)系','黃老師','4');選課表CREATE Table 選課表(學(xué)號(hào) varchar(50) not null , 課號(hào) varch

40、ar(50) not null,成績(jī) float(8),primary key(學(xué)號(hào),課號(hào))insert into 選課表 values('','5','92'); insert into 選課表 values('','1','80'); insert into 選課表 values('','2','80'); insert into 選課表 values('','7','85'); insert int

41、o 選課表 values('','5','83'); insert into 選課表 values('','6','90'); insert into 選課表 values('','3','76');講授表CREATE Table 講授表(教師號(hào) varchar(50)not null,課號(hào) varchar(50)not null,效果 varchar(50),primary key(教師號(hào),課號(hào))2建立索引的代碼create unique index

42、 院系_系編號(hào) on 院系表(系編號(hào))create unique index 專業(yè)_專業(yè)號(hào) on 專業(yè)表(專業(yè)號(hào))create unique index 班級(jí)_班號(hào) on 班級(jí)表(班號(hào))create unique index 教師_教師號(hào) on 教師表(教師號(hào))create unique index 學(xué)生_學(xué)號(hào) on 學(xué)生表(學(xué)號(hào))create unique index 課程_課號(hào) on 課程表(課號(hào))3視圖1)學(xué)生_成績(jī)視圖的代碼create view 學(xué)生_成績(jī)asselect 學(xué)生表.學(xué)號(hào),姓名,課號(hào),成績(jī) from 選課表,學(xué)生表where 學(xué)生表.學(xué)號(hào) =選課表.學(xué)號(hào)2)教師_信息_

43、成績(jī)視圖的代碼create view 教師_信息_成績(jī)asselect 專業(yè)表.專業(yè)號(hào),班級(jí)表.班號(hào),學(xué)生表.學(xué)號(hào),課程表.課號(hào),教師表.教師號(hào) from 專業(yè)表,班級(jí)表,學(xué)生表,課程表,教師表,選課表,講授表附錄二用VB建立的界面代碼1:窗體frmLogin的的代碼如下:Option Explicit'表示當(dāng)前用戶登錄所選擇的身份,即用戶類型, 0-表示教務(wù)管理人員;1-表示學(xué)生Dim mnUserType As IntegerPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdOK_Click() '取得

44、用戶輸入的用戶名和密碼 Dim user As String, pwd As String user = txtUser pwd = txtPwd '根據(jù)不同的身份,選擇不同的表用以查詢 Dim r As New ADODB.Recordset Set r = DataEnv.rssqlSeek Dim strSQL As String Select Case mnUserType Case 0: '若身份為管理員 strSQL = "select * from admin where name='" & user & "&

45、#39; and pwd='" & pwd & "'" Case 1: '若身份為學(xué)生 strSQL = "select * from student where name='" & user & "' and serial='" & pwd & "'" End Select On Error Resume Next '查詢DataEnv.rssqlSeek的狀態(tài),如果已經(jīng)打開,則先關(guān)閉 If

46、r.State = adStateOpen Then r.Close r.Open strSQL '根據(jù)strSQL的內(nèi)容刷新DataEnv.rssqlSeek '用戶密碼錯(cuò)誤的次數(shù),如果錯(cuò)誤次數(shù)超過3次,則退出系統(tǒng) Static nTryCount As Integer If r.EOF Then '登錄失敗 MsgBox "對(duì)不起,無此用戶或者密碼不正確!請(qǐng)重新輸入!", vbCritical, "錯(cuò)誤" txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelLength = Len

47、(txtUser) nTryCount = nTryCount + 1 If nTryCount >= 3 Then MsgBox "您無權(quán)操作本系統(tǒng)!再見!", vbCritical, "無權(quán)限" Unload Me End If Else '登陸成功 '顯示MDI窗體, 并將用戶類型和用戶名傳到MDI窗體中的mnUserType, msUserName中 Load MDIMain With MDIMain .mnUserType = mnUserType .msUserName = pwd .Show End With Unlo

48、ad Me End IfEnd Sub2:窗體“frmStudent”的學(xué)生信息管理系統(tǒng)的的代碼如下:添加的代碼:Private Sub cmdAdd_Click() '添加記錄 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.Enabled = False DataEnv.rsStudent.AddNew txtBirthday.Text = "1987-01-01" fraInfo.Enabled = True fraBrowse.Enabled = False cmdAdd.Enabled =

49、 False cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.Caption = "取消" cmdReport.Enabled = True mbClose = False '不能關(guān)閉窗口End Sub刪除的代碼:Private Sub cmdDelete_Click() '如果出錯(cuò),則顯示錯(cuò)誤代碼 On Error GoTo errHandler If MsgBox("要?jiǎng)h除記錄?", vbYesNo + vbQue

50、stion + vbDefaultButton2, "確認(rèn)") = vbYes Then '通過在DataEnv.Con中執(zhí)行SQL命令,來刪除記錄 DataEnv.Con.Execute "delete from student where serial ='" & txtSerial & "'" DataEnv.rsStudent.MoveNext If DataEnv.rsStudent.EOF Then DataEnv.rsStudent.MoveLast '刷新用戶導(dǎo)航的網(wǎng)格控

51、件 Call RefreshGrid End If Exit Sub errHandler: MsgBox Err.Description, vbCritical, "錯(cuò)誤"End Sub編輯的代碼:Private Sub cmdEdit_Click() '編輯記錄之前,需要設(shè)置其他控件的Enabled屬性 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.Enabled = False fraInfo.Enabled = True cmdAdd.Enabled = False cmdEdit.Ena

52、bled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.Caption = "取消" ''更改cmdReport標(biāo)題 cmdReport.Enabled = True mbClose = False '出于編輯狀態(tài),則用戶不能關(guān)閉窗口End Sub更新的代碼:Private Sub cmdUpdate_Click() '更新所添加或者修改的記錄 On Error GoTo errHandler: Dim str As String str = txtSerial.Text With DataEnv.rsStudent .Fields("Serial") = txtSerial.Text .Fields("name") = txtName.Text .Fields("sex") = cboSex.Text .Fields("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論