ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:222.83KB ,
资源ID:5766542      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5766542.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统数据库.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统数据库.docx

1、学生成绩管理系统数据库学生成绩管理系统数据库一需求分析阶段1.信息要求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,使得学生的成绩管理工作更加清晰、条理化、自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2.处理要求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。此系统实现如下系统功能:(1)通

2、过用户名和密码登录系统,教师根据安排进行课程的添加、删除、修改、查询,成绩的添加、修改、删除、查询、报表,学生的添加及其信息修改、查询、删除和教师基本信息的查询、修改及密码修改。(2)通过用户名和密码登录系统,学生查询个人信息、所学课程成绩及修改登录密码等功能。(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。3.安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师和教务处知道,因此做好做好数据安全性是重中之重。另外,要求所有在校学生的信息要录入其中,并且要设计好个别情况。

3、4.数据流图成绩管理系统大体可以分成二大模块,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是教师管理模块,在该模块中应该包含有对学生成绩信息的查询和处理(即报表),如平均成绩、成绩排名以及不及格学生的统计,其中还包含有教师、课程、学生等相关信息的模块。因此可以得到系统流程图如下所示:5.数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生成绩管理”数据库,其基本表清单及表结构描述如下:1、课程(course)信息数据表,结构如下:字段名描述数据类型约束控制cno课程号char(1

4、0)Primarykey(主键)cname课程名char(10)Not nulltname教师名char(10)Not nullcredit学分int(4)Not nullctime学时int(4)Not null2、学生(student)基本情况数据表,结构如下:字段名描述数据类型约束控制sno学号int(10)Primarykey(主键)sname姓名 char(10)Not nullssex性别char(2)Not nullsage年龄 int(2)Not nullsdept系别 char(10)Not null3.教师表(teacher)信息数据表,结构如下:字段名属 性数据类型约束控

5、制tno教师号char(10)Primarykey(主键)tname教师名char(10)Not nulltsex教师性别char(2)Not nulltdept教室系别char(10)Not null4.成绩表(grade)信息数据表,结构如下:字段名属 性数据类型约束控制sno学号char(10)外部键cno课程名char(10)外部键score成绩int(4)Not null二概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计成绩管理数据库包括学生、成绩、课程、教师四个关系。因此可以得出E-R图如下所示

6、:三逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 由系统ER图转化而得到的关系模式如下:课程信息表course:(课程号,课程名,教师名,学分,学时)其中主关键字为课程号;学生信息表student:(学号,姓名,性别,年龄,系别)其主关键字为学号;教师表teacher:(教师号,教师名,

7、教师性别,教师系别)其中主关键字为教师号;成绩表grade:(学号,课程号,成绩)其中主关键字为学号和课程号。四物理设计阶段 数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。4.1 确定关系模型的存取方法在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信

8、息进行查询。可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。4.2 确定数据库的存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该成

9、绩管理系统的数据量小,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。(1)创建学生基本信息表:create table student ( sno char(9) primary key, sname char(10) not null, ssex char(2) not null, sage int not null, sdept char(10) not null, ) (2)创建课程表:create table course ( cno char(10) primary key, cname char(10) not null, tname char(10) not nul

10、l, credit int not null, ctime int not null, ) (3)创建成绩表:create table grade ( sno char(9), cno char(10) , score int, )(4)创建教师表: create table teacher(tno char(10) primary key, tname char(10) not null, tsex char(2) not null, tdept char(10) not null, )执行上述SQL语句即可创建成绩表相关表格学生信息相关表格snosnamessexsagesdept0902

11、61001张三男 22工商090261002李四女 23工商090361003王五男22数学系093821004赵六女22计算机系090021005田七女20人文系课程信息相关表格Cnocnametnocreditctime0301数据库0011240302计算机网络0023180303系统结构0033360304组成原理0042320305数据结构0054300306操作系统0064320307数据库原理0075300308专业英语0081450309高数009535成绩信息表snocnoscore0902610010306 850902610010303900902610010305860

12、90261002030682090261002030484090261002030181090361003030693090361003030279090361003030485093821004030694093821004030874093821004030786教师信息表tnotnametsextdept001卢亚君女财管002李昌明男财管003张富强男财管004刘翠杰女数统005王庆石男数统006黄立明男数统007王纲男计算机008徐伟丽女计算机009刘书霞女计算机下图显示了学生,课程和成绩三个关系的物理设计其中课程号与学号号分别为关系的主码。五数据库实施和维护阶段5.1数据库的连接:

13、此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源。主要代码如下:#include stdafx.h#include StudentScore.h#include Course.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;/ CCourseIMPLEMENT_DYNAMIC(CCourse, CRecordse

14、t)CCourse:CCourse(CDatabase* pdb) : CRecordset(pdb) /AFX_FIELD_INIT(CCourse) /AFX_FIELD_INIT m_nDefaultType = snapshot;CString CCourse:GetDefaultConnect() return _T(ODBC;DSN=);CString CCourse:GetDefaultSQL() return _T();void CCourse:DoFieldExchange(CFieldExchange* pFX) /AFX_FIELD_MAP(CCourse) pFX-Se

15、tFieldType(CFieldExchange:outputColumn); /AFX_FIELD_MAP/ CCourse diagnosticsvoid CCourse:AssertValid() const CRecordset:AssertValid();void CCourse:Dump(CDumpContext& dc) const CRecordset:Dump(dc);/ MainFrm.h : interface of the CMainFrame classclass CMainFrame : public CFrameWndprotected: / create fr

16、om serialization only CMainFrame(); DECLARE_DYNCREATE(CMainFrame)/ Attributespublic:/ Operationspublic:/ Overrides / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CMainFrame) virtual BOOL PreCreateWindow(CREATESTRUCT& cs); /AFX_VIRTUAL/ Implementationpublic: virtual CMainFrame();prot

17、ected: / control bar embedded members /CStatusBar m_wndStatusBar; /CToolBar m_wndToolBar;/ Generated message map functionsprotected: /AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnPassword(); afx_msg void OnUser(); afx_msg void OnStudent(); afx_msg void OnTe

18、ach(); afx_msg void OnTeacher(); afx_msg void OnScore(); afx_msg void OnQueryTeach(); afx_msg void OnQueryScore(); afx_msg void OnCourse(); /AFX_MSG DECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line./ CScoreAddDlg

19、 dialogCScoreAddDlg:CScoreAddDlg(CWnd* pParent /*=NULL*/) : CDialog(CScoreAddDlg:IDD, pParent)/AFX_DATA_INIT(CScoreAddDlg) /AFX_DATA_INITvoid CScoreAddDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CScoreAddDlg) DDX_Control(pDX, IDC_SCORE_STUDENT, m_cStudent); DDX_

20、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()void CScoreAddDlg:OnOK() CString student,course,score,student_no,course_no; m_cStudent.GetWindowText(s

21、tudent); m_cCourse.GetWindowText(course); m_cScore.GetWindowText(score); else/成绩不为空 CString strSQL; /查出该学生的学号 strSQL.Format(select * from student where active_status=Y and student_name=%s,student); CRecordset m_recordSet=&m_database; m_recordSet.Open(CRecordset:forwardOnly,strSQL); m_recordSet.GetFi

22、eldValue(student_no,student_no); m_recordSet.Close(); /查出该课程的课程号 strSQL.Format(select * from course where active_status=Y and course_name=%s,course); m_recordSet.Open(CRecordset:forwardOnly,strSQL); m_recordSet.GetFieldValue(course_no,course_no); m_recordSet.Close();BOOL CScoreAddDlg:OnInitDialog()

23、CDialog:OnInitDialog(); CRecordset m_recordSet; if(!m_database.IsOpen() m_database.Open(_T(student); m_recordSet.m_pDatabase=&m_database; CString strSQL; strSQL.Format(select course_name from course where active_status=Y); m_recordSet.Open(CRecordset:forwardOnly,strSQL); for(int i=0;im_recordSet.Get

24、RecordCount();i+) CString temp; m_recordSet.GetFieldValue(course_name,temp); m_cCourse.AddString(temp); m_recordSet.MoveNext(); m_recordSet.Close(); m_cCourse.SetCurSel(1); strSQL.Format(select student_name from student where active_status=Y); m_recordSet.Open(CRecordset:forwardOnly,strSQL); for(int

25、 j=0;jSetWindowText(成绩窗口); return true;void CScoreAddDlg:OnCancel() / TODO: Add extra cleanup here CDialog:OnCancel();5.2部分操作截图:下图显示了学生登陆系统进行查询时界面:下图显示了进行课程查询时界面:5.3数据操作5.3.1.数据库查询操作A.单表查询:(1)查询sno为090261001学生的snameselect snamefrom student1where sno= 090261001(2)查询ssex为女并且sdept为工商的snameselect snamef

26、rom studentwhere ssex =女 and sdept =工商(3)查询所有学生的姓名和系别。select sname,sdeptfrom student(4)查询系别为数学系的sname。select snamefrom studentwhere sdept =数学系(5)查询所有学生所在院系名称select distinct sdeptfrom student(6)查询学生信息表中年龄小于23和年龄大于21的学生的姓名和系别select sname,sdeptfrom student where sage21 or sage23(7)查询所有学生的平均年龄select avg

27、(sage) as 平均年龄from Student B.连接查询(1)学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名Select student.sno,student.sname,o,ame,course.score,teacher.tnamefrom student,coure, grade,teacherWhere student.sno=grade.sno and o=o and teacher.tno=course.tno(2)找出教授数据库原理的老师的教师名select teacher.tnamefrom course,teacherWhere course.tno=teacher.tno and ame=数据库原理C.操作结果集查询 查询090261002号同学和090261003号同学共同选修的课程Select cnoFrom gradeWhere sno=090261002IntersectSelect cnoFrom gradeWhere sno=090261003D.嵌套查询 查询选修了0306这门课的所有学生的学号、姓名、年龄、院系Select sno,sname,sage,sdeptFrom studentWhere sno in (select sno From grade Where cno=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1