数据库综合实验报告(学生成绩管理系统)

合集下载

学生成绩管理系统实验报告

学生成绩管理系统实验报告

高校成绩管理系统数据库设计与实现班级计科1201 班学号201226100105 姓名何霞1、需求分析计算机已经深入到日常工作和生活的方方面面,成为我们学习和工作的得力助手,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。

随着越来越多的应用软件出现,人们对它的要求也越来越高;虽然现在世界上的各种软件层出不穷,但它们依然不能满足用户的各种特殊需要,所以人们仍是不得不开发适合特殊需求的软件。

高校成绩管理系统记录了一个大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。

使用计算机对成绩信息的管理,具有手工管理所无法比拟的优点:信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。

本软件控件均以中文形式表示,对普通程序使用者的查询提供简单方便的快捷操作,不需要技术含量。

以SQL SERVER数据库管理系统为平台,通过设计数据库概念模型、逻辑模型以及利用标准SQL语言的数据库实现,掌握关系数据库系统的设计与实现方法,增强数据库设计和数据库应用系统开发能力。

操作人员与维护人员应懂的SQL语言。

运行环境:硬件环境:高性能计算机一台软件环境:A.windows系列B.Microsoft SQL Server 2012C.MyEclipse Professional1.1 数据需求描述①.系统整体需求分析②.系统重要功能需要分析成绩查询功能教师授课信息查询功能班级课程安排查询功能1.2 系统功能需求(1)学生成绩按每学年进行成绩统计;(2)学生成绩名次排定,按升序排列;(3)每门课程平均成绩统计;(4)学生所学课程及学分统计;(5)输入每个学生成绩时,自动生成该学生已修总学分;(6)学生成绩查询;(7)教师任课查询;(8)班级课程开设查询;系统功能图:1.3 其他性能需求(1)可供多用户同时使用(2)用户输入出错时,有错误提示(3)安全性高(4)存储需求描述2、概念结构设计局部E-R图全局E-R图3、逻辑结构设计3.1 关系模式设计教师(教师编号,教师姓名,教师性别,教师年龄,职称,联系电话)上课(教师编号,班级编号)授课(教师编号,课程编号)课程(课程编号,课程名称,教师姓名,开课学期,学时,考试或考察,学分)学习(学号,课程编号,学期,课程名称,成绩教师姓名)学生(学号,学生姓名,学生性别,学生年龄,生源所在地,已修学分总数,班级编号)开设(课程编号,班级编号)班级(班级编号,班级名称,专业编号)专业(专业编号,专业名称)3.2 数据类型定义(1)Dept_Hx(学院信息)数据项名数据类型长度完整性约束学院编号(Dno_hx) char 20 主键,唯一,非空学院名称(Dname_hx) char 20(2)Teacheres_Hx(教师信息)数据项名数据类型长度完整性约束教师编号(Tno_hx) char 10 主键,唯一,非空教师姓名(Tname_hx) char 20教师性别(Tsex_hx) char 2教师年龄(Tage_hx) int职称(Tposi_hx) char 20联系电话(Ttele_hx) char 20学院编号(Dno_hx) char 20(3)Major_Hx(专业信息)数据项名数据类型长度完整性约束专业编号(Mno_hx) char 20 主键,唯一,非空专业名称(Mname_hx) char 20学院编号(Dno_hx) char 20(4)Class_Hx(班级信息)数据项名数据类型长度完整性约束班级编号(CLno_hx) char 20 主键,唯一,非空班级名称(CLname_hx) char 20(5)Students_Hx(学生信息)长度完整性约束数据项名数据类型学号(Sno_hx) char 12 主键,唯一,非空学生姓名(Sname_hx) char 20学生性别(Ssex_hx) char 2学生年龄(Sage_hx) int生源所在地(Shome_hx) char 20int已修学分总数(ScreditAccess_hx)班级编号(CLno_hx) char 20 外键(6)Course_Hx(课程信息)数据项名数据类型长度完整性约束课程编号(Cno_hx) char 20 主键,唯一,非空课程名称(Cname_hx) char 20学时(Chour_hx) int >0考试或考察(Cexam_hx) char 4学分(Ccredit_hx) char 4 >0(7)Teach_Hx(教师授课信息)数据项名数据类型长度完整性约束教师编号(Tno_hx) char 20 外键,唯一,非空课程编号(Cno_hx) char 20 外键(8)Study_Hx(学生成绩信息)数据项名数据类型长度完整性约束学号(Sno_hx) char 12 外键,唯一,非空课程编号(Cno_hx) char 20 外键学期(STterm_hx) char 10成绩(STgrade_hx) char 10教师号(Tno_hx) char 10 外键(9)Setup_Hx(班级课程信息)数据项名数据类型长度完整性约束班级编号(CLno_hx) char 20 外键,唯一,非空课程编号(Cno_hx) char 20 外键(9)3.3 关系模式的优化对关系模式进行规范化处理,对关系模式进行评价与修正4、物理结构设计4.1 聚簇设计该高校成绩管理系统数据库可建立一下聚簇:Teachers_Hx(教师编号Tno_hx)Courses_Hx(课程编号Cno_hx)Students_Hx(学生学号Sno_hx,班级编号CLno_hx)Class_Hx(班级编号CLno_hx)这几个聚簇设计是因为这几张表都是实体表,,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。

数据库应用课程设计实验报告---学生成绩管理系统

数据库应用课程设计实验报告---学生成绩管理系统

社会实践报告设计题目:_____小雨点学生成绩管理系统设计时间: 2012.7.10 至2012.7.21指导教师:评语:________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:_____目录设计总说明 (3)关键词 (4)绪论 (5)第1章数据库设计 (6)1.1 需求分析 (6)1.1.1 数据需求 (6)1.1.2 数据字典 (6)1.1.3 数据流程图 (7)1.2 概念分析 (7)1.3 逻辑结构设计 (9)1.4 物理实施 (9)1.4.1 创建数据库 (9)1.4.2 创建数据表 (10)1.4.3 像数据表中插入数据 (10)1.4.4 创建视图 (12)1.4.5 触发器和完整性约束 (12)1.4.6 存储过程 (13)第2章系统界面设置及主要功能 (14)2.1 添加主菜单和功能按钮 (14)2.2 登录界面设置 (15)2.3 学生信息增、删、改界面 (17)2.4 对学生信息多角度查询 (21)总结 (27)参考文献 (28)附录程序代码 (29)1 StuConStr.h头文件的代码 (29)2 登录界面“确定”按钮代码 (29)3 添加登录界面背景图片的代码 (29)4 使控件变为透明的代码 (30)5 主界面“添加”按钮代码 (30)6 主界面“查找”按钮代码 (31)7 主界面“修改”按钮代码 (33)8 主界面“删除”按钮代码 (35)9 添加菜单栏和工具栏代码 (35)10 信息查询界面“查询”按钮代码 (36)11 成绩录入界面“查询”代码 (36)12 成绩录入界面“添加”代码 (37)13 成绩录入界面“修改” (37)14 成绩录入界面“删除”按钮代码 (38)小雨点学生成绩管理系统设计总说明:在当今社会,无论中小学还是大学,成绩管理是一项必要而且很关键的工作。

数据库学生成绩管理系统课程设计报告

数据库学生成绩管理系统课程设计报告

02
系统需求分析
功能需求
用户管理
系统需要提供用户注册、登录、权限 管理等基本功能,以确保不同用户能 够安全、有效地使用系统。
报表生成与打印
系统需要支持生成各类报表,如学生 成绩单、成绩统计表等,并提供打印 功能。
01
02
学生信息管理
系统需要支持对学生基本信息的录入 、修改、查询和删除等操作,包括学 生姓名、学号、班级等。
性能测试
在压力测试下,系统能够保持稳定的性能表现, 响应时间、吞吐量等指标均满足设计要求。
3
安全测试
系统具有一定的安全防护能力,如用户身份验证 、权限控制等,但仍需加强数据安全保护措施。
系统性能评估
响应时间
系统响应时间较快,用户操 作流畅,无明显延迟现象。
吞吐量
系统能够处理较大的数据量 ,满足多用户同时使用的需 求。
定性和可靠性。
数据表设计
根据系统需求,设计合理的数 据表结构,包括学生表、课程 表、成绩表等,并建立表之间 的关系。
数据完整性保障
通过设定主键、外键、约束等 机制,确保数据的完整性和一 致性。
数据安全性
采用密码加密、权限控制等手 段,保障数据库的安全性。
界面设计
用户界面
设计简洁、直观的用户界面,提供友 好的用户操作体验。
界面风格
采用统一的界面风格,保持整体美观 和一致性。
交互设计
通过合理的交互设计,引导用户完成 操作流程,减少错误操作的可能性。
响应式设计
界面支持响应式布局,适应不同设备 和屏幕尺寸的显示需求。
04
系统实现
开发环境搭建
开发工具
Visual Studio Code
运行环境

(2023)学生成绩管理系统数据库设计实验报告(一)

(2023)学生成绩管理系统数据库设计实验报告(一)

(2023)学生成绩管理系统数据库设计实验报告(一)学生成绩管理系统数据库设计实验报告实验背景随着信息技术的快速发展,学生成绩管理系统变得越来越重要。

一个好的学生成绩管理系统可以方便学生和教师查询成绩,促进教学和学习效果的提高。

实验目的本实验的目的是设计一个学生成绩管理系统的数据库,以方便学生和教师查询成绩。

数据库设计实体关系图我们先画出实体关系图,来帮助我们更好地理解数据库的关系。

学生 -- 选课 -- 课程|- 成绩|- 学期数据库表设计学生表字段名称类型约束条件说明id int primary key, auto_increment 学生ID name varchar(20) not null 学生姓名gender varchar(10) not null 学生性别age int not null 学生年龄字段名称类型约束条件说明grade int not null 学生年级major varchar(50) not null 学生专业phone varchar(20) not null 学生电话选课表字段名称类型约束条件说明id int primary key, auto_increment 选课ID student_id int not null 学生ID course_id int not null 课程ID semester varchar(20) not null 学期课程表字段名称类型约束条件说明id int primary key, auto_increment 课程ID name varchar(50) not null 课程名称credit int not null 学分成绩表字段名称类型约束条件说明id int primary key, auto_increment 成绩ID student_id int not null 学生ID course_id int not null 课程ID score int not null 成绩semester varchar(20) not null 学期实验结论通过本实验的设计,我们成功构建了一个学生成绩管理系统的数据库,包含学生、选课、课程和成绩四张表,满足了学生和教师查询成绩的需求。

成绩管理系统实验报告

成绩管理系统实验报告

成绩管理系统实验报告成绩管理系统实验报告一、引言近年来,随着教育信息化的发展,成绩管理系统逐渐成为学校管理和教育教学的重要工具。

本实验旨在设计和实现一套成绩管理系统,以提高学校成绩管理的效率和准确性。

二、系统设计与实现1.需求分析在进行系统设计之前,我们首先进行了对学校成绩管理的需求分析。

通过与学校管理人员和教师的沟通,我们了解到他们对成绩管理系统的期望主要包括:成绩录入、查询、统计、分析等功能。

2.系统架构基于需求分析的结果,我们设计了一个分层架构的成绩管理系统。

系统包括三个主要模块:学生信息管理模块、成绩录入与查询模块、成绩统计与分析模块。

每个模块都有相应的功能和界面。

3.数据库设计为了存储和管理学生的成绩信息,我们设计了一个关系型数据库。

数据库中包含学生信息表、课程信息表、成绩信息表等。

通过合理的表结构和关联,实现了学生信息与成绩信息的关联和查询。

4.界面设计为了提高用户的使用体验,我们注重界面的友好性和简洁性。

通过使用合适的颜色、布局和图标,使得用户能够方便地进行成绩录入、查询和统计等操作。

5.系统实现我们使用了Java语言和MySQL数据库来实现成绩管理系统。

通过使用Java的面向对象特性和MySQL的数据库操作,我们成功地实现了系统的各个功能模块。

三、系统功能介绍1.学生信息管理模块该模块主要用于管理学生的基本信息,包括学号、姓名、性别、年龄等。

教师可以通过该模块进行学生信息的录入、修改和删除等操作。

2.成绩录入与查询模块该模块用于录入和查询学生的成绩信息。

教师可以通过该模块录入每个学生的课程成绩,并可以根据学号或姓名进行成绩的查询和修改。

3.成绩统计与分析模块该模块用于对学生的成绩进行统计和分析。

教师可以通过该模块查看某门课程的平均分、最高分、最低分等统计结果,并可以生成相应的报表。

四、实验结果与分析通过对成绩管理系统的实际使用和测试,我们得出了以下实验结果和分析:1.系统的功能完善性经过实验,我们发现成绩管理系统的各个功能模块都能够正常运行,并且能够满足学校管理人员和教师的需求。

数据库学生信息管理系统实验报告

数据库学生信息管理系统实验报告

数据库学生信息管理系统实验报告一、实验目的本次实验的目的是设计并实现一个基于数据库的学生信息管理系统,通过该系统可以对学生的基本信息进行增删改查等操作,方便高效地管理学生信息。

二、实验内容1. 创建数据库:首先,在MySQL中创建一个名为"student_info"的数据库,用于存储学生信息的表。

2. 创建表结构:在数据库中创建一个名为"student"的表,用于存储学生的基本信息,包括学号、姓名、性别、年龄、班级等字段。

3. 实现增加学生信息的功能:设计一个界面,在界面上输入学生的基本信息,然后将这些信息插入到数据库的"student"表中。

4. 实现删除学生信息的功能:设计一个界面,在界面上输入要删除的学生的学号,然后根据学号将该学生的信息从数据库的"student"表中删除。

5. 实现修改学生信息的功能:设计一个界面,在界面上输入要修改的学生的学号和需要修改的字段信息,然后根据学号将该学生的相应字段信息更新到数据库的"student"表中。

6. 实现查询学生信息的功能:设计一个界面,在界面上输入要查询的学生的学号,然后根据学号从数据库的"student"表中查询相应学生的信息并显示在界面上。

三、实验过程1. 创建数据库:在MySQL中执行以下指令创建名为"student_info"的数据库:CREATE DATABASE student_info;2. 创建表结构:在"student_info"数据库中执行以下指令创建名为"student"的表:CREATE TABLE studentid INT PRIMARY KEY AUTO_INCREMENT,student_id VARCHAR(20) NOT NULL,name VARCHAR(20) NOT NULL,gender VARCHAR(4) NOT NULL,age INT NOT NULL,class VARCHAR(20) NOT NULL3. 实现增加学生信息的功能:使用Java编写一个程序,通过JDBC 连接到MySQL数据库,然后通过用户界面输入学生的基本信息,将这些信息插入到"student"表中。

数据库应用课程设计实验报告---学生成绩管理系统

数据库应用课程设计实验报告---学生成绩管理系统

社会实践报告设计题目:_____小雨点学生成绩管理系统设计时间: 2012.7.10 至2012.7.21指导教师:评语:________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:_____目录设计总说明 (3)关键词 (4)绪论 (5)第1章数据库设计 (6)1.1 需求分析 (6)1.1.1 数据需求 (6)1.1.2 数据字典 (6)1.1.3 数据流程图 (7)1.2 概念分析 (7)1.3 逻辑结构设计 (9)1.4 物理实施 (9)1.4.1 创建数据库 (9)1.4.2 创建数据表 (10)1.4.3 像数据表中插入数据 (10)1.4.4 创建视图 (12)1.4.5 触发器和完整性约束 (12)1.4.6 存储过程 (13)第2章系统界面设置及主要功能 (14)2.1 添加主菜单和功能按钮 (14)2.2 登录界面设置 (15)2.3 学生信息增、删、改界面 (17)2.4 对学生信息多角度查询 (21)总结 (27)参考文献 (28)附录程序代码 (29)1 StuConStr.h头文件的代码 (29)2 登录界面“确定”按钮代码 (29)3 添加登录界面背景图片的代码 (29)4 使控件变为透明的代码 (30)5 主界面“添加”按钮代码 (30)6 主界面“查找”按钮代码 (31)7 主界面“修改”按钮代码 (33)8 主界面“删除”按钮代码 (35)9 添加菜单栏和工具栏代码 (35)10 信息查询界面“查询”按钮代码 (36)11 成绩录入界面“查询”代码 (36)12 成绩录入界面“添加”代码 (37)13 成绩录入界面“修改” (37)14 成绩录入界面“删除”按钮代码 (38)小雨点学生成绩管理系统设计总说明:在当今社会,无论中小学还是大学,成绩管理是一项必要而且很关键的工作。

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库课题: 雇员信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:2012年6月4号----2012年6月10日一、需求分析阶段1.信息需求对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

3. 安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。

另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

设计成绩管理数据库包括学生、成绩、课程、教师四个关系。

E-R图如下三、详细设计阶段详细结构是独立于任何一种数据模型的信息结构。

详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)2、学生信息表(student1)四、数据库实现数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告班级:计科*** 班学号: ****姓名: ***2011年12月数据库应用系统的初步开发一、实验类别:综合型实验 二、实验目的1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。

2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。

3.进一步提高学生的知识综合运用能力。

三、实验内容在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。

四、实验过程(一.)系统需求说明1 系统功能要求设计:此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。

(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。

容易地完成学生信息的查询操作。

(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

2 系统模块设计成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图:登陆失败退出系统用户 验证登陆成功3 数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。

利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:数据库中用到的表:数据库表名关系模式名称备注Student 学生学生学籍信息表Course 课程课程基本信息表Score 成绩选课成绩信息表Student基本情况数据表,结构如下:字段名字段类型Not Null 说明Student _sno Char Primary key 学号Student _sn char Not Null 学生姓名Student _sex char ‘男’或‘女’性别Student _dept char 系别Student_age char 年龄Student_address char 地址course数据表,结构如下:字段名字段类型约束控制说明course_cno char 主键(primary key)课程号char not null 课程名称course_cnamecourse_hour int not null 课时course_score numeric(2,1) not null 学分score情况数据表,结构如下:字段名字段类型约束控制说明score_id int not null 成绩记录号course_cno char 外部键课程号student_sno char 外部键学号score int 成绩(二)数据库结构设计1.概念结构设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。

学生成绩管理系统数据库实验报告

学生成绩管理系统数据库实验报告

学生成绩管理系统一、需求分析阶段1.信息需求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。

2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

功能模块E-R图三、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。

逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

(加下划线的为主键)学生表:(学号,姓名,性别,年龄,所属系,英语四级)课程表:(课程号,课程名,学分)成绩表:(学号,课程号,成绩)教师表:(教师号,教师名,所属系)系表:(系号,系名)授课表:(教师号,课程号)根据实际情况分别确定以上关系中各个属性(字段)的数据类型和关键字。

下面给出了在Access中各表的字段属性。

心得体会:通过这次上机实验,让我更加深刻的了解了数据库。

在这次实验中,我学会了自己设计数据库。

分析系统,建立模型,建立关系,画E-R图。

再根据分析的关系,建表。

然后,建立查询,可以将设计视图和SQL 语句相结合,消除查询中的重复项。

学生成绩管理系统实验报告

学生成绩管理系统实验报告

软件工程实验报告学校:渤海大学班级:11-6学号:*********姓名:***一.需求分析1 系统需求成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。

因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。

这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

学校学生成绩管理工作都是采用传统的手工管理,这各传统人工的管理方式存在着许多缺点,如:效率低,保密性差,一方面导致教师,学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。

选择Eclipse来开发学生成绩管理系统,由于以上的优点,帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化,所以选择Eclipse来开发学生成绩管理系统。

需求的收集及分析:学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理(包括必修课和选修课),每个内容均需要提供添加、修改和查询的功能。

学生成绩管理系统在开发过程中收集到的客户需求文档记录的关键部分可概括为以下几个部分:1、可能会使用到该系统的用户:系统管理员、教师、学生;2、各类用户的权限不一样。

例如系统管理员可以添加、修改、查询学生档案资料和学生的成绩,学生只能查询自己的档案、成绩以及一些公共的信息,教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息。

3、要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。

由此可见,学生成绩管理系统需要满足3个方面的需求:管理员使用系统对全部数据进行维护操作;教师对于自己相关的部分数据实体进行操作;学生作为查询者对数据实体进行查询操作。

学生成绩管理系统实验报告

学生成绩管理系统实验报告

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目学生成绩查询系统专业计算机科学与技术班级 B100506 学号姓名孙帅杰完成日期2013年1月6号课程设计任务书设计题目:学生成绩管理系统设计内容与要求:设计内容:教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。

教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。

一个教师可以教授多个班的多门课程。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

课程分两类,必修课和选修课。

学生可以选修课程,每学期几门。

学生可以查看自己各门课程的成绩。

学生还可以进行评教,给老师打分。

系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

设计要求:要求完成需求分析,写出功能需求和数据需求描述;在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计;用C#语言,完成管理系统的部分程序模块的界面设计。

指导教师:陶荣2012年12月28日课程设计评语成绩:指导教师:年月日目录1.绪论 (1)1.1 设计目的 (1)1.2 开发工具选择 (1)1.3 开发环境 (1)1.4 本报告的主要内容 (1)2.需求分析 (1)2.1 需求分析的任务 (2)2.2 功能需求 (2)2.3 数据需求 (3)3.总体设计 (3)3.1设计概述 (3)3.2系统总体结构及功能模块划分 (3)3.3系统数据库概念结构设计 (4)3.4 逻辑结构设计 (5)4.主程序设计 (7)4.1 登录模块 (7)4.2 学生信息查询、保存、及修改 (8)4.3 用户管理 (10)5.设计总结 (11)6.心得体会 (12)参考文献 (12)1.绪论1.1 设计目的随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高,因此学校对学生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力,使学生锻炼简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统,包括学生信息,课程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提供的学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生,教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师,给每个班的每门课程安排指定的认课老师。

数据库课程设计报告学生成绩管理系统

数据库课程设计报告学生成绩管理系统

目录1 引言 (1)1.1课程设计选题 (1)1.2课程设计的目的 (1)1.3课程设计的背景 (1)2 系统分析与设计 (2)2.1 功能及性能分析 (2)2.1.1 功能需求 (2)2.2 系统的开发运行环境 (2)2.3 系统总体设计 (2)3 数据库设计 (3)3.1 数据库概念结构 (3)3.2 数据库逻辑结构 (4)3.2.1 关系模型 (4)3.2.2视图的设计 (5)3.3 数据库的实现 (5)3.3.1表 (5)4 详细设计与实现 (7)4.1 登录模块 (7)4.2主页面模块 (8)4.3学生查询模块 (9)4.4成绩查询模块 (9)4.5添加学生模块 (9)4.6添加成绩模块 (10)4.7留言模块 (10)4.8补考模块 (11)结论 (12)参考文献 (13)1 引言1.1课程设计选题《学生成绩管理系统》1.2课程设计的目的通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;实践了《学生成绩管理系统》的数据库应用系统的设计方法、开发过程和SQL SERVER数据库的管理与维护。

最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。

1.3课程设计的背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生成绩管理的效率。

因此,开发一套成绩管理系统成为很有必要的。

学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方便学生对自己各科成绩查询,学习的交流。

成绩管理系统实验报告

成绩管理系统实验报告

成绩管理系统实验报告一、引言在当今教育领域,成绩管理是学校教学管理工作的重要组成部分。

为了提高成绩管理的效率和准确性,开发一个功能完善的成绩管理系统具有重要的现实意义。

本实验旨在设计并实现一个成绩管理系统,以满足学校对学生成绩进行有效管理的需求。

二、系统需求分析(一)功能需求1、学生成绩录入:支持教师或管理员批量或单个录入学生的各科成绩。

2、成绩查询:学生和教师能够按照不同条件(如学号、课程名称、学期等)查询成绩。

3、成绩统计分析:能够对学生的成绩进行统计,如平均分、总分、排名等,并生成相应的报表。

4、成绩修改与删除:在特定条件下,允许教师或管理员对成绩进行修改和删除操作。

5、用户管理:对系统的用户(教师、学生、管理员)进行管理,包括用户的添加、删除、修改权限等。

(二)性能需求1、响应时间:系统在处理成绩录入、查询等操作时,响应时间应在可接受的范围内,一般不超过 5 秒。

2、稳定性:系统应能够稳定运行,在长时间的使用过程中不出现崩溃或数据丢失的情况。

3、安全性:确保系统中的成绩数据安全,对用户的操作进行权限控制,防止非法访问和数据篡改。

(三)数据需求1、学生信息:包括学号、姓名、班级等。

2、课程信息:课程名称、课程编号、学分等。

3、成绩信息:学号、课程编号、成绩、学期等。

三、系统设计(一)总体架构设计成绩管理系统采用 B/S 架构,即浏览器/服务器模式。

用户通过浏览器访问系统,服务器端负责处理业务逻辑和数据存储。

(二)数据库设计1、学生表(student):包含学号(student_id)、姓名(student_name)、班级(class)等字段。

2、课程表(course):包含课程编号(course_id)、课程名称(course_name)、学分(credit)等字段。

3、成绩表(score):包含学号(student_id)、课程编号(course_id)、成绩(grade)、学期(semester)等字段。

数据库学生成绩管理系统课程设计报告

数据库学生成绩管理系统课程设计报告

数据库学生成绩管理系统课程设计报告一、引言数据库学生成绩管理系统是一个用于管理学生成绩信息的系统。

在教育领域中,对学生成绩信息的管理十分重要。

本系统的设计目的是为了方便教师和学生查看和管理学生成绩信息,提高教学效率和学生学习参与度。

二、系统设计1. 系统架构本系统采用客户端-服务器架构,客户端为教师和学生用户,服务器负责存储和处理学生成绩信息。

2. 数据库设计系统数据库包括学生信息表(包含学生ID、姓名、年龄等字段)和成绩信息表(包含课程ID、学生ID、成绩等字段)。

学生信息表和成绩信息表之间使用学生ID进行关联。

3. 功能设计•教师功能:教师可以录入和修改学生成绩信息,查询学生成绩统计信息。

•学生功能:学生可以查看自己的成绩信息,查询课程成绩排名。

4. 界面设计系统界面简洁明了,包括登录界面、教师主页、学生主页等,每个页面均提供相应的功能按钮和查询框。

三、系统实现系统采用Python语言编写,使用MySQL数据库存储学生成绩信息。

前端界面使用Tkinter库实现,后端采用Flask框架搭建服务器。

1. 数据库连接系统通过Python的MySQL连接库实现与数据库的连接,实现数据的读取和写入。

2. 用户权限管理系统实现了教师和学生用户的权限管理,教师用户具有录入和修改成绩的权限,学生用户只能查看成绩信息。

3. 数据查询处理系统通过SQL语句实现成绩信息的查询和统计功能,将查询结果在界面上展示给用户。

四、系统测试系统经过多次测试,确保功能正常,界面友好,数据准确可靠。

五、总结与展望数据库学生成绩管理系统设计与实现了基本功能,提升了学生成绩信息管理的效率。

未来可以进一步增加功能,如成绩分析和报告生成等,提升系统的实用性和功能性。

六、参考文献•张三, 李四. 数据库系统概论. 出版社, 2020.•王五, 赵六. Python编程基础教程. 出版社, 2021.。

数据库系统学生成绩管理实验报告

数据库系统学生成绩管理实验报告

数据库系统学⽣成绩管理实验报告数据库系统上机实验题⼀、学⽣学习系统的基本表学⽣:s(sno,sname , sex , age , dept );表中属性分别为:学号,姓名,性别,年龄和系名。

课程:c(cno , cname , tname );表中属性分别为:课号,课名,教师名。

选课:sc(sno , cno , grade );表中属性分别为:学号,课号和成绩。

要求:利⽤SQL语句创建上⾯三个基本表,包括:主键,外键定义。

有针对性地输⼊⼀些实验数据。

⼆、利⽤SQL语句,在上⾯三个基本表中,完成如下的功能1.查找学号2⾄10号学⽣的学号、姓名和系名。

2.查找⼥同学的⼈数。

3.查找学号2⾄10号学⽣中,⼥同学的⼈数。

4.查找男、⼥同学各有多少⼈(注:输出性别和⼈数)。

5.查找‘CS’系中,男、⼥同学各有多少⼈(注:输出性别和⼈数)6.查找年龄在18⾄20岁之间的所有男同学的学号、姓名和系名。

7.查找所有学⽣选修课程的门数。

8.查找学号2⾄15号学⽣中,英语成绩超过80分的学⽣学号和姓名。

9.查找没有学习‘物理’课程的学⽣姓名和系名。

10.查找‘王明’同学所学课程的门数。

11.统计‘王明’同学所学各门课程的平均分数。

12.统计英语成绩⾼于该课程平均成绩的⼈数。

13.查找查找⾄少选修了‘王⼀’和‘王⼆’⽼师所授课程的学⽣学号与姓名。

14.查找‘CS’系⽐‘MA’系的学⽣年龄都⼩的学⽣姓名和系名。

15.统计每个学⽣的总分,输出学⽣的学号和总分,总分按降序排列。

16.查找学号⽐‘王⼀’同学⼤,⽽年龄⽐他⼩的学⽣学号、姓名和年龄。

17.查找年龄⼤于⼥同学的平均年龄的男同学的姓名与年龄。

18.查找只选修了⼀门课程的同学的学号和姓名。

19.查找‘CS’系学⽣中,没有选修‘王⼀’⽼师课程的学号、姓名和系名。

20.查找⾄少选修了3门课程的学⽣学号和姓名。

21.查找每门课程的最⾼分和最低分。

(注:输出课号、最⾼分和最低分)22.采⽤查询视图⽅式完成21题的功能:利⽤视图⽅式的步骤:建⽴视图,如:gdf(cno,max,min)属性:课号、最⾼分和最低分。

学生成绩管理系统数据库设计报告

学生成绩管理系统数据库设计报告

1.引言学生成绩管理系统是一个用于有效管理学生信息和成绩数据的系统。

本数据库设计报告旨在详细描述学生成绩管理系统的数据库设计,并提供专业的细节和解释。

2.数据库需求分析基于系统需求分析,我们需要存储以下数据:2.1 学生信息:学生ID:作为学生表的主键,用于唯一标识每个学生。

姓名:存储学生的全名。

性别:记录学生的性别,可以是男性或女性。

年龄:存储学生的年龄。

班级:记录学生所在的班级。

2.2 课程信息:课程ID:作为课程表的主键,用于唯一标识每门课程。

课程名称:存储课程的名称。

学分:记录课程的学分。

2.3 成绩信息:记录ID:作为成绩表的主键,用于唯一标识每条成绩记录。

学生ID:作为学生表的外键,建立与学生信息的关联。

课程ID:作为课程表的外键,建立与课程信息的关联。

成绩:存储学生在特定课程中的成绩。

3.数据库设计基于上述需求分析,我们可以设计以下数据库表:3.1 学生表(Students)学生ID:作为主键,使用整数类型,具有自增特性,以唯一标识每个学生。

姓名:使用字符串类型,存储学生的全名。

性别:使用字符串类型,存储学生的性别。

年龄:使用整数类型,存储学生的年龄。

班级:使用字符串类型,记录学生所在的班级。

3.2 课程表(Courses)课程ID:作为主键,使用整数类型,具有自增特性,以唯一标识每门课程。

课程名称:使用字符串类型,存储课程的名称。

学分:使用浮点数类型,记录课程的学分。

3.3 成绩表(Grades)记录ID:作为主键,使用整数类型,具有自增特性,以唯一标识每条成绩记录。

学生ID:作为外键,与学生表中的学生ID相关联。

课程ID:作为外键,与课程表中的课程ID相关联。

成绩:使用浮点数类型,存储学生在某门课程中的成绩。

4.关系图下图展示了学生成绩管理系统数据库中各个表之间的关系:+------------------+ +-----------------+| Students | | Courses |+------------------+ +-----------------+| StudentID (PK) |---------| CourseID (PK) || Name | | CourseName || Gender | | Credit || Age | +-----------------+| Class |+------------------+|||v+------------------+| Grades |+------------------+| RecordID (PK) || StudentID (FK) || CourseID (FK) || Grade |+------------------+5. 总结本报告详细描述了学生成绩管理系统数据库的设计。

学生成绩管理系统实验报告

学生成绩管理系统实验报告

学生成绩管理系统实验报告学生成绩管理系统实验报告一、引言学生成绩管理系统是一种利用计算机技术来管理学生学业成绩的工具。

它的出现使得学校教务工作更加高效、便捷,为教师和学生提供了一个更好的学习和管理平台。

本实验旨在通过设计和实现一个学生成绩管理系统,探索其在学校教务管理中的应用。

二、设计与实现1.需求分析在设计学生成绩管理系统之前,我们首先进行了需求分析。

通过与学生、教师和教务人员的交流,我们了解到他们对学生成绩管理系统的需求主要包括以下几个方面:- 学生成绩录入与查询:教师可以录入学生的成绩,学生和家长可以查询学生成绩。

- 成绩分析与统计:系统能够对学生成绩进行分析和统计,提供给教师、学生和家长参考。

- 课程管理:系统能够管理学校的课程信息,包括课程名称、教师信息等。

- 学生信息管理:系统能够管理学生的基本信息,包括姓名、学号、班级等。

2.系统设计基于需求分析的结果,我们设计了一个学生成绩管理系统的原型。

系统采用了B/S架构,即浏览器/服务器架构,用户通过浏览器访问系统,服务器进行数据处理和存储。

前端采用了HTML、CSS和JavaScript等技术,后端采用了Java语言和MySQL数据库。

3.系统实现在系统实现过程中,我们按照需求分析和系统设计的结果,逐步完成了系统的各个功能模块。

首先,我们实现了学生信息管理模块,包括学生基本信息的录入、修改和查询功能。

然后,我们实现了课程管理模块,包括课程信息的录入、修改和查询功能。

接着,我们实现了成绩录入与查询模块,教师可以录入学生的成绩,学生和家长可以查询学生成绩。

最后,我们实现了成绩分析与统计模块,系统能够对学生成绩进行分析和统计,并生成相应的报表。

三、实验结果与讨论通过对学生成绩管理系统的设计与实现,我们得到了一个功能完善、操作简便的学生成绩管理工具。

在实验过程中,我们邀请了教师、学生和家长来测试系统,并收集了他们的反馈意见。

1.用户反馈教师们表示,学生成绩管理系统大大减轻了他们的工作负担,提高了工作效率。

数据库学生选课及成绩管理系统实验报告

数据库学生选课及成绩管理系统实验报告

数据库期末大作业报告姓名:XXX班级:08级电子2班 学号:200800800XXX 老师:XX应用软件:Microsoft Office Access2007;拟实验管理系统实验:1. 实验要求:(1)完成实验管理(2) 管理员管理教师、课程、(3) 教师管理与实验题目管理(4) 学生上交实验报告(5) 学生查分与统计(查询) 2.实验管理E——R及关系学生1——n课程; 学生1——n报告;管理员1 n教师; 管理员1—n课程;实验题目1——n课程; 实验题目1——n报告;教师1 ----- n实验题目; 学生1——n提交报告.3、数据模型学生:学号姓名性别学院家乡授课:教工号教师姓名性别课号课程名管理员:管理员工号姓名性别课号课程:管理员工号学号实验编号实验名称学分课时考试方式成绩实验题目:教工号课程名实验编号实验时间实验地址报告:学号实验编号课程名实验日期提交报告:学号 姓名 实验题号 实验名称 提交报告 (附件)4.实验过程及结果 (1)建立新建数据库分别建立学生、授课、管理员、课程、实验题目、报 告、提交报告七个表(举几个示例图人 学生表:I 昂学生表学寻 ▼姓名 ▼ 性别 ▼ 学院:—菸—▼忝加獗字段课程表:国 001E1 003国004米gr>gr> nyxSv.- 3Z--信工学院 文学院 地理学院 四川 四川 四川教工号*教师姓名- s AL23袁芳性^ ▼ 谍号 ▼ 课程名▼管理员工号▼即加新字段001 人学C10L 103 人生规划 C201 520 丈学 Y520为学翌曲表巨A124 • B666笳客 远哄・・ 言理员? 2课程表学号•实脸塢号▼ 学分 •谀时・考试方式 • 成绩 ・管理负工号▼ 报加統字遷001 C235 3 36 考沓 92 C201 ..003 F606 2 36B6C101 004 Dill6 72考试96Y520*提交报告表:禺舷报告学号 , 躺 Y 砸题号▼实验名称,』蘇遍扁001 秋儿 C235 人生规划 10(0)003 枫茗 F606 人学 迪(0)004:何成Dili文学迪(0) 米l®(0)(2)建立相应的查询 1.建立成绩查询学号E 姿建镰号魏幵姓名实换冃 邊程丧圖―JS\er ・IH-〔帝认H 号:】查询结果:学号二茨議碍二庶簸舌面二页磅二―融―001卩606 2010-4-6 袁芳 86I'.竝号 实規时ffiRS■¥垃导 性5! 谍号oo2. 建立统计查询查询结果:爭成续统计宜询学号丫童蓝编厂▼001 秋儿C235 92Zlppr 何成DU1 96 _3. 建立一个总查询咖|_却・;查询结果:(4)建立各表窗体和成绩查询窗体,模拟实验管理系统如建立学生窗体:围学生窗牡建立模拟实验管理系统:教师入口:学生入口:实验科目:实验发布实验评估:教工导 A124 ▲课程名 人生规划 实脸編号 C235买验时间 2010-6-8实验地址D 256请选择实验編号教师评分字号实验编号实監名称学分课时考试方式0013 3692请选择学号▼保存关闭选定课程:授课表女男女130002划学生学人人文重新选课确定关闭查询成绩:学号实验编号实验时间教师堆名成绩保存一关闭提交报告:精英排版精关排版提交报告窗体实验困境:建立表格,输入数据后,建立表间关系时 有点失去耐心,不是这有问题就是那有问题,有时是 主键,有时是输入数据在不同的表里不相符合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库综合实验报告班级:计科*** 班学号: ****姓名: ***2011年12月数据库应用系统的初步开发一、实验类别:综合型实验 二、实验目的1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。

2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。

3.进一步提高学生的知识综合运用能力。

三、实验内容在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。

四、实验过程(一.)系统需求说明1 系统功能要求设计:此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。

(2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。

容易地完成学生信息的查询操作。

(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。

2 系统模块设计成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图:登陆失败退出系统用户 验证登陆成功3 数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。

利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:数据库中用到的表:数据库表名关系模式名称备注Student 学生学生学籍信息表Course 课程课程基本信息表Score 成绩选课成绩信息表Student基本情况数据表,结构如下:字段名字段类型Not Null 说明Student _sno Char Primary key 学号Student _sn char Not Null 学生姓名Student _sex char ‘男’或‘女’性别Student _dept char 系别Student_age char 年龄Student_address char 地址course数据表,结构如下:字段名字段类型约束控制说明course_cno char 主键(primary key)课程号char not null 课程名称course_cnamecourse_hour int not null 课时course_score numeric(2,1) not null 学分score情况数据表,结构如下:字段名字段类型约束控制说明score_id int not null 成绩记录号course_cno char 外部键课程号student_sno char 外部键学号score int 成绩(二)数据库结构设计1.概念结构设计由需求分析的结果可知,本系统设计的实体包括:(1)学生基本信息:学号,姓名,性别,地址,年龄,专业。

(2)课程基本信息:课程名,课程号,分数,学时,学分。

2.逻辑结构设计这些实体间的联系包括:(1)每位学生可以学习多门课程,每门课程可供多位学生学习。

由上述分析可得到系统的E —R 图:由系统E —R 图转化而得到的关系模式如下:(1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号;(2)课程(课程名,课程号,学时,学分),其中主关键字为课程号;(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。

可以与学生关系模式合 并 为:学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)。

3. 确定关系模型的存取方法在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。

可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。

在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。

才能充分利用索引的作用避免因索引引起的负面作用。

4.确定数据库的存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。

(1)创建学生基本信息表: create table Student (学号 varchar(11) not null, 系别 varchar(5) not null,选修课程成绩 学生 课程号课程名学时学分分数学号姓名性别系别地址 年龄姓名varchar(6) not null,性别varchar(2) not null,年龄char(2) not null,地址varchar(20) not null,constraint PK_STUDENT primary key (学号))goexecute sp_addextendedproperty 'MS_Description','学生基本信息描述','user', '', 'table', 'StudentsInfo'go(2)创建课程表:create table Course (cno varchar(5) not null,cname varchar(10) null,xueshi smallint null,xuefen int null,constraint PK_COURSE primary key (课程号))goexecute sp_addextendedproperty 'MS_Description',(3)创建学生与课程的成绩表create table SC ( sno varchar(11) not null,cno varchar(5) not null,chengji varchar(4) not nullconstraint PK_SC primary key (学号, 课程号))go在SC表上创建索引SC_FK与SC2_FKcreate index SC_FK on SC (学号ASC)Gocreate index SC2_FK on SC (课程号ASC)go建立课程号索引create index TC_FK on TC (课程号ASC)go下图显示了学生,课程和成绩三个关系的物理设计其中课程号与学号号分别为关系的主码。

五数据库的实施与维护5.1 数据库的实施:此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。

首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源。

主要代码如下:#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, CRecordset)CCourse::CCourse(CDatabase* pdb): CRecordset(pdb){ //{{AFX_FIELD_INIT(CCourse)//}}AFX_FIELD_INITm_nDefaultType = snapshot;CString CCourse::GetDefaultConnect(){ return _T("ODBC;DSN=");}CString CCourse::GetDefaultSQL(){ return _T("");}void CCourse::DoFieldExchange(CFieldExchange* pFX){//{{AFX_FIELD_MAP(CCourse)pFX->SetFieldType(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 CFrameWnd{protected: // create from serialization onlyCMainFrame();DECLARE_DYNCREATE(CMainFrame)// Attributespublic:// Operationspublic:// Overrides// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CMainFrame)virtual BOOL PreCreateWindow(CREATESTRUCT& cs);//}}AFX_VIRTUAL// Implementationpublic:virtual ~CMainFrame();protected: // 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 OnTeach();afx_msg void OnTeacher();afx_msg void OnScore();afx_msg void OnQueryTeach();afx_msg void OnQueryScore();afx_msg void OnCourse();//}}AFX_MSGDECLARE_MESSAGE_MAP()};//{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line. // CScoreAddDlg dialogCScoreAddDlg::CScoreAddDlg(CWnd* pParent /*=NULL*/): CDialog(CScoreAddDlg::IDD, pParent){/{{AFX_DATA_INIT(CScoreAddDlg)//}}AFX_DATA_INIT}void CScoreAddDlg::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()void CScoreAddDlg::OnOK(){CString student,course,score,student_no,course_no;m_cStudent.GetWindowText(student);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.GetFieldValue("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(){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;i<m_recordSet.GetRecordCount();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 j=0;j<m_recordSet.GetRecordCount();j++){CString temp;m_recordSet.GetFieldValue("student_name",temp);m_cStudent.AddString(temp);m_recordSet.MoveNext();}m_recordSet.Close();m_cStudent.SetCurSel(1);{this->SetWindowText("成绩窗口");}return true;}void CScoreAddDlg::OnCancel(){// TODO: Add extra cleanup hereCDialog::OnCancel();}5.2部分操作截图:下图显示了学生登陆系统进行查询时界面:下图显示了进行课程查询时界面:成绩查询功能:5.3数据库的维护当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在sqlserver中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。

相关文档
最新文档