数据库课程设计 教务管理系统

合集下载

教务管理系统系统设计

教务管理系统系统设计

教务管理系统系统设计1. 简介教务管理系统是用于学校管理和教务部门进行学生、教师、课程以及其他相关信息管理的软件系统。

本文将介绍教务管理系统的系统设计。

2. 功能需求分析2.1 学生管理- 学生信息录入:包括学生基本信息、学籍信息、家庭联系方式等。

- 学生信息查询:根据学生学号、姓名等条件进行查询。

- 学生选课管理:学生选课、退课,选课结果查询等功能。

2.2 教师管理- 教师信息录入:包括教师基本信息、教授课程信息、联系方式等。

- 教师信息查询:根据教师工号、姓名等条件进行查询。

- 排课管理:教师根据自己的授课情况进行排课,并可查询自己所教授的课程信息。

2.3 课程管理- 课程信息录入:包括课程名称、课程编号、学分等。

- 课程信息查询:根据课程编号、教师姓名等条件进行查询。

- 选课人数统计:统计每门课程的选课人数。

2.4 成绩管理- 成绩录入:教师输入学生成绩。

- 成绩查询与统计:学生和教师可查询学生成绩,并进行成绩统计。

2.5 班级管理- 班级信息录入:包括班级名称、班级人数等。

- 班级信息查询:根据班级名称、班级人数等条件进行查询。

- 班级管理:教务部门可对班级进行管理,包括班级调整、班级合并等。

3. 数据库设计3.1 学生表设计字段:学号、姓名、性别、出生日期、入学日期、班级编号、联系方式等。

3.2 教师表设计字段:工号、姓名、性别、职称、联系方式等。

3.3 课程表设计字段:课程编号、课程名称、学分、教师编号等。

3.4 成绩表设计字段:学号、课程编号、成绩等。

3.5 班级表设计字段:班级编号、班级名称、班级人数等。

4. 系统界面设计根据功能需求设计相应的界面,包括登录界面、学生管理界面、教师管理界面、课程管理界面、成绩管理界面等。

5. 系统流程设计5.1 学生选课流程- 学生登录系统。

- 学生查询可选课程,并选择自己感兴趣的课程。

- 系统记录学生选课信息,并更新选课人数。

5.2 教师排课流程- 教师登录系统。

(完整word版)教务管理系统数据库设计

(完整word版)教务管理系统数据库设计

目录第一章:项目计划 (2)1.1 项目背景 : (2)1.2 系统开发目的: (2)1.3 定义: (2)第二章:详尽剖析 (2)、系统功能 (2)、系统构造 (3)、数据流图 (3)、户种类与职能 (4)、系统环境需求 (5)第三章:系统观点设计 (5)第四章:逻辑设计 (6)4.1 系统关系模型 (6)4.2 系统数据库表构造 (6)第五章:源码 (9)第六章:小结 (14)第一章:项目计划1.1 项目背景 :教务系统管理平台充足利用互联网络B/S 管理系统模式,以网络为平台,为各个学校教务系统的管理供给一个平台,帮助学校管理教务系统,用一个账号解决学校教务教课管理,而且学校能够自由选择学校需要的教务管理系统,灵巧地定制切合学校自己实质状况的教务系统 .1.2 系统开发目的:提升学生,老师管理和操作事务的运作效率。

1.3 定义:学生选课和老师评分一定在管理员的设置条件下进行。

第二章:详尽剖析、系统功能设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其余角色比如老师,才能做某些事情。

学期时间只好由角色管理员操作:包含对学期时间表的增添,删除,对某个学期时间状态的改变。

学生选课:当管理员设置为学期开始时,学生能够选课,学生选课受学分影响,只好选择总学分为多少的课程。

老师评分:当管理员设置为学期评分时,老师才能够评分。

个人信息管理:对自己个人信息进行增添和改正。

成绩查问:学生能够对自己成绩进行查问。

个人课表查问:准时间的不一样,每个角色都有自己不一样的课表。

、系统构造功能描绘:学生选课和老师评分一定在管理员设置学期的条件下进行。

、数据流图顶层图0层图、户种类与职能(1)管理员:对学期设置的管理每个阶段有不一样的功能。

(2)老师:对选修了自己课程的学生评分。

(3)学生:选修科目。

、系统环境需求系统模式本系统采纳 B/S 模式作为开发模式硬件环境服务器端:高性能的计算机一台,一般的双绞线作为连结。

教师管理系统数据库课程设计

教师管理系统数据库课程设计

教师管理系统数据库课程设计本文旨在介绍教师管理系统数据库课程设计的目的和重要性。

教师管理系统数据库课程设计是计算机专业学生在研究数据库知识和应用方面的重要实践活动。

通过设计和实现教师管理系统的数据库,学生可以掌握数据库设计、数据模型建立、数据操作和数据管理等方面的知识和技能。

此外,教师管理系统是学校管理系统中的重要组成部分,它可以有效地管理和维护教师的基本信息、工作安排、薪酬等,提高学校管理的效率和质量。

教师管理系统数据库课程设计的目标是培养学生的数据库设计和开发能力,使他们能够独立完成一个具有实际意义的数据库应用系统的设计和实施。

通过该课程设计,学生可以了解和掌握数据库设计的基本原理和方法,熟悉数据库管理系统的使用和开发工具,提高他们的问题解决能力和团队合作能力。

本课程设计将采用简单策略,避免复杂的法律问题。

所有引用内容将进行审核和确认,以确保信息的准确性和可靠性。

本课程设计的目标是教授学生数据库设计和管理的基本概念和技能。

通过本课程,学生将能够:理解数据库的基本原理和结构掌握数据库设计的方法和步骤学会使用常见的数据库管理工具和语言,如SQL能够设计和创建一个适用于教师管理系统的数据库模型掌握数据库的维护和管理技巧,包括备份、恢复和性能优化等理解数据库安全性和隐私保护的重要性,并学会相关的控制措施能够解决数据库设计和管理中的常见问题和挑战运用所学知识和技能,开发一个完整且实用的教师管理系统的数据库通过完成本课程设计,学生将能够为教师管理系统的数据库设计和管理提供有力的支持和解决方案。

他们将具备实际应用数据库知识和技能的能力,并为教师管理系统和相关领域的发展做出贡献。

《教师管理系统数据库课程设计》通过完成本课程设计,学生将能够为教师管理系统的数据库设计和管理提供有力的支持和解决方案。

他们将具备实际应用数据库知识和技能的能力,并为教师管理系统和相关领域的发展做出贡献。

《教师管理系统数据库课程设计》本课程旨在介绍教师管理系统数据库课程设计的主要内容。

数据库教务管理系统课程设计

数据库教务管理系统课程设计

华北科技学院计算机系综合性实验实验报告课程名称《数据库原理与应用》实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机学院年级 2010 专业班级计算机B10-3班学生姓名学号任课教师郭红实验成绩计算机系制《数据库原理与应用》综合性实验报告开课实验室:软件开发实验室(一) 2012 年 12月 7 日Course(Cno,Cn, Cs,Ct)(2)设计合适的视图视图v1:create view v1(Sno,Sn,总学分,未修学分)asselect,,sum(Cs),24-sum(Cs)from SC,Course,Studentwhere=and=and>=60group by,统计学生得到学分的情况,这样学生可以很清楚的看到自己所得到的学分的情况,能够时刻提醒自己还差多少分才修完课程,能够保证自己毕业前完成学业。

视图AvgS:学生可以直接查询自己的各科平均成绩。

create view AvgS(Sno,Sn,AvgScore)asselect,,avg(Score)from SC,Studentwhere=group by,4.物理设计create unique index SCI on SC(Sno,Cno)执行此命令后,为SC表建立一个索引名为SCI的唯一索引,此索引为Sno和Cno两列的复合索引,即对SC表中的行先按Sno的递增顺序索引,对于相同的Sno,又按Cno的递增顺序索引。

系统本身已经有的索引是Student表是按照学号升序建立的唯一索引,Teacher表是按照职工号序建立的唯一索引,Course表是按照课程号的升序建立的唯一索引。

5.数据库的实现(1)创建库、表应包括参照完整性、实体完整性、自定义完整性的定义create table Student(Sno char(10)primary key not null,Sn varchar(20)not null,Sex char(2)check(Sex in('男','女')),Dept varchar(20),Major char(20),Age int,Grade int,)create table Course(Cno char(8)primary key not null,Cn char(10),Ct int,Cs int,)(2)创建用户包括创建用户或角色,并授予相应的权限(用户设计至少3个,且设置合理)我为数据库创建了三个用户,分别是海艳,郭跃,系统管理员,对应的登录名分别是学生,老师,系统。

数据库课程设计--学校教务管理系统

数据库课程设计--学校教务管理系统

学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

学校为方便教务管理,需开发一个教务管理系统。

为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求系统界面要简单明了,易于操作,程序利于维护。

一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。

(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。

学生如果课程及格,可以取得该课程的学分。

学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。

根据成绩高低,可以计算学分积。

及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。

二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。

对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。

(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9) 教授某学生必修课程的老师情况 10)某学生选修了哪些系的课程 11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学 13)按总学分积找出某系学习最好的5名同学 14)可以毕业的学生三、软、硬件配置 程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP ,并且系统装有SQL Server2000数据库管理系统。

数据库教学管理系统课程设计报告

数据库教学管理系统课程设计报告

数据库教学管理系统课程设计报告一、项目背景数据库教学管理系统是一种用于管理学校教学信息和学生数据的系统,通过该系统可以方便地管理学生信息、教师信息、课程信息等数据,并支持教务管理、成绩管理、课程安排等功能。

该系统可以提高教学管理效率,实现教学信息的自动化管理,是现代教育管理的重要工具。

二、需求分析1.功能需求•管理学生信息,包括学生基本信息、选课情况等;•管理教师信息,包括教师基本信息、授课情况等;•管理课程信息,包括课程名称、上课时间、上课地点等;•支持教务管理,包括学生选课、成绩录入等功能;•支持课程安排,包括课程表生成、教师排课等功能。

2.性能需求•系统要求稳定可靠,能够处理大量数据;•系统响应速度快,能够快速查询数据;•系统安全性高,能够保护学生和教师信息不被泄露。

三、系统设计1.数据库设计系统采用MySQL数据库,包括以下表格设计: - 学生表(Student):存储学生基本信息,包括学号、姓名、性别等字段; - 教师表(Teacher):存储教师基本信息,包括工号、姓名、职称等字段; - 课程表(Course):存储课程信息,包括课程编号、课程名称、学分等字段; - 选课表(Enrollment):存储学生选课情况,包括学生学号、课程编号等字段; - 成绩表(Grade):存储学生成绩信息,包括学生学号、课程编号、成绩等字段。

2.系统架构设计系统采用B/S架构,前端使用HTML、CSS、JavaScript实现,后端采用Java 语言开发,并采用Spring框架实现业务逻辑,数据库连接采用JDBC连接MySQL 数据库。

四、系统实现1.前端实现前端页面采用响应式设计,包括学生信息管理页面、教师信息管理页面、课程信息管理页面等,使用Bootstrap框架实现页面布局,并通过AJAX与后端交互。

2.后端实现后端采用MVC架构,包括控制器层、服务层、数据访问层,使用Spring MVC 和Spring JDBC框架实现,对前端请求进行处理并访问数据库。

数据库课程设计学校教务管理系统

数据库教务系统的设计姓名学号日期一、系统开发目标:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

学校为方便教务管理,需开发一个教务管理系统。

为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求系统界面要简单明了,易于操作,程序利于维护。

二、功能设计:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。

对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。

(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩>90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生1、总体功能概念结构图:2、查找所给问题的实体系统中涉及到的实体:班级,学生,教师,课程,学院中的各个系。

2.1查找实体的关联①班级、学生之间是一对多关系;②学生、课程之间是多对多关系;③系、班级、教师之间是一对多关系;④教师、课程、班级之间是多对多关系;2.2查找实体关键字①班级的关键字----班级号;②学生的关键字----学号;③教师的关键字---教师编号;④课程的关键字----课程号;⑤系的关键字----系号。

(完整word版)数据库课程设计教务管理系统

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。

一个班级只属于一个专业,一个学生只属于一个班级。

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

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

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

一个教师可以教授多个班的多门课程,每门课由多位老师讲授。

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

系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。

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

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

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

要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。

指导教师:2017 年12 月29 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 (2)1.1、本设计的目的与意义 (2)1.2、数据库开发工具和应用程序开发工具 (2)二、需求分析 (2)2.1功能需求 (2)2.2数据需求 (2)三、概念结构设计 (2)3.1、E-R模型设计 (2)3.2、总体E-R图描述 (4)四、逻辑结构设计 (4)4.1、关系模型 (4)4.2、关系模式的优化与说明 (4)五、物理结构设计 (5)5.1建立数据库 (5)5.2表与表结构 (5)六、应用程序设计 (6)6.1、系统总体结构 (6)6.2、系统界面与源代码 (7)6.2.1、界面 (8)6.2.2、功能描述 (9)6.2.3、程序源代码 (10)七、设计总结 (23)一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。

数据库课程设计教务管理系统(sql sever2008)

河南城建学院Henan University of Urban Construction 《数据库原理》课程设计报告课程名称:《数据库原理》课程设计设计题目:《教务管理系统》指导教师:何宗耀班级:0844141学号:084414144学生姓名:同组人员:成绩:评语:计算机科学与工程学院2016年6月目录第1章概述 (3)1.1选题的背景与意义 (3)1.2相关技术分析 (3)第2章系统功能设计 (4)2.1系统总体结构设计图 (4)2.2系统功能模块 (4)1.2.1 模块 (4)1.2.2 模块功能 (4)第3章数据库设计 (5)3.1需求分析 (5)3.1.1流程图 (5)3.1.2 数据字典 (7)3.2概念结构设计 (9)3.2.1 E—R图 (9)3.3逻辑结构设计 (11)3.3.2范式的判定(3NF) (11)3.3.3 子模式的设计(视图) (13)3.4物理结构设计 (15)3.4.1存储结构与存取方法 (15)3.4.2数据的易变与稳定部分 (16)3.4.3索引的建立 (16)3.5数据库、表建立的代码 (16)3.5.1建立视图 (20)3.5.2建立存储过程 (21)3.5.4建立触发器 (22)3.6数据库实施 (24)3.6.1 数据表截图 (24)3.6.2视图的截图 (27)3.6.3存储过程的截图 (29)3.6.4 触发器实现过程的截图 (30)第4章 (32)第1章概述1.1 选题的背景与意义现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。

如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。

教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理,对课程资料的管理,对学生信息的管理和对学生成绩的管理等主要功能。

教务管理系统是每所高校的一项必不可少的内容,但最基本的还是教务管理系统数据库的设计,它的好坏直接影响到学校的主要工作。

3高校教务管理系统数据库设计

高校教务管理系统数据库设计1.1 数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。

1.2设备奔腾1g、内存128兆以上的计算机,局域网络环境。

1.3需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。

1.4功能树2 概念设计2.1 实体及其属性2.1.1 学生实体E-R图2.1.2 课程实体E-R图2.1.3 教师信息E-R图2.1.4综合ER图3 逻辑设计3.1 规范化得到最终的关系模式学生信息基本表(学号,姓名,性别,学院名称,班号,联系电话,入校日期,家庭住址),主码为学号,符合三范式。

课程信息表(课程编号,课程类型,分数)主码为课程编号,符合三范式。

教师信息表(教师编号,姓名,所在科室,联系电话)主码为教师编号,符合三范式。

考试信息表(学号,课程编号)主码为学号,课程编号,符合BCNF。

讲授信息表(教师编号,课程编号)主码为教师编号,课程编号,符合BCNF。

3.2 学生基本信息表3.3 课程信息表3.4 教师信息表3.5 考试信息表3.6 讲授信息表4 物理结构设计4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。

4.2 建立数据表4.2.1 学生信息基本表的建立:CREATE TABLE Student( Sno CHAR ( 8 ) PRIMARY KEY ,Uname CHAR ( 8 ) UNIQUE,Sex CHAR ( 2 ),Sdept(8 ),Classno ( 8 ),Connect tel ( 11 ),Enter date (8 ),Family add (50 ));4.2.2 课程信息表的建立:CREATE TABLE Course( Course code CHAR (20 ) PRIMARY KEY ,Course type CHAR ( 8 ) ,Course grade CHAR ( 8)) ;4.2.3 教师信息表的建立:CREATE TABLE Teacher( Tno CHAR ( 8 ) PRIMARY KEY ,Tname CHAR ( 8 ) UNIQUE,Tdepartment(8 ),Tmoible( 11 ),);4.2.4考试信息表的建立:CREATE TABLE Exam( Sno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY ( Sno , Course code ) ,FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code));4.2.5讲授信息表的建立:CREATE TABLE Teaching( Tno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY (Tno , Course code ) ,FOREIGN KEY (Tno ) REFERENCES Teacher (Tno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code) );5 其他数据库对象的设计5.1 索引CREATE UNIQUE INDEX Stusno ON Student(Sno)CREATE UNIQUE INDEX Couno ON Course(Cno)CREATE UNIQUE INDEX Teano ON Teacher(Tno)5.2 视图CREATE VIEW IS_StudentASSELECT Sno,Sname,SdeptFROM StudentWhere Sdept=’IS’;2.2CREATE VIEW BTEACHERASSELECT Tname,TdepartmentFROM Teacher;5.3 触发器CREATE Trigger Delete _CourseBEFORE UPDATE ON CourseFOR EACH ROWAS BEGINIF(new.grade<60)THEN new.grade=nopass;END IF;END;5.4 存储过程CREATE procedure createetablesASCREATE table user 1(Uid int,Uname char(20)INSERTINTO use 1(Uid,Uname)V ALUES ('1','小明');)6 备份及恢复策略针对不同的故障,制定恢复策略数据库系统可能发生各种各样的故障,大致可以分为以下几类:1)事务内部故障2)系统故障3)介质故障4)计算机病毒要保证数据一致性是对数据库的最基本的要求。

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

洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级B120505学号姓名完成日期2015-1-4课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。

一个班级只属于一个专业,一个学生只属于一个班级。

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

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

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

一个教师可以教授多个班的多门课程,每门课由多位老师讲授。

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

系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。

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

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

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

要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。

指导教师:高春玲2014 年12 月28 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 21.1、本设计的目的与意义 21.2、数据库开发工具和应用程序开发工具 2二、需求分析 22.1功能需求 22.2数据需求 2三、概念结构设计 23.1、E-R模型设计 23.2、总体E-R图描述 4四、逻辑结构设计 44.1、关系模型 44.2、关系模式的优化与说明 4五、物理结构设计 55.1建立数据库 55.2表与表结构 5六、应用程序设计 66.1、系统总体结构 6 6.2、系统界面与源代码7 6.2.1、界面7 6.2.2、功能描述96.2.3、程序源代码9七、设计总结23八、体会与收获24九、参考文献24一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。

二、需求分析2.1、功能需求本系统的功能如下:1)学生信息查询:学生可以根据学号、姓名、专业进行查询.2)学生信息管理:主要是用于学生信息更新、插入、删除;3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;2.2、数据需求本系统需要的数据如下:学生:学号、姓名、性别、年龄教师:工号、姓名、性别、年龄班级:班号、班名、人数、课程:课程号、课程名、上课时间、上课地点专业:专业号、专业名三、概念结构设计3.1、E-R模型设计(E-R图)学生和教师实体及其属性E-R图教师与课程E-R图部分实体的E-R图总体E-R图3.2、总体E-R图描述学生与班级之间的联系是所属关系(一对多关系)班级与专业之间的联系是所属关系(一对多关系)班级与课程之间的联系是学习关系(多对多关系)学生选修一门选修课(一对多关系)学生评教老师所教课程(多对多关系)老师教授课程(多对多关系)四、逻辑结构设计4.1、关系模型学生(学号、姓名、性别、年龄、班号、选修课程号、分数)教师(工号、姓名、性别、年龄)班级(班号、班名、人数、专业名)课程(课程号、课程名)成绩(必修课程号、班号、学号、分数)评教(学号、工号、课程号、评分)教授(工号、课程号)课程表(课程号、工号、上课时间、上课地点)(实现排课功能)用户(用户名、密码、用户类型)(存储登陆查询系统的人员信息)加粗表示外键、加下划线表示主码4.2、关系模式的优化与说明例如:教授关系的依赖关系如下:(工号、课程号)—〉工号、课程号所以教授关系模式属于第三范式教师关系的依赖关系如下:工号—>工号、姓名、性别、年龄因为没有非主属性对码的部分函数依赖,也没有非主属性对码的传递函数依赖所以教师关系模式属于第三范式五、物理结构设计5.1、数据库的建立5.2、表与表结构班级(Class)表的结构课程(Course)表的结构学生(Student)表的结构教师(Teacher)表的结构评教(Judge)表的结构教授(Teach)表的结构成绩(Grade)表的结构六、应用程序设计6.1、系统总体结构1)主界面:登陆界面,通过选择用户类型,输入用户名密码,点击登录进入不同界面。

2)子界面:不同用户类型的界面不相同,学生可以查询成绩,老师可以查看自己所教课程有哪些学习,教务员可以实现排课功能。

他们都能够修改自己的登录密码6.2、系统界面与源代码6.2.1、界面登陆界面学生界面老师界面6.2.2、功能描述1)登录2)学生查询学习课程的成绩3)老师查询学习所教课程的学生名单4)修改登录密码5)查看用户基本信息6.2.3、程序源代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 教务管理系统{public struct UserInform //结构体存储用户输入的信息{public static string UserType;public static string UserName;public static string UserSecret;public static LoginForm lg;}public partial class LoginForm : Form //登陆界面{public LoginForm(){InitializeComponent();UserInform.lg= this;}DataClasses1DataContext db;private void Cancelbutton_Click(object sender, EventArgs e){this.Close();}private void Loginbutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;bool b = false;if (UtypecomboBox.SelectedIndex!=-1){erName = UnametextBox.Text;erSecret = UsecrettextBox.Text;erType = UtypecomboBox.SelectedItem.ToString();var ss = from s in erInfo where s.Utype == erType select s;foreach (var x in ss){if (x.Uname.ToLower()== erName.ToLower()&& ecret == erSecret){MessageBox.Show("欢迎您登陆");this.Visible = false;b = true;switch (erType){case "学生": StudentForm sf = new StudentForm();sf.Show();break;case "老师": TeacherForm tf = new TeacherForm();tf.Show();break;case "管理员": AdminForm af = new AdminForm();af.Show();break;case "教务员": JwForm jw = new JwForm();jw.Show();break;}}}if (!b){MessageBox.Show("用户名不存在或密码错误");UsecrettextBox.Clear();UnametextBox.Focus();return;}}else{MessageBox.Show("请选择用户类型");UnametextBox.Clear();UsecrettextBox.Clear();UnametextBox.Focus();return;}}}public partial class StudentForm : Form //学生界面{public StudentForm(){InitializeComponent();}DataClasses1DataContext db;private void StudentForm_Load(object sender, EventArgs e){db = new DataClasses1DataContext();SnotextBox.Text = erName;SnotextBox1.Text = erName;var ss = from s in db.Student where s.Sno == erName select s;foreach (var itm in ss){SnametextBox.Text = itm.Sname;SagetextBox.Text = itm.Sage.ToString();SsextextBox.Text = itm.Ssex;}}private void label4_Click(object sender, EventArgs e){this.Close();UserInform.lg.Visible = true;}private void label3_Click(object sender, EventArgs e){panel2.Visible = true;}private void Enterbutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();if (textBox1.Text == ""){MessageBox.Show("请输入原密码");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}else if (textBox1.Text == erSecret){if(textBox2.Text==textBox3.Text){var ss = from s in erInfo where s.Uname == erName && s.Utype == erType select s;var ui = ss.FirstOrDefault();if (ui != null){ecret = textBox2.Text;db.SubmitChanges();MessageBox.Show("修改成功");textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}}else{MessageBox.Show("两次输入应相同");textBox3.Clear();textBox3.Focus();}}else{MessageBox.Show("原密码输入错误,请重新输入");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}}private void Cancelbutton_Click(object sender, EventArgs e){textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}private void StudentForm_FormClosing(object sender, FormClosingEventArgs e) {db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;try{this.bindingSource1.EndEdit();db.SubmitChanges();}catch (Exception ex){MessageBox.Show(ex.Message, "失败");}}private void Gradebutton_Click(object sender, EventArgs e){db = new DataClasses1DataContext();if (CnametextBox.Text != ""){var ss = from s in db.Course where ame == CnametextBox.Text select s;var cs = ss.FirstOrDefault();if (cs != null){var s1 = from s2 in db.Grade where s2.Gkehao == o && s2.Gxuehao == erName select s2;foreach (var item in s1){GradelistBox.Items.Add(CnametextBox.Text + "的成绩为" + item.Ggrade.ToString());}}else{GradelistBox.Items.Add("此课程不存在")GradelistBox.Items.Add("请重新输入");CnametextBox.Clear();CnametextBox.Focus();}}}private void Clearbutton_Click(object sender, EventArgs e) {GradelistBox.Items.Clear();}private void tabPage1_Click(object sender, EventArgs e){}} public partial class TeacherForm : Form //老师界面{public TeacherForm(){InitializeComponent();}DataClasses1DataContext db;private void Enterbutton_Click(object sender, EventArgs e) {db = new DataClasses1DataContext();if (textBox1.Text == ""){MessageBox.Show("请输入原密码");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}else if (textBox1.Text == erSecret){if (textBox2.Text == textBox3.Text){var ss = from s in erInfo where s.Uname == erName && s.Utype == erType select s;var ui = ss.FirstOrDefault();if (ui != null){ecret = textBox2.Text;db.SubmitChanges();MessageBox.Show("修改成功");textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}}else{MessageBox.Show("两次输入应相同");textBox3.Clear();textBox3.Focus();}}else{MessageBox.Show("原密码输入错误,请重新输入");textBox1.Clear();textBox2.Clear();textBox3.Clear();textBox1.Focus();}}private void label4_Click_1(object sender, EventArgs e){this.Close();UserInform.lg.Visible = true;}private void TeacherForm_Load(object sender, EventArgs e){db = new DataClasses1DataContext();SnotextBox.Text = erName;SnotextBox1.Text = erName;var ss = from s in db.Teacher where s.Tno == erName select s;foreach (var itm in ss){SnametextBox.Text = itm.Tname;SagetextBox.Text = itm.Tage.ToString();SsextextBox.Text = itm.Tsex;}}private void TeacherForm_FormClosing(object sender, FormClosingEventArgs e) {db = new DataClasses1DataContext();this.bindingSource1.DataSource = erInfo;try{this.bindingSource1.EndEdit();db.SubmitChanges();}catch (Exception ex){MessageBox.Show(ex.Message, "失败");}}private void label3_Click(object sender, EventArgs e){if (panel2.Visible == false){panel2.Visible = true;}else{panel2.Visible = false;}}private void Cancelbutton_Click(object sender, EventArgs e){textBox1.Clear();textBox2.Clear();textBox3.Clear();panel2.Visible = false;}private void label5_Click(object sender, EventArgs e){db = new DataClasses1DataContext();var ss = from s in db.Teach where s.Tno == erName select s;if (ss != null){SelectTable st = new SelectTable();foreach (var item in ss){if (item.Tcno.StartsWith("X")){var s1 = from s in db.Student where s.Skehao == item.Tcno select new { 课号= s.Skehao, 学号= s.Sno, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= s.Sgrade };st.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var im in s1){st.lb.Items.Add(im.课号+"\t"+im.学号+"\t"+im.学生姓名+"\t"+im.性别+"\t"+im.成绩);}}else{var s1 = from s in db.Grade where s.Gkehao == item.Tcno select s;st.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var itm in s1){var s2 = from s in db.Student where s.Sno== itm.Gxuehao select new {课号=itm.Gkehao,学号= itm.Gxuehao,学生姓名= s.Sname, 性别=s.Ssex,成绩= itm.Ggrade };var iem = s2.FirstOrDefault();st.lb.Items.Add(iem.课号+ "\t" + iem.学号+ "\t" + iem.学生姓名+ "\t" + iem.性别+ "\t" + iem.成绩);}}}st.Show();}else{MessageBox.Show("该老师今年没有教授任何课程");return;}}private void label6_Click(object sender, EventArgs e){db = new DataClasses1DataContext();var ss = from s in db.Teach where s.Tno == erName select s;if (ss != null){GradeChange gc = new GradeChange();foreach (var item in ss){if (item.Tcno.StartsWith("X")){var s1 = from s in db.Student where s.Skehao == item.Tcno select new { 课号= s.Skehao, 学号= s.Sno, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= s.Sgrade };gc.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var im in s1){gc.lb.Items.Add(im.课号+ "\t" + im.学号+ "\t" + im.学生姓名+ "\t" + im.性别+ "\t" + im.成绩);}}else{var s1 = from s in db.Grade where s.Gkehao == item.Tcno select s;gc.lb.Items.Add("课号\t学号\t\t姓名\t性别\t成绩");foreach (var itm in s1){var s2 = from s in db.Student where s.Sno == itm.Gxuehao selectnew { 课号= itm.Gkehao, 学号= itm.Gxuehao, 学生姓名= s.Sname, 性别= s.Ssex, 成绩= itm.Ggrade };var iem = s2.FirstOrDefault();gc.lb.Items.Add(iem.课号+ "\t" + iem.学号+ "\t" + iem.学生姓名+ "\t" + iem.性别+ "\t" + iem.成绩);}}}gc.Show();}else{MessageBox.Show("该老师今年没有教授任何课程");return;}}}}七、设计总结在本次数据库课设中,我设计的是教务管理系统,实现了不同的用户如学生,老师,管理员等进入不同的界面,享有不同的权限,访问不同数据。

相关文档
最新文档