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

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

数据库课程设计报告1.功能需求 本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都 进行详细的叙述。该系统是利用 SQL 开发出来的。通过 SQL 建立学生成绩管理系统,大大 方便和简化了数据的查询和处理,管理员可以通过 SQL 语言对表内数据进行添加,删除, 修改,查询等操作,还可以建立多用户,对其使用权限进行分配和回收。 报告分为 4部分,第一部分是课题简介及设计的内容与目的,需求分析,此阶段是数据 库设计的起点。第二部分是概念设计,逻辑结构设计,它是将需求分析的用户需求抽象为信 息结构,并将概念模型转换为某个 DBMS 所支持的数据模型。第三部分是数据库的实施与 运行,它包括数据的载入及数据困的运行和数据库和数据表的创建(代码) 。第四部分是课 程设计的总结。 1.1开发环境及开发语言 本次课程设计是以学生信息管理系统为模拟模型,运用 C++编程语言结合 SQL 数据库 所开发系统。开发平台为 VC6.0 和 SQL2008。 1.2 设计目的 随着学生数量的日益增多,学校对学生的管理要求也越来越高,为了使学生成绩的管理 更加系统化,数字化,因此我们设计了该学生信息管理系统。 1.3 设计内容 运用基于 E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计 直至系统的最终实现,开发学生成绩管理系统,完成学生成绩管理系统的全部功能。首先做 好需求分析,并完成数据流图,其次做概念分析,利用实体联系的方法将需求分析的用户需 求抽象为信息结构,得到 E-R 图,然后就是逻辑结构设计,将 E-R 图转换为计算机系统所 支持的逻辑模型。最后利用 SQL 完成具体的实例。 1.4.需求分析 1、 问题的提出:为了高效率的完成学生成绩的管理,决定开发学生成绩管理系统。 2、 需完成的功能: (1) 能提供管理员及普通用户(除删除和修改)录入、注销、显示当前用户、修改、删 除、查询、输出,学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。 (2) 触发器,索引,存储过程的建立及使用。 2. 概念设计 (1)(E-R图) Studen t Sname Sex Birthday Tel Sno Address Grade Score Politica Culture Cource Sno Cno Test User UserNm UserPw UserTyp (2)物理结构设计 Student Column Name Date Type Width 空值情况 Sno nchar 10 主关键字 Sname nchar 10 不为空 Sex nchar 10 不为空 Birthday numeric 10 可为空 Address nchar 10 可为空 Grade nchar 10 不为空 Po;itic nchar 10 不为空 Cuture nchar 10 不为空 Tel Nchar 10 不为空Cource Column Name Date Type Width 空值情况 Sno nchar 10 主关键字 Cno nchar 10 不为空 Score nchar 10 可为空 User Column Name Date Type Width 空值情况 User_name nchar 20 主关键字 User_Pswd nchar 20 不为空 User_Type int 可为空 (3)分析关系模式 对于关系模式 Student(Sno|Sname|Sex|Age|Address|Grade|class|Tel|Politic|Cuture )假定姓名 也具有唯一性,那么 Student 就有两个码,这两个码都由单个属性组成,彼此不相交。其它属性不存在对码的传递依赖与 部分依赖,又因为 Student 中除学号、姓名外没有其它的因素,所以 Student 属于 BCNF。对 于关系模式Cource(|Sno|Cno|Score|)有两个码,这两个码都由单个属性组成,彼此不相交, 其它属性不存在对码的传递依赖与部分依赖,又因为成绩中除学号、课程号外没有其它的决 定因素,所以成绩属于 BCNF。对于关系模式User(|UserName|UserType|UserPswd|)中, 它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时用户名是唯一的决定 因素,所以课程属于 BCNF。它和学生信息和成绩没有直接的联系,因此它是一张单独的表。 3.SQL 语句 3.1 创建表 学生表 create table Student ( Sno nchar(10) primary key,Sname nchar(10) not nullSex nchar(10) not null Age numeric(10) Address nchar(10)Class nchar(10) not null Grade nchar(10) not null Tel nchar(10) not null Politic nchar(10) not null Cuture nchar(10) not null ) 成绩表 create table Exam ( Sno nchar(10) primary key //主键约束Cno nchar(10) Not nullScore nchar(10) foreign key (Cno) references Course //外键约束 check(Score>=0) //完整性约束 ) 用户表 create table Teacher ( Username nchar(10) not nullUserPswd nchar(10) not nullUserType nchar(10) not null ) 3.2数据初始化 将学生类别加入表 Student 中 insert into Student values ( 000’,’张明’,’M’,’’,’哈尔滨’,’计科一班’,’大一’,’15880000’, ’无’,’群众’) insert into Student values( 001’,’李三’,’M’,’’,’长春’,’计科二班’,’大三’ ’15233000’.’无’, ’群众’) insert into Student values( 002’,’王强’,’M’,’’,’哈尔滨’,’软件二班’,’大二’ ’15850040’.’无’, ’群众’) insert into Student values( 003’,’张雪’,’F’,’’,’哈尔滨’,’软件一班’,’大一’ ’156809802’.’无’, ’群众’) insert into Student values( 004’,’李力’,’M’,’’,’大连’,’软件一班’,’大三’ ’15980000’.’无’, ’群众’)

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
一、课程设计题目 ① 基本要求题目:矩阵乘法。 ② 综合训练:学生成绩管理系统 二、设计要求 矩阵乘法:编写一个函数实现矩阵A(2行3列)与矩阵B 相乘(3行2列),乘积放在C数组中。在主函数中输入相乘的两数组,并输出结果。 学生成绩管理:(结构体数组、函数、指针、算法、流程结构及文件等的综合应用) 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单 (2)各菜单项功能 ① 成绩录入:输入学生的学号、姓名及三门课的成绩; ② 成绩查询:(至少一种查询方式)。  按学号查询学生记录。  查询不及格学生的记录。 ③成绩统计:  计算学生的平均分;  根据学生的平均分高低,对学生的数据进行排序后输出;  对学生单科成绩排序,输出学生姓名与该科成绩; ④退出系统:退出整个系统(即主菜单)。 (3)结构体数组: #define N 30struct student {int num; /* 定义学号*/ char name[20]; /* 定义姓名*/ float score[3]; /* 定义存贮三门课成绩的数组*/ float average; /* 定义平均成绩*/ };struct student stu[N];  /* 定义结构体数组,存贮多个学生的记录*/ 三、数据结构设计描述 系统功能描述 1能够输入学生的学号、姓名、三科成绩并且计算出平均成绩。 2能够以表格的形式输出学生记录 3能够按照学生三科的平均成绩进行排序 4能够按照学生的单科成绩进行排序 5能够按照学号查询学生记录 6往表中插入学生记录 7从表中删除学生记录 8存储记录到文件中 9从文件中读取记录 10退出 数据字典 1数据流条目 数据流名称:全部记录 别名:无 简述:最新更新后所有关于学生成绩的记录 来源:数据库 去向:加工“记录筛选” 数据流量:不限 组成:学号+姓名+SC1+SC2+SC3+平均成绩 数据存储条 数据存储名称:学生成绩记录 别名:无 简述:存放学生所有可供查询的信息 组成:学号+姓名+SC1+SC2+SC3+平均成绩 组织方式:索引文件,以学学号为关键字 查询要求:要求能立即查询 2数据项条目 数据项名称:学号 别名:无 简述:所有学校学生的学号 类型:字符串 3加工条目 加工名:更改的记录 激发条件:学生成绩记录被改动 优先级:普通 输入:新记录 输出:更新数据、数据未改动 加工逻辑:根据现有学生成绩记录 if 新记录旧记录 then 更新数据 else 数据未改动 endif 设计测试流程 1、进入界面 2、输入选项0,回车; 按提示输入数据 3、回到主菜单; 输入选项8,回车; 输入文件名:data,回车; 出现成功提示,则读入文件操作成功。 4、回到主菜单,输入1,回车 每10个暂停显示数据 5、回到主菜单,输入2,回车 出现排序成功信息。 6、回到主菜单,输入3,回车 出现排序成功信息。 7、回到主菜单,输入5,回车 按提示插入一组数据 8、回到主菜单,输入6,回车 按提示输入姓名,删除数据 出现删除成功的信息 9、回到主菜单,输入4,回车 输入学号进行查询 10、回到主菜单,输入1,回车 出现统计信息 11、回到主菜单,输入7,回车 输入result,回车 出现成功写入文件的信息 12、回到主菜单,输入9,回车退出系统
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页