SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學生成績管理系統(tǒng)-2023修改整理_第1頁
SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學生成績管理系統(tǒng)-2023修改整理_第2頁
SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學生成績管理系統(tǒng)-2023修改整理_第3頁
SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學生成績管理系統(tǒng)-2023修改整理_第4頁
SQL server2022數(shù)據(jù)庫課程設(shè)計范例-學生成績管理系統(tǒng)-2023修改整理_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦SQLserver2022數(shù)據(jù)庫課程設(shè)計范例——學生成績管理系統(tǒng)數(shù)據(jù)庫技術(shù)與應用

課程設(shè)計說明書

題目:同學成果管理系統(tǒng)

院系:

專業(yè)班級:

學號:

同學姓名:

指導老師:

2022年12月22日

一概述

1.1目的與要求

隨著科技的進展,基本上全部的具有一定數(shù)量數(shù)據(jù)的機構(gòu)都開頭使用計算機數(shù)據(jù)庫來做管理。幾乎全部小學也都已經(jīng)在使用計算機管理數(shù)據(jù)的機制,大大削減了小學同學成果管理的工作量。該課程設(shè)計要求設(shè)計一個同學成果的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含同學的基本信息,學科基本信息,以及同學所學課程的考試成果。要便利同學舉行成果查詢,通過該課程設(shè)計,應當達到把數(shù)據(jù)庫理論學問越發(fā)的鞏固加深,加強動手能力與實踐能力,學以致用,與現(xiàn)實生活中的應用充分的結(jié)合起來。

1.2設(shè)計環(huán)境

①MicrosoftSQLServer2000

②MicrosoftVisualC++6.0

二需求分析

2.1系統(tǒng)功能要求設(shè)計

此系統(tǒng)實現(xiàn)如下系統(tǒng)功能:

(1)使得同學的成果管理工作越發(fā)清楚、條理化、自動化。

(2)通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,同學所選課程成果,修改用戶密碼等功能。簡單地完成同學信息的查詢操作。

(3)設(shè)計人機友好界面,功能支配合理,操作使用便利,并且進一步考慮系統(tǒng)在平安性,完

整性,并發(fā)控制,備份和恢復等方面的功能要求。

2.2系統(tǒng)模塊設(shè)計

成果管理系統(tǒng)大體可以分成二大模塊如,一是同學的基本信息模塊,里面應當包含同學的各方面的基本信息;再者便是課程管理模塊,在該模塊中應當包含有對同學成果信息的查詢和處理,如平均成果、最好成果、最差成果以及不及格同學的統(tǒng)計等功能模塊;再第二還有老師、課程等相關(guān)信息的模塊;可以得到系統(tǒng)流程圖:

登陸失敗

用戶

驗證

2.3數(shù)據(jù)庫設(shè)計

數(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_hourint

notnull課時course_scorenumeric(2,1)

notnull

學分

score狀況數(shù)據(jù)表,結(jié)構(gòu)如下:字段名字段類型約束控制說明score_idintnotnull成果記錄號course_cnochar外部鍵課程號student_snochar外部鍵學號score

int

成果

三概念模型設(shè)計

由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括:

(1)同學基本信息:學號,姓名,性別,地址,年齡,專業(yè)。(2)課程基本信息:課程名,課程號,分數(shù),學時,學分。這些實體間的聯(lián)系包括:

(1)每位同學可以學習多門課程,每門課程可供多位同學學習。由上述分析可得到系統(tǒng)的E—R圖:

四規(guī)律和物理結(jié)構(gòu)設(shè)計

4.1由系統(tǒng)E—R圖轉(zhuǎn)化而得到的關(guān)系模式如下:

(1)同學(學號,姓名,性別,年齡,地址,系別),其主關(guān)鍵字為學號;(2)課程(課程名,課程號,學時,學分),其中主關(guān)鍵字為課程號;

選修課程

成果同學課程號

課程名

學時

學分

分數(shù)

學號

姓名

性別

系別

地址年齡

(3)成果(課程號,學號,分數(shù))其中主關(guān)鍵字為學號和課程號??梢耘c同學關(guān)系模式合并為:同學(學號,姓名,性別,年齡,地址,系別,成果,課程號)。

4.2確定關(guān)系模型的存取辦法

在將概念模型轉(zhuǎn)換成物理模型之后,我們可以對物理模型舉行設(shè)計,雙擊物理模型的關(guān)系,可以對該關(guān)系的名稱、解釋等信息舉行查詢??蓪υ撽P(guān)系的屬性列舉行設(shè)計,可分離設(shè)置其名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。在實際設(shè)計中最常用的存取辦法是索引發(fā),使用索引可以大大削減數(shù)據(jù)的查詢時光,在建立索引時應遵循:在常常需要搜尋的列上建立索引;在主關(guān)鍵字上建立索引;在常常用于銜接的列上建立索引,即在外鍵上建立索引;在常常需要按照范圍舉行搜尋的列上創(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)系、索引、日志、備份等的存儲支配及存儲結(jié)構(gòu),以及確定系統(tǒng)存儲參數(shù)的配置。由于該成果管理系統(tǒng)的數(shù)據(jù)量小,所以我們只用把數(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

executesp_addextendedproperty'MS_Description',

'同學基本信息描述',

'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)建同學與課程的成果表

createtableSC(snovarchar(11)notnull,

cnovarchar(5)notnull,

chengjivarchar(4)notnull

constraintPK_SCprimarykey(學號,課程號)

)

go

在SC表上創(chuàng)建索引SC_FK與SC2_FK

createindexSC_FKonSC(學號ASC)

Go

createindexSC2_FKonSC(課程號ASC)

go

建立課程號索引

createindexTC_FKonTC(

課程號ASC

)

go

下圖顯示了同學,課程和成果三個關(guān)系的物理設(shè)計其中課程號與學號號分離為關(guān)系的主碼。

五數(shù)據(jù)庫的實施與維護

5.1數(shù)據(jù)庫的實施:

此階段主要任務包括創(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ù)源。主要代碼如下:

#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;

//查出該同學的學號

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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論