数据库学生成绩管理系统

合集下载

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

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

数据库课程设计--学生成绩管理系统一、引言学生成绩是教育领域中最重要的数据之一。

为了有效地管理和分析学生的成绩数据,学生成绩管理系统应运而生。

本文将介绍一个基于数据库的学生成绩管理系统的设计。

二、系统概述学生成绩管理系统主要功能包括学生信息管理、课程管理、成绩录入与查询等。

通过该系统,教师可以方便地管理学生成绩,学生可以随时查询个人成绩,而管理员可以对系统进行维护和权限管理。

三、数据库设计1. 实体-关系模型在学生成绩管理系统中,主要的实体包括学生、课程、教师和成绩。

它们之间的关系如下:- 学生与课程之间是多对多的关系,一个学生可以选修多门课程,一门课程也可以有多个学生参加。

- 学生与成绩之间是一对多的关系,一个学生可以有多个成绩记录,但一个成绩只能对应于一个学生。

- 课程与成绩之间是一对多的关系,一门课程可以有多个成绩记录,但一个成绩只属于一个课程。

2. 数据库表设计基于上述实体-关系模型,我们设计了以下数据库表:- 学生表(Student):包括学生编号、学生姓名、性别、年级等信息。

- 课程表(Course):包括课程编号、课程名称、学分等信息。

- 教师表(Teacher):包括教师编号、教师姓名、职称等信息。

- 成绩表(Score):包括学生编号、课程编号、成绩等信息。

四、系统功能设计1. 学生信息管理教师和管理员可以对学生信息进行增、删、改和查操作。

包括学生的基本信息和选课情况等。

2. 课程管理教师和管理员可以对课程信息进行增、删、改和查操作。

包括课程的基本信息和授课教师等。

3. 成绩录入与查询教师可以根据课程和学生信息录入成绩,同时学生和管理员可以根据课程和学生信息查询成绩。

五、系统界面设计学生成绩管理系统应具有用户友好的界面,便于用户操作和信息浏览。

界面设计应符合人机工程学的原则,以实现良好的用户体验。

六、系统安全设计为了确保学生成绩的保密性和完整性,学生成绩管理系统应具备一定的安全措施。

基于mysql的学生成绩管理系统的设计与实现

基于mysql的学生成绩管理系统的设计与实现

基于mysql的学生成绩管理系统的设计与实现1. 引言1.1 概述在现代教育系统中,学生成绩的管理是非常重要且必不可少的一项工作。

为了实现高效、准确地管理学生成绩信息,本篇文章设计并实现了一个基于MySQL的学生成绩管理系统。

1.2 文章结构本文将分为五个主要部分来介绍该学生成绩管理系统的设计与实现。

首先,引言部分将提供对整个文章内容的概述和总体结构。

其次,系统需求分析模块将详细讨论用户需求、功能需求和数据需求。

接下来,数据库设计与建模模块将介绍实体-关系模型(ERM)设计、数据表设计与规范化以及数据库安全性与权限控制设计。

然后,在系统功能实现与开发过程介绍模块中,我们会深入探讨前端界面设计与开发过程、后端逻辑处理与数据库操作实现技术选型以及系统测试与调试过程描述。

最后,在结论和展望模块中,我们将总结本文所介绍的学生成绩管理系统并展望未来可能的优化和扩展方向。

1.3 目的本文旨在通过对基于MySQL的学生成绩管理系统进行全面而详细的设计与实现,帮助读者更好地理解和掌握学生成绩管理系统的开发过程和关键技术。

通过本文,读者将了解到学生信息管理、成绩录入和查询功能的实现方法,以及数据库设计与优化的要点。

同时,本文还将对未来学生管理系统的扩展和优化提出建议和展望,以帮助读者在实际应用中更好地运用该系统并满足不断变化的需求。

2. 系统需求分析2.1 用户需求在学生成绩管理系统的设计与实现过程中,我们需要了解用户的需求,以便为其提供满足其期望的功能和特性。

通过调研和访谈,我们确定了以下用户需求:1. 学生管理功能:学生能够登录系统并查看自己的个人信息、课程成绩以及绩点等相关信息。

2. 教师管理功能:教师能够登录系统,并能够录入学生成绩、查询学生成绩、修改学生成绩等操作。

3. 管理员管理功能:管理员具有最高权限,能够对学生信息进行增删改查以及对系统进行配置和设置。

4. 数据统计与报表分析功能:系统能够根据各类指标统计学生成绩情况,生成相应的报表供相关人员参考分析。

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

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

1。

概述1.1 简单介绍本系统实现的内容该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。

此系统主要完成用户密码登录、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能.(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序.(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码.(三)成绩查询1。

成绩修改前选中要修改的成绩信息,然后进行修改。

2.成绩添加直接弹出添加对话框,然后进行添加。

3.成绩删除前选中要删除的成绩信息,然后直接删除。

(四) 课程查询1。

课程修改实现对课程名、学时、学分的修改。

2.课程添加对一门新开设的课程进行录入,并存入数据库。

3。

课程删除对一门不再开设的课程进行删除,并从数据库中删除。

(五)学生查询1。

学生信息修改修改选中当前学生的信息。

2。

学生信息添加增加新学生的信息。

3。

学生信息删除删除选中当前学生信息。

1。

2 开发环境简介1)Microsoft visual c++ 6。

0Visual C++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出Visual C++1。

0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具.Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。

Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具. 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。

2)Microsoft SQL Server 2000和与系统相关的SQL 语言介绍数据定义DDL(data definition language)数据定义语言是指对数据的格式和形态下定义的语言,他是每个数据库要建立时候时首先要面对的,举凡数据分哪些表格关系、表格内的有什么栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的.2。

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。

你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。

这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。

学生成绩管理系统数据库

学生成绩管理系统数据库
课程
课程编号# 课程名称 课程类型
学分 学时
选课 教师
教师编号#
电话 姓名 性别 学院
授课
三、逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务 是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支 持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系 转化为关系模式,如何确定这些关系模式的属性和码。
cno degch_class)
字段名
属性
cno
课程号
teano
教师号
char(10) char(10)
数据类型 char(10) char(10)
Not null Not null
字段权限 Not null Not null
五、数据库实现
1、创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要
四、物理设计阶段
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库 的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结 构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取 方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最 后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结 构的设计,存储路径的设计。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下(其中码用下横线标出):
课程信息表: 课程(课程号,课程名,课程类型,学分,学时) 学生信息表: 学生(学号,姓名,性别,年龄,专业,学院) 成绩表: 成绩(学号,课程名,成绩) 教师表: 教师(教师号,姓名,性别,学院,电话) 选课表: 选课(学号,课程号,成绩) 授课表: 授课(课程号,教师号)

学生成绩管理系统分析

学生成绩管理系统分析

学生成绩管理系统分析学生成绩管理系统是一种用于帮助学校或教育机构管理学生成绩的计算机软件系统。

它能够实现学生成绩的录入、计算、分析和报告等功能,有效提升学校教务管理的效率,并为教师、学生及家长提供更好的数据支持,帮助他们更好地了解学生表现和发挥潜力。

本文将对学生成绩管理系统进行详细分析,包括系统的基本功能、优势和意义,以及如何实施和使用该系统。

一、学生成绩管理系统的基本功能学生成绩管理系统主要包含以下基本功能:1.学生成绩录入:教师可以使用该系统将学生的分数和成绩相关信息录入系统数据库中,确保数据的准确性和完整性。

2.学生成绩查询:学校教务管理人员、教师、学生及家长都可以通过该系统查看学生成绩,包括单科成绩、总评成绩、排名和学生课程表等。

3.成绩统计与分析:系统可以对学生成绩进行统计和分析,包括成绩分布、班级平均成绩、学科排名等,帮助学校更好地了解学生的学习情况。

4.成绩报告和成绩单生成:系统可以根据学生的成绩数据自动生成成绩报告和成绩单,并且可以通过电子邮件或系统内部消息的方式发送给学生或家长。

5.异常成绩监测和预警:系统可以根据设定的规则和学生成绩数据,实时监测学生的成绩情况,对于低于预期的成绩进行预警,及时进行干预和教育。

二、学生成绩管理系统的优势和意义学生成绩管理系统的实施和使用可以为学校、教师、学生及家长带来诸多优势和意义:1.提高工作效率:学生成绩管理系统自动化了学生成绩的录入、计算和统计等工作,减少了繁琐的手工操作,提高了工作效率。

2.减少人为错误:由于系统自动计算和存储学生成绩数据,减少了手动录入错误和数据丢失的可能性,确保了成绩数据的准确性。

3.提供数据支持:学生成绩管理系统可以生成各种报表和统计数据,为学校领导、教师和家长提供更好的数据支持,用于评估学生的学习情况和制定教学计划。

4.促进家校合作:学生家长可以通过系统查询和监测学生成绩,及时了解孩子的学习情况,并与教师共同讨论和制定适合孩子的学习计划,促进家校合作。

学生成绩管理系统测试分析报告

学生成绩管理系统测试分析报告

学生成绩管理系统测试分析报告摘要:学生成绩管理系统是一款用于管理学生课程成绩的软件,该报告旨在对该系统进行测试分析,评估其性能和功能的有效性。

通过对系统的各个模块进行详细的测试,我们发现系统在用户管理、课程管理、成绩录入和查询等方面都表现出良好的稳定性和功能完整性。

然而,我们也发现了一些问题和改进的建议,希望能对系统进一步优化和提升其用户体验。

1. 引言学生成绩管理系统是一个为教师和学生提供方便的工具,用于管理学生的课程成绩和个人信息。

该系统的目标是简化成绩管理和查询过程,减少教师和学生的工作负担,提高数据管理的准确性和效率。

2. 测试环境为了保证测试结果的准确性,我们使用了以下配置的测试环境:- 操作系统:Windows 10- 浏览器:Google Chrome、Mozilla Firefox、Microsoft Edge- 数据库:MySQL3. 测试方法我们采用了黑盒测试和白盒测试相结合的方法,以全面评估系统的性能和功能。

3.1 黑盒测试黑盒测试是根据系统的输入和输出来进行测试,不关心系统内部的结构和实现方式。

我们对学生成绩管理系统的各个模块进行了黑盒测试,验证了系统对用户输入的响应和输出的准确性。

3.2 白盒测试白盒测试是基于系统的内部结构和实现方式来进行测试。

我们通过分析系统的源代码,对系统的各个函数和模块进行了覆盖率测试,确保系统的所有代码都经过了测试,提高系统的代码质量和稳定性。

4. 测试结果和分析通过对学生成绩管理系统进行测试,我们得出以下结论:4.1 用户管理模块用户管理模块是学生成绩管理系统的核心模块,用于管理教师和学生的用户信息。

经过测试,系统对用户的注册、登录和信息修改等功能均表现出良好的稳定性和正确性。

然而,我们建议在密码管理方面加强安全性,例如强制要求用户设置复杂密码和加密存储用户密码。

4.2 课程管理模块课程管理模块用于管理学生的课程信息,包括课程名称、授课教师和学分等。

基于mysql的学生成绩管理系统毕业设计

基于mysql的学生成绩管理系统毕业设计

基于mysql的学生成绩管理系统毕业设计题目:基于MySQL的学生成绩管理系统毕业设计在现代信息技术飞速发展的时代,数据库管理系统已经成为了各行各业不可或缺的一部分。

特别是在教育领域,学生成绩管理系统的建设对于学校和教师来说至关重要。

在这篇文章中,我将围绕着基于MySQL的学生成绩管理系统毕业设计展开一番讨论。

一、引言MySQL作为世界上最流行的开源关系数据库管理系统,其稳定性和高效性备受赞誉。

结合学生成绩管理系统的需求,借助MySQL数据库的特性,可以实现学生成绩的高效管理和统计分析。

接下来,我将从数据库设计、系统功能和使用体验三个方面,对基于MySQL的学生成绩管理系统毕业设计进行详细探讨。

二、数据库设计1. 数据库表结构设计在设计学生成绩管理系统数据库时,需要考虑如何构建合理的表结构,以便存储学生信息、课程信息和成绩信息等。

对于学生成绩管理系统而言,一般情况下包括学生表、课程表、成绩表等几个核心表。

其中,学生表包括学生ID、尊称、性别等字段;课程表包括课程ID、课程名称、学分等字段;成绩表包括学生ID、课程ID、成绩等字段。

通过合理的表结构设计,可以实现数据的高效存储和查询。

2. 索引和约束设计在数据库设计中,索引和约束的设计也是至关重要的。

通过对关键字段添加索引,可以提高数据的检索速度;利用约束来保证数据的完整性和一致性。

可以通过主键约束来保证学生ID和课程ID的唯一性;通过外键约束来建立表与表之间的关联关系。

这些都是数据库设计中不可或缺的一部分。

三、系统功能基于MySQL的学生成绩管理系统,其功能应该覆盖学生信息管理、课程信息管理、成绩录入和成绩查询等方面。

通过一个直观的用户界面,教师可以方便地录入学生成绩,并进行统计分析;学生和家长也可以通过系统进行成绩查询和学习进度跟踪。

在毕业设计中,需要考虑系统的易用性、稳定性和安全性,以确保其能够满足实际应用的需求。

四、使用体验从用户角度来看,基于MySQL的学生成绩管理系统应该具有良好的使用体验。

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

学生成绩管理系统课程设计设计报告题目:学生成绩管理系统数据库学号: 20100学生姓名: 张坤学号: 20138学生姓名: 张豪学号: 20057学生姓名: 王潜指导教师:王雷春提交时间: 2016/12/24目录第1章需求分析 (3)1.1 需求调查 (3)1.2 系统功能分析 (4)1.3 面对用户需求分析 (5)第2章数据库概念模型设计 (6)第3章逻辑结构设计 (6)3.1 类和对象向关系模式转换 (13)3.2 关系模式优化 (17)第4章数据库物理结构设计 (20)4.1 存取方法设计 (20)4.2 存储结构设计 (20)4.3 物理设计 (20)第5章数据库完整性设计 (24)5.1 主键及唯一性索引 (24)5.2 参照完整性设计 (24)5.3 Check约束 (24)5.4 Default约束 (25)5.5 触发器设计 (26)第6章数据库视图设计 (27)第7章数据库存储过程设计 (33)第8章权限设计 (38)总结 (39)参考文献: (39)教务管理系统后台数据库第1章需求分析1.1 需求调查通过对各个用户的调查,该学生成绩管理系统有如下需求:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销,系统开关等功能。

2)成绩管理:实现教师对学生选修课程打分,成绩审核,学生查看成绩。

3)信息维护:学生,管理员和老师以及课程的基本信息(包括学生学籍信息和学生所修课程信息,教师基本信息,课程基本信息,密码基本信息)查看以及修改。

4)选课:学生选择课程,老师选课。

5)查询:包括实现学生查询,老师查询。

学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带课程的学生,自己的课表以及学生成绩等。

6)服务器配置:对它进行配置可以使得在其他电脑上也照常使用。

这样不必每次都到数据库中去更改。

7)帮助系统:帮助系统为用户指明方向。

1.2 系统功能分析1)系统管理:主要用于系统开关,教师选课开关,学生选课开关等。

2)学籍管理:用于对学生学籍基本信息的录入、查询、修改、维护、删除等常用功能,并提供学号编排、学生照片输入显示、学籍变动(留级、休学、跳级、转班、转学、退学等)、奖惩登记、毕业情况等功能。

3)选课管理:用于对课程的排布和选择。

对于选课课程、采用教师选课方式,教师先选课,学生再选课。

4)教师管理:用于管理教师的基本信息,其所在院系、所授课程,所带的班级,教师平时上课的时数,并记录教师的考评情况。

5)成绩管理:用于发布学生一个学期所修课程所获得的成绩,是否挂科、参加补考,补考的成绩等。

6)课程管理:用于管理课程的基本信息,包括添加,删除,修改课程。

7)管理员管理:用于对管理员的权限进行修改,以及添加,删除管理员,更新管理员信息等。

8)数据备份:用于保存删除或更新之前的数据,防止管理员误操作,以及数据找回等。

9)即时事务管理:用于发布和管理学校及学院的相关通知,便于相关人员了解学校及学院的近期动态。

1.3 面对用户需求分析在学生选课系统中,最主要的功能就是进行一系列的查询和各类数据的管理。

因此,可以将学生选课系统分为管理系统(有数据变化)和查询系统两个子系统。

而在所设计的学生选课系统中,主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。

各类用户在该系统中的需求不同,权限也不同。

因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为学生管理系统,老师管理系统,教务管理员管理系统,系统管理员管理系统。

同样,将查询系统也按用户职能进行细分,即学生查询系统,老师查询系统,教务管理员查询系统,系统管理员查询系统。

这样细分后,看似把系统需求繁杂化了。

其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。

下面从细分后的各个子系统分析子系统的需求:1)学生管理系统。

学生用户在使用该系统时,首先必须通过账号和密码登录系统。

因此,对密码的设置和修改是最基本的需求。

由于所有用户在使用该系统时都需要账号和密码,所以在后面的用户需求分析时不再重复对此需求进行描述。

在登录系统后,学生用户的最主要的需求就是通过该系统进行选课、退课。

其次,学生用户还要求可以通过系统进行个人信息的维护(包括添加、删除、修改信息)以及学生评教和各类报名。

2)学生查询系统。

学生用户在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人信息查询,成绩查询(个人成绩),即时事物查看,学业预警查看。

在进行选课的时候还要对课程信息进行查询,课程选完后要查询课表。

3)老师管理系统。

该系统中,老师用户当然也有维护个人信息的需求。

除此之外,更重要的一个需求是要进行学生成绩的录入。

4)老师查询系统。

老师用户不仅要有查询自己的个人信息的功能,还要有查询学生信息的功能。

当学生用户进行选课完毕后,老师用户有对选课、任课信息、课表的查询以及花名册的查看的需求。

当课程结束后,老师在录入学生成绩的时候,也要对课程信息、学生信息进行查询。

老师用户的另一个需求是对学生成绩的查询,这个成绩查询不仅可以查询学生用户的个人成绩,还可以查询所带课程的成绩和所有学生的成绩。

5)教务管理员管理系统。

首先当然个人信息的维护。

对于教务管理员来说,该系统应该可以帮助他进行开课信息的维护,人才培养方案管理;在学生由于种种原因而有选课异常时,教务管理员还有重选、补选、退选的需求;课程结束老师录入学生成绩后,教务管理员还有利用系统进行成绩的审核,有时还要对某些学生的成绩进行修改。

6)教务管理员查询系统。

教务管理员首先要具有学生查询系统,老师查询系统的所有需求。

除了这些需求外,教务管理员还应该可以查询开课信息,学生评教查询和学生成绩查询(包括学生个人成绩,班级成绩,某课程成绩以及全院学生的成绩)。

7)系统管理员管理系统。

作为系统挂了管理员,是该系统中最高级的用户,因此该用户的需求相对比较的多。

第一,要通过系统对院系进行管理:院系的设置,院系的调整以及院系的总体规划。

第二,进行专业的设置,专业的添加、删除、修改,专业的调整。

第三,要对学期进行设置和教室的管理。

第四,对各学院的教师管理,其中就包括了老师在系统中的权限设置。

第五,学生的学籍的管理(学籍的异动)。

第六,通过各学院上报的课程信息进行全面的排课以及课程的停开和增开,这也是学生选课系统中很重要的一个需求。

最后,系统管理员管理系统还应该可以利用该系统进行用户的管理和维护,包括用户的添加、删除,修改等。

8)系统管理员查询系统。

该子系统的需求首先要包括前三类用户查询系统中的所有需求,即可以查询前三类用户能进行的所有查询。

其次,要包括院系的查询,专业的查询,教室的查询。

第三,通过系统查询学生、教师的基本信息,查询老师的任课情况以及教学情况(评教情况)。

第四,在对学生学籍管理时要对学生学籍的查询。

第五,对课程信息及选课信息的查询。

此外,还有对该系统中所有学生用户的学生成绩查询和该系统中所有老师用户的评教结果查询的需求。

第2章数据库概念模型设计2.1数据库实体以及关系设计本系统主要有9个实体:A.学生实体B.教师实体C.管理员实体D.课程实体E.职称实体F.政治面貌实体G.院系实体H.专业实体I.新闻公告实体实体关系图:图2.1院系专业实体关系图图2.2教师课程实体关系图图2.3学生课程实体关系图图2.4学生政治面貌实体关系图图2.5教师职称实体关系图图2.6管理员新闻公告实体关系图图2.7学生专业实体关系图图2.7总实体关系图2.2面向类和对象分析设计类和对象设计如下:第3章 数据库逻辑结构设计3.1 E-R 图局部E-R 图3.1职称编号E-R 图政治面貌编号:int 名称:string 添加() 修改() 查询() 职称编号:int 名称:string 添加() 修改() 查询()3.2政治面貌E-R图3.3新闻公告E-R图3.4学生E-R图3.5教师E-R图3.6管理员E-R图3.7课程E-R图3.8专业E-R图3.9院系E-R图全局E-R图:图3.10全局E-R图3.2 类和对象向关系模式转换学生信息(姓名、学号、性别、出生年月、政治面貌、、学院、专业名称、培养层次、籍贯、民族、家庭地址、、联系电话、)成绩信息(学生姓名、学号、专业名称、课程名、课程号、分数、绩点、学分、所获学分、)课程(课程名、课程号、任课老师、选课班级、学时、学分、开课年度、开课学期、学院、上课地点、上课时间、限制人数)选课信息(学生姓名、学号、学院、教学班号、课程名、课程号、任课老师、上课地点、上课时间)专业信息(专业名称、专业编号、所授学位、培养方案、所属学院)教师信息(教师姓名、教职工号、性别、出生年月、学历、职称、所属学院、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号码)新闻公告(通知标题、通知内容、发布单位、发布时间、有效期限)开关表(系统开关,选课开关)3.3 关系模式优化通过对用户需求和实体之间的关系的分析,结合范式考虑,本系统建立以下表1).院系表2).专业表3).学生表4).教师表5).管理员表6).登录表7).新闻公告表8).课程表9).教师课程表10).学生课程表11).职称表12).政治面貌表13).开关表14).登录日志表第4章数据库物理结构设计4.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。

对于教务管理系统来说,为了提高某些属性(如:学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。

这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会大大提高查询速度。

因此,该系统中选择聚簇存取方法。

4.2 存储结构设计教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。

数据库管理系统采用Microsoft 公司推出的SQL Server 2014,并用SQL进行数据库的建立和数据库中数据的维护和查询。

4.3 物理设计实现该设计的环境为Windows 10+ MS SQL Server2014 或以上版本。

1、建立学生成绩管理系统数据库use mastercreate database 学生成绩管理系统数据库on (name='学生成绩管理系统数据库主文件','D:\student system of grades\student system of grades.mdf', size=5,maxsize=50,)log on (name='学生成绩管理系统数据库日志文件','D:\student system of grades\student system of grades.ldf', size=2mb,maxsize=10mb,)Go2.建立职称表create table 职称(职称代号 int primary key,职称 varchar(50),预留字段 varchar(50))3.建立政治面貌表create table 职称(职称代号 int primary key,职称 varchar(50),预留字段 varchar(50))4.建立院系表create table 院系(院系代号 int primary key,名称 varchar(50),预留字段 varchar(50))5.建立专业表create table 专业(专业代号 int primary key,名称 varchar(50),所属院系代号 int,预留字段 varchar(50))6.建立专业表create table 新闻公告(编号 int primary key,标题 varchar(50),内容 varchar(100),类别 varchar(50),发布人 int,预留字段 varchar(50))7.建立学生表create table 学生(学号 int primary key,姓名 varchar(50),性别 char(2) default '男' check (性别 = '男' or 性别 = '女')), 年龄 int,政治面貌代号 int,专业代号 int,联系方式 varchar(50),入学年份 int,预留字段 varchar(50))8.建立教师表create table 教师(工号 int primary key,姓名 varchar(50),性别 char(2) default '男' check(性别='男' or 性别='女'),年龄 int,职称代号 int ,院系代号 int,联系方式 varchar(50),教龄 int,预留字段 varchar(50))9.建立管理员表create table 管理员(管理号 int primary key,姓名 varchar(50),性别 char(2) default '男' CHECK (性别 ='男' or 性别 ='女'),职务 varchar(50),联系方式 varchar(50),地址 varchar(50),预留字段 varchar(50))10.建立课程表create table 课程(课程号 int primary key,课程名 varchar(50),任课教师 int,学分 int,上课时间 char(5) default '1-18' check(上课时间 ='1-16' or 上课时间 ='1-14' or 上课时间 ='1-12' or 上课时间 ='1-6' or 上课时间 ='1-18'),考试时间 datetime,限选人数 int,已选人数 int,开课学院代号 int,预留字段 varchar(50))11.建立学生课程表create table 学生课程(学号 int,课程号 int,分数 float default'0',预留字段 varchar(50),primary key(学号,课程号))12.建立教师课程表create table 教师课程(工号 int,课程号 int,预留字段 varchar(50))13.建立登录表create table 登录(账号 int primary key,密码 varchar(50),级别 char(6) default '学生' check(级别 ='学生'or 级别 ='教师' or 级别 ='管理员'),预留字段 varchar(50))第5章数据库完整性设计5.1 主键及唯一性索引5.2参照完整性设计--1、新闻公告表中将属性发布人设计为外键alter table 新闻公告 add foreign key (发布人) references 管理员(管理号) --2、教师表中将属性职称代号和院系代号设计为外键alter table 教师 add foreign key (职称代号) references 职称(职称代号)alter table 教师 add foreign key (院系代号) references 院系(院系代号)--3、学生表中将属性政治面貌代号属性和专业代号设计为外键alter table 学生 add foreign key (政治面貌代号) references 政治面貌(政治面貌代号)alter table 学生 add foreign key (专业代号) references 专业(专业代号)--4、专业表中将属性所属院系代号设计为外键alter table 专业 add foreign key (所属院系代号) references 院系(院系代号) --5、学生课程表中将属性课程号和学号设计为外键alter table 学生课程 add foreign key (学号) references 学生 (学号)alter table 学生课程 add foreign key (课程号) references 课程 (课程号)--6、教师课程表中将属性工号和课程号计为外键alter table 教师课程 add foreign key (工号) references 教师 (工号)alter table 教师课程 add foreign key (课程号) references 课程 (课程号)--7、课程表中将属性任课教师和开课学院代号计为外键alter table 课程 add foreign key (任课教师) references 教师 (工号)alter table 课程 add foreign key (开课学院代号) references 院系 (院系代号)5.3 Check约束1、学生,教师表和管理员表中将性别进行check约束:check (性别='男' or性别='女')2、课程表中将上课时间进行check约束:check (上课时间='1-18' or 上课时间='1-16' or 上课时间='1-14' or 上课时间='1-12' or '1-16')3、登录表中将开课学期进行check约束:check (级别=’管理员’ or 级别= ‘学生’ or 级别= ‘教师’)4、学生表中将分数check约束:check (分数>0 and 分数<100)5.登录日志表将操作类型check约束check (操作类型=’删除数据’ or 操作类型= ‘修改数据’ or 操作类型= ‘添加数据’) 5.4 Default约束1、教师表和学生表中性别默认值设为:男。

相关文档
最新文档