![SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學(xué)生成績管理系統(tǒng)-2023修改整理_第1頁](http://file4.renrendoc.com/view/6e1c94e4be2150b9defd8f127d9dc352/6e1c94e4be2150b9defd8f127d9dc3521.gif)
![SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學(xué)生成績管理系統(tǒng)-2023修改整理_第2頁](http://file4.renrendoc.com/view/6e1c94e4be2150b9defd8f127d9dc352/6e1c94e4be2150b9defd8f127d9dc3522.gif)
![SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學(xué)生成績管理系統(tǒng)-2023修改整理_第3頁](http://file4.renrendoc.com/view/6e1c94e4be2150b9defd8f127d9dc352/6e1c94e4be2150b9defd8f127d9dc3523.gif)
![SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學(xué)生成績管理系統(tǒng)-2023修改整理_第4頁](http://file4.renrendoc.com/view/6e1c94e4be2150b9defd8f127d9dc352/6e1c94e4be2150b9defd8f127d9dc3524.gif)
![SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學(xué)生成績管理系統(tǒng)-2023修改整理_第5頁](http://file4.renrendoc.com/view/6e1c94e4be2150b9defd8f127d9dc352/6e1c94e4be2150b9defd8f127d9dc3525.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦SQLserver2022數(shù)據(jù)庫課程設(shè)計范例——學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫技術(shù)與應(yīng)用
課程設(shè)計說明書
題目:同學(xué)成果管理系統(tǒng)
院系:
專業(yè)班級:
學(xué)號:
同學(xué)姓名:
指導(dǎo)老師:
2022年12月22日
一概述
1.1目的與要求
隨著科技的進(jìn)展,基本上全部的具有一定數(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)當(dāng)達(dá)到把數(shù)據(jù)庫理論學(xué)問越發(fā)的鞏固加深,加強動手能力與實踐能力,學(xué)以致用,與現(xiàn)實生活中的應(yīng)用充分的結(jié)合起來。
1.2設(shè)計環(huán)境
①MicrosoftSQLServer2000
②MicrosoftVisualC++6.0
二需求分析
2.1系統(tǒng)功能要求設(shè)計
此系統(tǒng)實現(xiàn)如下系統(tǒng)功能:
(1)使得同學(xué)的成果管理工作越發(fā)清楚、條理化、自動化。
(2)通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,同學(xué)所選課程成果,修改用戶密碼等功能。簡單地完成同學(xué)信息的查詢操作。
(3)設(shè)計人機友好界面,功能支配合理,操作使用便利,并且進(jìn)一步考慮系統(tǒng)在平安性,完
整性,并發(fā)控制,備份和恢復(fù)等方面的功能要求。
2.2系統(tǒng)模塊設(shè)計
成果管理系統(tǒng)大體可以分成二大模塊如,一是同學(xué)的基本信息模塊,里面應(yīng)當(dāng)包含同學(xué)的各方面的基本信息;再者便是課程管理模塊,在該模塊中應(yīng)當(dāng)包含有對同學(xué)成果信息的查詢和處理,如平均成果、最好成果、最差成果以及不及格同學(xué)的統(tǒng)計等功能模塊;再第二還有老師、課程等相關(guān)信息的模塊;可以得到系統(tǒng)流程圖:
登陸失敗
用戶
驗證
2.3數(shù)據(jù)庫設(shè)計
數(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說明
Student_snoCharPrimarykey學(xué)號
Student_sncharNotNull同學(xué)姓名
Student_sexchar‘男’或‘女’性別
Student_deptchar系別
Student_agechar年齡
Student_addresschar地址
course數(shù)據(jù)表,結(jié)構(gòu)如下:
字段名字段類型約束控制說明
course_cnochar主鍵(primarykey)課程號
course_cnamecharnotnull課程名稱
course_hourint
notnull課時course_scorenumeric(2,1)
notnull
學(xué)分
score狀況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型約束控制說明score_idintnotnull成果記錄號course_cnochar外部鍵課程號student_snochar外部鍵學(xué)號score
int
成果
三概念模型設(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)的E—R圖:
四規(guī)律和物理結(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)鍵字為課程號;
選修課程
成果同學(xué)課程號
課程名
學(xué)時
學(xué)分
分?jǐn)?shù)
學(xué)號
姓名
性別
系別
地址年齡
(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)遵循:在常常需要搜尋的列上建立索引;在主關(guān)鍵字上建立索引;在常常用于銜接的列上建立索引,即在外鍵上建立索引;在常常需要按照范圍舉行搜尋的列上創(chuàng)建索引,由于索引已經(jīng)排序,其指定的范圍是延續(xù)的等規(guī)章。才干充分利用索引的作用避開因索引引起的負(fù)面作用。
4.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)
確定數(shù)據(jù)庫的存儲結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲支配及存儲結(jié)構(gòu),以及確定系統(tǒng)存儲參數(shù)的配置。由于該成果管理系統(tǒng)的數(shù)據(jù)量小,所以我們只用把數(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é)號)
)
go
executesp_addextendedproperty'MS_Description',
'同學(xué)基本信息描述',
'user','','table','StudentsInfo'
go
(2)創(chuàng)建課程表:
createtableCourse(
cnovarchar(5)notnull,
cnamevarchar(10)null,
xueshismallintnull,
xuefenintnull,
constraintPK_COURSEprimarykey(課程號))
go
executesp_addextendedproperty'MS_Description',
(3)創(chuàng)建同學(xué)與課程的成果表
createtableSC(snovarchar(11)notnull,
cnovarchar(5)notnull,
chengjivarchar(4)notnull
constraintPK_SCprimarykey(學(xué)號,課程號)
)
go
在SC表上創(chuàng)建索引SC_FK與SC2_FK
createindexSC_FKonSC(學(xué)號ASC)
Go
createindexSC2_FKonSC(課程號ASC)
go
建立課程號索引
createindexTC_FKonTC(
課程號ASC
)
go
下圖顯示了同學(xué),課程和成果三個關(guān)系的物理設(shè)計其中課程號與學(xué)號號分離為關(guān)系的主碼。
五數(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_FILE
staticcharTHIS_FILE[]=__FILE__;
//CCourse
IMPLEMENT_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
}
//CCoursediagnostics
voidCCourse::AssertValid()const
{CRecordset::AssertValid();}
voidCCourse::Dump(CDumpContext}
//MainFrm.h:interfaceoftheCMainFrameclass
classCMainFrame:publicCFrameWnd
{protected://createfromserializationonly
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
//Attributes
public:
//Operations
public:
//Overrides
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CMainFrame)
virtualBOOLPreCreateWindow(CREATESTRUCT
//}}AFX_VIRTUAL
//Implementation
public:
virtual~CMainFrame();
protected://controlbarembeddedmembers
//CStatusBarm_wndStatusBar;
//CToolBarm_wndToolBar;
//Generatedmessagemapfunctions
protected:
//{{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()
};
//{{AFX_INSERT_LOCATION}}
//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.//CScoreAddDlgdialog
CScoreAddDlg::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_MAP
END_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_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=
}
CStringstrSQL;
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【部編人教版】八年級上冊歷史聽課評課記錄 第14課 中國共產(chǎn)黨誕生
- 晉教版地理八年級下冊《8.1 西雙版納──晶瑩剔透的“綠寶石”》聽課評課記錄
- 小學(xué)二年級口算練習(xí)題
- 蘇教版四年級數(shù)學(xué)上冊期末復(fù)習(xí)口算練習(xí)題一
- 人教版七年級數(shù)學(xué)下冊 聽評課記錄5.3.1 第1課時《平行線的性質(zhì)》
- 七年級體育教學(xué)計劃
- 商業(yè)營銷策劃項目合作協(xié)議書范本
- 建筑智能化工程框架合作協(xié)議書范本
- 商用精裝房屋租賃協(xié)議書范本
- 鍋爐及附屬供熱設(shè)備安裝施工合同范本
- 2024年01月江西2024年江西銀行贛州分行招考筆試歷年參考題庫附帶答案詳解
- 初三數(shù)學(xué)一元二次方程應(yīng)用題附答案
- 九宮數(shù)獨200題(附答案全)
- 中考數(shù)學(xué)試題(含答案)共12套
- 2021年胃腸外科規(guī)培出科考試試題及答案
- 人美版高中美術(shù)選修:《繪畫》全冊課件【優(yōu)質(zhì)課件】
- FANUC數(shù)控系統(tǒng)面板介紹與編程操作參考模板
- 碳纖維粘貼加固補充預(yù)算定額
- 單位數(shù)字證書業(yè)務(wù)申請表
- 大學(xué)物理答案北京郵電大學(xué)出版社
- 國家電網(wǎng)公司安全文明施工實施細(xì)則
評論
0/150
提交評論