數(shù)據(jù)庫(kù)課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計(jì)報(bào)告
《數(shù)據(jù)庫(kù)課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計(jì)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)課設(shè)《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計(jì)報(bào)告(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 《學(xué)生學(xué)籍管理系統(tǒng)》設(shè)計(jì)報(bào)告 學(xué) 院:信息科學(xué)與工程 班 級(jí): 自動(dòng)化0906 學(xué) 號(hào): 姓 名:catonlion 摘要 隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長(zhǎng)。面對(duì)龐大的信息量需要有學(xué)生管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率。通過(guò)這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。 本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常
2、管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng);本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢、修改 、增加、刪除,另外還考慮到學(xué)生用后意見(jiàn),針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)。 本系統(tǒng)主要包括學(xué)生信息查詢、教務(wù)信息維護(hù)和學(xué)生留言三部分。其功能主要有: 1、有關(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級(jí)、所學(xué)課程和成績(jī)等。 2、學(xué)生信息的查詢,包括查詢學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績(jī)等。 3、學(xué)生信息的修改。 4、學(xué)生修改密碼。 5、學(xué)
3、生對(duì)于系統(tǒng)的用后建議,留言板功能。 學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng) (MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過(guò)分析,使用MICROSOFT公司的Microsoft Visual Studio 2005開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。 關(guān)鍵字:控件、web、
4、類(lèi)、數(shù)據(jù)庫(kù)、VS2005、sql2005。 第一章緒論 4 數(shù)據(jù)庫(kù)技術(shù)的國(guó)內(nèi)外發(fā)展與應(yīng)用現(xiàn)狀 4 、學(xué)生學(xué)籍?dāng)?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的意義 5 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)方法概述 5 、小結(jié) 5 第二章系統(tǒng)需求分析 6 2.1 概述 6 2.2 系統(tǒng)功能需求與數(shù)據(jù)需求 7 1.2.1 數(shù)據(jù)流圖 7 1.2.2 系統(tǒng)功能需求 7 1.2.3 系統(tǒng)數(shù)據(jù)需求(數(shù)據(jù)字典) 8 2.3 小結(jié) 9 第三章 系統(tǒng)設(shè)計(jì) 10 3.1 概念設(shè)計(jì)(E-R圖) 10 3.1.1 設(shè)計(jì)方法及關(guān)鍵技術(shù) 10 3.1.2 系統(tǒng)的E-R圖 10 3.2 邏輯設(shè)計(jì)(E-R圖) 10 3.2.1 設(shè)
5、計(jì)方法及關(guān)鍵技術(shù) 11 3.2.2 系統(tǒng)的邏輯模型 11 系統(tǒng)的完整性與安全性設(shè)計(jì) 12 3.3 物理設(shè)計(jì) 12 3.4 系統(tǒng)功能設(shè)計(jì)(E-R圖) 13 3.5 系統(tǒng)開(kāi)發(fā)平臺(tái)選擇 14 小結(jié) 14 第四章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)現(xiàn) 15 4.1 數(shù)據(jù)庫(kù)的定義 15 4.1.1 數(shù)據(jù)庫(kù)的定義 15 4.2 應(yīng)用系統(tǒng)的開(kāi)發(fā) 18 小結(jié) 33 第五章 結(jié)束語(yǔ) 34 第一章緒論 隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)在Internet中的應(yīng)用越來(lái)越廣泛,數(shù)據(jù)庫(kù)在網(wǎng)站的建設(shè)中已經(jīng)成為必不可少的重要內(nèi)容??梢哉f(shuō)數(shù)據(jù)庫(kù)技術(shù)已經(jīng)成為網(wǎng)絡(luò)的核心技術(shù) 數(shù)據(jù)庫(kù)的發(fā)展概況
6、第一代數(shù)據(jù)庫(kù)系統(tǒng)。 ? 支持層次和網(wǎng)狀這兩種格式化數(shù)據(jù)模型的數(shù)據(jù)庫(kù)系統(tǒng),為第一代數(shù)據(jù)庫(kù)系統(tǒng) 。層次數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)系統(tǒng)的先驅(qū),而網(wǎng)狀數(shù)據(jù)庫(kù)則是數(shù)據(jù)庫(kù)概念、方法、技術(shù)的奠基。它們是數(shù)據(jù)庫(kù)技術(shù)中研究得最早的兩種數(shù)據(jù)庫(kù) 。 支持關(guān)系數(shù)據(jù)模型的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是第二代數(shù)據(jù)庫(kù)系統(tǒng)。 ? 20世紀(jì)80年代以來(lái),幾乎所有新開(kāi)發(fā)的系統(tǒng)均是關(guān)系型數(shù)據(jù)庫(kù)。這些商用數(shù)據(jù)庫(kù)技術(shù)的使用,特別是微機(jī)數(shù)據(jù)庫(kù)系統(tǒng)的使用,使數(shù)據(jù)庫(kù)技術(shù)日益廣泛地應(yīng)用到企業(yè)管理、辦公自動(dòng)化、情報(bào)檢索、輔助決策等各個(gè)方面,成為實(shí)現(xiàn)和優(yōu)化信息系統(tǒng)的基本技木。 ? 關(guān)系模型建立在嚴(yán)格數(shù)學(xué)概念的基礎(chǔ)上,概念簡(jiǎn)單、清晰,易于用戶理解和使用,大大簡(jiǎn)
7、化了用戶的工作。正因?yàn)槿绱耍P(guān)系模型提出以后,便迅速發(fā)展,并在實(shí)際的商用數(shù)據(jù)庫(kù)產(chǎn)品中得到了廣泛應(yīng)用,成為深受廣大用戶歡迎的數(shù)據(jù)模型。 關(guān)系數(shù)據(jù)庫(kù)的發(fā)展 ? 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)及其產(chǎn)品從70年代至今,已成功地走過(guò)了三個(gè)階段,它對(duì)關(guān)系模型的支持越來(lái)越完善,運(yùn)行環(huán)境已從單機(jī)擴(kuò)展到網(wǎng)絡(luò),對(duì)數(shù)據(jù)的收集、存儲(chǔ)、處理和傳播也由集中式走向分布式,從封閉式走向開(kāi)放式。目前關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)不僅提供了數(shù)據(jù)定義、數(shù)據(jù)存取、數(shù)據(jù)控制等基本操作和數(shù)據(jù)存儲(chǔ)組織、并發(fā)控制、安全性完整性檢查、系統(tǒng)恢復(fù)、數(shù)據(jù)庫(kù)的重組織和重構(gòu)造等基本功能,還開(kāi)發(fā)了外圍軟件系統(tǒng),為用戶提供了一個(gè)良好的應(yīng)用開(kāi)發(fā)環(huán)境。 1.2、學(xué)生學(xué)籍
8、管理數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的意義 學(xué)生學(xué)籍管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡(jiǎn)單易用的學(xué)生學(xué)籍管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著來(lái)越重要的
9、作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)校的各類(lèi)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條 根據(jù)軟件工程中軟件生命周期的思想,可將數(shù)據(jù)庫(kù)設(shè)計(jì)分為五個(gè)基本步驟,其基本思想是過(guò)程迭代和逐步求精。 1.需求分析: 設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),首先必須準(zhǔn)確、全面和深入地了解和分析用戶需求,包括數(shù)據(jù)需求和處理需求。 2.概念設(shè)計(jì) 在需求分析基礎(chǔ)上,用概念數(shù)據(jù)模型(如E-R模型),表示數(shù)據(jù)及其相互間的聯(lián)系,形成數(shù)據(jù)
10、庫(kù)概念結(jié)構(gòu)(如E-R圖)。概念結(jié)構(gòu)(模式)與具體DBMS無(wú)關(guān),是對(duì)現(xiàn)實(shí)世界的可視化描述,容易被用戶所理解,因而不但可用于后續(xù)的設(shè)計(jì),也是與用戶交流和數(shù)據(jù)庫(kù)移植的重要文檔。 3.邏輯設(shè)計(jì) 這一步是將數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)換為DBMS所支持的數(shù)據(jù)庫(kù)邏輯模式,例如,將E-R圖轉(zhuǎn)換為關(guān)系模型所支持的關(guān)系數(shù)據(jù)庫(kù)模式。邏輯設(shè)計(jì)也不僅僅是個(gè)數(shù)據(jù)模式的轉(zhuǎn)換問(wèn)題,還要進(jìn)一步考慮數(shù)據(jù)模式的規(guī)范化、滿足DBMS的各種限制等。 4.物理設(shè)計(jì) 這一步的任務(wù)是:根據(jù)DBMS及計(jì)算機(jī)系統(tǒng)所提供的手段,為數(shù)據(jù)庫(kù)邏輯模式選取一個(gè)最適合應(yīng)用環(huán)境的物理模式(包括存儲(chǔ)結(jié)構(gòu)和存取方法等)。 5.?dāng)?shù)據(jù)庫(kù)實(shí)施 這一步就是在實(shí)際的計(jì)算
11、機(jī)平臺(tái)上,真正建立數(shù)據(jù)庫(kù)。先運(yùn)行用DDL編寫(xiě)的命令,建立數(shù)據(jù)庫(kù)框架;然后通過(guò)DBMS的實(shí)用工具或?qū)iT(mén)編寫(xiě)的應(yīng)用程序,將數(shù)據(jù)實(shí)際載入,最終建成數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)投入實(shí)用之前,要進(jìn)行測(cè)試和試運(yùn)行。除單獨(dú)測(cè)試之外,還要與數(shù)據(jù)庫(kù)應(yīng)用程序結(jié)合起來(lái)進(jìn)行測(cè)試。 1.4、小結(jié) 當(dāng)今時(shí)代,數(shù)據(jù)庫(kù)是開(kāi)發(fā)應(yīng)用程序所必須的,學(xué)好數(shù)據(jù)庫(kù)很有用。 第二章系統(tǒng)需求分析 2.1 概述 學(xué)生學(xué)籍管理系統(tǒng)是一個(gè)教育單位不可缺少的部分。一個(gè)功能齊全、簡(jiǎn)單易用的學(xué)籍管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂?/p>
12、捷的查詢手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著來(lái)越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)校的各類(lèi)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界
13、接軌的重要條件。 本系統(tǒng)的最終用戶為管理員和學(xué)生,根據(jù)我們?nèi)粘I钪械慕?jīng)歷,結(jié)合學(xué)校管理員對(duì)學(xué)籍管理的需求,得到以下結(jié)果 2.2 系統(tǒng)功能需求與數(shù)據(jù)需求 2.2.1 數(shù)據(jù)流圖 2.2.2 系統(tǒng)功能需求 本系統(tǒng)的主要任務(wù)是實(shí)現(xiàn)對(duì)學(xué)校教導(dǎo)處的學(xué)生信息管理、成績(jī)管理、課程管理及相關(guān)查詢。其主要功能包括: 針對(duì)不同的用戶,管理系統(tǒng)主要有以下功能: 一. 對(duì)學(xué)生: 1. 登陸系統(tǒng)查看自己個(gè)人信息; 2.訪問(wèn)留言板,享用留言; 3. 修改密碼; 二.對(duì)管理員: 1.添加新的學(xué)生信息,以班級(jí)為單位,進(jìn)行學(xué)生入庫(kù); 2. 輸入條件查詢數(shù)據(jù)庫(kù)內(nèi)符合條件的學(xué)生名單,根據(jù)用戶的要求,查
14、詢學(xué)生數(shù)據(jù)庫(kù)的所有可能的信息; 3. 對(duì)于選定的的學(xué)生信息進(jìn)行刪除或編輯操作,當(dāng)學(xué)生畢業(yè)后,學(xué)生信息轉(zhuǎn)移備份數(shù)據(jù)庫(kù)中,系統(tǒng)的基本數(shù)據(jù)庫(kù)中需要?jiǎng)h除學(xué)生信息。 系統(tǒng)功能模塊圖: 2.2.3 系統(tǒng)數(shù)據(jù)需求(數(shù)據(jù)字典) 數(shù)據(jù)庫(kù)名:StudentRecord 學(xué)生表SR_Student 序號(hào) 列名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 默認(rèn)值 字段說(shuō)明 1 SID nvarchar 100 √ 學(xué)生學(xué)號(hào) 2 SName nvarchar 100 學(xué)生姓名 3 PSW nvarchar 100 ((0
15、)) 密碼 4 XueyuanName nvarchar 100 所在學(xué)院 5 Class nvarchar 100 所在班級(jí) 6 Sex nchar 20 性別 7 Home nvarchar 100 √ 籍貫 8 PhoneNumber nvarchar 100 √ 號(hào)碼 9 Email nvarchar 100 √ 電子郵箱 留言表 SR_Message 序號(hào) 列名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 默認(rèn)值 字
16、段說(shuō)明 1 id int 4 √ √ 留言ID 2 UName varchar 50 留言者名 3 Title nvarchar MAX 留言內(nèi)容 4 Time varchar MAX 留言時(shí)間 班級(jí)表SR_Class 序號(hào) 列名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 默認(rèn)值 字段說(shuō)明 1 CID int 4 √ √ 班級(jí)ID 2 ClassName nvarchar 100 班級(jí)名稱 3 XueYuanID int
17、 4 所在學(xué)院id 管理員表SR_Admin 序號(hào) 列名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 默認(rèn)值 字段說(shuō)明 1 AID int 4 √ √ id 2 AName varchar 50 管理員名稱 3 APSW varchar 50 密碼 專業(yè)表SR_Xueyuan 序號(hào) 列名 數(shù)據(jù)類(lèi)型 長(zhǎng)度 標(biāo)識(shí) 主鍵 允許空 默認(rèn)值 字段說(shuō)明 1 XYID int 4 √ √ 學(xué)院id 2 XYName nvarchar 100
18、 學(xué)院名稱 2.3 小結(jié) 第三章 系統(tǒng)設(shè)計(jì) 3.1 概念設(shè)計(jì)(E-R圖) 3.1.1 設(shè)計(jì)方法及關(guān)鍵技術(shù) 根據(jù)對(duì)數(shù)據(jù)需求的分析,得到以下實(shí)體: 1. 用戶實(shí)體 其屬性有:用戶編號(hào),用戶名,密碼。 用戶 用戶編號(hào) 用戶名 密碼 2.權(quán)限實(shí)體 其屬性有:權(quán)限編號(hào),權(quán)限名稱,備注。權(quán)限實(shí)體 權(quán)限 權(quán)限編號(hào) 備注 權(quán)限名稱 其屬性有:學(xué)生學(xué)號(hào),學(xué)生姓名,所在學(xué)院,所在班級(jí),性別,籍貫, 號(hào)碼,電子郵箱 其屬性有:院系編號(hào),院系名稱
19、。 院系 院系編號(hào) 院系名稱 其屬性有:班級(jí)編號(hào),班級(jí)名稱。 班級(jí) 班級(jí)編號(hào) 班級(jí)名稱 6.留言實(shí)體 其屬性有:留言編號(hào),留言者,留言內(nèi)容,留言時(shí)間。 留言 留言者 內(nèi)容 時(shí)間 留言編號(hào)號(hào) 各實(shí)體之間的聯(lián)系有: 1.學(xué)生檔案和院系、班級(jí)之間存在屬于的聯(lián)系:一個(gè)院系、班級(jí)可以有多個(gè)學(xué)生,一個(gè)學(xué)生只能屬于一個(gè)院系、班級(jí); 2.用戶和權(quán)限存在權(quán)限設(shè)置的聯(lián)系:一個(gè)用戶可以有多個(gè)權(quán)限,而一個(gè)權(quán)限也可分配給多個(gè)用戶。 3.留言內(nèi)容和學(xué)生之間存在屬于的聯(lián)系,一個(gè)留言者可以有多條留言,一條留言只能有一個(gè)留言者。 3.1
20、.2 系統(tǒng)的E-R圖 3.2 邏輯設(shè)計(jì)(E-R圖) 3.2.1 設(shè)計(jì)方法及關(guān)鍵技術(shù) 在概念設(shè)計(jì)的基礎(chǔ)上,根據(jù)設(shè)計(jì)得到系統(tǒng)總的E-R圖,按照概念模式與關(guān)系表轉(zhuǎn)化的一般規(guī)則,結(jié)合實(shí)際的需要進(jìn)行邏輯設(shè)計(jì),按照E—R圖中的實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。 3.2.2 系統(tǒng)的邏輯模型 實(shí)體所對(duì)應(yīng)的關(guān)系模式 學(xué)生表(學(xué)生學(xué)號(hào),學(xué)生姓名,所在學(xué)院,所在班級(jí),性別,籍貫, 號(hào)碼,電子郵箱) 學(xué)院(院系編號(hào),院系名稱) 班級(jí)(班級(jí)編號(hào),院系編號(hào),班級(jí)名稱) 留言表(留言編號(hào),留言者,留言內(nèi)容,留言時(shí)間) 管理員表(管理員編號(hào),管理員姓名,管理員密碼
21、 優(yōu)化后的數(shù)據(jù)模型 學(xué)生表(學(xué)生學(xué)號(hào),學(xué)生姓名,所在學(xué)院,所在班級(jí),性別,籍貫, 號(hào)碼,電子郵箱) 3NF 學(xué)院(院系編號(hào),院系名稱) 3NF 班級(jí)(班級(jí)編號(hào),院系編號(hào),班級(jí)名稱) 3NF 留言表(留言編號(hào),留言者,留言內(nèi)容,留言時(shí)間) 3NF 管理員表(管理員編號(hào),管理員姓名,管理員密碼) 3NF 最后的ER圖: 包括主外鍵,參照完整性、用戶自定義完整性(約束、默認(rèn)值與規(guī)則),安全性,請(qǐng)參見(jiàn)數(shù)據(jù)字典 3.3 物理設(shè)計(jì) 學(xué)生學(xué)籍管理系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存儲(chǔ)路徑,才能滿足多用戶的多種應(yīng)用要求。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,可供選用的存儲(chǔ)方法
22、主要有三種:B+樹(shù)索引方法、聚簇方法、HASH方法。其中,B+數(shù)索引方法發(fā)展較為完善,也是目前大型數(shù)據(jù)庫(kù)使用的經(jīng)典存取方法,使用最為普遍,并且符合本系統(tǒng)的要求,因此,我們采用B+樹(shù)索引方法作為系統(tǒng)的存取方法 所謂選擇索引存取方法實(shí)際上就是根據(jù)應(yīng)用要求確定對(duì)關(guān)系的哪些屬性列立索引、哪些屬性列建立組合索引、哪些索引要設(shè)計(jì)為唯一索引等。根據(jù)本信息系統(tǒng)的具體情況,建立索引的依據(jù)如下: 一個(gè)屬性經(jīng)常在查詢條件下出現(xiàn)。 一個(gè)屬性經(jīng)常作為最大值或最小值等聚集函數(shù)的參數(shù)。 一個(gè)屬性經(jīng)常在連接操作的連接條件出現(xiàn)。 屬性名 對(duì)應(yīng)實(shí)體 屬性名 對(duì)應(yīng)實(shí)體 學(xué)生號(hào) 學(xué)生信息 學(xué)生姓名 學(xué)
23、生信息 院系號(hào) 院系信息 院系名稱 院系信息 班級(jí)號(hào) 班級(jí)信息 班級(jí)名 班級(jí)信息 由于開(kāi)發(fā)者的習(xí)慣、、和開(kāi)發(fā)者磁盤(pán)的容量,決定將數(shù)據(jù)庫(kù)存放于C盤(pán),應(yīng)用程序存放放在E盤(pán) 3.4 系統(tǒng)功能設(shè)計(jì)(E-R圖) 3.5 系統(tǒng)開(kāi)發(fā)平臺(tái)選擇 微軟公司的visual studio 2005與sql2005配合開(kāi)發(fā)。 ER圖真難畫(huà),真難畫(huà),真難畫(huà),真難畫(huà)?。?! 第四章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)現(xiàn) 4.1 數(shù)據(jù)庫(kù)的定義 4.1.1 數(shù)據(jù)庫(kù)的定義 本系統(tǒng)采用sql server數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)StudentRecord,并在數(shù)據(jù)庫(kù)StudentRecord中使
24、用數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)如下: 1、創(chuàng)建管理員表 CREATE TABLE [dbo].[SR_Admin]( [AID] [int] IDENTITY(1,1) NOT NULL, [AName] [varchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [APSW] [varchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Admin] PRIMARY KEY CLUSTERED ( [AID] ASC )WITH (IGNORE_DUP_KEY
25、 = OFF) ON [PRIMARY] ) ON [PRIMARY] 2、創(chuàng)建學(xué)生表 CREATE TABLE [dbo].[SR_Student]( [SID] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [SName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [PSW] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL CONSTRAINT [DF_SR_Student_PSW] DEFAULT ((
26、0)), [XueyuanName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [Class] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [Sex] [nchar](10) COLLATE Chinese_PRC_CS_AS NOT NULL, [Home] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NULL, [PhoneNumber] [nvarchar](50) COLLATE Chinese_PRC_CS_A
27、S NULL, [Email] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NULL, CONSTRAINT [PK_SR_Student] PRIMARY KEY CLUSTERED ( [SID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO USE [StudentRecord] GO ALTER TABLE [dbo].[SR_Student] WITH CHECK ADD CONSTRAINT [CK_SR_Student] CH
28、ECK (([Sex]='女' OR [Sex]='男')) 3、創(chuàng)建學(xué)院表 CREATE TABLE [dbo].[SR_Xueyuan]( [XYID] [int] IDENTITY(1,1) NOT NULL, [XYName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Xueyuan] PRIMARY KEY CLUSTERED ( [XYID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMAR
29、Y] 4、創(chuàng)建班級(jí)表 CREATE TABLE [dbo].[SR_Class]( [CID] [int] IDENTITY(1,1) NOT NULL, [ClassName] [nvarchar](50) COLLATE Chinese_PRC_CS_AS NOT NULL, [XueYuanID] [int] NOT NULL, CONSTRAINT [PK_SR_Class_1] PRIMARY KEY CLUSTERED ( [CID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMAR
30、Y] GO USE [StudentRecord] GO ALTER TABLE [dbo].[SR_Class] WITH CHECK ADD CONSTRAINT [FK_SR_Class_SR_Xueyuan] FOREIGN KEY([XueYuanID]) REFERENCES [dbo].[SR_Xueyuan] ([XYID]) 5、創(chuàng)建留言表 CREATE TABLE [dbo].[SR_Message]( [id] [int] IDENTITY(1,1) NOT NULL, [UName] [nvarchar](50) COLLATE Chinese
31、_PRC_CS_AS NOT NULL, [Title] [nvarchar](max) COLLATE Chinese_PRC_CS_AS NOT NULL, [Time] [varchar](max) COLLATE Chinese_PRC_CS_AS NOT NULL, CONSTRAINT [PK_SR_Message] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 表視圖
32、 4.2 應(yīng)用系統(tǒng)的開(kāi)發(fā) 主要功能模塊對(duì)應(yīng)的主要界面,完成的主要功能及主要應(yīng)用程序 在本系統(tǒng)中會(huì)多次用到對(duì)象,因此封裝一個(gè)sqlclass.cs類(lèi),減少代碼的冗余。 public class sqlClass { public sqlClass() { } private static SqlConnection con = new SqlConnection("server=.;database=StudentRecord;Integrated Security =true");
33、 private static SqlCommand cmd = new SqlCommand(); private SqlDataReader sdr = null; public SqlConnection linkToSql() //建立與數(shù)據(jù)庫(kù)的鏈接 { if (con.State == ConnectionState.Closed) { con.Open(); } return con; } public void sqlClose() //關(guān)閉鏈接 {
34、 if (con.State == ConnectionState.Open) { con.Close(); } } public int comd(string cmdstr) //傳入sql語(yǔ)句,執(zhí)行sql命令 { int i = 0; cmd mandText = cmdstr; cmd.Connection = con; i = cmd.ExecuteNonQuery(); return i; } public
35、SqlDataReader sdar(string comdstring) //傳入sql語(yǔ)句,將命令結(jié)果以SqlDataReader形式返回 { cmd.Connection = linkToSql(); cmd mandText = comdstring; sdr = cmd.ExecuteReader(); return sdr; } public void sdaClose() //關(guān)閉SqlDataReader { if (sdr.IsClosed ==
36、false) { sdr.Close(); } } public DataSet ds(string cmdstr,string tableName) //傳入sql語(yǔ)句,表名,以dataset形式返回結(jié)果 { SqlDataAdapter sda = new SqlDataAdapter(cmdstr,con); DataSet nds = new DataSet(); sda.Fill(nds,tableName); return nds; } }
37、} 1、登陸界面 選擇不同的身份登陸,輸入框有驗(yàn)空的功能,有輸入驗(yàn)證碼的功能 具體實(shí)現(xiàn)如下 在提交按鈕的click事件下: //獲取輸入框的文字 string uname = txtName.Value; string cpwd = txtPwd.Value; if (Session["VNum"].ToString().Trim().ToLower().Equals(txtyzm.Value.ToLower())) // 檢驗(yàn)驗(yàn)證碼是否正確 { if (ddlCountr
38、ies.Text.Equals("學(xué)生")) //判斷用戶身份,根據(jù)身份檢驗(yàn)ID 與密碼 { sqlClass sc = new sqlClass(); //實(shí)例化 sqlclass SqlDataReader sda = sc.sdar("select PSW from SR_Student where SID='" + uname + "'"); //以sqldatareader形式返回查詢結(jié)果 if (sda.Read())
39、 { if (sda["PSW"].ToString() == cpwd) //檢驗(yàn)密碼 { sc.sdaClose(); sc.sqlClose(); Session["sid"] = uname; Response.Redirect("Studentdetail.aspx");
40、 } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } } else {
41、 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); } sc.sdaClose(); sc.sqlClose(); } else { string aname = txtName.Value;
42、 string apwd = txtPwd.Value; sqlClass sc = new sqlClass(); SqlDataReader sdr = sc.sdar("select APSW from SR_Admin where AName='" + uname + "'"); if (sdr.Read()) { if (cpwd == sdr["APSW"].ToStrin
43、g()) { sc.sdaClose(); sc.sqlClose(); Response.Redirect("Record_Add.aspx"); } else { Page.ClientScript.RegisterClient
44、ScriptBlock(this.GetType(), "clientScript", "") ; } } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); } 2、學(xué)生信息界面 查看自己的信息
46、,修改用戶體驗(yàn)界面,修改登陸密碼 頁(yè)面加載時(shí) protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) //接收l(shuí)ogin界面?zhèn)鱽?lái)的id參數(shù),查詢?cè)搃d對(duì)應(yīng)的信息,并顯示在頁(yè)面上 { string sid = Session["sid"].ToString(); sqlClass sc = new sqlClass(); sc.linkToSql(); SqlDataReader sda =
47、 sc.sdar("select * from SR_Student where SID='" + sid + "'"); sda.Read(); Label1.Text = sda["SID"].ToString(); Label2.Text = sda["SName"].ToString(); Label3.Text = sda["XueyuanName"].ToString(); Label4.Text = sda["Class"].ToString(); Label5.Text
48、= sda["Sex"].ToString(); Label6.Text = sda["Home"].ToString(); Label7.Text = sda["PhoneNumber"].ToString(); Label8.Text = sda["Email"].ToString(); sc.sdaClose(); sc.sqlClose(); } 修改密碼功能實(shí)現(xiàn)代碼: 點(diǎn)擊確認(rèn)修改密碼按鈕后 protected void SureButton_Click(object
49、 sender, EventArgs e) { string sid = Session["sid"].ToString(); string npsw = TextBox3.Text.Trim().ToString(); sqlClass sc = new sqlClass(); sc.linkToSql(); SqlDataReader sdr = sc.sdar("select PSW from SR_Student where SID='" + sid + "'"); s
50、dr.Read(); string opse = sdr["PSW"].ToString(); if (TextBox1.Text.Trim().ToString() == opse) //如果原密碼正確 { if (TextBox2.Text.Trim().ToString() == TextBox3.Text.Trim().ToString()) //如果兩次輸入的新密碼一致 { sdr.Close(); sc d("
51、update SR_Student set PSW='" + npsw + "' where SID='" + sid + "'"); //更新密碼值 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } else //否則提示兩次輸入密碼不一致 { Page.Client
52、Script.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } } else //否則提示原密碼錯(cuò)誤 { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", ""); ; } if
53、(!sdr.IsClosed) { sc.sdaClose(); } sc.sqlClose(); } 修改背景圖片的腳本: 3、留言界面 用gridview動(dòng)態(tài)顯示留言內(nèi)容,構(gòu)造函數(shù),綁定gridview的數(shù)據(jù)源 protected void bind() //綁定gridview數(shù)據(jù)源 { sqlClass sc = new sqlClass(); GridView1.DataSource = sc.ds("select * from S
55、R_Message", "SR_Message"); GridView1.DataBind(); } 頁(yè)面加載時(shí) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind();//調(diào)用bind()綁定 } } 在點(diǎn)擊留言按鈕,clicked事件下 protected void Button1_Click(object sender, EventArgs e) {
56、 sqlClass sc = new sqlClass(); sc.linkToSql(); string time = DateTime.Now.ToString(); //獲取留言時(shí)間 string title = TextBox1.Text.ToString(); string uid = Session["sid"].ToString(); SqlDataReader sdr = sc.sdar("select SName from SR_Student where SID ='
57、" + uid + "'"); sdr.Read(); string uname = Convert.ToString(sdr["SName"]); sc.sdaClose(); int i = sc d("insert into SR_Message(UName,Title,Time) values('" + uname + "','" + title + "','" + time + "')");//存入留言內(nèi)容 sc.sqlClose(); Page.ClientScript.Re
58、gisterClientScriptBlock(this.GetType(), "clientScript", ""); //留言成功,提示
bind();
}
4、查詢學(xué)生信息頁(yè)面
采用GridView控件顯示學(xué)生信息列表,按照下拉菜單和輸入姓名的方式查詢對(duì)應(yīng)信息,兩個(gè)下拉菜單是聯(lián)動(dòng)的,如:選擇自動(dòng)化,班級(jí)列表就只有自動(dòng)化1和自動(dòng)化2兩個(gè)選項(xiàng)。
學(xué)生列表實(shí)現(xiàn)部分,
Gridview asp代碼
59、="server" AllowPaging="True" DataKeyNames="SID"
OnRowDeleting="GridView1_delete" OnRowEditing="GridView1_edit" OnPageIndexChanging="GridView1_page"
AutoGenerateColumns="False">
60、 ShowEditButton="True" />
61、"PSW" />
63、n="Email" />
64、); sc.sqlClose(); GridView1.DataBind(); } 在頁(yè)面加載時(shí),加入此舉代碼,調(diào)用函數(shù),綁定 bind("select * from SR_Student", "SR_Student"); 專業(yè)下拉菜單GradeDropDownList直接采用可視化操作,無(wú)代碼綁定 在專業(yè)下拉菜單selectchanged事件下,對(duì)班級(jí)下拉菜單數(shù)據(jù)源進(jìn)行綁定 protected void XY_Changed(object sender, EventArgs e) { if (Gr
65、adeDropDownList.SelectedItem.Text != "全部") { int xid = Int32.Parse(GradeDropDownList.SelectedItem.Value.ToString()); sqlClass sc = new sqlClass(); SqlDataAdapter sda = new SqlDataAdapter("select * from SR_Class where XueYuanID='" + xid + "'", sc.link
66、ToSql()); DataSet ds = new DataSet(); sda.Fill(ds, "classe"); ClassDropDownList.DataSource = ds.Tables[0].DefaultView; ClassDropDownList.DataTextField = "ClassName"; ClassDropDownList.DataValueField = "CID"; ClassDropDownList.DataBind(); ClassDropDownList.Items.Add("全部"); ClassDropDownList.Items.FindByValue("全部").Selected = true; sc.sqlClose(); } } 實(shí)現(xiàn)分頁(yè)功能代碼
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案