數(shù)據(jù)庫設計報告書.doc_第1頁
數(shù)據(jù)庫設計報告書.doc_第2頁
數(shù)據(jù)庫設計報告書.doc_第3頁
數(shù)據(jù)庫設計報告書.doc_第4頁
數(shù)據(jù)庫設計報告書.doc_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目 錄一、系統(tǒng)概述.31.1 目的.31.2 背景.31.3 范圍.3二、需求說明.32.1功能分析.32.2工作流圖.42.3數(shù)據(jù)流圖.52.4數(shù)據(jù)字典.52.5概念模型設計(E-R圖).82.6邏輯設計.8三、系統(tǒng)設計.93.1軟件模塊結構設計.93.2 數(shù)據(jù)庫設計.16四、系統(tǒng)的功能.204.1 系統(tǒng)的主界面.204.2 學生管理模塊.204.3 教師管理模塊.234.4 成績管理模塊.25五、全文總結與體會.28參考文獻一、系統(tǒng)概述1.1 目的往往管理學生檔案信息是非常繁瑣和極為重要的工作.我們在學習和工作中作出的努力怎樣才能得到很好地保存與管理已經(jīng)是我們所關心的問題了。為此,通過ASP+SQL技術來編寫一部管理學生信息的程序來方便學生和老師。1.2 背景21世紀以高科技為核心的知識經(jīng)濟將占主導地位,國家的綜合國力和國際競爭力將越來越取決于科學技術創(chuàng)新水平。教育作為知識創(chuàng)新、傳播和應用的基礎,已經(jīng)成為經(jīng)濟發(fā)展和社會進步的基礎。在信息爆炸時代,傳統(tǒng)教學管理面臨著諸多挑戰(zhàn)。1.3 范圍系統(tǒng)包括的范圍:系統(tǒng)結構流程、前臺結構、后臺結構。二、需求說明2.1功能分析教學管理系統(tǒng)包括學生信息、教師信息、成績信息,具體功能如下:(1) 學生消息的添加、查詢、刪除、修改。學生信息包括學生學號、姓名、性別、年齡。實現(xiàn)了學生基本信息的錄入,實現(xiàn)了按學號、姓名、系名稱查詢學生基本信息以及對學生基本信息的更新。(2) 教師信息的添加、查詢、刪除、修改。教師信息包括老師所教課程、教師姓名、教師性別,老師所在系名、學歷。實現(xiàn)了教師基本信息的添加,實現(xiàn)了按姓名、系名稱查詢教職工基本信息以及對教師基本信息的更新。(3) 成績信息的添加、查詢、刪除、修改。成績信息包括學號、姓名、課程編號、課程名稱、成績。實現(xiàn)了成績信息的錄入,運用連接查詢實現(xiàn)了按學號、學生姓名、課程號、課程名稱、教師姓名查詢學生成績,按課程號、課程名稱查詢不及格學生學號、姓名,也實現(xiàn)了對成績信息表的更新。(4) 退出系統(tǒng)。實現(xiàn)了關閉系統(tǒng)的功能。 教學管理系統(tǒng)功能模塊示意圖:2.2工作流圖2.3數(shù)據(jù)流圖2. 4 數(shù)據(jù)字典2.4.1 數(shù)據(jù)結構卡片為:數(shù)據(jù)結構名:學生基本信息別名:描述:這是教學管理系統(tǒng)的主要數(shù)據(jù)結構,定義了一個學生的基本信息組成:學號,姓名,專業(yè),性別,年齡 (1) (2)數(shù)據(jù)結構名:教師基本信息別名:教職工基本信息描述:這是教學管理系統(tǒng)的一個重要數(shù)據(jù)結構,定義了一個教師的基本信息組成:編號、教師姓名、性別、備注 (3) 數(shù)據(jù)結構名:成績基本信息別名:成績信息描述:這是教學管理系統(tǒng)的一個重要數(shù)據(jù)結構,記錄了每一個學生的每一門考試的成績的基本信息組成:學號、課程名稱、成績 2.4.2 數(shù)據(jù)項卡片:選擇其中一個數(shù)據(jù)結構卡片給出數(shù)據(jù)項卡片(選擇第一個數(shù)據(jù)結構卡片) (2) (1)數(shù)據(jù)項名:姓名別名:名字描述:標示每個學生的代號定義:字符型位置:取值范圍:010個字符取值含義:自己定數(shù)據(jù)項名:學號別名:學生編號描述:唯一標識每個學生定義:字符型位置:取值范圍:010個字符取值含義:順序編號 (4) (3)數(shù)據(jù)項名:性別別名:描述:說明每個學生是男生還是女生定義:字符型位置:取值范圍:02個字符取值含義:男或者女數(shù)據(jù)項名:系名別名:專業(yè)名描述:說明每個學生所學專業(yè)定義:字符型位置:取值范圍:015個字符取值含義:由專業(yè)定 (5)數(shù)據(jù)項名:年齡別名:年紀描述:說明每個學生的大小定義:整型位置:取值范圍:04取值含義:按照每個學生大小而定2.4.3 數(shù)據(jù)存儲卡片(選擇第一個數(shù)據(jù)結構卡片分析):數(shù)據(jù)存儲名:查詢結果別名:描述:查詢學生基本信息所得的結果數(shù)據(jù)流來源:學生基本信息表數(shù)據(jù)流去向:學校管理者組成:學號,姓名,專業(yè),性別,年齡 2.4.4數(shù)據(jù)流卡片(選擇第一個數(shù)據(jù)結構卡片分析)數(shù)據(jù)流名:學生基本信息表別名:學生登記表描述:用來錄入學生基本信息定義:學生基本信息表=學號+姓名+專業(yè)+性別+年齡流入數(shù)據(jù)流:流出數(shù)據(jù)流:存取方式:隨機2.5概念模型設計(E-R圖) 學 生學號姓名系名性別年齡教 師教師姓名系名學歷課 程選修講授課程編號課程名稱學分版本先修成績1mn12.6邏輯設計(1)Students(學號主鍵,姓名,系名,性別,年齡);(2)Teacher(編號外鍵,教師姓名主鍵,系名,學歷);(3)Grade(學號外鍵,課程名稱外鍵,成績)(學號和課程名稱作為主鍵);綜合上述關系模式可得,3個關系模式都只有一個主鍵,每個關系模式中的所有非主屬性對候選鍵均沒有部分函數(shù)和傳遞函數(shù)依賴,也沒有主屬性對候選鍵的部分函數(shù)依賴和傳遞函數(shù)依賴,故可以認為3個關系模式均達到BC范式,滿足數(shù)據(jù)庫的開發(fā)要求,無需再對每一個關系模式進行分解。1) 學生信息表字段名稱數(shù)據(jù)類型字段大小必填字段編號 char10是姓名 char10是性別int2否年齡char4否專業(yè)char15否2)成績表字段名稱數(shù)據(jù)類型字段大小必填字段課程編號 char 5是課程名稱 char20是前置課程 char5否學分 int4否3)教師信息表字段名稱數(shù)據(jù)類型字段大小必填字段教師編號int 4否教師姓名char10是性別char2否教授課程char10否備注 char10否三、系統(tǒng)設計3.1軟件模塊結構設計3.1.1創(chuàng)建一個新的MFC工程,如圖所示3.1.2在對話框添加按鈕,擺出各個部件的位置下圖為學生管理的界面示意圖:3.1.3給每個按鈕做個新的對話框,如登記對話框如下圖:3.1.4以此類推,將所有的模塊的界面及上面的部件全部擺出來,最后所有的素材如下圖:3.1.5實現(xiàn)對話框與對話框之間的跳轉例如要實現(xiàn)點擊學生管理界面上的登記按鈕跳到學生登記的界面點擊登記按鈕跳轉到下圖首先需要給學生登記界面對話框建立一個名為MyDlg_Stu_Reg的類,然后在雙擊學生管理界面上的登錄按鈕,添加下列代碼:void MyDlg_Stu:OnButton1() MyDlg_Stu_Reg stuDlg;/建立學生登記類的一個對象stuDlg.cCid = ;if (stuDlg.DoModal() = IDOK)/生成學生登錄對話框,并檢測是否按下確定按鈕,若按下則刷新學生管理界面的數(shù)據(jù)表RefreshData();其他所有按鈕跳轉均為上述方法可以實現(xiàn)。3.1.6實現(xiàn)從界面對話框上輸入數(shù)據(jù)并寫入數(shù)據(jù)庫個人認為這個是整個軟件的核心部分,也是最難的部分。就還是拿學生登錄對話框舉例,從學生登錄對話框輸入學生的基本信息,然后點擊確定,然后寫入學生管理對話框。首先應建立一個名為Student的類,該類的聲明如下class Student private:int StuNum;CString StuNam;CString StuSex;int StuAge;public:Student();virtual Student();CStringArray a_StuNum;CStringArray a_StuNam;CStringArray a_StuSex;CStringArray a_StuAge;/讀取和設置成員變量int GetStuNum();void SetStuNum(int iStuNum);CString GetStuNam();void SetStuNam(CString cStuNam);CString GetStuSex();void SetStuSex(CString cStuSex);int GetStuAge();void SetStuAge(int iStuAge);/數(shù)據(jù)庫操作int HaveName(CString cStuNam);void sql_insert(); /向數(shù)據(jù)庫中插入一行void sql_findSno(CString cCid); /以學號查詢void sql_findSname(); /以姓名查詢 void sql_update(CString b); /修改數(shù)據(jù)庫 void sql_delete(CString a); /刪除數(shù)據(jù)庫;說明:該類具有四個私有變量StuNum,StuNam,StuSex,StuAge,分別記錄學生的學號,姓名,性別,年齡。由于私有函數(shù)不能直接訪問,故需要編寫對應的成員函數(shù),void SetStuNum(int iStuNum),SetStuNam(CString cStuNam),SetStuSex(CString cStuSex),SetStuAge(int iStuAge),并把從外界獲得的數(shù)據(jù)賦給私有變量。還需要編寫關于數(shù)據(jù)庫操作的函數(shù),例如數(shù)據(jù)庫的插入函數(shù)void sql_insert();/數(shù)據(jù)庫插入void Student:sql_insert()/連接數(shù)據(jù)庫ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/設置INSERT語句_bstr_t vSQL;CString strStuNum;strStuNum.Format(%d, StuNum);CString strStuAge;strStuAge.Format(%d, StuAge);vSQL = INSERT INTO Students (Cid, Cname, Csex, Cage, Cdept) VALUES( + strStuNum + , + StuNam + , + StuSex + , + strStuAge + , 計算機);/執(zhí)行INSERT語句m_AdoConn.ExecuteSQL(vSQL);/斷開與數(shù)據(jù)庫的連接m_AdoConn.ExitConnect();說明:這個函數(shù)可以把Student類中的私有變量對應加到數(shù)據(jù)庫之中?,F(xiàn)在還需要把對話框中用戶輸入的數(shù)據(jù)通過后臺傳入類Student中的私有變量,應該先給對話框中的編輯框建立類向導,如下圖:并給編輯框加上對應的變量名現(xiàn)在需要給學生登記對話框中的確定按鈕加上如下代碼:void MyDlg_Stu_Reg:OnOK() / TODO: Add your control notification handler code hereUpdateData(TRUE);/int StuNum,StuAge;/CString StuNam,StuSex;Student stu;stu.SetStuNum(m_Cid);stu.SetStuAge(m_Cage);stu.SetStuNam(m_Cname);stu.SetStuSex(m_Csex);if (m_Cname = )MessageBox(請輸入學生姓名);return;if (cCid = ) /插入數(shù)據(jù)if (stu.HaveName(m_Cname) = 1)MessageBox(m_Cname);MessageBox(當前顧客已經(jīng)存在,請重新輸入顧客姓名);return;elsestu.sql_insert();else/更新數(shù)據(jù)if (m_Cname != cCname & stu.HaveName(m_Cname) = 1)MessageBox(當前顧客已經(jīng)存在,請重新輸入顧客姓名);return;elsestu.sql_update(cCid);/關閉對話框CDialog:OnOK();到此為止即可以實現(xiàn)從對話框向數(shù)據(jù)庫中增加數(shù)據(jù),其他所有功能,添加,刪除,修改,查詢的處理方法與這個大同小異,就不多做敘述了。3.2 數(shù)據(jù)庫設計3.2.1 建立一個新的數(shù)據(jù)庫打開SQLserver2000的企業(yè)管理器,在數(shù)據(jù)庫里增添一個新的數(shù)據(jù)庫,如下圖:3.2.2 建立一個新的表設計表的屬性,如下圖:填寫表的內容,如下圖:3.2.3 數(shù)據(jù)庫的鏈接本程序采用ADO接口來實現(xiàn)數(shù)據(jù)庫和MFC的鏈接首先需要給工程中添加新的關于ADO的組件,添加方法為:工程添加到工程Components and Controls,并添加下面三個控件:Microsoft DataCombo Control,version 6.0 (OLEDB)Microsoft DataGrid Control,version 6.0 (OLEDB)Microsoft DataList Control,version 6.0 (OLEDB)如下圖所示:添加成功后,控件工具條會新增四個工具,如下圖需要再添加一個名為ADOConn.cpp和ADOConn.h的文件,并在ADOConn.h中添加下列代碼:#import c:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF) rename(BOF,adoBOF)點擊ADODC控件的屬性,鏈接數(shù)據(jù)庫,如下圖:四、系統(tǒng)的功能4.1系統(tǒng)的主界面主界面代碼詳見:計算機學生管理系統(tǒng)Dlg.cpp4.2 學生管理模塊4.2.1 學生登記界面4.2.2 學生查詢界面4.2.3 學生刪除界面4.3 教師管理模塊4.3.1 教師登記界面4.3.2 教師查詢界面4.3.3 教師刪除界面 4.4 成績管理模塊4.4.1 成績登記界面4.4.2 成績查詢界面4.4.3 成績刪除界面五、全文總結與體會一周的課設感覺每天的都過的特別的充實,記得課設的第一天,我基本上是一頭霧水,根本不知道如何下手,看著老師給的例子和書上的例子,那無數(shù)張表,無數(shù)個對話框,還有那寫密密麻麻的代碼,我頭皮發(fā)麻,不知道自己在短短的一周內真的能做完這么多不,萬事開頭難,我硬著頭皮去一點點的研究,去翻書,去查資料,去問王老師。開始不斷的自己嘗試,一個功能一個功能的實現(xiàn)。我記得我首先實現(xiàn)的功能是在MFC上顯示一張數(shù)據(jù)庫里的表,當我把表成功的顯示了時,我心里充滿了成績感,下決心

溫馨提示

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

評論

0/150

提交評論