1、学生成绩管理系统数据库学生成绩管理系统数据库一、需求分析阶段1.信息需求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删
2、除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。3. 安全性与完整性要求二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计教室管理数据库包括班级、教室、课程、教师四个关系。E-R图如下三、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和
3、码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)1、课程信息表(class)字段名描述数据类型字段限制cno课程号char(10)Primarykeycname课程名char(10)Not nullteano教师号char(10)Not nullcredit学分char(4)Not nullctime学时char
4、(50)Not null2、学生信息表(student1)字段名描述数据类型字段权限sno学号char(10)Primarykey sname姓名char(10)Not null ssex性别char(2)Not nullsage 年龄char(2)Not null major专业char(10)Not nulldepart系别char(10)Not null3.教师表(teacher1)字段名属 性数据类型字段权限teano教师号char(10)Primarykeytname教师名char(10)Not nullTsex教师性别char(2)Not nullTdepart教室系别char(1
5、0)Not null4.成绩表字段名属 性数据类型字段权限sno学号char(10)Primarykeycno课程名char(10)Not nulldegree成绩char(10)Not null四、物理设计阶段 数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。五、数据库实现数据库实施是指建立数据库,编制与调试
6、应用程序, 组织数据入库,并进行试运行。1、创建数据库(1)打开SQL工具“查询分析器”(2)在查询窗口中键入下列SQL语句create database ScoreSystem执行上述SQL语句即可新建一名为ScoreSystem的数据库2、创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。(1)新建查
7、询窗口(2)在查询窗口中键入下列SQL语句create table Class( /创建课程信息表 cno char(10) primary key, /课程号 cname char(10) not null, /课程名 teano char(10) Not null /教师号 credit char(4), Not null /学分 ctime char(50), Not null /学时 ) 执行上述SQL语句即可创建课程信息表相关表格create table student1( /创建学生信息表 sno char(10) primary key, /学号 sname char(10) n
8、ot null, /姓名 ssex char(2) not null, /性别 Sage char(2) not null, /年龄 Major char(10) not null, /专业 Depart char(10) not null, / /系别 )执行上述SQL语句即可创建学生信息表相关表格create table teacher1( /创建教师信息表 tno char(10) primary key, /教师号 tname varchar(50) not null, /教师名 tsex char(2), /教师性别 tdepart varchar(50) /教师系别 )执行上述SQ
9、L语句即可创建教师信息表相关表格create table score( /创建成绩表 sno char(10), /学号 cno char(10), /课程号 )执行上述SQL语句即可创建成绩表相关表格学生信息相关表格Snosnamessexsagemajordepart陈琦男 22信息工商崔雪娇女 23信息工商董朝阳男22数学教育数学系杜鹃女22计算机应用计算机系方卉女20汉语言文法系课程信息相关表格Cnocnametnocreditctime0301财务管理0012240302供应链管理0022.2180303生产与运作管理0032.4360304统计学0042.6320305网页制作00
10、52.8300306操作系统原理0063.0320307数据库原理0073.2300308项目管理0083.4450309web程序设计0093.535成绩信息表SnoCnoDegree0306 85030390030586030682030484030181030693030279030485030694030874030786教师信息表tnotnametsextdepart001卢亚君女财经002李昌明男财经003张富强男财经004刘翠杰女数信005王庆石男数信006黄立明男数信007王纲男计算机008徐伟丽女计算机009刘书霞女计算机六、数据库运行和维护阶段1、数据定义:基本表的创建、修
11、改及删除;索引的创建和删除;视图的创建和删除(1)基本表的创建,建表语句 create table students(stuno char(10) primary key, stuname varchar(40) not null, stusex char(2) not null, stuage char(10) not null, stumajor char(10) not null, studepart char(10) not null, )(2)基本表的删除drop table students 2、数据操作数据库查询操作A.单表查询:(1)查询sno为学生的snameselect s
12、namefrom student1where sno= 结果:(2)查询ssex为女并且sdepart为工商的snameselect snamefrom student1where ssex =女 and sdepart =工商结果:(3)查询所有学生的姓名和系别。 select sname,depart from student1结果:(4)查询depart为数学系的sname。select snamefrom student1where depart =数学系结果:(5)查询所有学生所在院系名称select distinct departfrom student结果:(6)查询学生信息表中
13、年龄小于21和年龄大于21的学生的姓名和系别select sname,departfrom student1 where sage21 or sage0 and cno=20 ) )七、总结 本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才可以对另一个表进行引用。(2)在设计表时应注意使用正确的字段类型。(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1