版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
網(wǎng)絡(luò)教育學院《SQL數(shù)據(jù)庫課程設(shè)計》題目:學生成績管理系統(tǒng)的設(shè)計與實現(xiàn)請把你所在的學習中心名稱完整填寫。閱后刪除此文本框請把你所在的學習中心名稱完整填寫。閱后刪除此文本框春季入學那么去掉“春季入學那么去掉“/秋〞字,秋季入學那么去掉“/春〞字。添加內(nèi)容的時候注意文字下劃線要完整。閱后刪除此文本框。年級:年春/秋季學號:學生:指導教師:龍珠1工程概況隨著科技的開展,根本上所有的具有一定數(shù)量數(shù)據(jù)的機構(gòu)都開始使用計算機數(shù)據(jù)庫來做管理。幾乎所有學校也都已經(jīng)在使用計算機管理數(shù)據(jù)的機制,大大減少了學校學生成績管理的工作量。該課程設(shè)計要求設(shè)計一個學生成績的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含學生的根本信息,學科根本信息,以及學生所學課程的考試成績。要方便學生進行成績查詢,通過該課程設(shè)計,應(yīng)該到達把數(shù)據(jù)庫理論知識更加的穩(wěn)固加深,加強動手能力與實踐能力,學以致用,與現(xiàn)實生活中的應(yīng)用充分的結(jié)合起來。2.1SQL數(shù)據(jù)庫簡介SQLServer2023是一個重大的產(chǎn)品版本,它推出了許多新的特性和關(guān)鍵的改良,使得它成為至今為止的最強大和最全面的SQLServer版本。這篇文章詳細介紹了MicrosoftSQLServer2023中的新的特性、優(yōu)點和功能。在現(xiàn)今數(shù)據(jù)的世界里,公司要獲得成功和不斷開展,他們需要定位主要的數(shù)據(jù)趨勢的愿景。微軟的這個數(shù)據(jù)平臺愿景幫助公司滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動應(yīng)用程序的需求。微軟將繼續(xù)投入和開展以下的關(guān)鍵領(lǐng)域來支持他們的數(shù)據(jù)平臺愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能。SQLServer2023出現(xiàn)在微軟數(shù)據(jù)平臺愿景上是因為它使得公司可以運行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時降低了管理數(shù)據(jù)根底設(shè)施和發(fā)送觀察和信息給所有用戶的本錢。這個平臺有以下特點:1.可信任的:使得公司可以以很高的平安性、可靠性和可擴展性來運行他們最關(guān)鍵任務(wù)的應(yīng)用程序。2.高效的:使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)根底設(shè)施的時間和本錢。3.智能的:提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。2.2MicrosoftVisualC++6.0概述MicrosoftVisualC++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設(shè)置就可使其生成的程序框架支持數(shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。VisualC++6.0由Microsoft開發(fā),它不僅是一個C++編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境〔integrateddevelopmentenvironment,IDE〕。VisualC++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lassWizard等開發(fā)工具。這些組件通過一個名為DeveloperStudio的組件集成為和諧的開發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。VisualC++是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出VisualC++1.0后,隨著其新版本的不斷問世,VisualC++已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了VisualC++.NET(VisualC++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows2000,WindowsXP和WindowsNT4.0。所以實際中,更多的是以VisualC++6.0為平臺。VisualC++6.0以擁有“語法高亮〞,自動編譯功能以及高級除錯功能而著稱。比方,它允許用戶進行遠程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及創(chuàng)立預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)(link)著稱。這些特征明顯縮短程序編輯、編譯及連結(jié)的時間花費,在大型軟件方案上尤其顯著。由于C++是由C語言開展起來的,也支持C語言的編譯。6.0版本是使用最多的版本,很經(jīng)典。最大的缺點是對于模版的支持比擬差。現(xiàn)在最新補丁為SP6,推薦安裝,否那么易出現(xiàn)編譯時假死狀態(tài)。僅支持Windows操作系統(tǒng)。發(fā)現(xiàn)與windows7兼容性不好,安裝成功后可能會出現(xiàn)無法翻開cpp文件的現(xiàn)象。2.1學生成績管理系統(tǒng)概述本程序為學生信息管理程序,有如下兩大模塊構(gòu)成:一是學生的根本信息模塊,里面應(yīng)該包含學生的各方面的根本信息;再者便是課程管理模塊,在該模塊中應(yīng)該包含有對學生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學生的統(tǒng)計等功能模塊;二是教師、課程等相關(guān)信息的模塊。后臺使用SQLServer2023數(shù)據(jù)庫,開發(fā)工具為VisualC++6.0。此系統(tǒng)實現(xiàn)如下系統(tǒng)功能:〔1〕使得學生的成績管理工作更加清晰、條理化、自動化?!?〕通過用戶名和密碼登錄系統(tǒng),查詢課程根本資料,學生所選課程成績,修改用戶密碼等功能。容易地完成學生信息的查詢操作。(3)設(shè)計人機友好界面,功能安排合理,操作使用方便,并且進一步考慮系統(tǒng)在平安性,完整性,并發(fā)控制,備份和恢復等方面的功能要求。2需求分析2.1需求分析1.信息需求高校學生的成績管理工作量大、繁雜,人工處理非常困難。學生成績管理系統(tǒng)借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學生成績管理系統(tǒng)的開發(fā)運用,實現(xiàn)了學生成績管理的自動化,不僅把廣闊教師從繁重的成績管理工作中解脫出來、把學校從傳統(tǒng)的成績管理模式中解放出來,而且對學生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準確、清晰、輕松的成績管理環(huán)境。2.功能需求能夠進行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能,進行聯(lián)機處理的相應(yīng)時間要短。具體功能應(yīng)包括:系統(tǒng)應(yīng)該提供課程安排數(shù)據(jù)的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學生及教職工根本信息查詢的功能。平安性與完整性要求2.2數(shù)據(jù)分析數(shù)據(jù)項是數(shù)據(jù)庫的關(guān)系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱、數(shù)據(jù)類型、長度、取值能否為空。利用SQLServer2000建立“學生選課〞數(shù)據(jù)庫,其根本表清單及表結(jié)構(gòu)描述如下:數(shù)據(jù)庫中用到的表:數(shù)據(jù)庫表名關(guān)系模式名稱備注Student學生學生學籍信息表Course課程課程根本信息表Score成績選課成績信息表Student根本情況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型NotNull說明Student_snoCharPrimarykey學號Student_sncharNotNull學生姓名Student_sexchar‘男’或‘女’性別Student_deptchar系別Student_agechar年齡Student_addresschar地址course數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型約束控制說明course_cnochar主鍵〔primarykey〕課程號course_cnamecharnotnull課程名稱course_hourintnotnull課時course_scorenumeric(2,1)notnull學分score情況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名稱數(shù)據(jù)寬度約束控制說明score_idintnotnull成績記錄號course_cnochar外部鍵課程號student_snochar外部鍵學號scoreint成績2.3功能分析一個完整的數(shù)據(jù)庫不可缺少的就是數(shù)據(jù)表,假設(shè)干個數(shù)據(jù)表的集合成一個數(shù)據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄,數(shù)據(jù)表中的行被稱為記錄,列被稱為字段。創(chuàng)立數(shù)據(jù)表的過程其實就是定義字段的過程。(1)創(chuàng)立學生根本信息表:createtableStudent(學號varchar(11)notnull,系別varchar(5)notnull,姓名varchar(6)notnull,性別varchar(2)notnull,年齡char(2)notnull,地址varchar(20)notnull,constraintPK_STUDENTprimarykey(學號)go)goexecutesp_addextendedproperty'MS_Description','學生根本信息描述','user','','table','StudentsInfo'go(2)創(chuàng)立課程表:createtableCourse(cnovarchar(5)notnull,cnamevarchar(10)null,xueshismallintnull,xuefenintnull,constraintPK_COURSEprimarykey(課程號))goexecutesp_addextendedproperty'MS_Description',(3)創(chuàng)立學生與課程的成績表createtableSC(snovarchar(11)notnull,cnovarchar(5)notnull,chengjivarchar(4)notnullconstraintPK_SCprimarykey(學號,課程號))go在SC表上創(chuàng)立索引SC_FK與SC2_FKcreateindexSC_FKonSC(學號ASC)GocreateindexSC2_FKonSC(課程號ASC)go建立課程號索引createindexTC_FKonTC(課程號ASC)go下列圖顯示了學生,課程和成績?nèi)齻€關(guān)系的物理設(shè)計其中課程號與學號號分別為關(guān)系的主碼。3詳細設(shè)計成績管理系統(tǒng)大體可以分成二大模塊如,一是學生的根本信息模塊,里面應(yīng)該包含學生的各方面的根本信息;再者便是課程管理模塊,在該模塊中應(yīng)該包含有對學生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學生的統(tǒng)計等功能模塊;再其次還有教師、課程等相關(guān)信息的模塊;可以得到系統(tǒng)流程圖:3.1系統(tǒng)結(jié)構(gòu)圖由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括:〔1〕學生根本信息:學號,姓名,性別,地址,年齡,專業(yè)?!?〕課程根本信息:課程名,課程號,分數(shù),學時,學分。這些實體間的聯(lián)系包括:每位學生可以學習多門課程,每門課程可供多位學生學習。由上述分析可得到系統(tǒng)的E—R圖:選修課程選修課程成績學生課程號課程名學時學分分數(shù)學號姓名性別系別地址年齡3.2系統(tǒng)實現(xiàn)由系統(tǒng)E-R圖轉(zhuǎn)化而得到的關(guān)系模式如下:〔1〕學生〔學號,姓名,性別,年齡,地址,系別〕,其主關(guān)鍵字為學號;〔2〕課程〔課程名,課程號,學時,學分〕,其中主關(guān)鍵字為課程號;〔3〕成績〔課程號,學號,分數(shù)〕其中主關(guān)鍵字為學號和課程號??梢耘c學生關(guān)系模式合并為:學生〔學號,姓名,性別,年齡,地址,系別,成績,課程號〕。3.3.1主界面模塊下列圖顯示了學生登陸系統(tǒng)進行查詢時界面:3.3.2成績查詢功能模塊3.3.3課程查詢時界面模塊3.3數(shù)據(jù)庫實現(xiàn)此階段主要任務(wù)包括創(chuàng)立數(shù)據(jù)庫,加載初始數(shù)據(jù),數(shù)據(jù)庫試運行,數(shù)據(jù)庫的平安性和完整性控制數(shù)據(jù)庫的備份與恢復,數(shù)據(jù)庫性能的監(jiān)督分析和改僅,數(shù)據(jù)庫的重組和重構(gòu)等。首先在數(shù)據(jù)庫中建立一個學生成績管理系統(tǒng)數(shù)據(jù)庫,然后新建一個數(shù)據(jù)源。3.3.1數(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_INIT m_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()const{ CRecordset::AssertValid();}voidCCourse::Dump(CDumpContext&dc)const{ CRecordset::Dump(dc);}//MainFrm.h:interfaceoftheCMainFrameclassclassCMainFrame:publicCFrameWnd{protected://createfromserializationonly CMainFrame(); DECLARE_DYNCREATE(CMainFrame)//Attributespublic://Operationspublic://Overrides //ClassWizardgeneratedvirtualfunctionoverrides //{{AFX_VIRTUAL(CMainFrame) virtualBOOLPreCreateWindow(CREATESTRUCT&cs); //}}AFX_VIRTUAL//Implementationpublic: virtual~CMainFrame();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_MSG DECLARE_MESSAGE_MAP()};3.3.2數(shù)據(jù)庫的更新插入數(shù)據(jù)表的核心代碼://{{AFX_INSERT_LOCATION}}//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.//CScoreAddDlgdialogCScoreAddDlg::CScoreAddDlg(CWnd*pParent/*=NULL*/) :CDialog(CScoreAddDlg::IDD,pParent){/{{AFX_DATA_INIT(CScoreAddDlg) //}}AFX_DATA_INIT}voidCScoreAddDlg::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_MAP}BEGIN_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; //查出該學生的學號 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.A
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高速公路邊坡除草與養(yǎng)護一體化承包合同4篇
- 2025年度跨境電商進口合同模板大全
- 個人購買二零二四年度生產(chǎn)新能源汽車購銷合同3篇
- 2025年度航次租船合同協(xié)議金康格式標準范本
- 二零二四年度新能源研發(fā)與生產(chǎn)服務(wù)合同3篇
- 2025年度海上貨物運輸合同(跨境電商專用)
- 2025年度河北經(jīng)貿(mào)大學消防設(shè)施設(shè)備安全管理與服務(wù)合同
- 2025年度智慧農(nóng)業(yè)機械設(shè)備購銷合同(智能農(nóng)業(yè))
- 二零二四年門衛(wèi)室智能門禁與訪客登記服務(wù)合同3篇
- 二零二四年度藝術(shù)品收藏買賣與居間服務(wù)合同3篇
- 電力通信光纜檢修標準化作業(yè)指導書
- 2024年全國統(tǒng)一考試高考新課標Ⅱ卷數(shù)學試題(真題+答案)
- 2024山西省文化旅游投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 加油站廉潔培訓課件
- 2023屆上海市松江區(qū)高三下學期二模英語試題(含答案)
- 《民航服務(wù)溝通技巧》教案第16課民航服務(wù)人員平行溝通的技巧
- 深圳市物業(yè)專項維修資金管理系統(tǒng)操作手冊(電子票據(jù))
- 2023年鐵嶺衛(wèi)生職業(yè)學院高職單招(數(shù)學)試題庫含答案解析
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學教案06兒童咬合誘導
- 中國建筑項目管理表格
評論
0/150
提交評論