成教管理體系系統(tǒng)需求分析_第1頁
成教管理體系系統(tǒng)需求分析_第2頁
成教管理體系系統(tǒng)需求分析_第3頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 緒論1.1 成教管理系統(tǒng)需求分析當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機 被廣泛應用于信息管理系統(tǒng)的環(huán)境。 計算機的最大好處在于利用它能夠進行信息管理。 使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其 對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息 管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好我 校成人教育學生學籍、成績信息而設計的。在學校里,學校學生資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的學 校都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調查得知,他們以前

2、 對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于學生成績的統(tǒng)計 和核實等往往采用算盤,計算器等工具進行,對學生考試資料,以及成績管理多用手 抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。 總的來說,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的學校有計算機,但是尚未用于 信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基 本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。學校采取手工方式 對教務檔案進行管理,由于信息比較多,信息的管理工作混亂而又復雜;平時檔案資 料放在檔案柜里,教師和教務處的管理員也只是當時對它比較清楚,

3、時間一長,如再 要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長 時間以前的成績進行更改就更困難了?;谶@此問題,我認為有必要建立一個成人教育管理系統(tǒng),使學生學籍、成績管 理工作規(guī)范化,系統(tǒng)化,程序化,避免教務管理的隨意性,提高信息處理的速度和準 確性,能夠及時、準確、有效的查詢和修改信息本系統(tǒng)基于 WEB 設計,采用 B/S 三層結構體系(前端即瀏覽器,中間層即響應 層,后端即數(shù)據(jù)端)。所有應用數(shù)據(jù)安裝在服務器端(后端) ,由中間層封裝了所有業(yè) 務邏輯,負責前端與后端之間的數(shù)據(jù)傳遞和處理,數(shù)據(jù)庫的維護和系統(tǒng)功能升級只需 在服務器端進行即可,客戶端不進行任何模塊的安裝

4、與設置,從而實現(xiàn)客戶端的零維護,大大減輕管理員的工作量,并且提高了工作效率。1.2 功能模塊介紹1.2.1 學籍管理模塊 (如圖 1.1 所示)實現(xiàn)對學校在校成教班學生、離校生檔案信息資源的查詢、統(tǒng)計、維護與管理。包 括:(1)后臺管理員添加、修改(姓名、密碼、性別、身份證號、準考證號、專業(yè)、學 習形式、民族、籍貫、學號、政治面貌、健康狀況、婚否、參加工作時間、放學前最 高學歷、入學時間、現(xiàn)在工作單位名稱、詳細地址、聯(lián)系電話、郵政編碼、家庭地址、 簡歷、社會關系、結業(yè)時間、畢業(yè)證編號、學籍變動情況、注冊日期)。2 前臺學生登陸后查詢自己的檔案信息,并可修改除姓名、準考證號、專業(yè)、 學號、結業(yè)時

5、間、畢業(yè)證編號之外的所有信息。注冊日期為程序自動提取并錄入數(shù)據(jù) 庫。1.2.2 班主任管理模塊 ( 如圖 1.1 所示)實現(xiàn)對學校在校成教班學生、離校生成績信息資源、畢業(yè)設計信息的查詢、統(tǒng)計、 維護與管理。包括:(1) 班主任登陸后臺可添加修改刪除本班的所有學期的所有課程。(2)班主任登陸后臺將本班學生成績添加到相應課程中,并可修改、刪除。輸入 成績時按成績一(第一次考試成績) 、成績二(如有補考,則輸入成績二) 最終記入數(shù)據(jù)庫的成績?yōu)槌煽円缓统煽兌淖罡叱煽儭#?)班主任登陸后臺可對本班學生的畢業(yè)設計信息進行增刪改查等日常維護。(4)學生登陸后可查詢自己的所有成績,及自己的畢業(yè)設計信息。1.

6、2.3 超級管理模塊 (如圖 1.1 所示)1. 新聞管理超級管理員 admin 登陸后臺,可對本系統(tǒng)新聞公告進行增刪改查等維護。2. 留言管理超級管理員 admin 登陸后臺,可回復、刪除學生提問及訪客留言3.班主任、專業(yè)、管理超級管理員admin登陸后臺,可對班主任、專業(yè)、課程進行增刪改查等日常維護。圖1.1成教管理系統(tǒng)功能模塊介紹1.3 B/S模式分析Browser/Server(簡稱B/S)即瀏覽器/服務器模式,是一種從傳統(tǒng)的二層C/S模 式發(fā)展起來的新的網絡結構模式,其本質是三層結構C/S模式。B/S模式是基于Intranet的需求而出現(xiàn)并發(fā)展的,Intranet是應用TCP/IP協(xié)

7、議建立的企事業(yè)單位內 部專用網絡,它采用諸如 TCP/IP、HTTP、SMTP和HTML等In ternet技術和標 準,能為企事業(yè)單位內部交換信息提供服務。在B/S模式中,客戶端運行瀏覽器軟件。瀏覽器以超文本形式向Web服務器提出訪問數(shù)據(jù)庫的要求,Web服務器接受客戶端請求后,將這個請求轉化為SQL語法, 并交給數(shù)據(jù)庫服務器,數(shù)據(jù)庫服務器得到請求后,驗證其合法性,并進行數(shù)據(jù)處理, 然后將處理后的結果返回給 Web服務器,Web服務器再一次將得到的所有結果進行 轉化,變成HTML文檔形式,轉發(fā)給客戶端瀏覽器以友好的 Web頁面形式顯示出來。B/S 模式管理信息系統(tǒng)基本上克服了 C/S 模式管理

8、信息系統(tǒng)的不足,其主要表 現(xiàn)在: 系統(tǒng)開發(fā)、維護和升級的經濟性對于大型的管理信息系統(tǒng),軟件開發(fā)、維護與升級的費用是非常高的, B/S 模式 所具有的框架結構可以大大節(jié)省這些費用,同時, B/S 模式對前臺客戶機的要求并不 高,可以避免盲目進行硬件升級造成的巨大浪費。 B/S模式提供了一致的用戶界面B/S模式的應用軟件都是基于 Web瀏覽器的,這些瀏覽器的界面都很相似。對 于無用戶交互功能的頁面,用戶接觸的界面都是一致的,從而可以降低軟件的培訓費 用。B/S 模式具有很強的開放性在 B/S 模式下,外部的用戶亦可通過通用的瀏覽器進行訪問。B/S 模式的結構易于擴展由于 Web 的平臺無關性, B

9、/S 模式結構可以任意擴展,可以從一臺服務器、幾 個用戶的工作組級擴展成為擁有成千上萬用戶的大型系統(tǒng)。B/S 模式具有更強的信息系統(tǒng)集成性在 B/S 模式下,集成了解決企事業(yè)單位各種問題的服務,而非零散的單一功能的 多系統(tǒng)模式,因而它能提供更高的工作效率。B/S 模式提供靈活的信息交流和信息發(fā)布服務B/S模式借助In ternet強大的信息發(fā)布與信息傳送能力可以有效地解決企業(yè)、高 等學校內部的大量不規(guī)則的信息交流。2 數(shù)據(jù)庫理論基礎一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常 重要的條件和關鍵技術。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設計分五個步驟:數(shù)據(jù)庫需求分析、概念設計、邏

10、 輯設計、物理設計與加載測試。數(shù)據(jù)庫的設計中, 如何處理多對多的關系和如何設計主鍵, 是兩個有著較大難度、 需要重點考慮的問題。本章著重從 SQL應用、數(shù)據(jù)庫設計范式和查詢優(yōu)化等方面來分 析本系統(tǒng)的關鍵技術和實現(xiàn)難點。2.1 數(shù)據(jù)庫系統(tǒng)設計及范式分析信息系統(tǒng)的主要任務是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲和 管理大量的數(shù)據(jù)。因此建立一個良好的數(shù)據(jù)組織結構和數(shù)據(jù)庫,使整個系統(tǒng)都可以迅 速、方便、準確地調用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標 之一。2.1.1 數(shù)據(jù)庫系統(tǒng)設計數(shù)據(jù)庫設計主要是進行數(shù)據(jù)庫的邏輯設計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和 邏輯層次組織起來,是面

11、向用戶的。數(shù)據(jù)庫設計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù) 和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關系,按照 DBMS 提供的功能和描述工具,設計 出規(guī)模適當、正確反映數(shù)據(jù)關系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的 數(shù)據(jù)模型。數(shù)據(jù)庫設計的步驟是:(1)數(shù)據(jù)庫結構定義( 2)數(shù)據(jù)表定義(3)數(shù)據(jù)使用權限設置(4)數(shù)據(jù)字典設計2.1.2 數(shù)據(jù)庫設計范式分析建立起一個良好的數(shù)據(jù)指標體系,是建立數(shù)據(jù)結構和數(shù)據(jù)庫的最重要的一環(huán)。一 個良好的數(shù)據(jù)指標體系是建立 DB 的必要條件,但不是充分條件。我們完全可以認為 所建指標體系中的一個指標類就是關系數(shù)據(jù)庫中的一個基本表,而這個指標類下面的 一個個具體指標就是這個基

12、本表中的一個字段。但如果直接按照這種方式建庫顯然還 不能算最佳。對于指標體系中數(shù)據(jù)的結構在建庫前還必須進行規(guī)范化的重新組織。在數(shù)據(jù)的規(guī)范化表達中,一般將一組相互關聯(lián)的數(shù)據(jù)稱為一個關系(relation),而 在這個關系下的每個數(shù)據(jù)指標項則被稱為數(shù)據(jù)元素 (dataelement,這種關系落實到具 體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個字段(field)。規(guī)范化表達還規(guī)定在每一個基本表中必須定義一個數(shù)據(jù)元素為關鍵字 (key),它可以唯一地標識出該 表中其它相關的數(shù)據(jù)元素。在對表的形式進行了規(guī)范化定義后,數(shù)據(jù)結構還有五種規(guī)范化定義,定名為規(guī)范 化模式,稱為范式。在這五種范式中,一般只

13、用前三種,對于常用系統(tǒng)就足夠了。而 且這五種范式是 “向上兼容 ”的,即滿足第五范式的數(shù)據(jù)結構自動滿足一、二、三、四 范式,滿足第四范式的數(shù)據(jù)結構自動滿足第一、二、三范式,依此類推。第一范式(first normal form,簡稱1 NF)就是指在同一表中沒有重復項出現(xiàn), 如 果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論 的開發(fā)方法里, 1 NF 實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系 和表的過程都自動保證了所有表都滿足 1 NF。第二范式(second normal form,簡稱2 NF)是指每個表必須有一個(而且僅一個) 數(shù)據(jù)元素為主關鍵字

14、(primary key),其它數(shù)據(jù)元素與主關鍵字對應。只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。 通常我們稱這種關系為函數(shù)依賴(functional depEndence關系。即表中其它數(shù)據(jù)元素 都依賴于主關鍵字,或稱該數(shù)據(jù)元素唯一地被主關鍵字所標識。第三范式(third normal form,簡稱3 NF)就是指表中的所有數(shù)據(jù)元素不但要能 夠唯一地被主關鍵字所標識, 而且它們之間還必須相互獨立, 不存在其它的函數(shù)關系。 也就是說對于一個滿足了 2NF 的數(shù)據(jù)結構來說,表中有可能存在某些數(shù)據(jù)元素依賴 于其它非關鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防

15、止數(shù)據(jù)庫出現(xiàn)更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關系 型數(shù)據(jù)庫要盡量按關系規(guī)范化要求進行數(shù)據(jù)庫設計。2.2 SQL 語言介紹2.2.1 SQL 基礎SQL(Structured Query Language結構查詢語言)是一個功能強大的數(shù)據(jù)庫語 言。SQL通常使用于數(shù)據(jù)庫的通訊。ANSI (美國國家標準學會)聲稱,SQL是關 系數(shù)據(jù)庫管理系統(tǒng)的標準語言。 SQL 語句通常用于完成一些數(shù)據(jù)庫的操作任務, 比如 在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用 SQL 的常見關系數(shù)據(jù)庫管理 系統(tǒng)有: Oracle、 Sybase、 Microsoft SQL Server、 Acce

16、ss 等等。雖然絕大 多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們 的系統(tǒng)。但是,標準的 SQL 命令,比如"Select"、"Insert"、"Update"、"Delete"、 "Create'和"Drop"常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。SQL 語言有著非常突出的優(yōu)點,主要是:非過程化語言統(tǒng)一的語言是所有關系數(shù)據(jù)庫的公共語言2.2.2 SQL 語句SQL 功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于 數(shù)據(jù)庫中的數(shù)據(jù)修

17、改和更新,概括起來,它可以分成以下幾組:DML ( Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù) 據(jù);DDL ( Data Definition Language,數(shù)據(jù)定義語言):用于定義數(shù)據(jù)的結構, 比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;DCL( Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權限。DML 組可以細分為以下的幾個語句:SELECT :用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE :用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。DDL 語句可以用于創(chuàng)建用戶和重建數(shù)

18、據(jù)庫對象。下面是 DDL 命令:CREATE TABLE ,ALTER TABLE ,DROP TABLE ,CREATE INDEX , DROP INDEX下面是一個簡單 SQL 語句的例子:我們使用SQL語句來從Students中檢索stuD為15的學生姓名:SELECT Name FROM Students WHERE stu_ID = 15數(shù)據(jù)定義語言DDL :它是用來創(chuàng)建和修改數(shù)據(jù)庫結構的一種語句,包括Create Alter 和 Drop 語句。數(shù)據(jù)操作語言 DML :包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由 Select 語句 完成,這一點不再贅述。而數(shù)據(jù)更新所造成的風險大大超

19、過數(shù)據(jù)查詢。數(shù)據(jù)庫管理系 統(tǒng)必須在更改期內保護所存儲的數(shù)據(jù)的一致性,確保有效的數(shù)據(jù)進入數(shù)據(jù)庫,數(shù)據(jù)庫 必須保持一致性, DBMS 還必須協(xié)調多用戶的并行更新,以確保用戶和它們的更改 不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內容的 SQL 語句主要有以下三個:(1) Insert,向一個表中加入新的數(shù)據(jù)行(2) Delete,從一個表中刪除數(shù)據(jù)行(3) Update,更改數(shù)據(jù)庫中已經存在的數(shù)據(jù)3 ASP 數(shù)據(jù)庫編程3.1 ASP 簡介Microsoft Active Server Pages 即我們所稱的 ASP ,其實是一套微軟開發(fā)的 服務器端腳本環(huán)境, ASP 內含于 IIS 3.0 和 4

20、.0 之中 , 通過 ASP 我們可以結合 HTML 網頁、 ASP 指令和 ActiveX 元件建立動態(tài)、 交互且高效的 WEB 服務器 應用程序。有了 ASP 你就不必擔心客戶的瀏覽器是否能運行你所編寫的代碼,因為 所有的程序都將在服務器端執(zhí)行,包括所有嵌在普通 HTML 中的腳本程序。當程序 執(zhí)行完畢后,服務器僅將執(zhí)行的結果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽 器的負擔,大大提高了交互的速度。以下羅列了 Active Server Pages 所獨具的一些特點:1. 使用 VBScript 、 Jscript 等簡單易懂的腳本語言,結合 HTML 代碼,即 可快速地完成網站的應用程

21、序。2. 無須 compile 編譯,容易編寫,可在服務器端直接執(zhí)行。3. 使用普通的文本編輯器,如 Windows 的記事本,即可進行編輯設計。4. 與瀏覽器無關 (Browser Independence), 用戶端只要使用可執(zhí)行 HTML 碼 的瀏覽器,即可瀏覽 Active Server Pages 所設計的網頁內容。 Active Server Pages 所使用的腳本語言 (VBScript 、 Jscript) 均在 WEB 服務器端執(zhí)行,用戶 端的瀏覽器不需要能夠執(zhí)行這些腳本語言。5. Active Server Pages 能與任何 ActiveX scripting 語言相

22、容。除了可使用 VBScript 或 Jscript 語言來設計外, 還通過 plug-in 的方式, 使用由第三方所提供 的其他腳本語言,譬如 REXX 、 Perl 、 Tcl 等。腳本引擎是處理腳本程序的 COM(Component Object Model) 物件。6. Active Server Pages 的源程序,不會被傳到客戶瀏覽器,因而可以避免所寫 的源程序被他人剽竊,也提高了程序的安全性。7. 可使用服務器端的腳本來產生客戶端的腳本。8. 物件導向( Object-oriented )。9. ActiveX Server Components(ActiveX 服務器元件 )

23、 具有無限可擴充性。 可以使用 Visual Basic 、 Java 、 Visual C+ 、 COBOL 等編程語言來編寫 你所需要的 ActiveX Server Component 。3.2 ASP 內置組件介紹什么叫組件 (Active Server Compontents)?組件是基于 Activex 技術的代碼片斷, 通過指定接口提供指定的一組服務, 組件 供給客戶端(Clients)在運行時候請求的對象。你可以理解成組件是一種程序,通過 調用這種程序,你可以實現(xiàn)你在 ASP 程序中無法實現(xiàn)或者很難實現(xiàn)的功能,組件是 一種很好的代碼重用方法。我們可以運用Active Serve

24、r Pages設計制作動態(tài)、交互的 Web頁面,但是一 旦你開始著手工作,參與一些實際工作的時候,你會發(fā)現(xiàn)asp在某些方面功能不強,甚至不借助服務器端組件就很難實現(xiàn)某些功能,例如:數(shù)據(jù)庫操作(我們通常使用 ADO,ADO 就是一個組件),郵件功能,文件系統(tǒng)操作,圖形功能 .但是幸運的是我 們可以找到很多組件來提高 ASP編程應用能力,下面對ASP內置組件作簡單的介紹。AD ROTATOR 組件廣告輪顯組件屬性: Border,Clickable,TargetFarms方法: GetAdvertisementFILE ACCESS 組件文件操作組件FileSystemObject 對象方法: C

25、reateTextFile , OpenTestFile , CopyFile , DeleteFile,FileExists , GetExtensionName , GetFile , GetFileName , MoveFile , CopyFolder , GetParentFolderName , GetSpecialFolder , GetTempName , GetDrive , GetDriveName , DriveExists , Drives ,GetAbsolutePathName ,GetBaseName. .CONTENT LINKING 組件此組件主要用于管理網頁

26、網址間的超文本鏈接方法: GetListCount , GetNextURL , GetPreviousDescription , GetListIndex , GetNthDescription , GetPreviousURL , GetNextDescription , GetNthURL.BROWER CAPABILITIES 組件瀏覽器性能組件屬性: browser,version,majorver,minorver,beta,Platform,ActiveXControls,backgroundsounds,Cookies,Frames,Javaapplets ,Tables,Vb

27、script,Javascript,cdf. 建立方法Set BrowerType = Server.CreateObject("MSWC.BrowserType")3.3 SQL語言在ASP中的應用數(shù)據(jù)庫查詢語言(SQL)是使用于關系數(shù)據(jù)庫的標準語言,被很多類型的數(shù)據(jù)庫 所支持。下面簡單介紹我們平時使用最頻繁, 也是本系統(tǒng)所使用的主要語句: SELECT 的語法以及使用。 語句的語法如下:SELECT all | * | distinct column1, column2FROM table1, table2WHERE condition1 | expression1 A

28、ND condition2 | rxpression2在上面的語法中, 外的語句是必須的,而 內的是可選的,對于以 | 分割的操 作符,則表明語法中必須從 | 分割的操作符中選擇一個。下面的語法描述同上。在 SELECT.FROM.WHERE 語句中其中 SELECT 指定需要檢索的字段, FROM 指定要查詢的表, WHERE 指定選擇紀錄的條件,另外還可以包含 ORDER BY 語 句來制定排序紀錄。語法如下:ORDER BY column1 | Integer ASC | DESC其中 column1 制定排序的字段,也可以使用 Integer 指定的字段索引來排序, ASC 為升序、

29、DESC 為降序。在 SELECT 語句的 WHERE 中,我們可以使用操作符號 來比較大小以及使 用 LIKE 進行匹配。在 WHERE 語句中,可以使用的操作符有以下幾類:1、比較操作符包含 =、 、=、= 等若干類2、邏輯操作符包含以下若干類:LIKE、IN、BETWEEN、UNIQUE、IS NULL 、EXISTS、ALL 和 ANYLIKE操作符通過使用通配符將一個值同其它值比較, 在ASP的SQL查詢中, 可以使用的通配符是 * 和 ? 其中 * 代表任意的若干個字符,而 ? 代表一個字符, 例如上面語句中的 LIKE '*Beginner* 代表查找所有包含字符串 Be

30、ginner 的值。不 過要注意的是使用 * 和 ? 作為通配符是 VB 的專利。真正的 SQL 語言的通配符 是 % 和 _,其中 %代表任意多個字符, _代表一個字符。另外 Microsoft Jet Engine對于LIKE操作符還提供了其它一些的過濾選項。IN操作符用于比較某一個 值是否等于幾個值中的一個值,例如下面的語句:"SELECT stu_name,Year FROM student WHERE Year IN (2001,2002,2003)"將從表 Titles 中選擇所有在 2001,2002,2003年入學的學生名單。BETWEEN 操作符勇于在兩個

31、值之間搜索,例如 WHERE Year BETWEEN 2000 AND 2003 指定入學年份必須在 1989年和 1991年之間。對于邏輯操作符,可以結合 NOT 操作符實現(xiàn)改變查詢條件的方向。例如 WHERE Year NOT IN (2001,2002,2003)3、連接符WHERE 中的連接符包括 AND 和 OR ,使用 AND 時,所有查詢都必須是 True時,條件才成立,而使用 OR時,只要連接的一個查詢?yōu)門rue,條件就成立。在使用比較操作符時要注意,在 ASP 操作數(shù)據(jù)庫引擎時對于查找的字符串,要 使用單引號或者雙引號將字符串括起來,例如 WHERE Name='L

32、iGang' 。而對于 日期類型的數(shù)據(jù), 要使用#號將日期括起來, 例如 WHERE BirthDay > #1980-10-01#而在使用通配符和 LIKE 操作符時,需要使用引號而不是 #號,例如 WHERE BirthDay LIKE "1990-01-*" 。引號告訴數(shù)據(jù)庫引擎將日期當字符串處 理,而#號告訴數(shù)據(jù)庫引擎將日期當數(shù)字處理。4 成教管理信息系統(tǒng)設計4.1 成教管理系統(tǒng)數(shù)據(jù)庫設計4.1.1 概念設計在概念設計階段中,應該從用戶的角度看待數(shù)據(jù)及處理要求和約束,產生一個反 映用戶觀點的概念模式。然后再把概念模式轉換成邏輯模式。將概念設計從設計過程

33、 中獨立開來,使各階段的任務相對單一化,設計復雜程度大大降低,不受特定 DBMS 的限制。利用ER方法進行數(shù)據(jù)庫的概念設計,可分成三步進行:首先設計局部 ER模式, 然后把各局部 ER 模式綜合成一個全局模式, 最后對全局 ER 模式進行優(yōu)化, 得到最終 的模式,即概念模式。(1)設計局部ER模式(如圖4.1)實體和屬性的定義:學生 id (自動編號)、stu_name (姓名)、stu_pw (密碼)、stu_sex(性別)、stu_card(身份證號)、 stu_id(準考證號)、spe_name (專業(yè))、stu_style(學習形式)、stu_mz(民族)、stu_jg(籍貫)、stu

34、_xh(學 號卜stu_zz (政治面貌)、stuk(健康狀況卜stu_hf(婚否卜stu_cjgz(參加工作時間)、stu_xl(入學前最 高學歷)、stu_rxsj(入學時間)、stu_now_name(現(xiàn)在工作單位名稱 )、stu_now_address(詳細地址)、stu_now_tel(聯(lián)系電話)、stu_now_post(郵政編碼)、stu_home(家庭地址 )、stu_resume(簡歷)、 stu_shgx(社會關系)、stu_jysj(結業(yè)時間)、stu_byzh(畢業(yè)證編號)、stu_xjbd(學籍變動情況 卜stu_date(注 冊日期)管理員表 (超級管理員、班主任)

35、 id (自動編號 )、 admin_name (管理員名 )、 admin_pw (管理員密碼)、check (檢查是否為超級管理員 )spe_name專業(yè)名)學生成績表stu_xh (學生學號)、cou_id(課程編號)、stu_cj_1(學生第一次成績)stu_cj_2(學生補考成績 )、 stu_cj_3 (學生最終成績)畢業(yè)設計表stu_xh (學生學號)、gra_title(畢業(yè)論文題目卜gra_teacher(指導老師)、gra_db (答辯負責人)、gra_cj (答辯成績)獎懲情況表stu_xh (學生學號)、stu_award(獎懲情況)課程表cou_id(課程編號)、co

36、u_name(課程名)、cou_teacher(開課教師卜cou_term(開課學期)專業(yè)表 spe_name 專業(yè)名) spe_teacher(班主任)圖4.1局部ER圖的設計示例(部分屬性未列出)圖4.2 聯(lián)系定義ER模型的 聯(lián)系”用于刻畫實體之間的關聯(lián)。一種完整的方式是對局部結構中任 意兩個實體類型,依據(jù)需求分析的結果,考察局部結構中任意兩個實體類型之間是否 存在聯(lián)系。若有聯(lián)系,進一步確定是 1:N,M:N,還是1:1等。還要考察一個實體類 型內部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在 聯(lián)系,等等。聯(lián)系定義如圖4.2所示。解釋如下:一個學生可以選擇多門課程學

37、習,而一門課程有多個學生學習;一個專業(yè)可以擁有多名學生,而一名學生只能選擇一個專業(yè);一個專業(yè)可以擁有多門課程,而一門課程也可在不同的專業(yè)講授。(2)設計全局ER模式所有局部ER模式都設計好了后,接下來就是把它們綜合成單一的全局概念結構。 全局概念結構不僅要支持所有局部 ER模式,而且必須合理地表示一個完整、一致的 數(shù)據(jù)庫概念結構。圖4.3成教管理系統(tǒng)”的全局ER模式(1)確定公共實體類型為了給多個局部ER模式的合并提供開始合并的基礎,首先要確定各局部結構中 的公共實體類型。在這一步中我們僅根據(jù)實體類型名和鍵來認定公共實體類型。一般 把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類

38、型作為公共實 體類型的另一類候選。(2)局部ER模式的合并合并的原則是:首先進行兩兩合并;先和合并那些現(xiàn)實世界中有聯(lián)系的局部結構;合并從公共實體類型開始,最后再加入獨立的局部結構(3) 消除沖突沖突分為三類:屬性沖突、結構沖突、命名沖突。設計全局ER模式的目的不在于把若干局部 ER模式形式上合并為一個ER模式, 而在于消除沖突,使之成為能夠被所有用戶共同理解和接受的同一的概念模型。(4) 全局ER模式的優(yōu)化在得到全局ER模式后,為了提高數(shù)據(jù)庫系統(tǒng)的效率,還應進一步依據(jù)處理需求 對ER模式進行優(yōu)化。一個好的全局 ER模式,除能準確、全面地反映用戶功能需求 外,還應滿足下列條件:實體類型的個數(shù)要盡

39、可能的少;實體類型所含屬性個數(shù)盡可 能少;實體類型間聯(lián)系無冗余。綜上所述,成教管理系統(tǒng)”的全局ER模式圖4.3所示。4.1.2 數(shù)據(jù)庫的實現(xiàn)本系統(tǒng)選用了 SQL2000數(shù)據(jù)庫來進行數(shù)據(jù)庫的邏輯設計。首先創(chuàng)建一個數(shù)據(jù)庫: huoyan、然后建立七個基本數(shù)據(jù)庫表如表 4.1表4.7所示。表4.1學生基本信息表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明Studint4是是自動編號stu_n amen varchar50否是學生姓名stu pwn varchar50否是密碼stu sexn varchar50否是性別stu cardnu meric9否是身份證號studnu meric9否否準考證號s

40、pe_ namen varchar50否是專業(yè)stu stylen varchar50否是學習形式stu mzn varchar50否是民族stugn varchar50否是籍貫stu xhnu meric9是否學號stu_zzn varchar50否是政治面貌stukn varchar50否是健康狀況stu_hfn varchar50否是婚否stu_cjgzdatetime8否否參加工作時間stu_xln varchar50否是放學前最高學歷stu_rxsjdatetime8否是入學時間stu_ now_n amen varchar50否否現(xiàn)在工作單位stu _no w_addressn v

41、archar50否是詳細地址stu_ no w_telnu meric9否是聯(lián)系電話stu_ no w_postnu meric9否是郵政編碼stu homen varchar50否是家庭地址stu resumen text16否是簡歷stu shgxn text16否是社會關系stu jysjdatetime8否否結業(yè)時間stu byzhnu meric9否否畢業(yè)證編號stu datedatetime8否是注冊日期stu xjbdn varchar50否否學籍變動情況表4.2學生成績表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idint4是是自動編號stu xhnu meric9是是學生學號

42、cou idnu meric9是是課程編號stu cj 1nu meric9否是學生第一次成績stu cj 2nu meric9否否學生補考成績stu cj 3nu meric9否是學生最終成績表4.3課程表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idint4是是自動編號Coudnu meric9是是課程編號Spe_n amen varchar9否是所屬專業(yè)名cou_ namen varchar50否是課程名cou teachern varchar50否是開課教師cou termn varchar50否是開課學期表4.4專業(yè)表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idint4是是自動編號

43、spe_ namenv archar50是是專業(yè)名teacher pwnv archar50否是班主任密碼spe teachernv archar50否是班主任表4.5畢業(yè)設計表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idint4是是自動編號stu xhnu meric15是是學生學號gra titlenv archar30否是畢業(yè)論文題目gra teachernv archar15否是指導老師gra dbnv archar15否是答辯負責人gra cjnu meric10否是答辯成績表4.6管理員表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idint4是是自動編號Admin_checkn

44、varchar50否否是否為超級管理員Spe_namen varchar50否是專業(yè)名admin namen varchar50否是管理員名adm in_pwn varchar50否是管理員密碼表4.7新聞表的結構字段名數(shù)據(jù)類型長度是否關鍵字必填說明idnu meric15是是自動編號News_datedatetime50否是添加/修改日期News_titlenv archar50否是新聞名News_ contentn text16否是新聞內容4.2學籍管理模塊的實現(xiàn)學籍管理模塊分成學生前臺注冊,管理員后員添加、修改、刪除兩個板塊。學生前臺注冊不包括學號、畢業(yè)證號等學生無權填寫的項目。stu_

45、reg.asp文件包含script腳本語言對輸入數(shù)據(jù)進行檢查,若不允許為空的字段未輸入數(shù)據(jù),則提示錯誤。 對于學號等數(shù)字類型字段,由stu_reg_save.asp進行驗證,若這些字段為非數(shù)字類型, 則定義 SESSION("ERROR")二"YES",并 response.Redirect("stu_reg.asp")跳轉 到stu_reg.asp文件,由if語句判斷并輸出出錯信息 sorry!身份證號、準考證號、學 號、電話、郵編、畢業(yè)證編號必須為數(shù)字! ”若所有輸入都正確,則連接數(shù)據(jù)庫huoyan, 查詢并打開student表,

46、用add new方法將發(fā)出請求的數(shù)據(jù)錄入數(shù)據(jù)庫,并跳轉到成功 頁面 ok.htm。程序流程圖見圖4.4圖4.4程序流程圖stu reg.asp學生注冊頁面(部分代碼)<!-#include file二"./include/conn.asp"-> / 頭文件包含數(shù)據(jù)庫連接文件 <!-#i nclude file="./i nclude/pass.asp"->/ 頭文件包含密碼驗證文件<script>fun cti on error()if (docume nt.form1.stu _n ame.value="&

47、quot;)alert("請輸入姓名! ”);.return false;elsereturn true;v/script>/檢查輸入是否完整正確<%if SESSION("ERROR")二"YES" the n%>vtable width二"59%" border二"0" align="center" cellpadding="0"cellspac in g="0"><tr><td height二&qu

48、ot;13"><div alig n="ce nter"><spa n class二"fo nt1 style2">sorry !身份證號、準考證號、學號、電話、郵編、畢業(yè)證編號必須為數(shù)字!</spa n>< /div>v/td>v/tr></table><%end ifSESSION("ERROR")=""%>-/用SESSION方法檢查輸入錯誤,并顯示信息vform name="form1"

49、method二"post" action="stu_reg_save.asp"on Submit二"return error()"><select name="spe_id" size二"1" id="spe_id"><%DIM RSSET RS二SERVER.CreateObject("ADODB.RECORDSET")SQL二"SELECT * FROM speciality where spe_name='&

50、quot; & SESSION("SPE_NAME") &,”"RS.OPEN SQL,CONN,1,1DIM SPE_NAME : SPE_NAME=RS("spe_name")DIM ID : ID=RS("id")%><option selected value二"<% =ID %>"><% =SPE_NAME %></optio n><% rs.closeset rs=Nothi ng %>v/select>/

51、用speciality中查詢并列出專業(yè)表供學生注冊時選擇v/form>用戶界面如圖4.5所示學狡如 藝月陽丸 :t且機議 求要留普想目肯貝縣碗號:cO26BExl1:l 11111 號:姑環(huán)電亍侖齊應科: 礦區(qū)密碼圖4.5用戶前臺登陸查看檔案界面stu_reg_save.asp學生學籍信息存入數(shù)據(jù)庫(部分代碼) <%DIM stu_card : stu_card二REQUEST("stu_card")If not(isnumeric(stu_card)Or n ot(is nu meric(REQUEST("stu_id")or n ot(i

52、s nu meric(REQUEST("stu_xh")Or n ot(is numeric(REQUEST("stu_now_post") or not(isnumeric(REQUEST("stu_byzh") then SESSION("ERROR")=" YES"response.Redirect("stu reg.asp")END IF%>-/ 檢查學號等屬性是否為數(shù)字,如果不是數(shù)字類型,只跳轉到注冊頁面,并定義session方法<%DIM RSSET

53、RS二SERVER.CreateObject("ADODB.RECORDSET")SQL二"SELECT * FROM stude nt"RS.OPEN SQL,CONN,1,3rs.add newrs("stu_ name")二request("stu _n ame") stu_del.asp 刪除學生文件rs.update%>/將注冊信息錄入數(shù)據(jù)庫<% Dim ID : ID=Request("id")%>/將發(fā)出請求的id定義成變量ID<% DIM RSSET RS

54、=SERVER.CreateObject("ADODB.RECORDSET") SQL="SELECT * FROM stude nt WHERE id=" & IDRS.OPEN SQL,CONN,1,3RS.DELETERS.UPDATEResp on se.Redirect("./i nclude/ok.htm")RS.CLOSESET RS=Nothi ngCONN.CLOSESET RS=Nothi ng%>/從學生表中將編號為ID的記錄刪除4.3成績管理模塊的實現(xiàn)成績管理模塊是本系統(tǒng)的重點和難點。它涉及到專業(yè)

55、信息管理、課程信息管理、 成績的錄入修改與查詢三大板塊。專業(yè)信息管理板塊由超級管理員操作,一個專業(yè)由 一個班主任管理,所以添加專業(yè)信息時包括專業(yè)代號、名稱,及班主任的用戶名和密 碼。課程信息管理板塊由班主任操作,所添加的課程信息包括課程編號、課程名等。 成績的錄放修改與查詢板塊也由班主任操作,班主任錄入本班學生各科成績;按學生 學號查詢該生所有科目成績;按課程代號查詢本班所有學生的該科成績。需要說明的 是,班主任只可以對本專業(yè)的課程、及專業(yè)的學生進行管理操作(select - fromwhere order by 語法)。程序說明:(一)log in .asp登陸,若是否為超級管理員”一項為空

56、,則視為班主任管理員,并進行驗證。查詢speciality表中spe_teache字段中是否存在該記錄,若不存在則 報錯,若存在則驗證其密碼,并獲取該記錄的專業(yè)名spe_name重新定義為SPE_NAME(二)從courses表中查詢專業(yè)名為SPE_NAME的所有記錄,可進行修改、添 加等操作,唯一不可修改的是專業(yè)名。(三)從achievement表中查詢專業(yè)名為 SPE_NAM E的所有記錄,并獲取到 stud字段,定義為STU_ID,再從student表中查詢STU_ID所在的記錄,獲取其 stu_name字段。同樣的方法,從courses表中查詢到所coud(課程編號)所對應的 cou

57、_n ame課程名)431專業(yè)信息管理spe_add.asp添加專業(yè)(代碼略)spe _add_save.asp將添加的專業(yè)信息錄入數(shù)據(jù)庫(部分代碼) <%DIM RSSET RS二SERVER.CreateObject("ADODB.RECORDSET")SQL二"SELECT * FROM speciality"RS.OPEN SQL,CONN,1,3rs.add newrs("spe_name")二SPE_NAMErs("spe_teacher")二SPE_TEACHERrs("teacher

58、_pw")二TEACHER_PWrs.update%>spe _all.asp 列出所有專業(yè)(部分代碼)<%DIM RSSET RS二SERVER.CreateObject("ADODB.RECORDSET")SQL="SELECT * FROM speciality order by id desc"RS.OPEN SQL,CONN,1,1%><table width二"365" border二"0" align="center" cellpadding=&q

59、uot;1" cellspac in g="1" bgcolor="#66CC00"><% while not rs.eof %><tr bgcolor二"#319A00"><td height二"25"><div align="center"><font color="#FFFFFF"><% =RS("spe_name") %>v/fon t>v/div>v/td><td><div align="center">vfont color="#FFFFFF"><% =RS("spe_teacher") %>v/fon t></div></td><td><div align="center"><a href="spe_edit.asp?id=<% =RS("id") %>&q

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論