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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、改查等維護。2. 留言管理3. 超級管理員 admin 登陸后臺,可回復(fù)、刪除學(xué)生提問及訪客留言。4. 班主任、專業(yè)、管理5. 超級管理員 admin 登陸后臺,可對班主任、專業(yè)、課程進行增刪改查等日常維護。管理員登陸( login.asp)超級管理班主任圖 1.1 成教管理系統(tǒng)功能模塊介紹1.3B/S 模式分析Browser/Server(簡稱 B/S)即瀏覽器 /服務(wù)器模式,是一種從傳統(tǒng)的二層 C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)是三層結(jié)構(gòu) C/S 模式。 B/S 模式是基于 Intranet 的需求而出現(xiàn)并發(fā)展的, Intranet 是應(yīng)用 TCP/IP 協(xié)議建立的企事業(yè)單位內(nèi)部

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

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

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

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

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

12、算最佳。 對于指標(biāo)體系中數(shù)據(jù)的結(jié)構(gòu)在建庫前還必須進行規(guī)范化的重新組織。在數(shù)據(jù)的規(guī)范化表達中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個關(guān)系(relation),而在這個關(guān)系下的每個數(shù)據(jù)指標(biāo)項則被稱為數(shù)據(jù)元素(dataelement),這種關(guān)系落實到具體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個字段(field )。規(guī)范化表達還規(guī)定在每一個基本表中必須定義一個數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標(biāo)識出該表中其它相關(guān)的數(shù)據(jù)元素。在對表的形式進行了規(guī)范化定義后, 數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義, 定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是 “向上兼

13、容 ”的,即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結(jié)構(gòu)自動滿足第一、二、三范式, ,依此類推。第一范式 (firstnormalform ,簡稱 1NF)就是指在同一表中沒有重復(fù)項出現(xiàn),如果有則應(yīng)將重復(fù)項去掉。 這個去掉重復(fù)項的過程就稱之為規(guī)范化處理。 在本文所討論的開發(fā)方法里, 1NF 實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標(biāo)體系和表的過程都自動保證了所有表都滿足1NF。第二范式 (secondnormalform,簡稱 2NF)是指每個表必須有一個 (而且僅一個 )數(shù)據(jù)元素為主關(guān)鍵字 (primarykey),其它數(shù)據(jù)元素與主關(guān)鍵字一一對應(yīng)。只要知道

14、了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functionaldepEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標(biāo)識。第三范式 (thirdnormalform ,簡稱 3NF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標(biāo)識, 而且它們之間還必須相互獨立, 不存在其它的函數(shù)關(guān)系。也就是說對于一個滿足了 2NF 的數(shù)據(jù)結(jié)構(gòu)來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關(guān)鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防止數(shù)據(jù)庫出現(xiàn)更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關(guān)系型數(shù)據(jù)庫

15、要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計。2.2SQL 語言介紹SQL(StructuredQueryLanguage,結(jié)構(gòu)查詢語言 )是一個功能強大的數(shù)據(jù)庫語言。 SQL 通常使用于數(shù)據(jù)庫的通訊。ANSI (美國國家標(biāo)準(zhǔn)學(xué)會)聲稱,SQL 是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。 SQL 語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL 的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有: Oracle、Sybase、MicrosoftSQLServer、Access等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統(tǒng)。 但是,標(biāo)準(zhǔn)的

16、SQL 命令,比如 "Select"、"Insert" 、"Update"、"Delete"、"Create"和"Drop" 常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。SQL 語言有著非常突出的優(yōu)點,主要是:非過程化語言統(tǒng)一的語言是所有關(guān)系數(shù)據(jù)庫的公共語言SQL 功能強大,是一種完備的數(shù)據(jù)處理語言,不僅用于數(shù)據(jù)庫查詢,而且用于數(shù)據(jù)庫中的數(shù)據(jù)修改和更新,概括起來,它可以分成以下幾組:DML (DataManipulationLanguage,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù);DD

17、L (DataDefinitionLanguage,數(shù)據(jù)定義語言):用于定義數(shù)據(jù)的結(jié)構(gòu),比如創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;DCL (DataControlLanguage,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權(quán)限。DML 組可以細(xì)分為以下的幾個語句:SELECT:用于檢索數(shù)據(jù);INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫;UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù);DELETE :用于從數(shù)據(jù)庫中刪除數(shù)據(jù)。DDL 語句可以用于創(chuàng)建用戶和重建數(shù)據(jù)庫對象。下面是DDL 命令:CREATETABLE ,ALTERTABLE ,DROPTABLE , CREATEINDEX ,DROPINDEX下面是一個簡單 S

18、QL 語句的例子:我們使用 SQL 語句來從 Students中檢索 stu_ID 為 15 的學(xué)生姓名:SELECTNameFROMStudentsWHEREstu_ID=15數(shù)據(jù)定義語言 DDL :它是用來創(chuàng)建和修改數(shù)據(jù)庫結(jié)構(gòu)的一種語句,包括Create、Alter 和 Drop 語句。數(shù)據(jù)操作語言 DML :包括數(shù)據(jù)查詢與數(shù)據(jù)更新。數(shù)據(jù)查詢主要是由Select語句完成,這一點不再贅述。 而數(shù)據(jù)更新所造成的風(fēng)險大大超過數(shù)據(jù)查詢。 數(shù)據(jù)庫管理系統(tǒng)必須在更改期內(nèi)保護所存儲的數(shù)據(jù)的一致性, 確保有效的數(shù)據(jù)進入數(shù)據(jù)庫,數(shù)據(jù)庫必須保持一致性, DBMS 還必須協(xié)調(diào)多用戶的并行更新,以確保用戶和它們的

19、更改不至于影響其它用戶的作業(yè)。用于修改數(shù)據(jù)庫內(nèi)容的SQL 語句主要有以下三個:(1)Insert,向一個表中加入新的數(shù)據(jù)行(2)Delete,從一個表中刪除數(shù)據(jù)行(3)Update,更改數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù)3ASP 數(shù)據(jù)庫編程3.1ASP 簡介MicrosoftActiveServerPages 即我們所稱的 ASP,其實是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境, ASP 內(nèi)含于 IIS3.0 和 4.0 之中 ,通過 ASP我們可以結(jié)合HTML 網(wǎng)頁、 ASP 指令和 ActiveX 元件建立動態(tài)、交互且高效的WEB 服務(wù)器應(yīng)用程序。有了 ASP 你就不必?fù)?dān)心客戶的瀏覽器是否能運行你所編寫的代碼,

20、因為所有的程序都將在服務(wù)器端執(zhí)行, 包括所有嵌在普通 HTML 中的腳本程序。當(dāng)程序執(zhí)行完畢后, 服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器, 這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。以下羅列了 ActiveServerPages所獨具的一些特點:1.使用 VBScript 、Jscript 等簡單易懂的腳本語言,結(jié)合 HTML 代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。2.無須 compile 編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。3.使用普通的文本編輯器,如Windows 的記事本,即可進行編輯設(shè)計。4.與瀏覽器無關(guān) (BrowserIndependence),用戶端只要使用可執(zhí)行HT

21、ML 碼的瀏覽器,即可瀏覽ActiveServerPages所設(shè)計的網(wǎng)頁內(nèi)容。ActiveServerPages所使用的腳本語言 (VBScript 、Jscript)均在 WEB 服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。5.ActiveServerPages能與任何 ActiveXscripting 語言相容。除了可使用VBScript 或 Jscript 語言來設(shè)計外,還通過plug-in 的方式,使用由第三方所提供的其他腳本語言,譬如REXX 、Perl、Tcl 等。腳本引擎是處理腳本程序的COM(ComponentObjectModel)物件。6.ActiveServe

22、rPages的源程序,不會被傳到客戶瀏覽器, 因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。7.可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。8.物件導(dǎo)向( Object-oriented)。9.ActiveXServerComponents(ActiveX 服務(wù)器元件 )具有無限可擴充性??梢允褂?VisualBasic、Java、VisualC+、COBOL 等編程語言來編寫你所需要的 ActiveXServerComponent。3.2ASP 內(nèi)置組件介紹什么叫組件 (ActiveServerCompontents)組件是基于 Activex 技術(shù)的代碼片斷,通過指定接口提供指定的

23、一組服務(wù),組件供給客戶端( Clients)在運行時候請求的對象。你可以理解成組件是一種程序,通過調(diào)用這種程序,你可以實現(xiàn)你在 ASP 程序中無法實現(xiàn)或者很難實現(xiàn)的功能,組件是一種很好的代碼重用方法。我們可以運用 ActiveServerPages設(shè)計制作動態(tài)、交互的Web 頁面,但是一旦你開始著手工作, 參與一些實際工作的時候, 你會發(fā)現(xiàn) asp 在某些方面功能不強,甚至不借助服務(wù)器端組件就很難實現(xiàn)某些功能,例如:數(shù)據(jù)庫操作(我們通常使用 ADO ,ADO 就是一個組件),郵件功能,文件系統(tǒng)操作,圖形功能 .但是幸運的是我們可以找到很多組件來提高ASP 編程應(yīng)用能力,下面對ASP內(nèi)置組件作簡

24、單的介紹。·ADROTATOR 組件廣告輪顯組件屬性 :Border,Clickable,TargetFarms方法 :GetAdvertisement·FILEACCESS 組件文件操作組件FileSystemObject 對象方法 :CreateTextFile,OpenTestFile,CopyFile,DeleteFile, FileExists,GetExtensionName,GetFile,GetFileName,MoveFile, CopyFolder,GetParentFolderName,GetSpecialFolder,GetTempName, Get

25、Drive,GetDriveName,DriveExists,Drives, GetAbsolutePathName,GetBaseName. ·CONTENTLINKING 組件此組件主要用于管理網(wǎng)頁網(wǎng)址間的超文本鏈接方法 :GetListCount,GetNextURL,GetPreviousDescription, GetListIndex,GetNthDescription,GetPreviousURL, GetNextDescription,GetNthURL. ·BROWERCAPABILITIES 組件瀏覽器性能組件屬性 :browser,version,ma

26、jorver,minorver,beta,Platform,ActiveXControls,backgroundsounds,Cookies,Frames, Javaapplets,Tables,Vbscript,Javascript,cdf.建立方法SetBrowerType=Server.CreateObject("MSWC.BrowserType")3.3SQL 語言在 ASP 中的應(yīng)用數(shù)據(jù)庫查詢語言( SQL)是使用于關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,被很多類型的數(shù)據(jù)庫所支持。 下面簡單介紹我們平時使用最頻繁, 也是本系統(tǒng)所使用的主要語句: SELECT 的語法以及使用。語句的

27、語法如下:SELECTall|*|distinctcolumn1,column2FROMtable1,table2WHEREcondition1|expression1ANDcondition2|rxpression2在上面的語法中, 外的語句是必須的, 而 內(nèi)的是可選的, 對于以 |分割的操作符,則表明語法中必須從|分割的操作符中選擇一個。下面的語法描述同上。在 SELECT.FROM.WHERE 語句中其中 SELECT 指定需要檢索的字段,F(xiàn)ROM 指定要查詢的表, WHERE 指定選擇紀(jì)錄的條件,另外還可以包含ORDERBY 語句來制定排序紀(jì)錄。語法如下:ORDERBYcolumn1|

28、IntegerASC|DESC其中column1 制定排序的字段,也可以使用Integer 指定的字段索引來排序, ASC為升序、DESC 為降序。在 SELECT 語句的 WHERE 中,我們可以使用操作符號 >來比較大小以及使用 LIKE 進行匹配。在 WHERE 語句中,可以使用的操作符有以下幾類:1、比較操作符包含 =、<>、>、<、>=、<=等若干類2、邏輯操作符包含以下若干類:LIKE 、IN 、BETWEEN 、UNIQUE 、ISNULL 、EXISTS、ALL 和ANYLIKE 操作符通過使用通配符將一個值同其它值比較,在ASP 的

29、SQL 查詢中,可以使用的通配符是 * 和其中 *代表任意的若干個字符,而代表一個字符,例如上面語句中的 LIKE '*Beginner* 代表查找所有包含字符串 Beginner 的值。不過要注意的是使用 * 和作為通配符是 VB 的專利。真正的 SQL 語言的通配符是 %和_,其中 %代表任意多個字符, _代表一個字符。另外 MicrosoftJetEngine對于 LIKE 操作符還提供了其它一些的過濾選項。IN 操作符用于比較某一個值是否等于幾個值中的一個值,例如下面的語句:"SELECTstu_name,YearFROMstudentWHEREYearIN(2001

30、,2002,2003)"將從表 Titles 中選擇所有在 2001,2002,2003年入學(xué)的學(xué)生名單。BETWEEN 操作符勇于在兩個值之間搜索,例如WHEREYearBETWEEN2000AND2003 指定入學(xué)年份必須在 1989 年和 1991 年之間。對于邏輯操作符,可以結(jié)合NOT 操作符實現(xiàn)改變查詢條件的方向。例如WHEREYearNOTIN(2001,2002,2003)3、連接符WHERE 中的連接符包括 AND 和 OR,使用 AND 時,所有查詢都必須是 True 時,條件才成立,而使用 OR 時,只要連接的一個查詢?yōu)?True,條件就成立。在使用比較操作符時要

31、注意, 在 ASP 操作數(shù)據(jù)庫引擎時對于查找的字符串,要使用單引號或者雙引號將字符串括起來,例如 WHEREName='LiGang' 。而對于日期類型的數(shù)據(jù),要使用 #號將日期括起來,例如WHEREBirthDay>#1980-10-01# 而在使用通配符和LIKE 操作符時,需要使用引號而不是 #號,例如 WHEREBirthDayLIKE"1990-01-*"。引號告訴數(shù)據(jù)庫引擎將日期當(dāng)字符串處理,而#號告訴數(shù)據(jù)庫引擎將日期當(dāng)數(shù)字處理。4 成教管理信息系統(tǒng)設(shè)計4.1 成教管理系統(tǒng)數(shù)據(jù)庫設(shè)計在概念設(shè)計階段中,應(yīng)該從用戶的角度看待數(shù)據(jù)及處理要求和約束

32、,產(chǎn)生一個反映用戶觀點的概念模式。然后再把概念模式轉(zhuǎn)換成邏輯模式。將概念設(shè)計從設(shè)計過程中獨立開來,使各階段的任務(wù)相對單一化,設(shè)計復(fù)雜程度大大降低,不受特定 DBMS 的限制。利用 ER 方法進行數(shù)據(jù)庫的概念設(shè)計,可分成三步進行:首先設(shè)計局部ER模式,然后把各局部 ER 模式綜合成一個全局模式,最后對全局 ER 模式進行優(yōu)化,得到最終的模式,即概念模式。(1)設(shè)計局部 ER模式 ( 如圖 4.1)實體和屬性的定義:學(xué)生id(自動編號 )、stu_name(姓名 )、stu_pw(密碼 )、stu_sex(性別 )、stu_card(身份證號 )、stu_id(準(zhǔn)考證號 )、 spe_name(專

33、業(yè) )、 stu_style(學(xué)習(xí)形式 )、stu_mz(民族 )、stu_jg(籍貫 )、stu_xh(學(xué)號 )、stu_zz(政治面貌 )、stu_jk(健康狀況 )、stu_hf(婚否 )、stu_cjgz(參加工作時間 )、stu_xl(入學(xué)前最高學(xué)歷 )、stu_rxsj(入學(xué)時間 )、stu_now_name(現(xiàn)在工作單位名稱 )、stu_now_address(詳細(xì)地址 )、stu_now_tel(聯(lián)系電話 )、stu_now_post(郵政編碼 )、stu_home(家庭地址 )、stu_resume(簡歷 )、stu_shgx(社會關(guān)系 )、stu_jysj( 結(jié)業(yè)時間 )、

34、 stu_byzh(畢業(yè)證編號 )、stu_xjbd(學(xué)籍變動情況 )、stu_date(注冊日期 )管理員表(超級管理員、 班主任)id( 自動編號 )、admin_name(管理員名 )、admin_pw(管理員密碼 )、 check(檢查是否為超級管理員)spe_name(專業(yè)名 )學(xué)生成績表 stu_xh(學(xué)生學(xué)號)、 cou_id(課程編號 )、stu_cj_1(學(xué)生第一次成績 )stu_cj_2(學(xué)生補考成績 )、 stu_cj_3(學(xué)生最終成績)畢業(yè)設(shè)計表 stu_xh(學(xué)生學(xué)號)、 gra_title(畢業(yè)論文題目 )、gra_teacher(指導(dǎo)老師 )、gra_db(答辯負(fù)

35、責(zé)人)、 gra_cj(答辯成績)獎懲情況表 stu_xh(學(xué)生學(xué)號)、 stu_award(獎懲情況 )課程表 cou_id(課程編號 )、 cou_name(課程名 )、cou_teacher(開課教師 )、cou_term(開課學(xué)期 )專業(yè)表 spe_name(專業(yè)名 )spe_teacher(班主任 )結(jié)業(yè)其時間它學(xué)號畢業(yè)證編號姓名圖 4.1 局部 ER 圖的設(shè)計示例 (部分屬性未列出 )MN學(xué)生成績課程1圖 4.2 聯(lián)系定義N專業(yè)擁有學(xué)生ER 模型的 “聯(lián)系 ”用于刻畫實體之間的關(guān)聯(lián)。 一種完整的方式是對局部結(jié)構(gòu)中任意兩個實體類型, 依據(jù)需求分析的結(jié)果, 考察局部結(jié)構(gòu)中任意兩個實體類

36、型MN1:1 等。還要擁有課程之間是否存在聯(lián)系。專若業(yè)有聯(lián)系,進一步確定是1:N,M:N ,還是考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,等等。聯(lián)系定義如圖4.2 所示。解釋如下:一個學(xué)生可以選擇多門課程學(xué)習(xí),而一門課程有多個學(xué)生學(xué)習(xí);一個專業(yè)可以擁有多名學(xué)生,而一名學(xué)生只能選擇一個專業(yè);一個專業(yè)可以擁有多門課程,而一門課程也可在不同的專業(yè)講授。(2)設(shè)計全局 ER模式所有局部 ER 模式都設(shè)計好了后,接下來就是把它們綜合成單一的全局概念結(jié)構(gòu)。全局概念結(jié)構(gòu)不僅要支持所有局部ER 模式,而且必須合理地表示一個完整、一致的數(shù)據(jù)庫概念結(jié)構(gòu)。班主任1

37、專業(yè)專業(yè)名擁有N1學(xué)生學(xué)生學(xué)號M課程編號擁有成績第一次成績N最終成績N課程課程編號圖 4.3 “成教管理系統(tǒng) ”的全局 ER 模式課程名(1)確定公共實體類型開課教師開課學(xué)期為了給多個局部 ER 模式的合并提供開始合并的基礎(chǔ), 首先要確定各局部結(jié)構(gòu)中的公共實體類型。 在這一步中我們僅根據(jù)實體類型名和鍵來認(rèn)定公共實體類型。一般把同名實體類型作為公共實體類型的一類候選,把具有相同鍵的實體類型作為公共實體類型的另一類候選。(2)局部 ER 模式的合并合并的原則是: 首先進行兩兩合并; 先和合并那些現(xiàn)實世界中有聯(lián)系的局部結(jié)構(gòu);合并從公共實體類型開始,最后再加入獨立的局部結(jié)構(gòu)。(3)消除沖突沖突分為三類

38、:屬性沖突、結(jié)構(gòu)沖突、命名沖突。設(shè)計全局 ER 模式的目的不在于把若干局部ER 模式形式上合并為一個ER模式,而在于消除沖突, 使之成為能夠被所有用戶共同理解和接受的同一的概念模型。(4)全局 ER 模式的優(yōu)化在得到全局 ER 模式后,為了提高數(shù)據(jù)庫系統(tǒng)的效率, 還應(yīng)進一步依據(jù)處理需求對 ER 模式進行優(yōu)化。 一個好的全局 ER 模式,除能準(zhǔn)確、 全面地反映用戶功能需求外, 還應(yīng)滿足下列條件: 實體類型的個數(shù)要盡可能的少; 實體類型所含屬性個數(shù)盡可能少;實體類型間聯(lián)系無冗余。綜上所述, “成教管理系統(tǒng) ”的全局 ER 模式圖 4.3 所示。本系統(tǒng)選用了 SQL2000 數(shù)據(jù)庫來進行數(shù)據(jù)庫的邏輯

39、設(shè)計。 首先創(chuàng)建一個數(shù)據(jù)庫:huoyan4.1-表 4.7所示。、然后建立七個基本數(shù)據(jù)庫表如表表 4.1 學(xué)生基本信息表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵必填說明字Stu_idint4是是自動編號stu_namenvarchar50否是學(xué)生姓名stu_pwnvarchar50否是密碼stu_sexnvarchar50否是性別stu_cardnumeric9否是身份證號stu_idnumeric9否否準(zhǔn)考證號spe_namenvarchar50stu_stylenvarchar50stu_mznvarchar50stu_jgnvarchar50stu_xhnumeric9stu_zznvarcha

40、r50stu_jknvarchar50stu_hfnvarchar50stu_cjgzdatetime8stu_xlnvarchar50stu_rxsj datetime 8 stu_now_name nvarchar 50 stu_now_address nvarchar 50stu_now_telnumeric9stu_now_postnumeric9stu_homenvarchar50stu_resumentext16stu_shgxntext16stu_jysjdatetime8stu_byzhnumeric9stu_datedatetime8stu_xjbdnvarchar50否是專

41、業(yè)否是學(xué)習(xí)形式否是民族否是籍貫是否學(xué)號否是政治面貌否是健康狀況否是婚否否否參加工作時間否是放學(xué)前最高學(xué)歷否是入學(xué)時間否否現(xiàn)在工作單位否是詳細(xì)地址否是聯(lián)系電話否是郵政編碼否是家庭地址否是簡歷否是社會關(guān)系否否結(jié)業(yè)時間否否畢業(yè)證編號否是注冊日期否否學(xué)籍變動情況表 4.2 學(xué)生成績表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵字必填說明idint4是是自動編號stu_xhnumeric9是是學(xué)生學(xué)號cou_idnumeric9stu_cj_1numeric9是是課程編號否是學(xué)生第一次成績stu_cj_2numeric9stu_cj_3numeric9否否學(xué)生補考成績否是學(xué)生最終成績表 4.3 課程表的結(jié)構(gòu)字段名數(shù)

42、據(jù)類型長度是否關(guān)鍵字必填說明idint4是是自動編號Cou_idnumeric9是是課程編號Spe_namenvarchar9否是所屬專業(yè)名cou_namenvarchar50否是課程名cou_teachernvarchar50否是開課教師cou_termnvarchar50否是開課學(xué)期表 4.4 專業(yè)表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵字必填說明idint4是是自動編號spe_namenvarchar50是是專業(yè)名teacher_pwnvarchar50否是班主任密碼spe_teachernvarchar50否是班主任表 4.5 畢業(yè)設(shè)計表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵字必填說明idint4

43、是是自動編號stu_xhnumeric15是是學(xué)生學(xué)號gra_titlenvarchar30否是畢業(yè)論文題目gra_teachernvarchar15否是指導(dǎo)老師gra_dbnvarchar15否是答辯負(fù)責(zé)人gra_cjnumeric10否是答辯成績表 4.6 管理員表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵字必填說明idint4是是自動編號Admin_checknvarchar50否否是否為超級管理員Spe_namenvarchar50admin_namenvarchar50admin_pwnvarchar50否是專業(yè)名否是管理員名否是管理員密碼表 4.7 新聞表的結(jié)構(gòu)字段名數(shù)據(jù)類型長度是否關(guān)鍵字必

44、填說明idnumeric15是是自動編號News_datedatetime50否是添加 /修改日期News_titlenvarchar50News_contentntext16否是新聞名否是新聞內(nèi)容4.2 學(xué)籍管理模塊的實現(xiàn)學(xué)籍管理模塊分成學(xué)生前臺注冊,管理員后員添加、 修改、刪除兩個板塊。學(xué)生前臺注冊不包括學(xué)號、 畢業(yè)證號等學(xué)生無權(quán)填寫的項目。 stu_reg.asp 文件包含 script 腳本語言對輸入數(shù)據(jù)進行檢查, 若不允許為空的字段未輸入數(shù)據(jù),則提示錯誤。對于學(xué)號等數(shù)字類型字段,由 stu_reg_save.asp進行驗證,若這些字段為非數(shù)字類型,則定義 SESSION("

45、ERROR")="YES" ,并response.Redirect("stu_reg.asp")跳轉(zhuǎn)到 stu_reg.asp文件,由 if 語句判斷并輸出出錯信息 “sorry!身份證號、準(zhǔn)考證號、學(xué)號、電話、郵編、畢業(yè)證編號必須為數(shù)字! ”。若所有輸入都正確,則連接數(shù)據(jù)庫huoyan,查詢并打開 student表 ,用 addnew方法將發(fā)出請求的數(shù)據(jù)錄入數(shù)據(jù)庫,并跳轉(zhuǎn)到成功頁面ok.htm。程序流程圖見圖 4.4Stu_reg.asp報錯否IF 判斷是Stu_reg_save.asp判斷輸入圖 4.4 程序流程圖是否完整stu_reg.a

46、sp-否學(xué)生注冊頁面 (部分代碼 )IF 判斷<!-#includefile="./include/conn.asp"->-/ 頭文件包含數(shù)據(jù)庫連接文件<!-#includefile="./include/pass.asp"是->-/ 頭文件包含密碼驗證文件<script>錄入判斷學(xué)號等字functionerror()段輸入是否正Student表Stu_edit.as修刪Stu_del.aspalert(" 請輸入姓名 !");returnfalse;搜索elsereturntrue;</sc

47、ript>-/<%Stu_search.asp檢查輸入是否完整正確ifSESSION("ERROR")="YES"then%><tablewidth="59%"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdheight="13"><divalign="center"><

48、spanclass="font1style2">sorry!身份證 號、準(zhǔn)考證號、學(xué)號、電話、郵編、畢業(yè)證編號必須為數(shù)字!</span></div></td></tr></table><%endifSESSION("ERROR")=""%>-/ 用 SESSION 方法檢查輸入錯誤,并顯示信息<formname="form1"method="post"action="stu_reg_save.asp&q

49、uot;onSubmit= "returnerror()">-<selectname="spe_id"size="1"id="spe_id"><%DIMRSSETRS=SERVER.CreateObject("ADODB.RECORDSET")SQL="SELECT*FROMspecialitywherespe_name='"&SESSION("SPE_NAME")&"'"RS.O

50、PENSQL,CONN,1,1DIMSPE_NAME:SPE_NAME=RS("spe_name")DIMID:ID=RS("id")%><optionselectedvalue="<%=ID%>"><%=SPE_NAME%></option> <%rs.closesetrs=Nothing%></select>-/用 speciality 中查詢并列出專業(yè)表供學(xué)生注冊時選擇-</form>用戶界面如圖 4.5 所示圖 4.5用戶前臺登陸查看檔案

51、界面stu_reg_save.asp學(xué)生學(xué)籍信息存入數(shù)據(jù)庫 (部分代碼 )<%DIMstu_card:stu_card=REQUEST("stu_card") If not(isnumeric(stu_card) Ornot(isnumeric(REQUEST("stu_id") ornot(isnumeric(REQUEST("stu_xh") Ornot(isnumeric(REQUEST("stu_now_post") ornot(isnumeric(REQUEST("stu_byzh")then SESSION("ERROR")="YES" response.Redirect("stu_reg.asp") ENDIF%>-/檢查學(xué)號等屬性是否為數(shù)字,如果不是數(shù)字類型,只跳轉(zhuǎn)到注冊頁面,并定義 session 方法<%DIMRSSETRS=SERVER.CreateObject("ADODB.RECORDSET")SQL="SELECT*FROMstudent

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論