学生成绩管理数据库的设计.doc_第1页
学生成绩管理数据库的设计.doc_第2页
学生成绩管理数据库的设计.doc_第3页
学生成绩管理数据库的设计.doc_第4页
学生成绩管理数据库的设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南理工大学万方科技学院河南理工大学万方科技学院 数据库设计论文数据库设计论文 论文题目:论文题目: 学生成绩管理数据库的设计学生成绩管理数据库的设计 院院 系:系: 电气系电气系 专专 业:业: 通信通信 11-111-1 学学 号:号: 11162060591116206059 姓姓 名:名: 牛飞牛飞 指导教师:指导教师: 撰写学年:撰写学年: 年 月 日 2 摘要 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者 和管理者来说都至关重要。为了减轻学校的负担,增加学生成绩管理的便捷,为广 大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自 动化,我们小组设计了一个学生成绩管理系统。本学年设计叙述到的学生成绩管理 系统是用 sql 语言实现的。重点介绍了学生成绩管理系统的实现过程:包括概念设计,需 求分析,逻辑结构和物理设计,系统的实施与维护等。本系统主要功能有教师管理,学 生管理,班级管理,学生信息管理,成绩管理等,包括功能需求描述,数据库设计等内容。 关键词:成绩管理;成绩查询;sql server 目录 1 1数据库设计概述数据库设计概述-1 1.1 开发背景-1 1.2 开发目标 -1 2 2需求分析需求分析-1 2.1 系统功能需求-1 2.2 系统模块设计 -2 2.3 开发环境 -2 3 3概念结构设计概念结构设计-2 3.1 系统实体设计 -3 3.2 系统 e-r 图 -3 3.3 系统数据流图 -7 4 4逻辑结构设计逻辑结构设计-7 4.1 成绩管理系统数据模型-8 5 5数据库的物理设计数据库的物理设计 -10 5.1 数据库的存储结构-10 5.2 关系模型的存取方法-14 5.3 数据库关系图-15 6 6数据库的实施和维护数据库的实施和维护-16 61 系统的实施 -16 6.2 系统的调试与维护-17 7 7总结总结 -18 7.1 设计总结-18 7.2 致谢-18 8 8参考文献参考文献 -18 0 1 1数据库设计概述数据库设计概述 1.11.1 开发背景开发背景 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者 和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和 快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等.在科学技 术突飞猛进的时代,为了减轻学校的负担,增加学生成绩管理的便捷,开发出一个 适用于高校的学生成绩管理系统是必要的. 1.21.2 开发目标开发目标 开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学 效益和现代化水平.为广大教师和学生提高工作效率,实现学生成绩信息管理工作流 程的系统化,规范化和自动化.不需要大量的人力,只需要几名专门录入员即可操作系 统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成 绩. 2 2需求分析需求分析 2.12.1 系统功能需求系统功能需求 1.管理员能够实现对整个学生信息的录入、修改、删除、查询等操作,对教师 用户的添加、删除、修改等操作。 2.教师能够在一定的权限内对所有学生成绩进行查询,可以对的自己的登录密 码进行修改。 系统具体需要实现以下功能: 1.系统管理:对用户管理和系统进行初始化设置。 2.成绩管理:提供学生考试成绩的基本录入、修改、查询、打印等基本管理功 能,以及学生单科和总成绩的相关统计功能。 3.学生名单管理:提供对学生名单的基本管理功能,主要是学生名单的录入、 修改、删除和浏览/查询等基本功能。 4.基础数据管理:提供对学校基本数据和考试相关基础数据的管理功能,包括: 1 专业设置、班级设置、考试类型设置、考试科目设置和考试学期设置等。 5.数据库管理:对现有的数据进行管理,包括数据备份和恢复,以方便用户对 数据库进行管理和维护工作,提高系统的数据安全性。 2.22.2 系统模块设计系统模块设计 成绩管理系统大体可以分成三大模块如图, 一是学生的基本信息模块,里面应 该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有 对学生成绩信息的查询和处理,如平时成绩、考试成绩、最终成绩以及是否需要重 修或补考的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到 系统流程图: 授权用 户进入 退出数据库 教师管理 管理 学 生 管 理 课 程 管 理 成 绩 查 询 图图 1 系统模块设计流程图系统模块设计流程图 2.32.3 开发环境开发环境 软件环境:microsoft sql server 2000 windows95/98/2000/xp,internet explorer(ie)5.0 及其以上版本 硬件环境:cpu:piii 500 以上 内存:512m 以上 硬盘空间:gb 以上 3 3概念结构设计概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设 2 计。概念模型是在对用户需求分析之后,画出本系统抽象出的 e-r 图。 3.13.1 系统实体设计系统实体设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,系别, 地址,年龄,专业,身份证号码, 入学时间, 联系方式; (2)教师基本信息:教师号, 教师所属系, 性别, 教师名, 年龄, 职称, 联系方 式, 教龄; (3)course 表基本信息:课程号, 课程名称, 课时, 学分, 课程种类, 学年, 学 期; (4)grade 表基本信息:成绩记录号, 课程号, 学号,课程名,平时成绩, 考试成 绩, 总成绩; (5)班级表基本信息:班级号, 班级名称, 所属系, 班级人数, 班长学号; (6)授课表基本信息:授课时间, 授课地点, 课程号,教师号,教师名; (7)选修表基本信息:课程号,学号, 成绩; (8)课程安排表基本信息:课程号, 课程名称, 学号, 教师号, 教师名; (9)用户表基本信息:用户名,密码,所属权限. 3.23.2 系统系统 e-re-r 图图 根据规划出的实体画出对各个实体具体的描述如下: 3 学生 成绩班级 课程教师 考试 所属 录 入 教授 授课 选修 n n n n n nn nn n n 图图 2 系统总系统总 e-r 图图 学生学生 姓名性别年龄系别 地址 学号 身份证号 联系方式 入学时间 图图 3 学生信息学生信息 e-r 图图 4 教龄 所属系 联系方式 教师教师 职称 性别年龄教师号教师名 图图 4 教师信息教师信息 e-r 图图 所属系 班级班级 班长学号班级号班级名班级人数 图图 5 班级信息班级信息 e-r 图图 课程课程 课时课程号课程名称学分 学年 学期 课程种类 图图 6 课程信息课程信息 e-r 图图 5 成绩成绩 学号 教师名平时成绩 重修 补考 成绩 教师号课程名课程号 考试成绩 图图 7 成绩信息成绩信息 e-r 图图 教师 教授教授 学生 课程号课程名称 图图 8 教授关系教授关系 e-r 图图 授课授课 教师课程 授课时间授课地点 图图 9 授课关系授课关系 e-r 图图 6 3.33.3 系统数据流图系统数据流图 由数据库系统总 e-r 图和分 e-r 图得到数据流图: 教务人员教务人员 1 录入录入 学生信息学生信息 2 录入录入 课程信息课程信息 3 登记登记 学生成绩学生成绩 4 查询查询 学生成绩学生成绩 课程课程 成绩成绩 学生学生 学生学生 图图 10 系统数据流图系统数据流图 4 4逻辑结构设计逻辑结构设计 设计逻辑结构分三步进行:第一步,将概念经过转化为一般的关系、网状、层 次模型;第二步,将转化来的关系、网状、层次模型向特定 dbms 支持下的数据模型 转换;第三步,对数据模型进行优化。 4.14.1 成绩管理系统数据模型成绩管理系统数据模型 由系统 er 图转化而得到的成绩管理系统数据模型如下: 7 (1)学生表基本信息:学号,姓名,性别,系别, 地址,年龄,专业,身份证号 码, 入学时间, 联系方式。(其中 学号为主键 系别为外键) 表 1 student 基本信息表 (2)course 表基本信息:课程号, 课程名称, 课时, 学分, 课程种类, 学年, 学 期(其中 课程号为主键) 表 2 course 表 字段名字段类型约束控制说明 co_cnovarchar(4)主键(primary key) ,在 9000 到 9999 之间 课程号 co_namevarchar(15)not null课程名称 co_hoursmallintnot null课时 co_scoresmallintnot null 属于(1,2,3,4,5,6)学分 co_typevarchar(10)not null课程种类 co_yearsmallintnot null,只能选择 1,2 3,4学年 co_termsmallintnot null 只能选择 春,秋学期 (3)教师基本信息:教师号, 教师所属系, 性别, 教师名, 年龄, 职称, 联系方 式, 教龄(其中 教师号为主键) 表 3 teacher 基本信息表 字段名字段类型约束控制说明 t_tnovarchar(10)not null,在 000 到 999 之 间 教师号 t_depvarchar(15)not null教师所属系别 t_cnamechar(6)not null教师名 t_sexintnot null性别 t_agesmallintnot null年龄 字段名字段类型约束控制说明 stu _snovarchar(6)not null(primary key),在 000000 到 999999 之间 学号 stu _snamevarchar(8)not null姓名 stu_sexchar(2)男或女性别 stu_deptvarchar(30)not null系别 stu_agechar(4)年龄 stu_addressvachar(30)地址 stu _idchar(18)not null身份证号 stu_entrydatetimenot null入学时间 stu_classvarchar(15)not null班级 stu_contactvarchar(13)not null联系方式 8 t_positionvarchar(15)not null职称 t_contactchar(11)not null联系方式 t_work_agesmallintnot null教龄 (4)课程安排表基本信息:课程号, 课程名称, 学号, 教师号, 教师名(其中教师 号和课程号为主键) 表 4 课程表 字段名字段类型约束控制说明 c_cno varchar(4)not null课程号 c_namevarchar(15)not null课程名称 t_cnamechar(6)not null教师名 t_tnovarchar(10)not null教师号 (5)授课表基本信息:授课时间, 授课地点, 课程号,教师号,教师名(其中 教师 号和课程号为主键) 表 5 授课表 字段名字段类型约束控制说明 learn_roomvarchar(8)not null 上课地点 t_cnamechar(6)not null教师名 t_tnovarchar(10)not null 在 000 到 999 之 间 教师号 learn_timevarchar(8)not null授课时间 c_cnovarchar(4)在 9000 到 9999 之间 null 课程号 (6)班级表基本信息:班级号, 班级名称, 所属系, 班级人数, 班长学号(其中 所属系为主键) 表 6 class 基本信息表 字段名字段类型约束控制说明 cl_cnovarchar(4)主键(primary key) ,在 0000 到 9999 之间 班级号 cl_namevarchar(15)not null班级名称 cl_depvarchar(10)not null所属系 cl_numberintnot null,大于 0 且小于 100人数 cl_monitorvarchar(6)not null班长学号 (7)grade 表基本信息(成绩记录号, 课程号, 学号,课程名,平时成绩, 考试成 绩, 总成绩)(其中成绩记录号,课程号,学号为主键) 表 7 grade 基本信息表 字段名字段类型约束控制说明 9 score_idintnot null成绩记录号 c_cnovarchar(4)外部键课程号 c_namevarchar(15)not null课程名称 t_namevarchar(8)not null教师名 t_tnovarchar(10)not null教师号 stu_snovarchar(6)外部键学号 practic_gradeintnot null ,大于等于 0, 小 于等于 100 平时成绩 exam_gradeintnot null ,大于等于 0, 小 于等于 100 考试成绩 fgradedec(3,1)nor_score 占 30% exam_score 占 70% 成绩 re_choosechar(2)是 否重修 re_exam char(2)是 否补考 (8)用户表基本信息:用户名,密码,所属权限 表 8 user 基本信息表 字段名字段类型约束控制说明 usernamevarchar(10)not null 用户名 userid varchar(6)not null 密码 userauthvarchar(10) 在学生,教师,教学秘书之间权限 5 5数据库的物理设计数据库的物理设计 5.15.1 数据库的存储结构数据库的存储结构 确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括:确定关 系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 (1)创建学生基本信息表: create table student( stu_sno numeric(6) constraint a1 check(stu_sno between 000000 and 999999), stu_sname varchar(8) not null, stu_sex char(2) constraint a2 check(stu_sex in(男,女), stu_dept varchar(30) not null, stu_age char(4) constraint a3 check(stu_age between 10 and 30), stu_address varchar(30) not null, stu_idchar(18) not null, 10 stu_entry datetime not null, stu_contact varchar(13), stu_class varchar(15), constraint stu_key primary key(stu_sno) ) create index stusno on student(stu_sno asc) create index stusdept on student(stu_dept) (2)创建课程表: create table course( c_cno numeric(4) constraint b1 check(c_cno between 9000 and 9999), c_namevarchar(15) not null, c_hoursmallint not null, c_score smallint constraint b4 check(c_score in (1,2,3,4,5,6)and c_score is not null) c_type varchar(10) not null, c_yearsmallint constraint b2 check(c_year in(1,2,3,4)and c_year is not null ), c_term char(2) constraint b3 check(c_term in(春,秋)and c_term is not null), c_num smallint not null , constraint c_key primary key(c_cno) ) create index courseid on course(c_cno asc); (3)创建成绩表 grade create table grade( grade_id int not null, t_tnovarchar(10) not null, c_cno numeric(4), c_name varchar(15) not null, stu_sno numeric(6), practic_grade int constraint d1 check (practic_grade between 0 and 100 ), exam_grade int constraint d2 check(exam_grade between 0 and 100 ), fgrade dec(3,1) , 11 re_choose char(2) constraint d3 check(re_choose in (是,否), re_exam char(2) constraint d4 check(re_exam in (是,否), constraint d5 check(0.3*practic_grade)+(0.7*exam_grade)=fgrade), constraint grade_key primary key(c_cno,t_tno,stu_sno), constraint gforeign_key1 foreign key(stu_sno)references student(stu_sno), constraint gforeign_key2 foreign key(c_cno)references course(c_cno), constraint gforeign_key3 foreign key(t_tno)references teacher(t_tno) ) create index gradeid on grade(grade_id) (4)创建教师基本信息表 teacher create table teacher( t_tno varchar(10) constraint c1 check(t_tno between 000 and 999 and t_tno is not null), t_dep varchar(15) not null, t_cname char(6) not null, t_sex char(2) not null, t_age smallint not null, t_position varchar(15) not null, t_contact char(11) not null, t_work_age smallint not null, constraint t_key primary key(t_tno) ) create index teatno on teacher(t_tno asc) (5)创建班级表 class create table class( cl_cno varchar(4) constraint e1 check(cl_cno between 0000 and 9999 and cl_cno is not null), cl_name varchar(15) not null, cl_dept varchar(30), cl_number int constraint e2 check(cl_number between 0 and 100 and cl_number is not null ) , class_monitor numeric(6) not null, 12 constraint cl1_key primary key(cl_dept), ) create index class1 on class(cl_dept asc) (6)创建授课表 schooling create table schooling( learn_room varchar(8) not null, learn_time varchar(8) not null, c_cno numeric(4)constraint f1 check(c_cno between 9000 and 9999), t_tno varchar(10) constraint f2 check(t_tno between 000 and 999 and t_tno is not null), t_cname char(6) not null, constraint sch_key primary key(c_cno,t_tno) ) create index schooling1 on schooling( t_tno asc) create index schooling2 on schooling(c_cno asc) (7)创建课程安排表 arrange_lesson create table arrange_lessson( c_cno numeric(4)constraint h1 check(c_cno between 9000 and 9999), c_namevarchar(15) not null, t_tno varchar(10) constraint h2 check(t_tno between 000 and 999 and t_tno is not null), t_cname char(6) not null, c_typevarchar(10) not null, c_year smallint check (c_year in(1,2,3,4)and c_year is not null), c_term char(2) constraint h4 check(c_term in(春,秋)and c_term is not null ), cl_name varchar(15) not null, constraint arlesson_key primary key(c_cno,t_tno) , constraint stu1_key foreign key(stu_dept)references class(cl_dept) ) create index teacher on arrange_lessson(t_tno asc) create index course on arrange_lessson(c_cno asc) 13 (8)创建用户表 users create table users( username varchar(10) not null, userid varchar(6) not null, userauth varchar(10) constraint i1 check(userauth in(学生,教师,教学秘书) 5.25.2 关系模型的存取方法关系模型的存取方法 在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理 模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的属性列进 行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中 最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时 应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连 接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创 建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的 作用避免因索引引起的负面作用。 数据库中设计了如下索引: (1)在 student 表中建立索引: create index stusno on student(stu_sno asc) create index stusdept on student(stu_dept) (2)在 course 表中建立索引: create index courseid on course(c_cno asc); (3)在 teacher 表中建立索引: create index teatno on teacher(t_tno asc) (4)在授课表中建立索引 create index schooling1 on schooling( t_tno asc) create index schooling2 on schooling(c_cno asc) (5)在课程表中建立索引: 14 create index

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论