歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

數(shù)據(jù)庫課程設(shè)計(學(xué)生成績管理系統(tǒng))(.xiaoy)

  • 資源ID:159329361       資源大?。?span id="p1nh9rp" class="font-tahoma">243KB        全文頁數(shù):12頁
  • 資源格式: DOC        下載積分:0積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要0積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付說明:
本站最低充值0.01積分,下載本資源后余額將會存入您的賬戶,您可在我的個人中心查看。
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

數(shù)據(jù)庫課程設(shè)計(學(xué)生成績管理系統(tǒng))(.xiaoy)

正文:數(shù)據(jù)庫原理與應(yīng)用課程設(shè)計說明書題目:學(xué)生成績管理系統(tǒng)院系:專業(yè)班級:學(xué)號:學(xué)生姓名:指導(dǎo)教師:2008年12月22日1概述1.1目的與要求隨著科技的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的機構(gòu)都開始使用計算機數(shù)據(jù)庫來做管理。幾乎所有學(xué)校也都已經(jīng)在使用計算機管理數(shù)據(jù)的機制,大大減少了學(xué)校學(xué)生成績管理的工作量。該課程設(shè)計要求設(shè)計一個學(xué)生成績的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含學(xué)生的基本信息,學(xué)科基本信息,以及學(xué)生所學(xué)課程的考試成績。要方便學(xué)生進行成績查詢,通過該課程設(shè)計,應(yīng)該達到把數(shù)據(jù)庫理論知識更加的鞏固加深,加強動手能力與實踐能力,學(xué)以致用,與現(xiàn)實生活中的應(yīng)用充分的結(jié)合起來。1.2設(shè)計環(huán)境MicrosoftSQLServer20006.02.1 系統(tǒng)功能要求設(shè)計此系統(tǒng)實現(xiàn)如下系統(tǒng)功能:1)使得學(xué)生的成績管理工作更加清晰、條理化、自動化。2)通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,學(xué)生所選課程成績,修改用戶密碼等功能。容易地完成學(xué)生信息的查詢操作。(3)設(shè)計人機友好界面,功能安排合理,操作使用方便,并且進一步考慮系統(tǒng)在安全性,完整性,并發(fā)控制,備份和恢復(fù)等方面的功能要求。2.2 系統(tǒng)模塊設(shè)計成績管理系統(tǒng)大體可以分成二大模塊如,一是學(xué)生的基本信息模塊,里面應(yīng)該包含學(xué)生的各方面的基本信息;再者便是課程管理模塊,在該模塊中應(yīng)該包含有對學(xué)生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學(xué)生的統(tǒng)計等功能模塊;再其次還有教師、課程等相關(guān)信息的模塊;可以得到系統(tǒng)流程圖:2.3 數(shù)據(jù)字典數(shù)據(jù)項是數(shù)據(jù)庫的關(guān)系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱、數(shù)據(jù)類型、長度、取值能否為空。利用SQLServer2000建立“學(xué)生選課”數(shù)據(jù)庫,其基本表清單及表結(jié)構(gòu)描述如下:數(shù)據(jù)庫中用到的表:數(shù)據(jù)庫表名關(guān)系模式名稱備注Student學(xué)生學(xué)生學(xué)籍信息表Course課程課程基本信息表Score成績選課成績信息表Student基本情況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型NotNull說明StudentsnoCharPrimarykey學(xué)號StudentsncharNotNull學(xué)生姓名Studentsexchar'男'或'女'性別Studentdeptchar系別Studentagechar年齡Studentaddresschar地址course數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型約束控制說明course_cnochar主鍵(primarykey)課程號course_cnamecharnotnull課程名稱coursehourintnotnull課時course_scorenumeric(2,l)notnull學(xué)分score情況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型約束控制說明score_idintnotnull成績記錄號course_cnochar外部鍵課程號student_snochar外部鍵學(xué)號scoreint成績?nèi)?概念模型設(shè)計由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括:1)學(xué)生基本信息:學(xué)號,姓名,性別,地址,年齡,專業(yè)。2)課程基本信息:課程名,課程號,分?jǐn)?shù),學(xué)時,學(xué)分。這些實體間的聯(lián)系包括:(1)每位學(xué)生可以學(xué)習(xí)多門課程,每門課程可供多位學(xué)生學(xué)習(xí)由上述分析可得到系統(tǒng)的ER圖:四 邏輯和物理結(jié)構(gòu)設(shè)計4.1由系統(tǒng)E-R圖轉(zhuǎn)化而得到的關(guān)系模式如下:(1)學(xué)生(學(xué)號,姓名,性別,年齡,地址,系別),其主關(guān)鍵字為學(xué)號;(2)課程(課程名,課程號,學(xué)時,學(xué)分),其中主關(guān)鍵字為課程號;(3)成績(課程號,學(xué)號,分?jǐn)?shù))其中主關(guān)鍵字為學(xué)號和課程號??梢耘c學(xué)生關(guān)系模式合并為:學(xué)生(學(xué)號,姓名,性別,年齡,地址,系別,成績,課程號)。4.2確定關(guān)系模型的存取方法在將概念模型轉(zhuǎn)換成物理模型之后,我們可以對物理模型進行設(shè)計,雙擊物理模型的關(guān)系,可以對該關(guān)系的名稱、注釋等信息進行查詢??蓪υ撽P(guān)系的屬性列進行設(shè)計,可分別設(shè)置其名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。在實際設(shè)計中最常用的存取方法是索引發(fā),使用索引可以大大減少數(shù)據(jù)的查詢時間,在建立索引時應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引;在主關(guān)鍵字上建立索引;在經(jīng)常用于連接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)范圍進行搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的等規(guī)則。才能充分利用索引的作用避免因索引引起的負面作用。4.3 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)確定數(shù)據(jù)庫的存儲結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括確定關(guān)系、索引、日志、備因為該成績管理系統(tǒng)的數(shù)據(jù)量小,所以份等的存儲安排及存儲結(jié)構(gòu),以及確定系統(tǒng)存儲參數(shù)的配置。我們只用把數(shù)據(jù)存儲在使用的電腦硬盤上,不用作更多的安排(1)創(chuàng)建學(xué)生基本信息表:createtableStudent(學(xué)號varchar(11)notnull,系別varchar(5)notnull,姓名varchar(6)notnull,性別varchar(2)notnull,年齡char(2)notnull,地址varchar(20)notnull,constraintPK_STUDENTprimarykey(學(xué)號)6#goexecutesp_addextendedproperty'MS_Description','學(xué)生基本信息描述','user','','table','StudentsInfo'go(2)創(chuàng)建課程表:createtableCourse(cnocnamexueshivarchar(5)varchar(10)smallintintxuefenconstraintPK_COURSEprimarykey(課程號)notnull,null,null,null,#goMS_Description',executesp_addextendedproperty'createtableSC(sno(3)創(chuàng)建學(xué)生與課程的成績表cnovarchar(5)notnull,chengjivarchar(4)notnullvarchar(11)notnull,constraintPK_SCprimarykey(學(xué)號,課程號)go在SC表上創(chuàng)建索引SC_FK與SC2_FKcreateindexSC_FKonSC(學(xué)號ASC)GocreateindexSC2_FKonSC(課程號ASC)go建立課程號索引createindexTC_FKonTC(課程號ASC)go下圖顯示了學(xué)生,課程和成績?nèi)齻€關(guān)系的物理設(shè)計其中課程號與學(xué)號號分別為關(guān)系的主碼。"student+SCOTC+五 數(shù)據(jù)庫的實施與維護5.1數(shù)據(jù)庫的實施:此階段主要任務(wù)包括創(chuàng)建數(shù)據(jù)庫,加載初始數(shù)據(jù),數(shù)據(jù)庫試運行,數(shù)據(jù)庫的安全性和完整性控制數(shù)據(jù)庫的備份與恢復(fù),數(shù)據(jù)庫性能的監(jiān)督分析和改僅,數(shù)據(jù)庫的重組和重構(gòu)等。首先在數(shù)據(jù)庫中建立一個學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫,然后新建一個數(shù)據(jù)源。主要代碼如下:#include"stdafx.h"#include"StudentScore.h"#include"Course.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE=_FILE_;/CCourseIMPLEMENT_DYNAMIC(CCourse,CRecordset)CCourse:CCourse(CDatabase*pdb):CRecordset(pdb)AFX_FIELD_INIT(CCourse)/AFX_FIELD_INITm_nDefaultType=snapshot;CStringCCourse:GetDefaultConnect()return_T("ODBC;DSN=");CStringCCourse:GetDefaultSQL()return_T("");voidCCourse:DoFieldExchange(CFieldExchange*pFX)/AFX_FIELD_MAP(CCourse)pFX->SetFieldType(CFieldExchange:outputColumn);/AFX_FIELD_MAP/CCoursediagnosticsvoidCCourse:AssertValid()constCRecordset:AssertValid();voidCCourse:Dump(CDumpContext&dc)constCRecordset:Dump(dc);/MainFrm.h:interfaceoftheCMainFrameclassclassCMainFrame:publicCFrameWndprotected:/createfromserializationonlyCMainFrame();DECLARE_DYNCREATE(CMainFrame)/Attributespublic:/Operationspublic:/Overrides/ClassWizardgeneratedvirtualfunctionoverrides/AFX_VIRTUAL(CMainFrame)virtualBOOLPreCreateWindow(CREATESTRUCT&cs);/AFX_VIRTUAL/Implementationpublic:virtualCMainFrame();protected:/controlbarembeddedmembers/CStatusBarm_wndStatusBar;/CToolBarm_wndToolBar;/Generatedmessagemapfunctionsprotected:/AFX_MSG(CMainFrame)afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);afx_msgvoidOnPassword();afx_msgvoidOnUser();afx_msgvoidOnStudent();afx_msgvoidOnTeach();afx_msgvoidOnTeacher();afx_msgvoidOnScore();afx_msgvoidOnQueryTeach();afx_msgvoidOnQueryScore();afx_msgvoidOnCourse();/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/MicrosoftVisualC+willinsertadditionaldeclarationsimmediatelybeforethepreviousline./CScoreAddDlgdialogCScoreAddDlg:CScoreAddDlg(CWnd*pParent/*=NULL*/):CDialog(CScoreAddDlg:IDD,pParent)/AFX_DATA_INIT(CScoreAddDlg)/AFX_DATA_INITvoidCScoreAddDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CScoreAddDlg)DDX_Control(pDX,IDC_SCORE_STUDENT,m_cStudent);DDX_Control(pDX,IDC_SCORE_SCORE,m_cScore);DDX_Control(pDX,IDC_SCORE_COURSE,m_cCourse);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CScoreAddDlg,CDialog)/AFX_MSG_MAP(CScoreAddDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()voidCScoreAddDlg:OnOK()CStringstudent,course,score,student_no,course_no;m_cStudent.GetWindowText(student);m_cCourse.GetWindowText(course);m_cScore.GetWindowText(score);else/成績不為空CStringstrSQL;/查出該學(xué)生的學(xué)號strSQL.Format("select*fromstudentwhereactive_status='Y'andstudent_name='%s'",student);CRecordsetm_recordSet=&m_database;m_recordSet.Open(CRecordset:forwardOnly,strSQL);m_recordSet.GetFieldValue("student_no",student_no);m_recordSet.Close();/查出該課程的課程號strSQL.Format("select*fromcoursewhereactive_status='Y'andcourse_name='%s'",course);m_recordSet.Open(CRecordset:forwardOnly,strSQL);m_recordSet.GetFieldValue("course_no",course_no);m_recordSet.Close();BOOLCScoreAddDlg:OnInitDialog()CDialog:OnInitDialog();CRecordsetm_recordSet;if(!m_database.IsOpen()m_database.Open(_T("student");m_recordSet.m_pDatabase=&m_database;CStringstrSQL;strSQL.Format("selectcourse_namefromcoursewhereactive_status='Y'");m_recordSet.Open(CRecordset:forwardOnly,strSQL);for(inti=0;i<m_recordSet.GetRecordCount();i+)CStringtemp;m_recordSet.GetFieldValue("course_name",temp);m_cCourse.AddString(temp);m_recordSet.MoveNext();m_recordSet.Close();m_cCourse.SetCurSel(1);strSQL.Format("selectstudent_namefromstudentwhereactive_status='Y'");m_recordSet.Open(CRecordset:forwardOnly,strSQL);for(intj=0;j<m_recordSet.GetRecordCount();j+)CStringtemp;m_recordSet.GetFieldValue("student_name",temp);m_cStudent.AddString(temp);m_recordSet.MoveNext();m_recordSet.Close();m_cStudent.SetCurSel(1);this->SetWindowText("成績窗口");returntrue;voidCScoreAddDlg:OnCancel()/TODO:AddextracleanuphereCDialog:OnCancel();105.2部分操作截圖:下圖顯示了學(xué)生登陸系統(tǒng)進行查詢時界面:成績查詢功能:下圖顯示了進行課程查詢時界面:5.3數(shù)據(jù)庫的維護當(dāng)試運行數(shù)據(jù)庫合格后,數(shù)據(jù)庫開發(fā)設(shè)計的工作就基本完成了,接下來就是正式運行中的調(diào)試,應(yīng)為該系統(tǒng)比較簡單,數(shù)據(jù)量小,數(shù)據(jù)庫中幾乎不會發(fā)生什么大的變化,但是還是需要做好數(shù)據(jù)的備份,在sqlserver中我們可以利用備份數(shù)據(jù)庫的功能對已經(jīng)設(shè)計好的數(shù)據(jù)做備份,如果數(shù)據(jù)庫受到破壞或系統(tǒng)故障,我們便可輕松的利用備份文件恢復(fù)數(shù)據(jù)庫的數(shù)據(jù)。當(dāng)然也可以利用其他各*方法進行數(shù)據(jù)維護。六總纟口進一步深入理解數(shù)據(jù)庫設(shè)計的整個過程,該學(xué)生選課系統(tǒng)的需求分析、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計有關(guān)內(nèi)容等。掌握使用前臺程序設(shè)計技術(shù)VC和SQLServer結(jié)合設(shè)計C/S結(jié)構(gòu)的管理信息系統(tǒng)。綜合練習(xí)了SQLServer的使用和數(shù)據(jù)庫得管理技術(shù)。綜合熟悉并練習(xí)了SQL語言在編程中的使用。綜合訓(xùn)練編程能力。認(rèn)識系統(tǒng),取得系統(tǒng)需求分析,更重要得是在編程方面提高了實現(xiàn)目標(biāo)代碼得能力及調(diào)試代碼得能力

注意事項

本文(數(shù)據(jù)庫課程設(shè)計(學(xué)生成績管理系統(tǒng))(.xiaoy))為本站會員(小**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!