教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無憂無慮畢設(shè)網(wǎng)_第1頁
教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無憂無慮畢設(shè)網(wǎng)_第2頁
教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無憂無慮畢設(shè)網(wǎng)_第3頁
教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無憂無慮畢設(shè)網(wǎng)_第4頁
教學(xué)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-無憂無慮畢設(shè)網(wǎng)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計(jì)站 ,免費(fèi)畢業(yè)設(shè)計(jì)論文 ,無憂無慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計(jì) ,出售各類畢業(yè)設(shè)計(jì)源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費(fèi)視頻教程 ,我們將竭誠(chéng)為您服務(wù)! 畢 業(yè) 設(shè) 計(jì)(論 文) 學(xué)院 信息工程學(xué)院 專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí) 1625 姓名 xucidong33 2007年 3 月 15 日 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 摘 要 教學(xué)信息管理系統(tǒng)是校園信息管理系統(tǒng)的一個(gè)有機(jī)組成部分 ,本文簡(jiǎn)要闡述了教學(xué)管理系統(tǒng)建設(shè)的意義以及系統(tǒng)的開發(fā)過程。教學(xué)管理系統(tǒng)采用當(dāng)前最流行的 Delphi 編程技術(shù),可以實(shí)現(xiàn)數(shù)據(jù)的高效、動(dòng)態(tài)、交互訪問,具有強(qiáng)大的 Server/Client 交互能力。本系統(tǒng)以Delphi7.0 SQL Sever 2000 為主要開發(fā)平臺(tái) ,從用戶的角度出發(fā),對(duì)教學(xué)管理系統(tǒng)的功能進(jìn)行了全面的分析。本系統(tǒng)實(shí)現(xiàn)的主要功能包括學(xué)生成績(jī)查詢、學(xué) 生資料查詢、教師資料查詢、單科成績(jī)?yōu)g覽、學(xué)年開課清單、學(xué)分計(jì)算、平均分計(jì)算、添加修改學(xué)生、教師、課程信息、刪除學(xué)生、教師、課程信息、數(shù)據(jù)庫的還原、備份、用戶信息的管理和維護(hù)及其它一些輔助功能。 在數(shù)據(jù)庫的建立上主要采用 Access 作為 關(guān)系數(shù)據(jù)庫 的 開發(fā)工具 。在數(shù)據(jù)庫的連接上采用 ADO 的數(shù)據(jù)庫訪問技術(shù)。 本文從開發(fā)平臺(tái)、運(yùn)行環(huán)境、系統(tǒng)設(shè)計(jì)和模塊實(shí)現(xiàn)等方面闡述了系統(tǒng)的設(shè)計(jì)以及開發(fā)過程, 從該系統(tǒng)的開發(fā)背景、系統(tǒng)功能、設(shè)計(jì)思路和一些程序開發(fā)的細(xì)節(jié)等方面進(jìn)行了論述。 尤其是詳細(xì)的說明了 學(xué)分計(jì)算、平均分計(jì)算、添加修改學(xué)生、教師 、課程信息、刪除學(xué)生、教師、課程信息、數(shù)據(jù)庫的還原、備份、用戶信息的管理和維護(hù) 這幾個(gè)模塊的設(shè)計(jì)與開發(fā)過程。 關(guān)鍵詞: Delphi SQL 教學(xué)管理系統(tǒng) 數(shù)據(jù)庫 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Abstract The teaching information management system is an organism that campus information manage the system to constitute the part, this text synopsis expatiated the teaching manages the meaning of system developments and the process of development of the systems.Teaching management system adoption front most popular of Delphi plait distance technique, can realize data efficiently, development, hand over to visit with each other, have the mighty Server/ Client hands over with each other ability.This system with Delphi7.0 SQLSever 2000 for main the terrace of development, set out from the angle of the customer, manage to the teaching the function of the system proceeded completely of analysis.The main function that this system realizes includes the student the score the search, student data search, teacher data search, single section score view, the academic year has a lecture detailed list, credit calculation, average cent calculation, increase to modify the student, teacher, course the information and delete the student, teacher, course the information, database restores, the management of the backup, customer information with support and other some assistance function.Establish the tool of development of the our main adoption in top Access conduct and actions relation database in the database.The database interview technique of the adoption ADO on the conjunction in database.This text is from the development terrace, circulate the environment, system design with mold a design for realizing etc. expatiating system and development processes, from the background of development, system function of that system, designed the way of thinking to proceed the treatise with details etc. that some procedure develop.Its is management that expatiation credit calculation, average cent calculation, increase to modify the student, teacher, course the information and delete the student, teacher, course the information, database restores, backup, customer information with design that support this a few molds piece and development process. Key Words: Delphi SQL teaching management system data-base 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 目 錄 摘 要 . I Abstract . III 目 錄 . IV 引 言 . 1 第 1 章 管理信息系統(tǒng)概述 . 2 1. 1 管理信息系統(tǒng)產(chǎn)生的背景 . 2 1. 2 管理信息系統(tǒng)的定義 . 3 1. 3 管理信 息系統(tǒng)的類型 . 4 1. 4 管理信息系統(tǒng)設(shè)計(jì)原則 . 5 第 2 章 開發(fā)工具的介紹 . 7 2. 1 Delphi 簡(jiǎn)介 . 7 2. 2 Delphi 的特點(diǎn) . 7 2. 3 Server 數(shù)據(jù)庫開發(fā) . 8 2. 4 ODBC 概述 . 8 第 3 章 系統(tǒng)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì) . 10 3. 1 系統(tǒng)設(shè)計(jì) . 10 3. 1. 1 系統(tǒng)功能分析 . 10 3. 1. 2 系統(tǒng)功能模塊設(shè)計(jì) . 10 3. 2 數(shù)據(jù)庫設(shè)計(jì) . 10 3. 2. 1 數(shù)據(jù)庫需求分析 . 10 3. 2. 2 數(shù)據(jù)庫概 念結(jié)構(gòu)設(shè)計(jì) . 11 3. 3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) . 13 第 4 章 教學(xué)管理系統(tǒng)的詳細(xì)設(shè)計(jì) . 15 4. 1 用戶登陸模塊 . 15 4. 2 系統(tǒng)模塊 . 15 4. 3 查詢模塊 . 15 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 4. 4 瀏覽模塊 . 16 4. 5 計(jì)算模塊 . 16 4. 6 維護(hù)模塊 . 16 4. 7 幫助模塊 . 17 第 5 章 動(dòng)態(tài)數(shù)據(jù)訪問的實(shí)現(xiàn) . 18 5. 1 數(shù)據(jù)庫的基礎(chǔ)知識(shí) . 18 5. 1. 1 數(shù)據(jù)庫技術(shù)的發(fā)展 . 18 5. 1. 2 數(shù)據(jù)庫 (DataBase,簡(jiǎn)稱 DB) . 20 5. 1. 3 表 (Table) . 21 5. 2 數(shù)據(jù)庫的建立 . 22 5. 3 ADO 簡(jiǎn)介 . 23 5. 4 用 ADO 連接數(shù)據(jù)庫 . 23 第 6 章 教學(xué)管理系統(tǒng)的開發(fā)過程 . 24 6. 1 登錄窗體 . 24 6. 2 主窗體 . 25 6. 3 系統(tǒng) . 25 6. 4 查詢 . 25 6. 4. 1 學(xué)生成績(jī)查詢 . 26 6. 4. 2 學(xué)生資料查詢 . 26 6. 4. 3 教師資料查詢 . 26 6. 5 瀏覽 . 26 6. 5. 1 單科成績(jī)?yōu)g覽 . 26 6. 5. 2 學(xué)年開課清單 . 27 6. 6 計(jì)算 . 27 6. 6. 1 學(xué)分累加計(jì)算 . 27 6. 6. 2 平均分計(jì)算 . 29 6. 6. 3 學(xué)生成績(jī)分布直方圖 . 30 6. 6. 4 計(jì) 算器 . 32 6. 7 維護(hù) . 32 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 6. 7. 1 添加學(xué)生信息 . 32 6. 7. 2 添加教師信息 . 34 6. 7. 3 添加課程信息 . 34 6. 7. 4 學(xué)生成績(jī)錄入 . 36 6. 7. 5 刪除學(xué)生記錄 . 38 6. 7. 6 刪除教師信息 . 39 6. 7. 7 刪除課程信息 . 40 6. 7. 8 刪除成績(jī)記錄 . 40 6. 7. 9 備份數(shù)據(jù)庫 . 41 6. 7. 10 還原數(shù)據(jù)庫 . 42 6. 7. 11 更改密碼 . 43 6. 7. 12 添加新用戶 . 43 6. 7. 13 刪除用戶 . 44 6. 8 幫助 . 45 6. 8. 1 給我發(fā)郵件 . 45 6. 8. 2 關(guān)于 . 45 6. 8. 3 系統(tǒng)信息 . 45 結(jié) 論 . 45 參考文獻(xiàn) . 46 謝 辭 . 47 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 引 言 教務(wù)管理是大學(xué)的主要日常管理工作之一,涉及到校、系、師、生的諸多方面,隨著教學(xué)體制的不斷改革,尤其是學(xué)分制、選課制的展開和深入,教務(wù)日常管理工作日趨繁重、復(fù)雜 , 迫切需要研制開發(fā)教 學(xué) 管理軟件。 國(guó)外高校一般具有較大規(guī)模的穩(wěn)定的技術(shù)隊(duì)伍來提供服務(wù)與技術(shù)支持,國(guó)內(nèi)高校 信息化建設(shè)相對(duì)起步較晚。在數(shù)字校園理論逐步應(yīng)用的過程中,各高校一方面不斷投資購建各種硬件、系統(tǒng)軟件和網(wǎng)絡(luò),另一方面也不斷開發(fā)實(shí)施了各類教學(xué)、科研、辦公管理等應(yīng)用系統(tǒng),形成了一定規(guī)模的信息化建設(shè)體系。但是,由于整體信息化程度相對(duì)落后,經(jīng)費(fèi)短缺,理論體系不健全等原因,國(guó)內(nèi)高校教務(wù)管理系統(tǒng)在機(jī)構(gòu)設(shè)置、服務(wù)范圍、服務(wù)質(zhì)量及人員要求上與國(guó)外高校相比都有一定的差距。 目前國(guó)家的教育體制也正處在不斷改革、創(chuàng)新的階段,我國(guó)教育部門充分吸取國(guó)外優(yōu)秀的教學(xué)模式,結(jié)合國(guó)內(nèi)多年的辦學(xué)經(jīng)驗(yàn),逐步探索出適合中國(guó)特色的教學(xué)形式,因此國(guó)家 教育部面向各級(jí)各類學(xué)校開展了全面學(xué)分制改革。因此,各院校迫切學(xué)要對(duì)自己的現(xiàn)有教務(wù)管理系統(tǒng)進(jìn)行改進(jìn)和提高, 根據(jù)國(guó)內(nèi)大學(xué)的現(xiàn)在管理模式,結(jié)合國(guó)際新的思想觀念,在校園網(wǎng)絡(luò)環(huán)境下建設(shè)先進(jìn)的、與國(guó)際水平接軌的信息化管理平臺(tái)。提高學(xué)校管理工作的現(xiàn)代化水平,使之成為學(xué)校公共信息服務(wù)體系的重要組成部分。 在這樣的大環(huán)境下,選擇了“教學(xué)管理信息系統(tǒng)”這個(gè)設(shè)計(jì)題目,符合實(shí)際需求。 教學(xué)信息 管理系統(tǒng)是高校教學(xué)、教務(wù)管理應(yīng)用軟件。熟悉教 學(xué) 管理工作的全部過程,從教 學(xué) 工作的實(shí)際出發(fā),解決工作中關(guān)鍵性的難點(diǎn)問題,實(shí)現(xiàn)教 學(xué) 工作全過程 的計(jì)算機(jī)管理,幫助具體管理人員從復(fù)雜煩瑣工作中解放出來。使得教務(wù)管理走向無紙化辦公和規(guī)范化、現(xiàn)代化管理 。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第 1 章 管理信息系統(tǒng)概述 1. 1 管理信息系統(tǒng)產(chǎn)生的背景 在過去的 30年中,各行各業(yè)往往都有不少管理人員和行政首腦孤立地看待數(shù)據(jù)處理和計(jì)算機(jī)。造成這種看法的原因是,數(shù)據(jù)處理 (DP)和信息服務(wù) (IS)人員不愿使用容易被用戶(即“使用”計(jì)算機(jī)的人員 )理解的語言同用戶進(jìn)行交流。管理人員對(duì)這種交流缺乏興趣和無能為力,導(dǎo)致延緩了計(jì)算機(jī)系統(tǒng)的開發(fā),從而在許多其它方面助長(zhǎng)了閉關(guān)自守和冗余勞動(dòng) 在用戶同信息服務(wù)人員的交流方面,沒有一個(gè)單位指望能做到盡善盡美,但是,確有某些單位已經(jīng)取得了比較好的成功經(jīng)驗(yàn)。用戶同信息服務(wù)人員配合默契的一些單位認(rèn)為:這種成功的原因在于,用戶已經(jīng)掌握了計(jì)算機(jī)和信息資源管理方面的基本知識(shí)??梢?,用戶管理人員掌握這方面的知識(shí)是非常必要的。誠(chéng)然,信息服務(wù)專業(yè)人員是具備這方面知識(shí) 妥善處理用戶同信息服務(wù)人員之間的關(guān)系,可以加強(qiáng)雙方的互相配合。為了建立和維護(hù)一個(gè)高質(zhì)量的信息系統(tǒng),各 方都必須尊重對(duì)方的意愿。系統(tǒng)質(zhì)量的優(yōu)劣是直接與用戶同 凡是那些不愿意掌握有關(guān)計(jì)算機(jī)和信息資源管理方面基本知識(shí)的用戶管理人員和行政首腦,必將成為落伍者,特別是在當(dāng)前這種鼓勵(lì)用戶直接參與信息系統(tǒng)開發(fā)過程的發(fā)展趨勢(shì)下。過去,用戶管理人員在很大程度上是依靠信息服務(wù)人員來推薦、開發(fā)和實(shí)現(xiàn)所需要的信息系統(tǒng)的。鑒于信息服務(wù)需要不斷的發(fā)展變化,現(xiàn)在把鑒別和提高系統(tǒng)的責(zé)任留給了用戶 這也是理所應(yīng)當(dāng)?shù)?。用戶更多地參與信息系統(tǒng)的開發(fā),這種趨勢(shì)早在 70 年代中期就開始了,而且,自那 時(shí)以后不斷地發(fā)展,現(xiàn)在已進(jìn)入了信息服務(wù)人員同用戶合作的時(shí) 用戶參與信息資源管理 (IRM)的典型事例表現(xiàn)在分布式數(shù)據(jù)處理 (DDP)方面。在這方面,用戶不僅要參加系統(tǒng)的開發(fā),而且還要負(fù)責(zé)管理系統(tǒng)運(yùn)行所需要的硬件設(shè)備和人員 3。 直到最近幾年,人們才認(rèn)識(shí)到:信息是一種資源,必須把這種有價(jià)值的資源加以利用,不使其白白浪費(fèi)掉。在競(jìng)爭(zhēng)激烈的環(huán)境里,管理人員和行政首腦必須有效地利用信息,不然就難以立足于不敗之地。過去,管理人員僅僅把計(jì)算機(jī)看成是省錢 的工具,而現(xiàn)在,計(jì)算機(jī)被看成是創(chuàng)造利潤(rùn)的工具。每個(gè)公司都有大量的、尚未發(fā)掘的、可利用計(jì)算機(jī)和信息資源的潛力。發(fā)掘這種潛力所需要具有的計(jì)算機(jī)和信息處理的知識(shí)水平,是大多數(shù)管理人無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 員和行政首腦力所能及的。 1. 2 管理信息系統(tǒng)的定義 管理信息系統(tǒng)( Management Information System,簡(jiǎn)稱 MIS)是從管理、信息、系統(tǒng)三個(gè)概念的基礎(chǔ)上發(fā)展起來的。它首先是一個(gè)系統(tǒng),其次是信息系統(tǒng),再次是一個(gè)用于管理方面的信息系統(tǒng)。一方面這說明了一切用于管理方面的信息系統(tǒng)均可認(rèn)為是管理信息系統(tǒng)。另一方面說 明這種信息系統(tǒng)不同于衛(wèi)星通信系統(tǒng),而強(qiáng)調(diào)其用在管理上。 管理信息系統(tǒng)綜合運(yùn)用了管理科學(xué)、系統(tǒng)科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)等學(xué)科的知識(shí)。 對(duì)于管理信息系統(tǒng)通俗的理解可以是: 管理信息系統(tǒng) =管理業(yè)務(wù) +數(shù)據(jù)庫 +通信網(wǎng)絡(luò)技術(shù) 對(duì)管理信息系統(tǒng)的理解可從廣義和狹義兩方面來理解。 廣義的說:管理信息系統(tǒng)是用系統(tǒng)思想建立起來的,以計(jì)算機(jī)為信息處理手段,以現(xiàn)代通信設(shè)備為基本傳輸工具,能為管理決策者提供服務(wù)的人機(jī)系統(tǒng)。 狹義的說:管理信息系統(tǒng)是一個(gè)由人和計(jì)算機(jī)等組成的,能進(jìn)行數(shù)據(jù)的收集、傳遞、儲(chǔ)存、加工、維護(hù)和使用的系統(tǒng), 它具有計(jì)劃、預(yù)測(cè)、控制和輔助決策等功能 5。 這個(gè)定義說明了管理信息系統(tǒng)不僅是一個(gè)技術(shù)系統(tǒng),而且要考慮人的行為,是個(gè)社會(huì)系統(tǒng),是個(gè)管理系統(tǒng)。所以說管理信息系統(tǒng)是一個(gè)人機(jī)系統(tǒng)。現(xiàn)代科學(xué)管理就是把管理過程數(shù)量化,用計(jì)算機(jī)解決問題以達(dá)到系統(tǒng)的目的。這是現(xiàn)代化管理的標(biāo)志。概括起來就是系統(tǒng)的觀點(diǎn)、數(shù)學(xué)的方法、計(jì)算機(jī)的應(yīng)用。 管理信息系統(tǒng)是一個(gè)人機(jī)系統(tǒng),但計(jì)算機(jī)并不一定是管理信息系統(tǒng)的必要條件。實(shí)際上,任何地方只要有管理,就要有信息,也就要管理信息系統(tǒng)。計(jì)算機(jī)的強(qiáng)大能力使管理信息系統(tǒng)更有效。問題不在于用不用計(jì)算機(jī),而 在于把什么樣的信息處理處理交給計(jì)算機(jī)更合適,什么樣的工作交給人更合適。人和計(jì)算機(jī)的聯(lián)系是什么?怎樣才能充分發(fā)揮人和計(jì)算機(jī)各自的特長(zhǎng),組成一個(gè)和諧、有效的系統(tǒng)?現(xiàn)在的管理信息系統(tǒng)都充分強(qiáng)調(diào)計(jì)算機(jī)的作用,所以也稱為計(jì)算機(jī)管理信息系統(tǒng),為了設(shè)計(jì)好人機(jī)系統(tǒng),系統(tǒng)設(shè)計(jì)者不僅要懂得計(jì)算機(jī),而且要懂得人,懂得協(xié)調(diào)和管理。 從事管理信息系統(tǒng)工作的高級(jí)人才被稱為系統(tǒng)分析員。他不單是一個(gè)技術(shù)人才而且也是個(gè)管理人才,對(duì)于一個(gè)系統(tǒng)分析員來說,了解基本組織功能,如市場(chǎng)、生產(chǎn)、人事、財(cái)務(wù)等和了解計(jì)算機(jī)一樣重要,了解決策和人機(jī)對(duì)話中人的 行為和了解程序知識(shí)一樣重要。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 一個(gè)系統(tǒng)分析員應(yīng)有兩方面的能力:一方面能從管理的目標(biāo)出發(fā),定義信息需求,另一方面能從系統(tǒng)出發(fā)定義計(jì)算機(jī)的硬件、軟件要求。他不僅要有反映現(xiàn)實(shí)的能力,而且應(yīng)當(dāng)有改造現(xiàn)實(shí)的能力。 管理信息系統(tǒng)的總體概念如圖 1-1 所示。 管 理 信 息 系 統(tǒng) 業(yè)務(wù) 信息 系統(tǒng) 圖 1-1 管理信息系統(tǒng)總體概念圖 其中數(shù)據(jù)庫中各子系統(tǒng)是不同單位根據(jù)自己不同情況進(jìn)行設(shè)計(jì),可以有一般有市場(chǎng)子系統(tǒng),生產(chǎn)子系統(tǒng),人事子系統(tǒng),財(cái)務(wù)子系統(tǒng)等其 他子系統(tǒng)。 管理信息系統(tǒng)概念結(jié)構(gòu)主要由四大部分組成,如圖 1-2 所示。 圖 1-2 管理信息系統(tǒng)概念結(jié)構(gòu)圖 1. 3 管理信息系統(tǒng)的類型 信息系統(tǒng)可以是人工的或基于計(jì)算機(jī)的,獨(dú)立的或綜合的,成批處理的或聯(lián)機(jī)的。通 1.獨(dú)立的系統(tǒng)是為了滿足某個(gè)特定的應(yīng)用領(lǐng)域 (如,人事管理 )而設(shè)計(jì)的。獨(dú)立系統(tǒng)有 2.綜合的信息系統(tǒng)通過它們使用 的數(shù)據(jù)而被綜合在一起。系統(tǒng)利用一個(gè)資源共享的數(shù)據(jù)庫來達(dá)到綜合的目的。 高級(jí)管理人員(計(jì)劃控制決策) 中級(jí)管理人員(計(jì)劃控制決策) 計(jì)算機(jī) 職能人員 中央數(shù)據(jù)庫 子系統(tǒng) 1 子系統(tǒng) 2 子系統(tǒng) n 子系統(tǒng) 3 數(shù)據(jù)源 信息用戶 信息管理者 信息處理者 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 3.以人工系統(tǒng)為基礎(chǔ)已經(jīng)開發(fā)出各種各樣的計(jì)算機(jī)信息系統(tǒng)。到目前為止,在進(jìn)行人工“計(jì)算機(jī)化”時(shí),仍然缺乏設(shè)計(jì)經(jīng)驗(yàn)和 (或 )缺少信息服務(wù)人員與用戶之間的交流。也就是說,基于計(jì)算機(jī)的系統(tǒng)的工作流程直接借鑒了人工系統(tǒng)的工作流程。通常這些系統(tǒng)是獨(dú)立的,而且把計(jì)算機(jī)僅僅用作為數(shù)據(jù)處理機(jī)。在設(shè)計(jì)這些系統(tǒng)時(shí),很少考慮到最終要將它 4.信息系統(tǒng)也能按成批處理、聯(lián)機(jī)處理或二者組合來分類。在成批處理系統(tǒng)中,將事務(wù)和數(shù)據(jù)分批地處理或產(chǎn)生報(bào)表 即使出現(xiàn)了信息資源管理 (IRM)系統(tǒng),而且計(jì)算機(jī)信息系統(tǒng)的潛力得到了廣泛的承認(rèn)之后,大多數(shù)系統(tǒng)仍然是獨(dú)立的成批處理系統(tǒng)。如今這些系統(tǒng)中多數(shù)已經(jīng)失去了使用價(jià)值,而且被重新設(shè)計(jì)成綜合的、聯(lián)機(jī)的系統(tǒng)。通過定義可知,“綜合”要求業(yè)務(wù)領(lǐng)域經(jīng)理和公司領(lǐng)導(dǎo)密切地合作。信息服務(wù)專業(yè)人員可以作為顧問,而有關(guān)綜合信息系統(tǒng)與業(yè)務(wù)領(lǐng)域的沖突和差異則應(yīng)該由用戶團(tuán)體來解決。解決這些差異以真正實(shí)現(xiàn)綜合的環(huán)境是信息服務(wù)人員向用戶經(jīng)理提出的挑戰(zhàn) 14 1. 4 管理信息系統(tǒng)設(shè)計(jì)原則 管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)是一項(xiàng)系 統(tǒng)工程,為了保證系統(tǒng)的質(zhì)量,設(shè)計(jì)人員必須遵守共同的設(shè)計(jì)原則,盡可能的提高系統(tǒng)的各項(xiàng)指標(biāo)。具體的設(shè)計(jì)原則如下: 1.實(shí)用性原則 要力求最大限度的滿足工作的需要,充分考慮個(gè)業(yè)務(wù)層次、各管理環(huán)節(jié)數(shù)據(jù)處理的實(shí)用性,把滿足用戶生產(chǎn)和管理業(yè)務(wù)作為第一要素進(jìn)行考慮。用戶接口和操作界面設(shè)計(jì)盡可能作到界面美觀大方,操作簡(jiǎn)便實(shí)用。 2.可擴(kuò)展性與可維護(hù)性原則 為適應(yīng)將來的發(fā)展,系統(tǒng)應(yīng)具有良好的可擴(kuò)展性與可維護(hù)性,軟件設(shè)計(jì)盡可能模塊化、組件化,使應(yīng)用系統(tǒng)可靈活配置,適應(yīng)不同的情況。數(shù)據(jù)庫的設(shè)計(jì)盡可能考慮到未來的需要。 3.安全可 靠性原則 應(yīng)用軟件與數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)要作到安全可靠,防止非法用戶的入侵。數(shù)據(jù)庫的備份策略恰當(dāng),以防止災(zāi)難性事故發(fā)生。 4.用戶界面設(shè)計(jì)原則 圖形化原則:用戶界面的是設(shè)計(jì)應(yīng)符合規(guī)范的圖形用戶界面,作到美觀大方。用戶界無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 面應(yīng)當(dāng)直接、明了、條理清晰。實(shí)現(xiàn)傻瓜性管理 易學(xué)、易用、易管理。 5.數(shù)據(jù)庫設(shè)計(jì)原則 ( 1)一致性原則:對(duì)系統(tǒng)進(jìn)行統(tǒng)一、系統(tǒng)的分析與設(shè)計(jì),協(xié)調(diào)好各數(shù)據(jù)源,作到數(shù)出一門、算法統(tǒng)一、度量統(tǒng)一。保證系統(tǒng)數(shù)據(jù)的一致性和有效性。 ( 2)完整性原則:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和有效性。要防止合法用戶使用數(shù) 據(jù)庫時(shí)向數(shù)據(jù)庫加入不規(guī)范的數(shù)據(jù)。對(duì)輸入到數(shù)據(jù)庫中的數(shù)據(jù)要有審核和約束機(jī)制。 ( 3)可伸縮性原則:數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)應(yīng)充分考慮發(fā)展的需要、移植的需要,具有良好的擴(kuò)展性、伸縮性和適度冗余。 規(guī)范化數(shù)據(jù)庫的設(shè)計(jì):應(yīng)遵循規(guī)范化理論,規(guī)范化程度過低,可能會(huì)存在插入、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問題,解決的方法就是對(duì)關(guān)系模式進(jìn)行分解或合并,轉(zhuǎn)換成高級(jí)范式。但也應(yīng)當(dāng)注意到,并不是規(guī)范化程度越高就越好。當(dāng)一個(gè)應(yīng)用的查詢中經(jīng)常設(shè)計(jì)到兩個(gè)或多個(gè)關(guān)系模式的屬性時(shí),系統(tǒng)就必須經(jīng)常的進(jìn)行連接運(yùn)算,而連接運(yùn)算的代價(jià)是非常高的。所以,在 具體應(yīng)用時(shí)到底規(guī)范化進(jìn)行到身摸程度需要權(quán)衡利弊。一般而言,作到第三范式就足夠了 4。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第 2 章 開發(fā)工具的介紹 2. 1 Delphi 簡(jiǎn)介 Delphi是著名的 Borland(現(xiàn)在已和 Inprise 合并)公司開發(fā)的可視化軟件開發(fā)工具?!?真正的程序員用 c,聰明的程序員用 Delphi” ,這句話是對(duì) Delphi 最經(jīng)典、最實(shí)在的描述。 Delphi被稱為第四代編程語言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。和 VC相比,Delphi更簡(jiǎn)單、更易于掌握,而在功能上卻絲毫不遜色;和 VB相比, Delphi則功能更強(qiáng)大、更實(shí)用??梢哉f Delphi 同時(shí)兼?zhèn)淞?VC 功能強(qiáng)大和 VB 簡(jiǎn)單易學(xué)的特點(diǎn)。它一直是程序員至愛的編程工具。 Delphi具有以下的特性:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強(qiáng)大的數(shù)據(jù)庫支持,與 Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是 Object Pascal語言,它才是一切的根本。 Object Pascal 語言是在 Pascal 語言的基礎(chǔ)上發(fā)展起來的,簡(jiǎn)單易學(xué)。 Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯( Image Editor),以及各種開發(fā)數(shù)據(jù)庫的應(yīng) 用程序,如 DesktopDataBase Expert 等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如 Borland公司的資源編輯器( Resourse Workshop)。 在 Delphi 眾多的優(yōu)勢(shì)當(dāng)中,它在數(shù)據(jù)庫方面的特長(zhǎng)顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機(jī)服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件 1。 Delphi發(fā)展至今,不斷添加和改進(jìn)各種特性,功能越來越強(qiáng)大。 2. 2 Delphi 的特點(diǎn) 企業(yè)應(yīng)用的 MDA開發(fā)。通過讓開發(fā)者從設(shè)計(jì)到部署都使用一個(gè)應(yīng)用,加速了開發(fā)進(jìn)程,同時(shí)顯著縮小了代碼量,并節(jié)省了開發(fā)時(shí)間。 可視化的快速 Web 開發(fā)。讓開發(fā)著能夠在 Delphi7環(huán)境中可視化的創(chuàng)建 Web應(yīng)用,并利用用他的應(yīng)用模型框架,不必在考慮應(yīng)用器端的開發(fā)任務(wù),還能透明的處理會(huì)話管理。 內(nèi)建的 Linux 的跨平臺(tái)支持。 Delphi7 在出售時(shí)將附帶 Delphi 語言版本的Kylix3.Kylix3 是第一個(gè)在 Linux 操作系統(tǒng)上的高性能的可視化整合開發(fā)環(huán)境,它適合用來快速創(chuàng)建數(shù)據(jù)庫應(yīng)用、 GUI應(yīng)用、 Web應(yīng)用和 Web服務(wù)應(yīng)用 1。 企業(yè)級(jí)的報(bào)表能力。讓開發(fā)者能夠創(chuàng)建跨平臺(tái)的報(bào)表,這些報(bào)表能幫助查看應(yīng)用程序無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 運(yùn)行的效率。 免費(fèi)的 DataSnap多層應(yīng)用開發(fā)。新的 Delphi7 的 DataSnap授權(quán)協(xié)議允許開發(fā)者無縫的升級(jí)單層和客戶 /服務(wù)器應(yīng)用到多層應(yīng)用,而無需額外的運(yùn)行時(shí)使用費(fèi)。 Windows XP 應(yīng)用。 Delphi7 對(duì) Windows XP 風(fēng)格的支持,讓開發(fā)者能夠創(chuàng)建可以利用Window XP 使用者界面風(fēng)格的應(yīng)用。 2. 3 Server 數(shù)據(jù)庫開發(fā) 本系統(tǒng)的數(shù)據(jù)庫應(yīng)用了 SQL Server2000 ,是由 Microsoft 公司推出的數(shù)據(jù)庫管理系統(tǒng),它是一個(gè)大型數(shù)據(jù)庫管理系統(tǒng)。具有的特點(diǎn)有: (1)簡(jiǎn)單的圖形化管理工具。 (2) 隱含的開發(fā)控制能力:可以利用動(dòng)態(tài)鎖定功能,防止用戶在查詢和更新并發(fā)操作時(shí)相互間發(fā)生沖突。 (3)豐富的編程接口工具:提供了 Transact_SQL,DB_Library for C 等開發(fā)工具。 (4)資源優(yōu)化: SQL SERVER 2000 是 Microsoft 服務(wù)器套件 Backoffice 的成員之一,它與其他軟件有機(jī)結(jié)合并充分利用它們所提供的服務(wù)功能(如安全管理、時(shí)間日制等),從而增強(qiáng) SQL SERVER數(shù)據(jù)庫系統(tǒng)的功能,并且僅占用較少的系統(tǒng)資源 2。 (5)具有很好的伸縮性:既能運(yùn)行在 Windows 2000 下,又可運(yùn)行在 Windows NT Server 等操作系統(tǒng)下。 由以上 SQL SERVER 的特點(diǎn)可知, SQL Server 既具有小型數(shù)據(jù)庫的靈活性,又繼承大型數(shù)據(jù)庫的許多優(yōu)點(diǎn),在性能和安全方面完全可以勝任本系統(tǒng)的要求,維護(hù)管理是十分方便的。 2. 4 ODBC 概述 在 Internet 上,訪問的數(shù)據(jù)庫資源很豐富,種類也是各種各樣,常見的 Web 數(shù)據(jù)庫就有 ORACLE、 Sybase、 MS SQL Server、 Informix 等等,它們運(yùn)行在不同的操作平臺(tái)下,具有不同的結(jié)構(gòu)體系。這樣就需要一種統(tǒng)一的方法來實(shí)現(xiàn)對(duì)各種數(shù)據(jù)庫的訪問。 ODBC 的出現(xiàn)為解決了這個(gè)問題。 ODBC( Open Database Connectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)( WOSA,Windows Open Servieces Architecture)中有關(guān)數(shù)據(jù)庫方面的一個(gè)組成部分,它建立了一組規(guī)范。該規(guī)范為應(yīng)用程序提供了一組對(duì)數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)和基于動(dòng)態(tài)鏈接庫的運(yùn)無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 行支持環(huán)境。開發(fā) ODBC 接口可以使創(chuàng)建與多個(gè)數(shù)據(jù)庫系統(tǒng)進(jìn)行交互的應(yīng)用程序。在使用ODBC 開發(fā)的數(shù)據(jù)庫應(yīng)用程序時(shí),應(yīng)用程序調(diào)用的是標(biāo)準(zhǔn)的 ODBC 函數(shù)和 SQL 語句,數(shù)據(jù)庫的底層操作由各個(gè)數(shù)據(jù)庫的驅(qū)動(dòng)程序完成。而對(duì)用戶來說, ODBC 的驅(qū)動(dòng)程序屏蔽了不同數(shù)據(jù)庫系統(tǒng)間的差異,使得用 ODBC 編寫數(shù)據(jù)庫應(yīng)用程序可以運(yùn)行在不同的數(shù)據(jù)庫環(huán)境下。這樣應(yīng)用程序就具有很好的可移植性和適應(yīng)性,從而徹底的克服了傳統(tǒng)數(shù)據(jù)庫的缺陷 2。 ODBC 從結(jié)構(gòu)層次上可以分為四個(gè)部分: (1) ODBC 應(yīng)用程序; (2) 驅(qū)動(dòng)程序管理器; (3) 數(shù)據(jù)庫驅(qū)動(dòng)程序; (4) 數(shù)據(jù)源; 在 ODBC 的體系結(jié)構(gòu)中,數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實(shí)際上是一 種數(shù)據(jù)連接的抽象。數(shù)據(jù)源位于底層,是應(yīng)用程序與數(shù)據(jù)庫系統(tǒng)連接的橋梁,它為 ODBC應(yīng)用程序指定數(shù)據(jù)庫系統(tǒng)的服務(wù)器名稱,以及用戶的缺省連接參數(shù)等。 ODBC 應(yīng)用程序不能直接存取數(shù)據(jù)庫,它將所要執(zhí)行的操作提交給數(shù)據(jù)庫驅(qū)動(dòng)程序,通過數(shù)據(jù)庫驅(qū)動(dòng)程序?qū)崿F(xiàn)對(duì)數(shù)據(jù)源的各種操作,數(shù)據(jù)庫的操作結(jié)果也通過數(shù)據(jù)庫驅(qū)動(dòng)程序返回給應(yīng)用程序。而驅(qū)動(dòng)程序管理器的作用是裝載 ODBC 驅(qū)動(dòng)程序、管理數(shù)據(jù)源、檢查 ODBC 調(diào)用參數(shù)的合法性等。作為底層的數(shù)據(jù) 庫應(yīng)用程序由三部分組成;初始化、程序主體和結(jié)束部分。它的主要任務(wù)是:建立或斷開與數(shù)據(jù)源的連接、向數(shù)據(jù)源發(fā)送 SQL 請(qǐng)求并為 SQL 語句的執(zhí)行結(jié)果分配存儲(chǔ)空間、讀取執(zhí)行結(jié)果并向用戶提交該結(jié)果、處理錯(cuò)誤等 9。圖 2-1 表示了這些組成部分。 ODBC 數(shù)據(jù)庫應(yīng)用程序 驅(qū)動(dòng)程序管理器 SQL Server 驅(qū)動(dòng)程序 FoxPro 驅(qū)動(dòng)程序 ORACLE 驅(qū)動(dòng)程序 SQLServer 驅(qū)動(dòng)程序 FoxPro 驅(qū)動(dòng)程序 ORACLE 驅(qū)動(dòng)程序 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 2-1 ODBC 結(jié)構(gòu)圖 第 3 章 系統(tǒng)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì) 3. 1 系統(tǒng)設(shè)計(jì) 3. 1. 1 系統(tǒng)功能分析 本系統(tǒng)主要有以下功能要求 : ( 1)登陸,包括:注銷和退出; ( 2)查詢 , 包括 : 學(xué)生成績(jī)查詢、學(xué)生資料查詢、教師資料查詢; ( 3)瀏覽 , 包括:?jiǎn)慰瞥煽?jī)?yōu)g覽、學(xué)年開課清單; ( 4)計(jì)算,包括:學(xué)分計(jì)算、平均分計(jì)算和方差計(jì)算; ( 5)維護(hù),包括: 填加修改刪除學(xué)生、教師、課程信息、數(shù)據(jù)庫的還原、備份及用戶信息的維護(hù); ( 6)幫助,包括:關(guān)于、給我發(fā)郵件、系統(tǒng)信息。 3. 1. 2 系統(tǒng)功能模塊設(shè)計(jì) 根據(jù)系統(tǒng)功能要求,可 以將系統(tǒng)分解成幾個(gè)功能模塊來設(shè)計(jì),功能模塊如圖 3-1 所示。 3. 2 數(shù)據(jù)庫設(shè)計(jì) 3. 2. 1 數(shù)據(jù)庫需求分析 根據(jù)數(shù)據(jù)流程 ,教學(xué)管理信息系統(tǒng)需要以下數(shù)據(jù)項(xiàng) : ( 1) 登陸表:用戶名、密碼、權(quán)限、角色; ( 2) 課程表 :課程名稱、講課、學(xué)時(shí)、學(xué)分、課程狀態(tài); ( 3) 課程類型表:課程編號(hào)、課程類型; ( 4) 成績(jī)類別表:成績(jī)類別、人數(shù); ( 5) 成績(jī)表 :記錄編號(hào)、課程名稱、教師姓名、學(xué)年、學(xué)期、成績(jī)、課程狀態(tài); ( 6) 學(xué)生表 :學(xué)號(hào)、姓名、性別、籍貫、生日、電話、電子郵箱; ( 7) 教師表 :員工號(hào)、姓名、所在教研室、性別 、電話、電子郵箱、職稱 。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 3. 2. 2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 為了把用戶的數(shù)據(jù)要求清晰的表達(dá)出來,要建立一個(gè)概念性數(shù)據(jù)模型(也稱信息模型)。概念模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模。它描述了從用戶的角度看到的問題,它反映了用戶的現(xiàn)實(shí)環(huán)境,且與軟件系統(tǒng)中的現(xiàn)實(shí)方法無關(guān)。最常用的表示概念模型的方法是實(shí)體 -聯(lián)系方法,下面用 ER 圖概述描述現(xiàn)實(shí)世界中的實(shí)體。 圖 3-2 是本系統(tǒng)所需數(shù)據(jù)的 E-R 模型圖。 教學(xué)管理信息系統(tǒng) 系統(tǒng) 計(jì)算 幫助 維護(hù) 學(xué)生成績(jī)查詢 教師資料查詢 學(xué)生資料查詢 查詢 單科成績(jī)?yōu)g覽 學(xué)年開課清單 瀏覽 學(xué)生信息 教師信息 添加修改記錄 課程信息 刪除記錄 備份記錄 還原數(shù)據(jù) 帳戶 學(xué)生成績(jī) 學(xué)生信息 教師信息 課程信息 學(xué)生信息 更改密碼 添加帳戶 刪除帳號(hào) 學(xué)分計(jì)算 平均分計(jì)算 計(jì)算器 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 3-1 教學(xué)信息管理系統(tǒng)功能模塊圖 N 1 M 1 1 1 N N 1 1 N N 圖 3-2 教學(xué)信息管理系統(tǒng) E-R 圖 課程信息表 學(xué)時(shí) 學(xué)分 課程類型 課程名 教課 教師 姓名 性別 郵 箱 年齡 照片 職稱 電話 教研室 登陸信息 密碼 級(jí)別 用戶名 登陸 登陸 用戶角色 教學(xué) 學(xué)生 學(xué)號(hào) 姓名 照片 性別 籍貫 郵箱 電話 生日 查看 錄入 成績(jī)表 成績(jī) 學(xué)年 學(xué)期 授課教師 課程名 課程類型 學(xué)號(hào) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 3. 3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 根據(jù)上面的圖 , 需要七個(gè)基本信息表 : 課程表、課程類型表、成績(jī)表、學(xué)生表、教師表、登陸表、成績(jī)類別表。 此外 ,需要對(duì)不同的人員進(jìn)行密碼驗(yàn)證和權(quán)限的限制 ,防止出現(xiàn)越權(quán)行為。用戶名、密碼和權(quán)限單獨(dú)保存在一個(gè)表中。這 7個(gè)數(shù)據(jù) 表的結(jié)構(gòu)如下所示。 表 3-1 COURSE 表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 CNAME 文本 30 NOT NULL 課程名(主關(guān)鍵字) SDUDYTIME 數(shù)字 整型 NOT NULL 學(xué)時(shí) CREDIT 數(shù)字 單精度型 NOT NULL 學(xué)分 TYPENO 數(shù)字 整型 NOT NULL 課程類型(外部關(guān)鍵字) 表 3-2 COURSETYPE 表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 TYPENO 數(shù)字 長(zhǎng)整型 NOT NULL 課程編號(hào)(主關(guān)鍵字) TYPENAME 文本 10 NOT NULL 課程類型 表 3-3 GRADE 表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 SNO 文本 8 NOT NULL 學(xué)號(hào)(主關(guān)鍵字) CNAME 文本 30 NOT NULL 課程名(外部關(guān)鍵字) TNAME 文本 8 NOT NULL 教師姓名 GRADE 文本 6 NOT NULL 成績(jī) YEAR 數(shù)字 長(zhǎng)整型 NOT NULL 學(xué)年(外部關(guān)鍵字) TERM 文本 2 NOT NULL 學(xué)期(外部關(guān)鍵字) TYPE 文本、 8 NOT NULL 考試 類型(外部關(guān)鍵字) 表 3-4 STUDENT 表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 SNO 文本 8 NOT NULL 學(xué)號(hào)(主關(guān)鍵字) SNAME 文本 8 NOT NULL 學(xué)生姓名 SSEX 文本 2 NOT NULL 性別 JIGUAN 文本 20 NOT NULL 籍貫 BIRTHDAY 日期 /時(shí)間 / NOT NULL 生日 TEL 文本 15 NOT NULL 電話 EMAIL 文本 50 NOT NULL 電子郵箱 PHOTO OLE 對(duì)象 / NULL 照片 表 3-5 SYS 表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 USER 文本 5 NOT NULL 用戶名(主關(guān)鍵字) PSW 文本 10 NOT NULL 密碼 TYPE 文本 1 NOT NULL 用戶類型 ROLE 文本 16 NOT NULL 用戶角色 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 表 3-6 TEMP表 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 AREA 文本 20 NOT NULL 成績(jī)類別(主關(guān)鍵字) COUNT 數(shù)字 整型 NOT NULL 人數(shù) 表 3-7 TEACHER 字段名 數(shù)據(jù)類型 字段大小 是否可空 說明 TNAME 文本 8 NOT NULL 教師姓名(主關(guān)鍵字) TSEX 文本 2 NOT NULL 教師性別 TEL 文本 15 NOT NULL 電話 EMAIL 文本 30 NOT NULL 電子郵箱 AGE 數(shù)字 整型 NOT NULL 年齡 JIAOYANSHI 文本 10 NOT NULL 教研室 ZHICHENG 文本 10 NOT NULL 職稱 PHOTO OLE 對(duì)象 / NULL 照片 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第 4 章 教學(xué)管理系統(tǒng)的詳細(xì)設(shè)計(jì) 4. 1 用戶登陸模塊 登錄系統(tǒng)是為防止非法用戶進(jìn)入系統(tǒng)而設(shè)計(jì)的。主要用于辨認(rèn)操作員身份,以確定其使用權(quán)限。用戶登陸,關(guān)鍵是驗(yàn)證用戶名稱和口令,用戶進(jìn)入系統(tǒng)要在登陸帳號(hào)的文本框中添入自己申請(qǐng)的帳號(hào),然后添入相應(yīng)的密碼。程序以輸入的用戶名和密碼為條件從密碼權(quán)限表中查詢數(shù)據(jù),只有注冊(cè)過的用戶,正確輸入登陸帳號(hào),以及確認(rèn)密碼無誤之后才能進(jìn)入系統(tǒng)。如果用戶輸入的登陸帳號(hào)和與之相對(duì)應(yīng)的密碼錯(cuò)誤的時(shí)候,系統(tǒng)會(huì)顯示“密碼或用戶名錯(cuò)誤!請(qǐng)檢查!”,這樣 就需要重新返回登陸界面重新登陸了。如果連續(xù)三次輸入錯(cuò)誤的用戶名和密碼,系統(tǒng)會(huì)提示對(duì)話框:“對(duì)不起,你已連續(xù)三次輸入錯(cuò)誤!”,然后退出系統(tǒng)。 4. 2 系統(tǒng)模塊 系統(tǒng)模塊主要包括兩個(gè)方面:注銷,退出。點(diǎn)擊注銷按鈕時(shí)回退出系統(tǒng)主界面,返回到登陸窗口,允許下一位用戶繼續(xù)登陸,點(diǎn)擊退出時(shí)將關(guān)閉整個(gè)應(yīng)用程序。 4. 3 查詢模塊 查詢模塊主要包括三個(gè)方面:學(xué)生成績(jī)查詢、學(xué)生資料查詢、教師資料查詢。 學(xué)生成績(jī)查詢:在期末輸入成績(jī)單后,學(xué)生可以在查詢成績(jī)界面中查看自己的學(xué)科成績(jī)。 登錄成績(jī)查詢界面后 ,需要輸入學(xué)生編號(hào)、開課年份 ,然后在課程名稱下拉列表中會(huì)自動(dòng)顯示已修課程,選擇相應(yīng)課程,單擊查詢按鈕,即可顯示相應(yīng)課程成績(jī)。 學(xué)生資料查詢: 登錄學(xué)生資料界面后 ,輸入學(xué)生編號(hào),單擊查詢按鈕,即可顯示相應(yīng)的學(xué)生信息。 教師資料查詢: 教師資料查詢與學(xué)生資料查詢相類似,登錄教師資料查詢界面后 ,需無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 要輸入教師姓名,單擊查詢按鈕,即可顯示相應(yīng)教師信息。 4. 4 瀏覽模塊 瀏覽模塊主要包括兩個(gè)方面:?jiǎn)慰瞥煽?jī)?yōu)g覽,學(xué)年開課清單。 單科成績(jī)?yōu)g覽:學(xué)生對(duì)錄入成績(jī)的查詢是教學(xué)管理系統(tǒng)的一個(gè)重要組成部分,因此有必要開發(fā)一個(gè)成績(jī)查詢窗體,它主要設(shè)計(jì)數(shù)據(jù)的查詢。 登 陸成績(jī)?yōu)g覽界面后,選擇要查詢的年份及學(xué)期信息,便可查詢相應(yīng)的考試成績(jī)。 學(xué)年開課清單: 學(xué)年開課清單與單科成績(jī)?yōu)g覽界面像類似, 登陸界面后,選擇要查詢的年份及學(xué)期信息,這一學(xué)年的開課信息就可以顯示在列表中瀏覽。 4. 5 計(jì)算模塊 計(jì)算模塊主要包括兩個(gè)方面:學(xué)分計(jì)算、平均分計(jì)算。 學(xué)分計(jì)算: 學(xué)分累加計(jì)算主要用于查詢學(xué)生已修課程的累計(jì)學(xué)分,在此界面中,輸入要查詢的學(xué)號(hào)及課程類型,系統(tǒng)會(huì)自動(dòng)統(tǒng)計(jì)合格學(xué)分及不合格學(xué)分并顯示在列表框中。同時(shí)可以查看所有以修課程的成績(jī)信息。 平均分計(jì)算:平均分是反映學(xué)生的整體學(xué)習(xí)效果,是學(xué) 生總體成績(jī)情況的直觀體現(xiàn),因此在此系統(tǒng)中,設(shè)計(jì)了平均分計(jì)算模塊。 輸入要查詢的年份、課程名稱及教師姓名,學(xué)生的平均分會(huì)自動(dòng)計(jì)算出來并顯示,此外還可以生成一個(gè)學(xué)生成績(jī)分布直方圖。 4. 6 維護(hù)模塊 維護(hù)模塊主要包括三個(gè)方面:添加修改學(xué)生信息、教師信息、課程信息、學(xué)生成績(jī),刪除學(xué)生信息、教師信息、課程信息、學(xué)生成績(jī),備份數(shù)據(jù)庫,還原數(shù)據(jù)庫,更改密碼,添加帳號(hào)、刪除帳號(hào)。 添加修改學(xué)生信息、教師信息、課程信息、學(xué)生成績(jī)四個(gè)小模塊的窗體大致相同,只是實(shí)現(xiàn)的具體操作各有不同,以下以“添加學(xué)生信息”為例介紹本部分功能。當(dāng) 需要更新一個(gè)全新的學(xué)生信息后就可以在“添加修改學(xué)生信息”模塊中添加信息如:學(xué)號(hào)、姓名、性別、籍貫、出生年月、聯(lián)系電話、電子郵件、照片。當(dāng)用戶將這部分模塊內(nèi)容添加之后,點(diǎn)擊插入按鈕添加一個(gè)新的學(xué)生信息。 作為數(shù)據(jù)庫信息管理系統(tǒng),其信息總是會(huì)過時(shí)的。因此,如果沒有存在的價(jià)值,就需要將一些記錄按條件進(jìn)行刪除。所以有必要開發(fā)專門用于刪除信息的功能模塊。刪除學(xué)生無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 信息、教師信息、課程信息、學(xué)生成績(jī) 三個(gè)模塊的基本窗體也大致相同,以“刪除教師信息”為例介紹本部分功能。此處需要說明的是:具有刪除功能的只能是數(shù)據(jù)庫管理員。輸入 要?jiǎng)h除的教師姓名然后按回車鍵定位,會(huì)顯示相應(yīng)的教師信息,點(diǎn)擊刪除按紐,刪除此教師信息。 在數(shù)據(jù)庫應(yīng)用程序中,由于病毒的入侵或磁盤的損壞,常常出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。如果預(yù)先對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行備份,那麼在系統(tǒng)遭到破壞時(shí),就可以恢復(fù)數(shù)據(jù),從而避免重大的損失。備份數(shù)據(jù)庫與還原數(shù)據(jù)庫模塊主要完成數(shù)據(jù)庫的備份與恢復(fù)。 本系統(tǒng)設(shè)計(jì)了修改用戶密碼功能模塊來提高系統(tǒng)的安全性,用戶通過輸入用戶名和原來的密碼可以進(jìn)行密碼的修改。在該窗體中,有輸入新的密碼和確認(rèn)密碼兩項(xiàng),在這兩項(xiàng)的文本框中輸入新密碼,系統(tǒng)會(huì)判斷你輸入的這兩次密碼是 否相同,若相同則單擊“確認(rèn)”按鈕后,密碼就修改成功了。若兩次輸入的密碼不同,則光標(biāo)會(huì)自動(dòng)回到要求輸入新密碼的文本框中,表示系統(tǒng)要求你重新輸入新密碼。如果不想修改,單擊“取消”按鈕即可 . 此外,用戶以數(shù)據(jù)庫管理員的身份登陸即可注冊(cè)新的帳號(hào)。用戶只需點(diǎn)擊“添加用戶”按鈕即可彈出“添加用戶”對(duì)話框,便可以選擇添加的用戶類型進(jìn)行新用戶的添加。首先判斷“新用戶名”是否與現(xiàn)有的用戶名重名,如果是則終止過程并彈出“用戶名已存在”提示框,請(qǐng)用戶重新輸入用戶名。如果“用戶名“不重名則驗(yàn)證兩次輸入的用戶密碼是否一致,如果不一致 則需重新輸入。如果以上驗(yàn)證全部通過則彈出“用戶添加成功”提示框。 刪除帳號(hào) 主要功能是刪除一個(gè)用戶,只有最高級(jí)別的管理員才有刪除的權(quán)利。選擇要?jiǎng)h除的用戶名,確認(rèn)無誤后即可把該用戶信息刪除。 4. 7 幫助模塊 主要包括三個(gè)方面:關(guān)于、系統(tǒng)信息、給我發(fā)郵件。此模塊中包含著軟件的版本信息、制作時(shí)間、制作人的聯(lián)系方式及一些基本的相關(guān)信息。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第 5 章 動(dòng)態(tài)數(shù)據(jù)訪問的實(shí)現(xiàn) 5. 1 數(shù)據(jù)庫的基礎(chǔ)知識(shí) 5. 1. 1 數(shù)據(jù)庫技術(shù)的發(fā)展 數(shù)據(jù)管理技術(shù)的發(fā)展可以大體歸為三個(gè)階段:人工管理、文件系統(tǒng)和 數(shù)據(jù)庫 管理系 統(tǒng)。 1.人工管理 這一階段( 20 世紀(jì) 50 年代中期以前),計(jì)算機(jī)主要用于科學(xué)計(jì)算。外部存儲(chǔ)器只有磁帶、卡片和紙帶等還沒有磁盤等直接存取存儲(chǔ)設(shè)備。 軟件 匯編語言,尚無數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式基本是批處理。這個(gè)階段有如下幾個(gè)特點(diǎn): ( 1) 計(jì)算機(jī)系統(tǒng)不提供對(duì)用戶數(shù)據(jù)的管理功能。用戶編制 程序 必須全面考慮好相關(guān)的數(shù)據(jù),包括數(shù)據(jù)的定義、存儲(chǔ)結(jié)構(gòu)以及存取方法等。程序和數(shù)據(jù)是一個(gè)不可分割的整體。數(shù)據(jù)脫離了程序就無任何存在的價(jià)值,數(shù)據(jù)無獨(dú)立性。 ( 2) 數(shù)據(jù)不能共享。不同的程序均有各自的數(shù)據(jù),這些 數(shù)據(jù)對(duì)不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一組數(shù)據(jù),這些數(shù)據(jù)也不能共享,程序中仍然需要各自加人這組數(shù)據(jù),誰也不能省略?;谶@種數(shù)據(jù)的不可共享性,必然導(dǎo)致程序與程序之間存在大量的重復(fù)數(shù)據(jù),浪費(fèi)了存儲(chǔ)空間。 ( 3) 不單獨(dú)保存數(shù)據(jù)?;跀?shù)據(jù)與程序是一個(gè)整體,數(shù)據(jù)只為本程序所使用,數(shù)據(jù)只有與相應(yīng)的程序一起保存才有價(jià)值,否則就毫無用處。所以,所有程序的數(shù)據(jù)均不單獨(dú)保存。 2.文件系統(tǒng) 在這一階段( 20 世紀(jì) 50 年代后期至 60 年代中期)計(jì)算機(jī)不僅用于科學(xué)計(jì)算,還利用在信息管理方面。 隨著數(shù)據(jù)量的增加,數(shù)據(jù)的存儲(chǔ)、檢索和維護(hù)問題成為緊迫的需要,數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理技術(shù)迅速發(fā)展起來。此時(shí),外部存儲(chǔ)器已有磁盤、磁鼓等直接存取的存儲(chǔ)設(shè)備。軟件領(lǐng)域出現(xiàn)了 操作系統(tǒng) 操作系統(tǒng)中的文件系統(tǒng)是專門管理外存的數(shù)據(jù)管理軟件,文件是操作系統(tǒng)管理的重要資源之一。數(shù)據(jù)處理方式有批處理,也有聯(lián)機(jī)實(shí)時(shí)處理。這個(gè)階段有如下幾個(gè)特點(diǎn): ( 1) 數(shù)據(jù)以 “文件 ”形式可長(zhǎng)期保存在外部存儲(chǔ)器的磁盤上。由于計(jì)算機(jī)的應(yīng)用轉(zhuǎn)向信無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 息管理,因此對(duì)文件要進(jìn)行大量的查詢、修改和插人等操作。 ( 2) 數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別,但比較簡(jiǎn)單 。程序與數(shù)據(jù)之間具有 “設(shè)備獨(dú)立性 ”,即程序只需用文件名就可與數(shù)據(jù)打交道,不必關(guān)心數(shù)據(jù)的物理位置。由操作系統(tǒng)的文件系統(tǒng)提供存取方法(讀寫)。 ( 3) 文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。但文件之間相互獨(dú)立、缺乏聯(lián)系。數(shù)據(jù)之間的聯(lián)系要通過程序去構(gòu)造。 ( 4) 數(shù)據(jù)不再屬于某個(gè)特定的程序,可以重復(fù)使用,即數(shù)據(jù)面向應(yīng)用。但是文件結(jié)構(gòu)的設(shè)計(jì)仍然是基于特定的用途,程序基于特定的物理結(jié)構(gòu)和存取方法,因此程序與數(shù)據(jù)結(jié)構(gòu)之間的依賴關(guān)系并未根本改變。 ( 5) 對(duì)數(shù)據(jù)的操作以記錄為單位。這是由于文件中只 存儲(chǔ)數(shù)據(jù),不存儲(chǔ)文件記錄的結(jié)構(gòu)描述信息。文件的建立、存取、查詢、插人、刪除、修改等所有操作,都要用程序來實(shí)現(xiàn)。 隨著數(shù)據(jù)管理規(guī)模的擴(kuò)大,數(shù)據(jù)量急劇增加,文件系統(tǒng)顯露出一些缺陷: ( 1) 數(shù)據(jù)冗余 。 由于文件之間缺乏聯(lián)系,造成每個(gè)應(yīng)用程序都有對(duì)應(yīng)的文件,有可能同樣的數(shù)據(jù)在多個(gè)文件中重復(fù)存儲(chǔ)。 ( 2) 不一致性 。 這往往是由數(shù)據(jù)冗余造成的,在進(jìn)行更新操作時(shí),稍不謹(jǐn)慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。 ( 3) 數(shù)據(jù)聯(lián)系弱 。 這是由于文件之間相互獨(dú)立,缺乏聯(lián)系造成的。 文件系統(tǒng)階段是數(shù)據(jù)管 理技術(shù)發(fā)展中的一個(gè)重要階段。在這一階段中,得到充分發(fā)展的數(shù)據(jù)結(jié)構(gòu)和算法豐富了計(jì)算機(jī)科學(xué),為數(shù)據(jù)管理技術(shù)的進(jìn)一步發(fā)展打下了基礎(chǔ),現(xiàn)在仍是計(jì)算機(jī)軟件科學(xué)的重要基礎(chǔ)。 3.數(shù)據(jù)庫管理系統(tǒng) 這一階段( 60 年代后期),數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫系統(tǒng)階段。數(shù)據(jù)庫系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對(duì)數(shù)據(jù)更高級(jí)、更有效的管理。這個(gè)階段的程序和數(shù)據(jù)的聯(lián)系通過數(shù)據(jù)庫管理系統(tǒng)來實(shí)現(xiàn)( DBMS),見圖 5-1 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 5-1 程序和數(shù)據(jù)間的聯(lián)系 概括起來,數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理具有以 下特點(diǎn): ( 1) 采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)模型不僅描述數(shù)據(jù)本身的特征,還要描述數(shù)據(jù)之間的聯(lián)系,這種聯(lián)系通過存取路徑實(shí)現(xiàn)。通過所有存取路徑表示自然的數(shù)據(jù)聯(lián)系是數(shù)據(jù)庫與傳統(tǒng)文件的根本區(qū)別。這樣,數(shù)據(jù)不再面向特定的某個(gè)或多個(gè)應(yīng)用,而是面向整個(gè)應(yīng)用系統(tǒng)。數(shù)據(jù)冗余明顯減少,實(shí)現(xiàn)了數(shù)據(jù)共享。 ( 2) 有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)之間的差別可以很大。用戶以簡(jiǎn)單的邏輯結(jié)構(gòu)操作數(shù)據(jù)而無需考慮數(shù)據(jù)的物理結(jié)構(gòu)。數(shù)據(jù)庫的結(jié)構(gòu)分成用戶的局部邏輯結(jié)構(gòu)、數(shù)據(jù)庫的整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級(jí)。用戶(應(yīng)用程 序或終端用戶)的數(shù)據(jù)和外存中的數(shù)據(jù)之間轉(zhuǎn)換由數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)。 ( 3) 數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。用戶可以使用查詢語言或終端命令操作數(shù)據(jù)庫,也可以用程序方式(如用 C 一類高級(jí)語言和數(shù)據(jù)庫語言聯(lián)合編制的程序)操作數(shù)據(jù)庫。 ( 4) 數(shù)據(jù)庫系統(tǒng)提供了數(shù)據(jù)控制功能。例如, 1。數(shù)據(jù)庫的并發(fā)控制:對(duì)程序的并發(fā)操作加以控制,防止數(shù)據(jù)庫被破壞,杜絕提供給用戶不正確的數(shù)據(jù); 2。數(shù)據(jù)庫的恢復(fù):在數(shù)據(jù)庫被破壞或數(shù)據(jù)不可靠時(shí),系統(tǒng)有能力把數(shù)據(jù)庫恢復(fù)到最近某個(gè)正確狀態(tài); 3。數(shù)據(jù)完整性:保證數(shù)據(jù)庫中數(shù)據(jù)始終是正確的; 4。數(shù)據(jù)安全性:保證數(shù)據(jù)的安全,防止數(shù)據(jù)的丟失、破壞 4。 ( 5) 增加了系統(tǒng)的靈活性。對(duì)數(shù)據(jù)的操作不一定以記錄為單位,可以以數(shù)據(jù)項(xiàng)為單位。 5. 1. 2 數(shù)據(jù)庫 (DataBase,簡(jiǎn)稱 DB) 數(shù)據(jù)庫是存儲(chǔ)在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無有害的或不必要無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 的冗余,并為多種應(yīng)用服務(wù)服務(wù)。 20世紀(jì) 70年代是數(shù)據(jù)庫蓬勃發(fā)展的年代。網(wǎng)狀系統(tǒng)和層次系統(tǒng)占據(jù)了整個(gè)商用市場(chǎng),而關(guān)系系統(tǒng)僅處于實(shí)驗(yàn)階段。許多計(jì)算機(jī)廠商研制了各種數(shù)據(jù)庫管理系統(tǒng),許多學(xué)者發(fā)表了大量的探討性論文,使數(shù)據(jù)庫技術(shù)在實(shí)踐中和理論上得 到飛速發(fā)展。數(shù)據(jù)庫技術(shù)也日趨成熟。 20 世紀(jì) 80 年代,關(guān)系系統(tǒng)由于使用簡(jiǎn)便,逐步代替網(wǎng)狀系統(tǒng)和層次系統(tǒng)占領(lǐng)了市場(chǎng)。同時(shí)關(guān)系數(shù)據(jù)庫的理論日趨完善,走向更高的階段。數(shù)據(jù)庫的理論研究以及新的數(shù)據(jù)庫系統(tǒng)的研究仍在繼續(xù),不斷深化。 現(xiàn)在,數(shù)據(jù)庫技術(shù)已成為計(jì)算機(jī)領(lǐng)域中最重要的技術(shù)之一,它是軟件科學(xué)中一個(gè)獨(dú)立的分支。它的出現(xiàn)使得計(jì)算機(jī)應(yīng)用參透到工業(yè)、商業(yè)、行政、科學(xué)研究、工程技術(shù)和國(guó)防軍事的各個(gè)部門,參透到社會(huì)的每一個(gè)角落,并正改變著人們的工作方式和生活方式。管理信息系統(tǒng)、辦公自動(dòng)化、決策支持系統(tǒng)、智能系統(tǒng)等都是使用了數(shù) 據(jù)庫技術(shù)的計(jì)算機(jī)應(yīng)用系統(tǒng)。數(shù)據(jù)庫已經(jīng)成為信息高速公路的核心部分。 數(shù)據(jù)庫技術(shù)的基本概念: 1.數(shù)據(jù)管理系統(tǒng) DBMS 是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問 DB 方法,包括 DB 的建立、查詢、更新及各種數(shù)據(jù)控制。 DBMS 總是基于某中數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、和面向?qū)ο笮汀?2.數(shù)據(jù)庫系統(tǒng) DBS 是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),既它是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng)。 5. 1. 3 表 (Table) 表 :作為具體存儲(chǔ)和組織數(shù)據(jù)的對(duì)象,由行和列組成。而表又有五個(gè)特性: 1.行必須是唯一可標(biāo)識(shí)的,不允許有相同的兩行。 2.行的順序無關(guān)。 3.列必須是唯一可標(biāo)識(shí)的,同一表中列名必須惟一,不同表中列名可以相同。 4.列的排列順序無關(guān)。 5.列的原子性,列不能再被細(xì)分為更小的成分。 主鍵:是一個(gè)屬性集合,它能惟一標(biāo)識(shí)一個(gè)元組,又不含多余屬性。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 5. 2 數(shù)據(jù)庫的建立 Access2000 是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。Access 的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信 息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外, Access 允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的信息。 Access 也提供了數(shù)據(jù)存儲(chǔ)庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。 Access 是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述, Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。 Microsoft Access 提供兩種創(chuàng)建 Access 數(shù)據(jù)庫的方法:可以先創(chuàng)建一個(gè)空數(shù)據(jù)庫,然后再添加表、窗體、報(bào)表及其他對(duì)象,這是最靈活的方法,但需要分別定義每一個(gè)數(shù)據(jù)庫要素。也可以使用“數(shù)據(jù)庫向?qū)А眱H一次操作即可為所選數(shù)據(jù)庫創(chuàng)建必要的表、窗體及報(bào)表,這是開始創(chuàng)建數(shù)據(jù)庫的最簡(jiǎn)單的方法。無論哪一種方法,在數(shù)據(jù)庫創(chuàng)建之后,都可以隨時(shí)修改或擴(kuò)展數(shù)據(jù)庫。 使用“數(shù)據(jù)庫向?qū)А苯?shù)據(jù)庫的過程如下 : ( 1) 在“新建文件”任務(wù)窗格中的“根據(jù)摸板新建”欄目下,單擊“通用摸板”選項(xiàng)。此時(shí)會(huì)彈出“摸板”對(duì)話框。在摸板對(duì)話框中“常用”和“數(shù)據(jù)庫”兩個(gè)選項(xiàng)卡。在“常用”選 項(xiàng)卡中可以選擇“空數(shù)據(jù)庫”、“現(xiàn)有數(shù)據(jù)庫”和“新數(shù)據(jù)庫”等常用選項(xiàng),在“數(shù)據(jù)庫”選項(xiàng)卡中則提供了各種數(shù)據(jù)庫類型。這里選擇了“定單入口”數(shù)據(jù)庫類型。 ( 2) 選中數(shù)據(jù)庫類型,單擊“確定”按鈕后,會(huì)彈出“文件新建數(shù)據(jù)庫”對(duì)話框,用來指定數(shù)據(jù)庫的名稱和位置。 ( 3) 在指定了數(shù)據(jù)庫的名稱和位置,單擊“創(chuàng)建”按鈕。接下來會(huì)出現(xiàn)“數(shù)據(jù)庫向?qū)А睂?duì)話框,它將引導(dǎo)用戶一步一步地創(chuàng)建數(shù)據(jù)庫的各種對(duì)象。對(duì)于不同的數(shù)據(jù)庫庫類型,“數(shù)據(jù)庫向?qū)А敝械倪x項(xiàng)會(huì)有不同,但是具體的步驟大致一樣。對(duì)于上面選中的“定單入口”數(shù)據(jù)庫類型的“數(shù)據(jù)庫向?qū)?”,在對(duì)話框顯示了“定單入口數(shù)據(jù)庫將存儲(chǔ)”的表為:客戶信息、定單信息、定單明細(xì)、付款信息、產(chǎn)品信息和公司信息。 ( 4) 單擊“下一步”按鈕,會(huì)彈出對(duì)話框。該對(duì)話框用來選定數(shù)據(jù)庫中不同的表需要的字段,在對(duì)話框中例出了該類型數(shù)據(jù)庫中在每個(gè)表中可能需要的字段名稱,用戶只需選擇需要的字段即可。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: ( 5) 選擇完表中的字段后,單擊“下一步”按鈕,出現(xiàn)對(duì)話框,用來確定屏幕的顯示樣式。不同的顯示樣式可以在對(duì)話框左側(cè)的界面中瀏覽,這里選擇“標(biāo)準(zhǔn)”樣式。 ( 6) 單擊“下一步”按鈕,接下來彈出對(duì)話框用來選擇打印報(bào)表所用的樣式,不同的 顯示樣式可以在對(duì)話框左側(cè)的界面中與瀏覽,這里“正式”樣式。 ( 7) 單擊“下一步”按鈕,接下來彈出的對(duì)話框用來指定數(shù)據(jù)庫的標(biāo)題,可以選擇是否在報(bào)表上加一幅圖片。 以上基本完成了使用向?qū)?gòu)建數(shù)據(jù)庫所需的信息。這時(shí)候會(huì)出現(xiàn)對(duì)話框,在其中選中“是的,啟動(dòng)該數(shù)據(jù)庫”復(fù)選框,單擊“完成”按鈕即可啟動(dòng)該數(shù)據(jù)庫。 最后,“數(shù)據(jù)庫向?qū)А遍_始創(chuàng)建“定單入口”數(shù)據(jù)庫。在創(chuàng)建的過程中可能需要用戶輸入一些相關(guān)信息。完成后,會(huì)顯示“主切換面板:,利用它可以執(zhí)行相關(guān)的輸入或查看數(shù)據(jù)、預(yù)覽報(bào)表等操作。 5. 3 ADO 簡(jiǎn)介 ADO(ActiveX Data Object)是 Microsoft 數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是建立在 OLE DB 之上的高層數(shù)據(jù)庫訪問技術(shù),即使你對(duì) OLE DB, COM 不了解也能輕松對(duì)付 ADO,因?yàn)樗浅:?jiǎn)單易用,甚至比你以往所接觸的 ODBC API、 DAO、RDO 都要容易使用,并不失靈活性。 5. 4 用 ADO 連接數(shù)據(jù)庫 在使用 ADO 訪問數(shù)據(jù)庫時(shí),有兩種方法可以進(jìn)行連接: 第一種方法是使用 ADO Connection 建立與數(shù)據(jù)庫的連接。 第二種方法是直接使用 TAD Dataset TAD Query TADOTable 等連接數(shù)據(jù)庫。 在使用第一種方法后,其他的組件都可以享用該連接,本系統(tǒng)中是通過 ADO Connection 來建立連接。 在 ADO Connection 中,最主要的參數(shù)是 ConnectionString,這個(gè)屬性是多個(gè)字符串的集合,之間用逗號(hào)隔開,它用于標(biāo)志 ADO Connection 連接到數(shù)據(jù)設(shè)備時(shí)所需要的信息,指定了這個(gè)屬性就建立了一個(gè) ADO 連接。具體方法是單擊對(duì)象觀察器中 ConnectionString 屬性框右邊的省略號(hào)按鈕,在出現(xiàn)的對(duì)話框中點(diǎn)擊 bulid 按鈕,將出現(xiàn)數(shù)據(jù)連接屬性對(duì)話框,選擇 Microsoft Jet 4.0 OLD DB Provider,選擇下一步,輸入數(shù)據(jù)庫所在路徑,點(diǎn)擊測(cè)試連接對(duì)話框,將提示連接成功對(duì)話框,這樣數(shù)據(jù)庫就連好了。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第 6 章 教學(xué)管理系統(tǒng)的開發(fā)過程 在 delphi7中創(chuàng)建一個(gè)新的工程,將此工程單命名為 JXMS。 6. 1 登錄窗體 此模塊的主要的功能: ( 1)根據(jù)用戶名和密碼來判斷是否可能進(jìn)入系統(tǒng); ( 2)根據(jù)用戶類型決定用戶擁有的權(quán)限。 根據(jù)學(xué)校不同的事務(wù),整個(gè)系統(tǒng)提供了不同的用戶權(quán)限,數(shù)據(jù)庫管理員、一般用戶兩種身份。 用戶想 進(jìn)入系統(tǒng)首先就要進(jìn)行身份驗(yàn)證,即在用戶名的文本框中添入自己的帳號(hào),然后添入相應(yīng)的密碼。然后在 sys 表中驗(yàn)證該用戶是否合法,只有用戶名及密碼確認(rèn)無誤之后才能進(jìn)入。 如果用戶名和密碼一致時(shí),用戶可以登錄到主窗體;用戶單擊“退出”子按鈕退出此系統(tǒng)。 此窗體主要用于用戶身份的認(rèn)證,同時(shí)整個(gè)程序的數(shù)據(jù)庫連接和用戶賬號(hào)也保存在這個(gè)窗體中,登錄窗體布局如圖 6-1 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 6-1 登錄窗體 6. 2 主窗體 輸入用戶名和密碼后,進(jìn)入管理系統(tǒng)主界面,主窗體是 完成所有管理任務(wù)的界面,教學(xué)管理應(yīng)用程序主要有以下功能: 學(xué)生成績(jī)查詢、學(xué)生資料查詢、教師資料查詢、單科成績(jī)?yōu)g覽、學(xué)年開課清單、學(xué)分計(jì)算、平均分計(jì)算、方差計(jì)算、填加修改學(xué)生、教師、課程信息、刪除學(xué)生、教師、課程信息、數(shù)據(jù)庫的還原、備份及其它一些輔助功能。 主窗體如圖 6-2所示。 6. 3 系統(tǒng) 此界面主要完成系統(tǒng)的注銷和退出,點(diǎn)擊注銷按鈕時(shí),將返回到登陸界面,以便于重新登陸主界面。 圖 6-2 主窗體 6. 4 查詢 此模塊的 主要功能是按照用戶選擇字段的值進(jìn)行信息的查詢。包括學(xué)生資料、學(xué)生成無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 績(jī)、教師資料的查詢 。 6. 4. 1 學(xué)生成績(jī)查詢 登錄成績(jī)查詢界面后 ,需要輸入學(xué)生編號(hào)、開課年份,然后在課程名稱下拉列表中會(huì)自動(dòng)顯示已修課程,選擇相應(yīng)課程,單擊查詢按鈕,即可顯示相應(yīng)課程成績(jī),此處用到“開始查詢” (button)按鈕的 onclick 事件 ,“重新選課”按鈕用于新的一輪成績(jī)的查詢。 6. 4. 2 學(xué)生資料查詢 登錄學(xué)生資料界面后 ,需要輸入學(xué)生編號(hào),單擊查詢按鈕,即可顯示相應(yīng)學(xué)生信息,此處用到“開始查詢 ”(button)按鈕 onclick 事件。 當(dāng)點(diǎn)擊“確定”按鈕以后,執(zhí)行Tstudentform.BitBtn1Click 事件。在此程序中,先獲取客戶端頁面提交數(shù)據(jù),用到的語句為: sno:=trim(edit1.Text); 在這里同樣需要建立和數(shù)據(jù)庫的連接,然后執(zhí)行的語句為 with datamodule1.tablestudent do begin open; 若查找不到該學(xué)生,則會(huì)顯示相應(yīng)的查找出錯(cuò)信息。 6. 4. 3 教師資料查詢 教師資料查詢與學(xué)生資料查詢開發(fā)過程相類似,登錄教師資料查詢界面后,需要輸入教師姓名,單擊查詢按鈕,即可顯示相應(yīng)教師信息,此處用到 ”開始查詢 ”(button)按鈕的onclick事件。 當(dāng)點(diǎn)擊“確定”按鈕以后,執(zhí)行 Tteacherform.BitBtn1Click 事件。在此程序中,先獲取客戶端頁面提交數(shù)據(jù),用到的語句為: tname:=trim(edit1.Text);在這里同樣需要建立和數(shù)據(jù)庫的連接,獲得客戶端數(shù)據(jù)后就會(huì)執(zhí)行一條 SQL 查詢語句, SQL 語句為: select * from teacher where tname like :tname 6. 5 瀏覽 此模塊的 主要功能是按照用戶選擇字段的值進(jìn)行信息的瀏覽。包括單科成績(jī)?yōu)g覽、學(xué)年開課清單。 6. 5. 1 單科成績(jī)?yōu)g 覽 登陸成績(jī)?yōu)g覽界面后,選擇要查詢的年份及學(xué)期信息, 獲取客戶端頁面提交數(shù)據(jù)用到的語句為: Parameters.ParamByName(year).Value:=strtoint(combobox1.Text);Parameters.ParamByName(term).Value:=combobox3.Text. 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 獲得客戶端數(shù)據(jù)后就會(huì)執(zhí)行一條 SQL 查詢語句, SQL 語句為: select Distinct cname from grade where year=:year and term=:term. 在課程名稱的下拉列表中會(huì)出現(xiàn)此學(xué)年的開設(shè)課程,選中某一課程,則成績(jī)?yōu)g覽表被擊活,可查看此門課程的授課情況及課程成績(jī)。 6. 5. 2 學(xué)年開課清單 學(xué)年開課清單與單科成績(jī)?yōu)g覽界面相類似, 登陸界面后,選擇要查詢的年份及學(xué)期信息, 獲取客戶端頁面提交數(shù)據(jù)用到的語句為: Parameters.ParamByName(year).Value:=dbcombobox1.Text. 獲得客戶端數(shù)據(jù)后就會(huì)執(zhí)行一條 SQL 查詢語句, SQL 語句為: Select distinct ame,studytime,credit,typename,year,term,tname from grade,course,coursetyp where ame=ame and course.typeno=coursetype.typeno. 若選擇查看全年的課程,則 sql.Add( and term =:term)。在課程名稱的下拉列表中回出現(xiàn)此學(xué)年的開設(shè)課程,選中某一課程,則成績(jī)?yōu)g覽表被擊活,可查看此門課程的授課情況及課程成績(jī)。 6. 6 計(jì)算 6. 6. 1 學(xué)分累加計(jì)算 1.學(xué)分累加計(jì)算開發(fā)過程中的具體操作步驟和方法 ( 1)打開已存在的工程。通過執(zhí)行 Delphi7 的主菜單中的 File中的 New Form命令項(xiàng),增加一個(gè)新的窗體。將窗體的 Caption 屬性修改為“學(xué)分累加器”。 ( 2)在窗體中放入三個(gè) Pane控件和一個(gè) DBGrid控件。 ( 3)在窗體上半部分的 Panel1 中分別放入兩個(gè) Label 控件,一個(gè) ComboBox 控件、一個(gè) TEdit控件和一個(gè) TBitBtn??丶?Label1的 Caption屬性為“學(xué)號(hào)”,其所對(duì)應(yīng)的 TEdit控件用于輸入要查詢的學(xué)號(hào)??丶?Label2 的 Caption 屬性為“課程類型”,其所對(duì)應(yīng)的ComboBox控件用于顯示課程類型的下拉列表(必修課、校內(nèi)選修課、系內(nèi)選修課、實(shí)踐課、其他),供用戶選擇。 TbitBtn 控件用于查詢功能,是此界面的核心部分。 ( 4)在窗體中間部分的 Panel 中分別放入兩個(gè) Label 控件、兩個(gè) TEdit 控件和一個(gè)TBitBtn。控件 Label2 的 Caption 屬性為“合格學(xué)分”,其所對(duì)應(yīng)的 TEdit 控件用于顯示無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 合格學(xué)分??丶?Label3 的 Caption屬性為“不合格學(xué)分”,其所對(duì)應(yīng)的 TEdit控件用于顯示不合格學(xué)分。 TbitBtn 控件用于清空功能。 ( 5)在窗體的下部分放入一個(gè) DBGrid控件,以表格的形式顯示和操作數(shù)據(jù)集中的數(shù)據(jù),可以同時(shí)瀏覽多條記錄。 Colums 屬性是 DBGrid 組件中用來控制字段列顯示格式的最重要的屬性。它是用來讀取和設(shè)置網(wǎng)格中列的特性的。 Colums屬性可以在設(shè)計(jì)階段來實(shí)現(xiàn):通過字段編輯器來設(shè)置。 該表格的字段名分別是“課程代碼”、“課程名”、“學(xué)分”、“成績(jī)”。Datasoure屬性是 DBGrid 控件的一個(gè)主要屬性,它指定數(shù)據(jù)訪問組件的數(shù)據(jù)源。通過這個(gè)數(shù)據(jù)源數(shù)據(jù)控制組件才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。該 屬性一般可以通過下拉列表選擇,方法是選中 DBGrid 組件后,先在對(duì)象觀察器中選擇 Datasoure 的右列,該右列出現(xiàn)下三角箭頭,然后單擊該箭頭,出現(xiàn)一個(gè)列表,從列表中選擇所用的數(shù)據(jù)源,如果窗體上只有一個(gè)數(shù)據(jù)源,直接雙擊 Datasoure 右列空白處即可。 DBGrid控件一般來說通常是與 DataSource一同連用的,而這兩個(gè)控件的聯(lián)系正是通過設(shè)置 DataSource屬性來完成的。 2學(xué)分累加計(jì)算模塊功能的實(shí)現(xiàn) 學(xué)分累加計(jì)算主要用于查詢學(xué)生以修課程的累計(jì)學(xué)分,在此界面中,輸入要查詢的學(xué)號(hào)及課程類型, 獲取客戶端 頁面提交數(shù)據(jù)用到的語句為: Parameters.ParamByName(sno).Value:=edit1.Text; Parameters.ParamByName(typename).Value:=combobox1.Text; 獲得客戶端數(shù)據(jù)后執(zhí)行的語句為: if not datamodule1.passed(fieldbyname(grade).AsString) then notpass:=notpass+fieldbyname(credit).AsFloat else pass:=pass+ fieldbyname(credit).AsFloat; 同時(shí)在 DBGrid 組件中會(huì)出現(xiàn)此學(xué)生該學(xué)年所修過的全部課程情況。窗體如圖 6-3 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 6-3 學(xué)分累加計(jì)算窗體 6. 6. 2 平均分計(jì)算 1平均分計(jì)算開發(fā)過程中的具體操作步驟和方法 ( 1)打開已存在的工程。通過執(zhí)行 Delphi7 的主菜單中的 File中的 New Form命令項(xiàng),增加一個(gè)新的窗體。將窗體的 Caption 屬性修改為“平均分”。 ( 2)在窗體中放入兩個(gè) Panel控件和一個(gè) DBGrid控件。 ( 3)在窗體上半部分的 Panel1中分別放入四個(gè) Label控件、三個(gè) ComboBox 控件和一個(gè) SpeedButton 控件、一個(gè) DBNavigator 控件和兩個(gè) Bevel 控件。三個(gè) Label 控件分別用于顯示“年份”、 “課程名稱”、“教師姓名”,其所對(duì)應(yīng)的 ComboBox 控件用于輸入要查詢的相關(guān)信息。 Label4的 Caption屬性為“平均分顯示區(qū)”,將控件 SpeedButton的 Caption 屬性修改為“詳細(xì)圖表”,用于執(zhí)行顯示平均成績(jī)直方圖功能。數(shù)據(jù)庫導(dǎo)航器控件 DBNavigator 主要用來數(shù)據(jù)操作和數(shù)據(jù)瀏覽。 DBNavigator 組件中的幾個(gè)按鈕可以通過 ObjectInspecor 中的 VisibleButtons 屬性設(shè)置是否顯示。使用 DBNavigator 控件時(shí),首先將該控件的 Datasoure 屬性和 TDataSource 組件關(guān)聯(lián),并保持?jǐn)?shù)據(jù)集連接,就可以通過 DBNavigator 控件瀏覽和操縱數(shù)據(jù)了??丶?Bevel 用來設(shè)置窗體區(qū)域的突出或下陷,主要用來修飾窗體的外觀,使其富于層次性和變化性。 ( 4)在窗體的下部分放入一個(gè) DBGrid 控件,以表格的形式顯示和操作數(shù)據(jù)集中的數(shù)據(jù),可以 同時(shí)瀏覽多條記錄。該表格的字段名分別是“學(xué)號(hào)”、“課程名稱”、“任課教師”“成績(jī)”、“年份”、“學(xué)期”。 Datasoure屬性是 DBGrid控件的一個(gè)主要屬性,它指定數(shù)據(jù)訪問組件的數(shù)據(jù)源。通過這個(gè)數(shù)據(jù)源數(shù)據(jù)控制組件才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。該屬無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 性一般可以通過下拉列表選擇,方法是選中 DBGrid 組件后,先在對(duì)象觀察器中選擇Datasoure 的右列,該右列出現(xiàn)下三角箭頭,然后單擊該箭頭,出現(xiàn)一個(gè)列表,從列表中選擇所用的數(shù)據(jù)源,如果窗體上只有一個(gè)數(shù)據(jù)源,直接雙擊 Datasoure 右列空白處即可。 2平均分模塊功能 的實(shí)現(xiàn) 登陸平均分計(jì)算界面后,選擇要查詢的年份及課程名稱,在教師姓名下拉列表中回出現(xiàn)相應(yīng)的授課教師姓名,在這里用到了 ComboBox3 的 ONChange 事件。 獲取客戶端頁面提交數(shù)據(jù)用到的語句為: Parameters.ParamByName(year).Value:=strtoint(combobox1.Text);Parameters.ParamByName(cname).Value:=combobox2.Text;Parameters.ParamByName(tname).Value:=combobox3.Text; 獲得客戶端數(shù)據(jù)后就會(huì)執(zhí)行一條 SQL 查詢語句, SQL 語句為: select sno,cname,tname,grade,year,term from grade where year=:year and cname=:cname and tname=:tname,同時(shí) 在 DBGrid組件中回出現(xiàn)修過該門課程的學(xué)生學(xué)號(hào)、成績(jī)等信息。在此界面中使用了一個(gè)快速按鈕( TSpeedButton)按鈕,它是一種可以成組工作的按鈕,具有與位圖按鈕一樣將位圖顯示在按鈕表面的功能,還具有與單選按鈕組一樣 允許其中一個(gè)按鈕被選中的功能,當(dāng)它獨(dú)立使用的時(shí)候可以像復(fù)選框一樣具有開關(guān)的功能。在這里它用來顯示學(xué)生成績(jī)的總體分布情況。窗體如圖 6-4 所示。 6. 6. 3 學(xué)生成績(jī)分布直方圖 學(xué)生成績(jī)分布直方圖反映了成績(jī)的總體分布情況。在這里使用到了 TDBchart 組件,它可以說是所有數(shù)據(jù)庫組件中最花哨的了。 TDBChart 類繼承于 TChart,具有它的全部功能,他們之間的主要區(qū)別在于前者需要 BDE 的支持,主要用在數(shù)據(jù)庫應(yīng)用中。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 6-4 平均分計(jì)算窗體 TChart 是 TeeChart library 庫中最重要的 組件, TChart 的基類是 TPanel。簡(jiǎn)而言之,TChart 是一個(gè)標(biāo)準(zhǔn)的 TPanel 組件,具有許多專門用來繪制統(tǒng)計(jì)圖表表的強(qiáng)大功能。一般可以在設(shè)計(jì)是也可以在運(yùn)行時(shí)產(chǎn)生 TChart 組件對(duì)象。在 Form 上放置一個(gè) DBchart 組件,然后在組件上右擊,在彈出的快捷菜單中選擇 Edit Chart,系統(tǒng)彈出統(tǒng)計(jì)圖編輯對(duì)話框。單擊chart 標(biāo)簽的 series 子標(biāo)簽上的 add 按鈕,接下來的對(duì)話框讓用戶選擇統(tǒng)計(jì)圖的類型。單擊series 標(biāo)簽,這里可以為每個(gè) series 指定數(shù)據(jù)源和對(duì) series 的屬性進(jìn)行設(shè)置。選擇標(biāo)簽,然后在下拉列表中選擇,選擇數(shù)據(jù)源和需要畫統(tǒng)計(jì)圖的字段。學(xué)生成績(jī)直方圖如圖 6-5 所示。 圖 6-5 學(xué)生成績(jī)分布直方圖窗體 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 6. 6. 4 計(jì)算器 用到的語句為 winexec(calc,SW_RESTORE) 6. 7 維護(hù) 在維護(hù)模塊中分為四個(gè)子菜單。此模塊的主要功能是添加修改記錄(學(xué)生信息、教師信息、課程信息、學(xué)生成績(jī))、刪除數(shù)據(jù)庫(學(xué)生信息、教師信息、課程信息、學(xué)生成績(jī))、備份數(shù)據(jù)庫、還原數(shù)據(jù)庫、帳戶(更改密碼、添加帳號(hào)、刪除帳號(hào))。 6. 7. 1 添加學(xué)生信息 1.添加學(xué)生信息開發(fā)過程中的具體 操作步驟和方法 ( 1)打開已存在的工程。通過執(zhí)行 Delphi7 的主菜單中的 File中的 New Form命 令項(xiàng),增加一個(gè)新的窗體。將窗體的 Caption 屬性修改為“添加學(xué)生信息”。 ( 2)在窗體中放入兩個(gè) Panel控件和一個(gè) DBGrid控件。 ( 3)在窗體上半部分的 Panel1中分別放入七個(gè) Label控件、一個(gè) TcomboBox控件、一個(gè) TDatetimePicker 控件、五個(gè) Edit 控件 、一個(gè) DBimage 控件 、 DBimage 控件和兩個(gè) BitBtn控件。七個(gè) Label控件分別用于顯示“學(xué) 號(hào)”、 “姓名”、“性別”、“籍貫”、“出生年月”、“電話”、“電子郵件”七個(gè)標(biāo)題,五個(gè) Edit1控件用于輸入要添加的 “學(xué)號(hào)”、 “姓名”、 “籍貫”、 “電話”、“電子郵件” 學(xué)號(hào)。 TcomboBox 控件用于輸入“性別”, TDatetimePicker 控件用于輸入“出生年月”, DBimage 控件用于輸入學(xué)生的照片,兩個(gè)BitBtn1控件的 Caption 屬性修改為“插入”、“返回”,用于插入學(xué)生信息和返回操作。 ( 4)在窗體中間部分的 Panel2 中一個(gè) DBNavigator 控件數(shù)據(jù)庫導(dǎo)航器控件DBNavigator 主要用來數(shù)據(jù)操作和數(shù)據(jù)瀏覽。 DBNavigator 組件中的幾個(gè)按鈕可以通過ObjectInspecor 中的 VisibleButtons 屬性設(shè)置是否顯示。使用 DBNavigator 控件時(shí),首先將該控件的 Datasoure 屬性和 TDataSource 組件關(guān)聯(lián),并保持?jǐn)?shù)據(jù)集連接,就可以通過DBNavigator控件瀏覽和操縱數(shù)據(jù)了。 ( 5)在窗體的下部分放入一個(gè) DBGrid控件,以表格的形式顯示和操作數(shù)據(jù)集中的數(shù)據(jù),可以同時(shí)瀏覽多條記錄。該表格的字段名分別是“學(xué)號(hào)”、“姓名”、“性別”“籍貫”、“出生年月”、“聯(lián)系電話”和“電子郵件”。通過這個(gè)數(shù)據(jù)源數(shù)據(jù)控制組件訪問數(shù)據(jù)庫中的數(shù)據(jù)。 2添加學(xué)生資料模塊功能的實(shí)現(xiàn) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 主要功能是添加一個(gè)新的學(xué)生信息。在此窗口中有一個(gè) TDBgrid控件顯示所有學(xué)生的信息。 TDBgrid組件能以表格形式顯示數(shù)據(jù)庫中的數(shù)據(jù)。它的 DataSource 屬性確定了和數(shù)據(jù)網(wǎng)格相關(guān)聯(lián)的數(shù)據(jù)源對(duì)象。輸入要添加的學(xué)生學(xué)號(hào),若此學(xué)號(hào)以存在, TDBgrid 控件中將自動(dòng)定位到此學(xué)生信息,此時(shí)繼續(xù)添入其他信息,點(diǎn)擊插入按扭會(huì)出現(xiàn)系統(tǒng)提示框:“此學(xué)生的信息以存在,是否更新原來的記錄”,點(diǎn)擊確定將覆 蓋原來的學(xué)生信息。否則輸入學(xué)號(hào)后單擊 Go將定位到制定的學(xué)號(hào),添加學(xué)生的基本信息(學(xué)生表中的字段)。 學(xué)號(hào)、姓名、性別為必填字段)。在次用到了保存圖片數(shù)據(jù)到數(shù)據(jù)庫的技術(shù),利用 tpicture 和topenpicturedialog 組件選擇圖片和保存圖片,然后將圖片賦值到數(shù)據(jù)庫圖片字段。 導(dǎo) 入 圖 片 語 句 為 : dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName); topenpicturedialog 對(duì)話框?yàn)槟J綄?duì)話框,用于選擇和打開圖形文件。該組件支持的文 件類型包括位圖 圖標(biāo) 圖元文件及增強(qiáng)型。其中用于返回選定圖片的名稱和完整的路徑, Execute用于顯示打開圖片對(duì)話框。添加圖片的程序語句為: begin if openpicturedialog1.Execute then begin dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName); dbimage1.Tag:=1; end; end; 按“插入”按鈕將此設(shè)備信息輸入到了數(shù)據(jù)庫 student表中。 此功能主要用于學(xué)生信息的初始錄入。界面如圖 6-6 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 6-6 添加學(xué)生信息界面 6. 7. 2 添加教師信息 添加教師資料與添加學(xué)生資料查詢開發(fā)過程和實(shí)現(xiàn)功能相類似 , 此界面中使用了數(shù)據(jù)庫導(dǎo)航器組件,能夠在記錄中移動(dòng)當(dāng)前記錄的位置,也可以移動(dòng)或刪除數(shù)據(jù),它的DataSource屬性確定了和數(shù)據(jù)網(wǎng)格相關(guān)聯(lián)的數(shù)據(jù)源對(duì)象。此外有一個(gè) TDBgrid 控件顯示所有教師的信息。輸入要添加的教師姓名,若此教師信息以存在, TDBgrid 控件中將自動(dòng)定位到此教師信息,此時(shí)繼續(xù)添入其他信息,點(diǎn)擊插入按扭會(huì)出現(xiàn)系統(tǒng)提示框:“此教師的信息以存 在,是否更新原來的記錄”,點(diǎn)擊確定將覆蓋原來的教師信息。否則輸入學(xué)號(hào)后單擊 Go 將定位到制定的教師姓名,在此窗口中你可以添加教師的基本信息(教師表中的字段)。 姓名、性別為必填字段。 按“插入”按鈕將此設(shè)備信息輸入到了數(shù)據(jù)庫 teacher表中。使用的插入語句為 insert; fieldbyname(tname).AsString:=trim(dbedit1.Text); fieldbyname(tsex).AsString:=dbcombobox1.Text; if trim(dbedit2.Text) then fieldbyname(age).AsString:=trim(dbedit2.Text); if trim(dbedit3.Text) then fieldbyname(zhicheng).AsString:=trim(dbedit3.Text); if trim(dbedit4.Text) then fieldbyname(jiaoyanshi).AsString:=trim(dbedit4.Text); if trim(dbedit6.Text) then fieldbyname(tel).AsString:=trim(dbedit6.Text); if trim(dbedit7.Text) then fieldbyname(email).AsString:=trim(dbedit7.Text); if dbimage1.Tag=1 then begin pic:=tpicture.Create; pic.LoadFromFile(openpicturedialog1.FileName); dbimage1.Picture.GetNamePath fieldbyname(photo).Assign(pic); dbimage1.Tag:=0; end; post; 此功能主要用于教師信息的初始錄入。界面如圖 6-7 所示。 6. 7. 3 添加課程信息 1添加課程信 息開發(fā)過程中的具體操作步驟和方法 ( 1)打開已存在的工程。通過執(zhí)行 Delphi7 的主菜單中的 File中的 New Form命無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 令項(xiàng),增加一個(gè)新的窗體。將窗體的 Caption 屬性修改為“添加課程信息”。 圖 6-7 添加教師信息界面 ( 2)在窗體中放入一個(gè) Panel控件和一個(gè) DBGrid控件。 ( 3)在窗體上半部分的 Panel 中分別放入四個(gè) Label 控件、一個(gè) TcomboBox 控件、一個(gè) DBNavigator 控件、三個(gè) TMaskEdit 控件和兩個(gè) BitBtn 控件。四個(gè) Label 控件的Caption 屬性分別為“課程名稱”、“學(xué)時(shí)”、“學(xué)分”、“課程類型”, TcomboBox 控件用于選擇輸入“課程類型”, DBNavigator主要用來數(shù)據(jù)操作和數(shù)據(jù)瀏覽,它與數(shù)據(jù)庫中的 Course表相連接,兩個(gè) BitBtn1 控件的 Caption 屬性修改為“插入”、“返回”,用于插入課程信息和返回操作。這里需要重點(diǎn)介紹的是 TMaskEdit 控件,它與 Tedit的功能和屬性十分相似,不過增加了約束輸入的控制和輸出的功能。其中 EditMask 屬性確定用于限制用戶輸入的掩碼,它由三部分組成。第一部分用于輸入掩碼的格式;第二部 分確定是否將掩碼中的格式字符作為數(shù)據(jù)的一部分, 0 表示不作為數(shù)據(jù)的一部分, 1 表示作為數(shù)據(jù)的一部分;第三部分是指掩碼中沒有輸入數(shù)據(jù)時(shí)出現(xiàn)的替代符。 ( 4)窗體下部分的 DBGrid 控件以表格的形式顯示和操作數(shù)據(jù)集中的數(shù)據(jù),可以同時(shí)瀏覽多條記錄。該表格的字段名分別是“課程名稱”、“學(xué)時(shí)”、“學(xué)分”“課程類型”。它與數(shù)據(jù)庫中的 Course表相連接。 2添加課程信息模塊功能的實(shí)現(xiàn) 添加課程信息用于學(xué)校在開設(shè)一門新的課程時(shí)的初始信息錄入,正確輸入課程名稱、學(xué)時(shí)、學(xué)分、課程類型,一門新的課程信息就被加入到課程信息表中。此 界面中使用了三個(gè)掩碼編輯框( MaskEdit)。用于輸入課程名稱和學(xué)時(shí)。 在此窗口中有一個(gè) TDBgrid控件顯無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 示所有以開設(shè)課程的信息。輸入要添加的課程名、學(xué)時(shí)、學(xué)分、課程類型(全部為必添字段), 獲取客戶端頁面提交數(shù)據(jù)用到的語句為: fieldbyname(cname).AsString:=trim(dbedit1.Text); fieldbyname(studytime).AsString:=trim(dbedit2.Text); fieldbyname(credit).AsString:=trim(dbedit3.Text);fieldbyname(TypeNO).AsInteger:=dbcombobox1.Items.IndexOf(dbcombobox1.Text)+1。 若是一門全新的課程, 獲得客戶端數(shù)據(jù)后執(zhí)行的插入語句為: fieldbyname(cname).AsString:=trim(dbedit1.Text); fieldbyname(studytime).AsString:=trim(dbedit2.Text); fieldbyname(credit).AsString:=trim(dbedit3.Text); fieldbyname(TypeNO).AsInteger:=dbcombobox1.Items.IndexOf(dbcombobox1.Text)+1; post; 此課程信息輸入到了數(shù)據(jù)庫 course表中。若此課程信息以存在, TDBgrid 控件中將自動(dòng)定位到此課程信息信息,同時(shí)出現(xiàn)系統(tǒng)提示框:“此課程的信息以存在,是否更新原來的記錄”,點(diǎn)擊確定將覆蓋原來的課程信息。 此功能主要用于課程信息的初始錄入。添加課程信息界面如圖 6-8 所示。 圖 6-8 添加課程信息界面 6. 7. 4 學(xué)生成績(jī)錄入 每學(xué)期當(dāng)課程結(jié)束后系統(tǒng)管理員把考試結(jié)果移入成績(jī)單中,這時(shí)在成績(jī)錄入界面中就會(huì)顯示所要錄入課程的基本信息,包括開課時(shí)間、任課教師及考試類型(年份、學(xué)期、課無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 程名稱、教師為必填字段),此處用到了 TCombobox 控件,它是在用戶更改當(dāng)前記錄中的特定字段時(shí),可以提供給用戶一個(gè)可以選工程的下拉列表。允許用戶從下拉列表中選取適當(dāng)?shù)闹祦硇薷漠?dāng)前記錄中的特定字段。 Item 屬性包含著 TCombobox 控件在運(yùn)行過程中下拉菜單中的選項(xiàng), Item 中內(nèi)容可以在設(shè)計(jì)階段 設(shè)置,也可以在程序運(yùn)行階段動(dòng)態(tài)的來設(shè)計(jì)。在此在學(xué)生成績(jī)錄入界面的 Oncreate 事件中實(shí)現(xiàn)的。以添加任課教師的 Item 屬性為例,使用的語句為: with datamodule1.tableteacher do begin open; while not eof do begin combobox4.Items.Add( FieldByName(tname).AsString); next; end; close; end; 獲取客戶端數(shù)據(jù)用到的語句為: fieldbyname(sno).AsString:=tmaskedit(controlsi).Text; fieldbyname(cname).AsString:=combobox3.Text; fieldbyname(tname).AsString:=combobox4.Text; fieldbyname(grade).AsString:=tcombobox(controlsj).Text; fieldbyname(year).AsString:=combobox1.Text; fieldbyname(term).AsString:=combobox2.Text; fieldbyname(type).AsString:=combobox5.Text; 同時(shí)設(shè)置了兩個(gè)整型變量: addcount、 updatecount, 用來統(tǒng)計(jì)被添加的記錄和被更新的記錄。輸入學(xué)生的學(xué)號(hào)和成績(jī),點(diǎn)擊插入按鈕保存,這樣學(xué)生就會(huì)在查詢成績(jī)界面中查到自己所學(xué)課程的成績(jī),界面如圖 6-9所示。 圖 6-9 成績(jī)錄入界面 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 6. 7. 5 刪除學(xué)生記錄 1刪除學(xué)生記錄開發(fā)過程中的具體操作步驟和方法 ( 1)打開已存在的工程。通過執(zhí)行 Delphi7 的主菜單中的 File中的 New Form命令項(xiàng),增加一個(gè)新的窗體。將窗體的 Caption 屬性修改為“刪除學(xué)生記錄”。 ( 2)在窗體中放入兩個(gè) Panel控件和一個(gè) DBGrid控件。 ( 3)在窗 體上半部分的 Panel中分別放入七個(gè) Label控件、六個(gè) DBEdit控件、一個(gè) TMastEdit控件和一個(gè) DBNavigator控件。七個(gè) Label控件分別用于顯示“學(xué)號(hào)”、 “姓名”、“性別”、“籍貫”、“出生年月”、“電話”、“電子郵件”七個(gè)標(biāo)題。其所對(duì)應(yīng)的六個(gè) DBEdit控件和一個(gè) TMastEdit 控件控件用于查看要?jiǎng)h除的學(xué)生信息。 DBimage 控件用于顯示學(xué)生的照片。該組件提供了一種顯示數(shù)據(jù)庫中 Graph 字段的方法。它的 AutoDisplay 屬性決定否在運(yùn)行時(shí)自動(dòng)顯示圖形 6。數(shù)據(jù)庫導(dǎo) 航器控件 DBNavigator 主要用來數(shù)據(jù)操作和數(shù)據(jù)瀏覽。 DBNavigator 組件中的幾個(gè)按鈕可以通過 ObjectInspecor 中的 VisibleButtons 屬性設(shè)置是否顯示。使用 DBNavigator 控件時(shí),首先將該控件的 Datasoure 屬性和TDataSource 組件關(guān)聯(lián),并保持?jǐn)?shù)據(jù)集連接, 在此界面中利用的數(shù)據(jù)導(dǎo)航器的刪除功能進(jìn)行刪除,它是一組按鈕集合,提供了在數(shù)據(jù)集中進(jìn)行編輯的功能。但數(shù)據(jù)導(dǎo)航器的功能是有局限性的,只能逐條刪除。 ( 4)在窗體下部分的 Panel2 中放入一個(gè) DBGrid 控件,以 表格的形式顯示和操作數(shù)據(jù)集中的數(shù)據(jù),可以同時(shí)瀏覽多條記錄。該表格的字段名分別是“學(xué)號(hào)”、“姓名”、“性別”“籍貫”、“出生年月”、“聯(lián)系電話”和“電子郵件”。 Datasoure 屬性是 DBGrid 控件的一個(gè)主要屬性,它指定數(shù)據(jù)訪問組件的數(shù)據(jù)源。通過這個(gè)數(shù)據(jù)源數(shù)據(jù)控制組件才能訪問數(shù)據(jù)庫中的數(shù)據(jù)。 2刪除學(xué)生資料模塊功能的實(shí)現(xiàn) 刪除學(xué)生記錄主要用于學(xué)生學(xué)籍信息的注銷。在此添加了五個(gè) TDBEdit 組件來顯示要?jiǎng)h除的學(xué)生信息,他們分別和 student 表中的相應(yīng)字段相連接。 在此窗口中同樣有一個(gè)TDBgrid 控件顯示所 有學(xué)生的信息。輸入要?jiǎng)h除的學(xué)生學(xué)號(hào),按回車鍵定位到相應(yīng)的學(xué)生記錄,點(diǎn)擊 DBNavigator 控件中的刪除按鈕,會(huì)出現(xiàn)系統(tǒng)提示框:“ delete record?”,點(diǎn)擊確定將刪除原來的學(xué)生信息,同時(shí)將信息提交給 student表,刪除此條學(xué)生記錄。否則返回到刪除學(xué)生記錄對(duì)話框。 界面如圖 6-10 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 6. 7. 6 刪除教師信息 刪除教師記錄與刪除學(xué)生記錄的實(shí)現(xiàn)技術(shù)基本相同。 在此窗口中同樣有一個(gè) TDBgrid控件顯示所有教師的信息。輸入要?jiǎng)h除的教師姓名,按回車鍵定位到相應(yīng)的教師記錄。同時(shí)在 TDBgrid控件中也回自動(dòng)

溫馨提示

  • 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)論