学生成绩管理数据库
- 格式:doc
- 大小:1.22 MB
- 文档页数:50
学生成绩管理系统课程设计设计报告题目:学生成绩管理系统数据库学号: 2014221119200100学生姓名: 张坤学号: 2014221119200138学生姓名: 张豪学号: 2014221119200057学生姓名: 王潜指导教师:王雷春提交时间: 2016/12/24目录第1章需求分析 (1)1.1 需求调查 (1)1.2 系统功能分析 (2)1.3 面对用户需求分析 (3)第2章数据库概念模型设计 (4)第3章逻辑结构设计 (4)3.1 类和对象向关系模式转换 (11)3.2 关系模式优化 (15)第4章数据库物理结构设计 (18)4.1 存取方法设计 (18)4.2 存储结构设计 (18)4.3 物理设计 (18)第5章数据库完整性设计 (22)5.1 主键及唯一性索引 (22)5.2 参照完整性设计 (22)5.3 Check约束 (22)5.4 Default约束 (23)5.5 触发器设计 (24)第6章数据库视图设计 (25)第7章数据库存储过程设计 (31)第8章权限设计 (36)总结 (37)参考文献: (37)教务管理系统后台数据库第1章需求分析1.1 需求调查通过对各个用户的调查,该学生成绩管理系统有如下需求:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销,系统开关等功能。
2)成绩管理:实现教师对学生选修课程打分,成绩审核,学生查看成绩。
3)信息维护:学生,管理员和老师以及课程的基本信息(包括学生学籍信息和学生所修课程信息,教师基本信息,课程基本信息,密码基本信息)查看以及修改。
4)选课:学生选择课程,老师选课。
5)查询:包括实现学生查询,老师查询。
学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带课程的学生,自己的课表以及学生成绩等。
6)服务器配置:对它进行配置可以使得在其他电脑上也照常使用。
学生成绩管理系统数据库设计一、需求分析学生成绩管理系统是一个重要的教育管理系统,它主要用于学生的成绩管理和统计。
该系统需要具有以下功能:1. 学生信息管理:包括学生的基本信息(如姓名、性别、年龄、身份证号码等)和学籍信息(如班级、学号、入学时间等)。
2. 课程信息管理:包括课程的基本信息(如课程名称、授课教师、上课时间等)和课程成绩录入。
3. 成绩查询与统计:可以按照班级或个人查询成绩,并进行成绩统计分析。
二、概念结构设计在需求分析的基础上,我们可以根据实际情况设计出该系统的概念结构模型。
该模型包括以下实体:1. 学生(Student):包括学生的基本信息和学籍信息。
2. 课程(Course):包括课程的基本信息。
3. 教师(Teacher):包括教师的基本信息。
4. 成绩(Score):包括每个学生在每门课程中所获得的成绩。
三、逻辑结构设计在概念结构模型确定后,我们需要将其转化为逻辑结构模型。
根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名、性别、年龄、身份证号码、班级、学号、入学时间等。
2. 课程表(Course):包括课程的基本信息,如课程名称、授课教师、上课时间等。
3. 教师表(Teacher):包括教师的基本信息,如姓名、性别、年龄等。
4. 成绩表(Score):包括每个学生在每门课程中所获得的成绩,如学号、课程名称、成绩等。
四、物理结构设计在逻辑结构模型确定后,我们需要将其转化为物理结构模型。
根据实际情况,我们可以设计出以下数据库表:1. 学生表(Student):包括学生的基本信息和学籍信息,如姓名(varchar(20))、性别(char(2))、年龄(int)、身份证号码(varchar(20))、班级(varchar(20))、学号(varchar(20))、入学时间(date)等。
其中,身份证号码和学号应该设为主键。
学生成绩管理系统数据库
数据库的需求分析:
要想创建数据库,需要先对数据库的结构进行分析,计划开发学生成绩管理系统,提出如下的用户需求。
● 建立基本的学生信息库,包括学号,姓名,性别,出生日期,专业,籍贯,政治面貌等。
● 建立基本的课程信息库,包括课程编号,课程名称,学分,学时,备注等。
● 实现学生自己的成绩查询,自己登陆密码的修改,个人信息的查询的基本功能。
● 实现管理员对学生的添加,学生的查询,学生成绩的录入,修改及课程的添加,删除等
功能。
根据系统分析可知,本系统涉及“学生”,“课程”,“成绩”,“管理员”3个实体。
通过概念模型设计出以下E -R 模型。
E -R 模型转换为关系模型 :
学生 (学号,姓名,籍贯,性别,出生日期,专业,政治面貌,系编号)
课程 (课程编号,课程名称,授课老师,学分,学时)
学生 课程 选课 政治面貌 出生日期 专业 性别 姓名 学号
学分 课程名称 课程编号
学时 授课老师 管理 管理员 学生添加 学生查询 选课年度 成绩
管理员编号 姓名 学生删除 院系 系编号 系名称 籍贯 系负责人
学生选课(学号,课程编号,选课年度,成绩)
院系(系编号,系名称,系负责人)
管理(学号,管理员编号,学生添加,学生删除,学生查询)管理员(管理员编号,姓名)。
学生成绩管理系统数据库表结构说明1、学生表 tb_Student字段描述字段名数据类型是否主键是否为空学号StuID Char(12)是否姓名StuName varchar(8)否否性别Sex char(2)否否出生日期BirthDate datetime(8)否否籍贯Native varchar(40)否否入学时间EntranceTime datetime(8)否否政治面貌PoliticalFace Nchar(12)否否家庭住址Address Nvarchar(50)否否个人电话PerPhone Nchar(11)否否家庭电话HPhone Nchar(11)否否身份证号IDNum varchar(18)否否照片Photo varbinary(max)否否班级编号ClassID Char(9)否否宿舍编号DormitoryId Char(4)否否民族National Nchar(2)否否就业情况EmploymentStatus Nvarchar(10)否否2、班级表 tb_Class字段描述字段名数据类型是否主键是否为空班级编号ClassID char(9)是否班级名称ClassName varchar(20)否否人数Num tinyint(1)否否专业编号SpecializeID char(2)否否系部编号DepartmentID char(2)否否3、专业表 tb_Specialize字段描述字段名数据类型是否主键是否为空专业编号SpecializeID char(2)是否专业名称SpecializeName varchar(20)否否系部编号DepartmentID char(2)否否4、系部表 tb_Department字段描述字段名数据类型是否主键是否为空系部编号DepartmentID char(2)是否系部名称DepartmentName varchar(20)否否5、教师表 tb_Teacher字段描述字段名数据类型是否主键是否为空教师编号TeacherID char(10)是否姓名T eacherName varchar(8)否否性别Sex char(2)否否出生日期BirthDate datetime(8)否否政治面貌PoliticalFace varchar(8)否否籍贯Native varchar(40)否否民族National Nchar(2)否否联系电话Tephone Nchar(11)否否电子邮箱Email Varchar(50)否否身份证号IDNum varchar(18)否否照片Photo varbinary(max)否否入校时间AdmissionTime Datetime否否第一学历FirstDegree char(4)否否最高学历HighestDegree char(4)否否职务Position Narchar(8)否否备注Notes varchar(255)否是6、课程表 tb_Course字段描述字段名数据类型是否主键是否为空课程编号CourseID char(8)是否课程名称CourseName varchar(25)否否课程性质CourseNature char(10)否否学分Credits tinyint(1)否否7、用户表 tb_User字段描述字段名数据类型是否主键是否为空用户编号UserID Varchar(16)是否用户名UserName varchar(12)是否密码Pwd varchar(10)否否用户组编GroupID bit(1)否否号删除标记DeleteMarkers varchar(20)否是8、教师任课表 tb_T eacherYoung字段描述字段名数据类型是否主键是否为空教师编号TeacherID Char(10)是否课程编号CourseID char(8)是否班级编号ClassID char(9)是否学期Term tinyint(1)否否教室编号ClassroomID varchar(10)否否每周学时WeeklyHours tinyint(1)否否学期工作TermWorkload tinyint(3)否否量午别WuBie Vchar(2)否否节次JieCi Char(2)否否备注Notes varchar(255)否是9、教学计划表 tb_TeachingPlan 字段描述字段名数据类型是否主键是否为空学期Term tinyint(1)是否系部编号DepartmentID char(2)否否专业编号SpecializeID char(2)否否课程编号CourseID char(8)否否起始周StartWeek tinyint(1)否否结束周EndWeek tinyint(1)否否理论学时TheoryHours tinyint(1)否否实践学时PracticeHours tinyint(1)否否总学时SumHours tinyint(1)否否10、成绩表 tb_Tiny字段描述字段名数据类型是否主键是否为空学期Term tinyint(1)是否学号StuID char(12)否否课程编号CourseID char(8)否否考试成绩ExamGrade Tinyint(1)否否平时成绩ParTGrade Tinyint(1)期评Grade Tinyint(1)11、学生奖惩表 tb_StuRewardPun字段描述字段名数据类型是否主键是否为空自动编号RewardPunID Int(4)是否学号StuID char(12)否否奖惩性质RewardPunNature char(2)否否奖惩内容RewardPunContent varchar(40)否否奖惩原因RewardPunReason varchar(60)否否学期Term tinyint(1)否否12、教室表 tb_Classroom字段描述字段名数据类型是否主键是否为空教室编号ClassroomNum Varchar(10)是否教室类型ClassroomType varchchar(10)否否备注Notes Varchar(255)否是13、实训表 tb_Training字段描述字段名数据类型是否主键是否为空实训编号TrainingID Varchar(10)是否实训公司Training.pany Varchar(30)否否实训地点TrainingPlace Varchar(50)否否实训费用TrainingCost Char(5)否否实训时间TrainingTime Datetime否否实训情况TrainingSituation Varchar(50)否否实训人数TrainingNum vchar(max)否否备注Notes Varchar(255)否否否否14、学生——实训表 tb_StuTraining字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否学号StuNum Char(12)否否实训编号TrainingID Varchar(10)否否15、学历学位获得情况表 tb_DegreeGetSituation字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学位获得时DegreeGetTime Datetime否否间专业方向ProDirection Varchar(20)否否学位Degree Vchar(20)否否16论文表 tb_ Paper字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否论文标题PaperTitle Vchar(100)否否性质PaperNature Varchar(20)否否发表刊物PublishAtions Varchar(20)否否发表时间PublishTime Datetime否否期号PeriodNum Char(4)否否卷号RollNum Char(4)否否字数Words Char(12)否否单位排序UnitSorting Char(10)否否作者排序AuthorSorting Char(10)否否刊物性质AtionsNature Char(10)否否17、科研项目情况 tb_KeYProjects Situation字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否科研项目KeYProjects Varchar(50)否否科研类型KeYType Varchar(20)否否结项时间JieXTime Datetime否否资助金额Grants Char(20)否否项目编号ProjectsNum Char(20)否否主持人Hoster Vchar(8)否否18、职称晋升情况 tb_ZhiCh字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否职称ZhiCh Vchar(12)否否GetZhiChTime Varchar(20)否否获得职称时间现所在单位NowUnit Varchar(30)否否备注Notes Varchar(255)否否19、参加工作访问进修情况 tb_StudyVisit字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否进修访问StudyVisitPlace Varchar(50)否否地点时间StudyTime Varchar(20)否否性质StudyNature Vchar(20)否否身份Identity Vchar(20)否否兼职情况PartTimeJob Vchar(20)否否备注Notes Varchar(255)否否20、获奖情况(荣誉称号表彰) tb_WinningSituation 字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否获奖名称WinningName Vchar(20)否否授予单位GrantUnit Varchar(20)否否授予时间GrantTime Datetime否否获奖类型WinningType Vchar(20)否否21、教学工作情况 tb_T eachJob字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学年学期SchoolSemester Char(4)否否上课系部ClassDepartment Vchar(20)否否上课专业ClassPro Vchar(20)否否课程Course Vchar(20)否否上课班级Classroom Vchar(20)否否上课地点ClassPlace Vchar(20)否否(教室)授课类型ClassType Vchar(20)否否备注Notes Varchar(255)否否22、工作量统计字段描述字段名数据类型是否主键是否为空自动编号Automati.um Char(10)是否教师编号TeacherID Char(12)否否学年学期SchoolSemester Char(4)否否上课系部ClassDepartment Vchar(20)否否上课专业ClassPro Vchar(20)否否课程Course Vchar(20)否否上课班级Classroom Vchar(20)否否ClassPlace Vchar(20)否否上课地点(教室)授课类型ClassType Vchar(20)否否备注Notes Varchar(255)否否23、权限表字段描述字段名数据类型是否主键是否为空权限编号PerID Char (2)是否权限名称PerName Varchar(20)否否24、用户组字段描述字段名数据类型是否主键是否为空用户组编号GroupID Char(1)是否权限编号PerID Char(2)否否用户组名称GroupName Varchar(20)否否25、操作日志表字段描述字段名数据类型是否主键是否为空操作编号OperationID Int是操作ip Ip Varchar(20)否否登入时间LoginTime DateTime否否操作用户UserID Varchar(16)否否操作类型OperationType Varchar(20)否否。
用mysql实现学生成绩管理代码学生成绩管理是教育行业中非常重要的一项工作,它涉及到学生的学习情况、成绩统计、课程安排等多方面内容。
为了更好地管理学生成绩数据,我们可以利用MySQL数据库来实现学生成绩管理代码,实现高效的学生成绩管理。
一、数据库设计在开始实现学生成绩管理代码之前,我们首先要进行数据库设计。
为了存储学生信息和成绩数据,我们可以创建两张表:学生表和成绩表。
学生表包含以下字段:-学号(id):唯一标识学生的编号,也是该表的主键。
-姓名(name):学生的姓名。
-班级(class):学生所在的班级。
成绩表包含以下字段:-学号(id):学生的学号,也是该表的外键,与学生表中的id字段关联。
-课程(course):学生所修的课程。
-成绩(score):学生在该门课程上的成绩。
二、创建数据库和表在MySQL命令行中,我们可以使用以下SQL语句创建学生成绩管理数据库和相应的表:```CREATE DATABASE student_score;USE student_score;CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50), class VARCHAR(50));CREATE TABLE score ( id INT, course VARCHAR(50), score INT, FOREIGN KEY (id) REFERENCES student(id));```三、插入数据在完成数据库和表的创建之后,我们可以向学生表和成绩表中插入数据。
以下是向学生表中插入学生信息的示例:```INSERT INTO student (id, name, class) VALUES (1, '张三', '一班'), (2, '李四', '二班'), (3, '王五', '一班');```以下是向成绩表中插入学生成绩的示例:```INSERT INTO score (id, course, score) VALUES (1, '数学', 90), (1, '英语', 85), (2, '数学', 95), (2, '英语', 80), (3, '数学', 88), (3, '英语', 92);```四、查询数据在学生成绩管理中,我们经常需要查询学生的成绩信息。
学生成绩在线管理系统数据库课程设计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代码来执行查询和更新操作。
这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。
学生成绩管理系统数据库课题: 雇员信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:2012年6月4号----2012年6月10日一、需求分析阶段1.信息需求对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。
因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。
2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
3. 安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。
另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。
二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计成绩管理数据库包括学生、成绩、课程、教师四个关系。
E-R图如下三、详细设计阶段详细结构是独立于任何一种数据模型的信息结构。
详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)2、学生信息表(student1)四、数据库实现数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
学生成绩管理数据库系统设计课程:数据库安全实验姓名:***学院:计算机学院专业:信息安全学号: *************一、需求分析1.1 编写目的本产品实现了一个基于mySQL数据库下的学生信息查询管理系统,而本需求分析报告的编写目的是为了提供一个由用户(学生、教师)和开发者双方共同确定的开发系统的业务需求目标,并对本系统所要实现的软件功能做一个全面的规格描述。
同时,在用户业务需求的基础上,经过需求分析和数据整理,以向整个开发期提供关于软件系统的业务和数据的技术信息和整体描述,做为软件开发的技术基础,也作为系统设计、实现的目标和测试以及维护阶段的依据。
本软件需求分析报告的适用读者为:软件用户(学生、教师)、软件需求分析人员、软件设计及开发者和相关的测试人员。
1.2 信息需求随着科学技术的不断提高,计算机科学飞速发展,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,在学籍管理方面,各种学生信息管理系统也在不断的涌现出来,然而目前在我国仍有部分学校在应用一些旧的、功能单一而且效率低下的系统,甚至还有一些偏远学校的学生信息管理还在依靠人工进行管理和操作,这些管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。
然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。
正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。
基于mysql的学生成绩管理系统毕业设计题目:基于MySQL的学生成绩管理系统毕业设计在现代信息技术飞速发展的时代,数据库管理系统已经成为了各行各业不可或缺的一部分。
特别是在教育领域,学生成绩管理系统的建设对于学校和教师来说至关重要。
在这篇文章中,我将围绕着基于MySQL的学生成绩管理系统毕业设计展开一番讨论。
一、引言MySQL作为世界上最流行的开源关系数据库管理系统,其稳定性和高效性备受赞誉。
结合学生成绩管理系统的需求,借助MySQL数据库的特性,可以实现学生成绩的高效管理和统计分析。
接下来,我将从数据库设计、系统功能和使用体验三个方面,对基于MySQL的学生成绩管理系统毕业设计进行详细探讨。
二、数据库设计1. 数据库表结构设计在设计学生成绩管理系统数据库时,需要考虑如何构建合理的表结构,以便存储学生信息、课程信息和成绩信息等。
对于学生成绩管理系统而言,一般情况下包括学生表、课程表、成绩表等几个核心表。
其中,学生表包括学生ID、尊称、性别等字段;课程表包括课程ID、课程名称、学分等字段;成绩表包括学生ID、课程ID、成绩等字段。
通过合理的表结构设计,可以实现数据的高效存储和查询。
2. 索引和约束设计在数据库设计中,索引和约束的设计也是至关重要的。
通过对关键字段添加索引,可以提高数据的检索速度;利用约束来保证数据的完整性和一致性。
可以通过主键约束来保证学生ID和课程ID的唯一性;通过外键约束来建立表与表之间的关联关系。
这些都是数据库设计中不可或缺的一部分。
三、系统功能基于MySQL的学生成绩管理系统,其功能应该覆盖学生信息管理、课程信息管理、成绩录入和成绩查询等方面。
通过一个直观的用户界面,教师可以方便地录入学生成绩,并进行统计分析;学生和家长也可以通过系统进行成绩查询和学习进度跟踪。
在毕业设计中,需要考虑系统的易用性、稳定性和安全性,以确保其能够满足实际应用的需求。
四、使用体验从用户角度来看,基于MySQL的学生成绩管理系统应该具有良好的使用体验。
学生成绩管理系统数据库设计一、引言学生成绩管理系统是现代教育系统中必不可少的一部分。
数据库作为该系统的核心组成部分,用于存储和管理学生的个人信息和学业成绩数据。
本文将介绍学生成绩管理系统数据库设计的方案,包括数据库的结构、关系和各个表的字段及其类型。
二、数据库结构学生成绩管理系统数据库包含多个表,每个表对应一个实体或关系。
以下是数据库的主要结构:1. 学生表(Student)该表存储学生的个人信息,如学生ID、姓名、年龄、性别、班级等。
表结构如下:- 学生ID(StudentID):主键,用于唯一标识学生。
- 姓名(Name):学生的姓名。
- 年龄(Age):学生的年龄。
- 性别(Gender):学生的性别。
- 班级(Class):学生所在的班级。
2. 课程表(Course)该表存储所有开设的课程信息,如课程ID、课程名称、学分等。
表结构如下:- 课程ID(CourseID):主键,用于唯一标识课程。
- 课程名称(CourseName):课程的名称。
- 学分(Credit):课程的学分。
3. 成绩表(Grade)该表存储学生的成绩信息,包括学生ID、课程ID、成绩等。
表结构如下:- 学生ID(StudentID):外键,与学生表中的学生ID相关联。
- 课程ID(CourseID):外键,与课程表中的课程ID相关联。
- 成绩(Score):学生在某一门课程中的成绩。
三、关系说明学生成绩管理系统数据库中的表之间存在以下关系:1. 学生与课程的多对多关系一个学生可以选择多门课程,而一门课程也可以被多个学生选择。
这种关系可以通过成绩表来连接学生表和课程表。
2. 学生与成绩的一对多关系一个学生可以有多门课程的成绩,而一门课程只对应一个学生的成绩。
这种关系可以通过成绩表中的学生ID字段来建立。
3. 课程与成绩的一对多关系一门课程可以有多个学生的成绩,而一个学生只对应一门课程的成绩。
这种关系可以通过成绩表中的课程ID字段来建立。
学生成绩管理系统数据库一.需求分析阶段1.信息要求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。
学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
学生成绩管理系统的开发运用,使得学生的成绩管理工作更加清晰、条理化、自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
2.处理要求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
此系统实现如下系统功能:(1)通过用户名和密码登录系统,教师根据安排进行课程的添加、删除、修改、查询,成绩的添加、修改、删除、查询、报表,学生的添加及其信息修改、查询、删除和教师基本信息的查询、修改及密码修改。
(2)通过用户名和密码登录系统,学生查询个人信息、所学课程成绩及修改登录密码等功能。
(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
3.安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师和教务处知道,因此做好做好数据安全性是重中之重。
另外,要求所有在校学生的信息要录入其中,并且要设计好个别情况。
4.数据流图成绩管理系统大体可以分成二大模块,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是教师管理模块,在该模块中应该包含有对学生成绩信息的查询和处理(即报表),如平均成绩、成绩排名以及不及格学生的统计,其中还包含有教师、课程、学生等相关信息的模块。
因此可以得到系统流程图如下所示:开始身份验证学生教师信息查询学生管理课程管理成绩管理个人信息管理修改密码学生信息修改密码查询信息修改信息添加学生修改信息删除信息查询信息添加课程修改信息删除信息查询信息添加成绩修改信息删除信息查询成绩报表学生成绩5.数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
通信与信息工程学院数据库实验报告学生成绩管理数据库姓名:唐袁苹、李佼阳学号:09210373、09210375班级:0120903指导教师:邹洋二0一二年五月目录一、题目 (3)二、需求分析 (3)1.背景介绍 (3)2.任务概述 (3)3.功能需求 (3)三、设计工具 (4)四、详细设计 (4)五、关键技术 (25)六、心得体会 (27)七、参考文献 (27)一、题目学生成绩管理数据库二、需求分析1.背景介绍每个学校都有成千甚至上万的学生,而每个学生的基本信息以及成绩不仅是学校所关注的,也是每个学生所关心的。
每一年的的六月份,有大批的毕业生离去;同年九月份,又有一批新同学加入进来。
离去的学生信息要及时的从学校管理系统中删除,新来的同学的信息要及时的录入系统。
别看只有两项大的任务,其实操作起来远非想象中的简单。
为了解决学生基本信息以及成绩的管理问题,本小组开发了一个简单的“学生成绩管理数据库”应用系统,可以对学生的信息进行管理。
2.任务概述基于ACCESS,结合VBA和SQL语言,实现对学生基本信息以及成绩的管理,包括对学生信息的添加,删除,查询等。
管理员用自己的用户名和密码登录“学生成绩管理数据库”应用系统后,对学生相关的信息进行查看与管理。
3.功能需求系统主菜单包括:信息维护,信息浏览,报表,搜索查询,系统。
信息维护可以查看学生信息,课程信息,学生成绩;信息浏览可以查看学生信息,课程信息,成绩查询;报表可以打印输出学生信息,课程信息,学生成绩;搜索查询可以输入某一个学生的学号或姓名查看学生信息,学生成绩;系统里包含关于和退出两项功能。
系统总体功能结构图如下:三、设计工具ACCESS四、详细设计1.设计数据库概念模型数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效果以及实现的效果的影响。
合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整和一致。
同时,合理的数据库结构设计也将有利于应用系统程序的实现。
学生成绩管理系统数据库设计全(一)学生成绩管理系统数据库设计全随着教育信息化的不断推进,学生成绩管理系统逐渐成为学校教育管理的重要组成部分。
本文将从数据库设计角度,介绍学生成绩管理系统数据库的全面设计。
一、需求分析学生成绩管理系统需要支持以下功能:1.录入学生、课程、教师、班级、成绩信息2.查询学生、课程、教师、班级、成绩信息3.修改学生、课程、教师、班级、成绩信息4.删除学生、课程、教师、班级、成绩信息5.统计成绩信息、排名6.计算平均分、总分、最高分、最低分7.生成成绩单、班级报告等报表二、数据库设计基于需求分析结果,我们可以设计以下数据库模型:1.学生信息表(student_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增name | varchar(20) | 姓名gender | varchar(2) | 性别birthday | date | 出生日期class_id | int | 外键,班级ID2.班级信息表(class_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增name | varchar(20) | 班级名称3.教师信息表(teacher_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增name | varchar(20) | 姓名gender | varchar(2) | 性别4.课程信息表(course_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增name | varchar(20) | 课程名称5.成绩信息表(score_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增course_id | int | 外键,课程ID student_id | int | 外键,学生ID teacher_id | int | 外键,教师ID score | int | 分数6.报表信息表(report_info)字段名 | 数据类型 | 备注--------|--------|--------id | int | 主键,自增student_id | int | 外键,学生ID course_id | int | 外键,课程ID teacher_id | int | 外键,教师ID score | int | 分数mean_score | float(2) | 平均分top_score | int | 最高分low_score | int | 最低分rank | int | 排名三、系统架构学生成绩管理系统的整体架构如下:1.数据采集模块该模块用于录入、修改、删除学生成绩信息。
学生成绩管理系统目录一、课程设计的目的: (1)二、课程设计任务与要求 (3)1引言 (3)2 系统开发的需求分析 (3)2.1背景: (3)2.2必要性 (4)2.3处理要求 (4)2.4安全性与完整性要求 (4)3 系统设计 (4)3.1开发设计思想: (4)3.2系统功能分析: (5)3.3系统功能模块设计 (6)3.4数据字典 (11)3.5E-R图:12一、课程设计的目的:数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:(1)培养学生具有数据库应用软件系统的设计和开发能力。
(2)熟练掌握一种数据库系统(如SQL SERVER)的使用。
(3)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二、课程设计任务与要求1引言随着人类信息化进程的加快,信息技术发挥的作用越来越大,对社会的政治,经济,军事,文化等领域产生越来越深刻的影响,也正在改变人们的工作,生活学习,交流方式。
2 系统开发的需求分析2.1背景:现在,随着考试规模的不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,而且每个信息的数据都在不断变化着,尤其是学生的考试成绩数据。
面对庞大的学生的成绩,传统的人工方式管理会可能会导致学生成绩上的混乱,一天的工作量,足以让人觉得比较繁琐,吃不消。
因此,必须制定一套合理、有效、规范和实用的学生成绩管理系统,对学生成绩等信息进行统一的管理。
2.2必要性随着科学技术的飞速发展,计算机在人们的生活中起着越来越重要的作用,得到了更广泛的应用。
采用手工管理的方法不仅效率低,易出错、手续繁琐,而且耗费大量的人力。
为了满足管理员和学生对学生成绩等的管理,提高管理效率,必须制定和开发学生成绩管理系统。
学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
系统需求分析:该学生成绩管理系统主要用于管理高校学生的考试成绩,提供学生成绩的录入、修改、查询、等各种功能。
成绩由各系的任课老师录入,或教务处人员统一录入。
学生成绩录入后由各系系秘书签字确认,只有教务处拥有对学生成绩的修改权限。
用户的具体需求分析:(1)教师:负责成绩的录入,能够在一定的权限对学生的成绩进行查询,可以对自己的登录密码进行修改以及个人信息的修改等基本功能。
(2)系统管理员:与老师的功能相似(每个系都设有一管理员)另外管理员具有用户管理功能,能够对新上任的老师和新注册的学生行进添加,并能删除已经毕业和退休的老师。
用户分为管理员、教师用户、学生用户三类。
不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。
用户名采用学生的学号和教师的教号,所以规定只能包括数字。
密码也只能是数字,用户只有正确填写用户名和密码才可以登入,进行下一步操作。
用户名被注销后,用户将不再拥有任何权限,并且从数据表中删除该用户的信息。
(3)学生:能够实现学生自己成绩和个人信息的查询、登录密码的修改等基本功能。
概念模型设计:由前面的系统需求分析得到实体主要有5个:教师、学生、管理员、课程、成绩。
学生有属性:学号、姓名、性别、系名、专业、出生日期教师有属性:教师号、姓名、性别、院系、联系管理员属性:用户名、密码课程有属性:课程号、课程名、学分、教师成绩有属性:学号、姓名、课程号、课程名、成绩、授课老师1)教师与课程之间的关系:教师与课程之间是1: n的关系,即一个老师只能教一门课程,一门课程可以由多个老师讲授。
(教师与学生E-R图)2)学生与教师之间的关系:学生与教师之间是n:m的关系,即一名老师可以教授多个学生,而一个学生可以由多个教师来教。
教师与学生的E-R图3)学生与课程之间的关系:学生与课程之间是n:m的关系,即一个学生可以选修多门课程,一门课程可以被多个学生选学。
学生与课程的E-R图4)学生与成绩之间的关系是n:m的关系:5)管理员与用户的关系:学生成绩管理全局E-R 图..。
学生成绩管理数据库一、建数据库使用企业管理器图形化创建数据库,步骤如下:1.启动企业管理器。
在控制台上依次单击“Microsoft SQL Servers”和“SQL Server Group”在左边的加号,然后单击要创建数据库德服务器左边的加号图标,展开树形目录,如图1-1所示。
图1-12.右击“数据库”,然后在弹出的菜单中选择“新建数据库”命令,弹出如图1-2所示的对话框,在此对话框的“名称”文本框中输入数据库名Stdent。
图1-23.单击图1-2上的“数据文件”选项卡,在此对话框的“文件名”列表框中输入主数据文件的名称,数据库逻辑文件名为“Student_Data”,物理文件名为“student_Data.MDF”,存放位置是“C:\Program Files\Microsoft SQLServer\MSSQL\data\student_Data.MDF”,如图1-3所示。
图1-34.如上图1-3所示,文件的初始大小为1MB,增长方式为根据实际需要自动增加,如图1-3所示设置“文件属”文件增长方式按兆字节增长每次增加1MB。
5.单击图1-2上的“事物日志”选项设置和日志相关选项。
设置日志文件名为“student_Log”,日志物理文件名“student_Log.LDF”,日志存放位置“C:\SQL Server\MSSQL\data\student_Log.LDF”图1-46.如上图1-4所示,日志文件的初始大小为1MB,增长方式设置为按百分比自动增长,每次增长10%。
二、各个表的结构启动企业管理器,在“控制台”窗格中展开“Student”数据库。
右击“表”节点,在弹出的菜单中选择“新建表”,随后弹出如图2-1所示对话框。
图2-11.新建学生Student表Student表结构如下所示:新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-2所示。
设置Sno 为主键设置完表字段后保存此表并输入表名“Student ”, Student 表创建成功,点击Student 表属性显示图2-3所示表属性窗口。
图2-2图2-32.新建课程表Course 表Couse表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-4所示。
图2-4设置Cno为主键设置完表字段后保存此表并输入表名“Course”, Course表创建成功,点击Course表属性显示图2-5所示表属性窗口。
图2-5 3.新建班级Class 表班级Class 表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-6所示。
图2-6设置Clno为主键和Number字段为int型并且取值范围大于1小于100,为Number设置检查约束,在新建表窗口上点击右键菜单选择“检查约束”选项弹出如下图2-7所示“检查约束”窗口。
图2-7如上图所示设置检查约束CK_Class,约束Number大于1小于100。
设置完表字段后保存此表并输入表名“Class”Class表创建成功,点击Class表属性显示图2-8所示表属性窗口。
图2-84.新建成绩Grade 表成绩Grade 表结构新建步骤如下在如图2-1所显示的表设计器里定义表结构,每个字段的设计如下图2-9所示。
图2-9设置Sno为主键和Gmark字段为numeric型并且取值范围大于1小于100,为Gmark设置检查约束,在新建表窗口上点击右键菜单选择“检查约束”选项弹出如下图2-10所示“检查约束”窗口。
图2-10如上图所示设置检查约束CK_Grade,约束Gmark大于1小于100。
设置完表字段后保存此表并输入表名“Grade”Grade表创建成功,点击Grade表属性显示图2-11所示表属性窗口。
5.建立外码约束学生Student表建立Clno外码在图2-2所示窗口中,点击右键选择“属性”选项,弹出如图2-12所示的对话框。
单击“新建”按钮,图2-12下面的“主键表”和“外键表”部分成为可用状态。
在“主键表”下拉表框中选择Class 表,并在“主键表”下边的下拉列表框中选择Clno 列。
然后在“外键表”下拉表框中选择student 表,并在“外键表”下边的下拉列表中选择Clno 外码。
如下图2-13所示.图2-12图2-13班级Class 表建立Monitor外码在图2-13所示窗口中单击“新建”按钮,在“主键表”下拉表框中选择student表,并在“主键表”下边的下拉列表框中选择Sno列。
然后在“外键表”下拉表框中选择class表,并在“外键表”下边的下拉列表中选择Monitor外码。
如下图2-14所示图2-146.向数据库插入数据向Student表插入数据启动企业管理器,在“控制台”窗格中展开“Student”数据库。
左击“表”节点,在右显示框会显示所有Student库的所有表,选择Student 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-15所示窗口,在此窗口可对Student表数据进行编辑。
图2-15在图2-15窗口可输入表数据,如下图2-16所示。
图2-16如上图2-16所示,共向Student表插入20条记录。
向Course表插入数据启动企业管理器,在“控制台”窗格中展开“Student”数据库。
左击“表”节点,在右显示框会显示所有Student库的所有表,选择Course表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-17所示窗口,在此窗口可对Course 表数据进行编辑。
在图2-17窗口可输入表数据,如下图2-18所示。
如上图2-18所示,共向Course 表插入10条记录。
向Class 表插入数据启动企业管理器,在“控制台”窗格中展开“Student ”数据库。
左击“表”节点,在右显示框会显示所有Student 库的所有表,选择Class 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-19所示窗口,在此窗口可对Class 表数据进行编辑。
图2-17图2-18在图2-19窗口可输入表数据,如下图2-20所示。
如上图2-20所示,共向Class 表插入11条记录。
向Grade 表插入数据启动企业管理器,在“控制台”窗格中展开“Student ”数据库。
左击“表”节点,在右显示框会显示所有Student 库的所有表,选择Grade 表,右击表名弹出菜单选择“打开表”,点击“返回所有行”弹出如下图2-21所示窗口,在此窗口可对Grade 表数据进行编辑。
在图2-21窗口可输入表数据,如下图2-22所示。
图2-21图2-19图2-20图2-22如上图2-22所示,共向Class表插入21条记录。
三、操作1.依据上述的四个表,用SQL语句完成如下操作1)给学生表增加一个属性,如:Nation(民族) 类型为Varchar(20)打开如下图3-1所示的窗口。
右键单击Student 表,选择“设计表”选项,弹出如下图3-2所示窗口。
在图3-2编辑添加新属性Nation(民族) 类型为Varchar(20) “Nation ”。
如下图3-3所示。
图3-1图3-2图3-3保存结果,添加属性完成。
2)删除新增加的属性如上图3-3所示窗口,选择要删除属性”Nation”,并点击右键选择“删除列”选项,删除所选”Nation”属性。
关闭并保存,删除新增加属性完成。
3)向成绩表中插入一条记录(“2001110”,“3”,80)打开图3-1所示窗口,并且点击右键选择“打开表”-〉“显示所有行”弹出如下图3-4窗口显示Grade表所有记录。
在图3-4最后以行直接输入要添加记录(“2001110”,“3”,80),如下图3-5所示.图3-4关闭并保存,完成记录添加。
4) 修改学号2001110的学生成绩为70分如上图3-5所示,选择学号2001110的学生成绩直接在上面把80改为70。
改后如下图3-6所示.图3-5图3-6关闭并保存,修改学号2001110的学生成绩为70完成。
5)删除学号2001110的学生成绩的记录如上图3-6所示,选择学号为”2001110”的学生,点击右键选择“删除”选项,可删除学号为”2001110”的学生,删除后如下图3-7所示。
图3-6关闭并保存。
删除学号为“2001110”的学生记录完成。
6)为学生表创建一个名为IX-Class的索引,以班级号排序打开3-2窗口,点击右键选择“索引/键”如下图3-7所示。
图3-7单击“新建”按钮,修改索引名为“IX-Class”并且修改列名为“Clno”,如下图3-8所示。
图3-8关闭并保存,添加索引完成。
7)删除名为IX-Class的索引如上图3-8所示,点击“删除”按钮。
删除“IX-Class”索引。
完成删除索引删除。
2.依据上述的四个表,用SQL语句完成如下查询1)找出所有被学生选修了的课程号;打开“查询分析器”,选择Student数据库。
输入sql语句:select distinct Cno from Grade,在下面窗口显示查询结果如下图3-9所示。
图3-92)找出某班女学生的个人信息;查询00312班的女学生个人信息。
输入sql语句为:select * from Student where Ssex='女' and Clno='00312'。
在下面窗口显示查询结果如下图3-10所示。
3) 找出所有姓李的学生的个人信息;输入sql 语句为:select * from Student where Sname like '李%'在下面窗口显示查询结果如下图3-11所示。
4) 找出某同学所在班级的学生人数;查找“刘山”所在班级的学生人数。
输入的Sql 语句为:图3-10图3-11select Number from Class where Clno=(select Clno from Student where Sname='刘山')在下面窗口显示查询结果如下图3-12所示。
图3-125)找出课程名为某门的平均成绩、最高分、最低分;找出“数据库”课程的平均成绩、最高分、最低分。
输入sql语句为:select avg(Gmark)as 平均成绩,max(Gmark) as 最高分,min(Gmark) as 最低分from Grade where Sno=(select Sno from Course where Cname='数据库')在下面窗口显示查询结果如下图3-13所示。
6) 找出选修了课程的学生人数;输入sql 语句为:select count( distinct Sno) as 学生人数 from Grade在下面窗口显示查询结果如下图3-14所示。