河南理工大学数据库设计论文.docx

上传人:b****6 文档编号:7988538 上传时间:2023-01-27 格式:DOCX 页数:20 大小:183.34KB
下载 相关 举报
河南理工大学数据库设计论文.docx_第1页
第1页 / 共20页
河南理工大学数据库设计论文.docx_第2页
第2页 / 共20页
河南理工大学数据库设计论文.docx_第3页
第3页 / 共20页
河南理工大学数据库设计论文.docx_第4页
第4页 / 共20页
河南理工大学数据库设计论文.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

河南理工大学数据库设计论文.docx

《河南理工大学数据库设计论文.docx》由会员分享,可在线阅读,更多相关《河南理工大学数据库设计论文.docx(20页珍藏版)》请在冰豆网上搜索。

河南理工大学数据库设计论文.docx

河南理工大学数据库设计论文

河南理工大学万方科技学院

数据库设计论文

 

论文题目:

学生成绩管理数据库的设计

院系:

电气系

专业:

通信11-1

学号:

姓名:

牛飞

指导教师:

撰写学年:

 

年月日

 

摘要

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。

为了减轻学校的负担,增加学生成绩管理的便捷,为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化,我们小组设计了一个学生成绩管理系统。

本学年设计叙述到的学生成绩管理系统是用SQL语言实现的。

重点介绍了学生成绩管理系统的实现过程:

包括概念设计,需求分析,逻辑结构和物理设计,系统的实施与维护等。

本系统主要功能有教师管理,学生管理,班级管理,学生信息管理,成绩管理等,包括功能需求描述,数据库设计等内容。

关键词:

成绩管理;成绩查询;SQLserver

目录

1.数据库设计概述1

1.1开发背景1

1.2开发目标1

2.需求分析1

2.1系统功能需求1

2.2系统模块设计2

2.3开发环境2

3.概念结构设计2

3.1系统实体设计3

3.2系统E-R图3

3.3系统数据流图7

4.逻辑结构设计7

4.1成绩管理系统数据模型8

5.数据库的物理设计10

5.1数据库的存储结构10

5.2关系模型的存取方法14

5.3数据库关系图15

6.数据库的实施和维护16

6.1系统的实施16

6.2系统的调试与维护17

7.总结18

7.1设计总结18

7.2致谢18

8.参考文献18

1.数据库设计概述

1.1开发背景

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等.在科学技术突飞猛进的时代,为了减轻学校的负担,增加学生成绩管理的便捷,开发出一个适用于高校的学生成绩管理系统是必要的.

1.2开发目标

开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化.不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成绩.

2.需求分析

2.1系统功能需求

1.管理员能够实现对整个学生信息的录入、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作。

2.教师能够在一定的权限内对所有学生成绩进行查询,可以对的自己的登录密码进行修改。

系统具体需要实现以下功能:

1.系统管理:

对用户管理和系统进行初始化设置。

2.成绩管理:

提供学生考试成绩的基本录入、修改、查询、打印等基本管理功能,以及学生单科和总成绩的相关统计功能。

3.学生名单管理:

提供对学生名单的基本管理功能,主要是学生名单的录入、修改、删除和浏览/查询等基本功能。

4.基础数据管理:

提供对学校基本数据和考试相关基础数据的管理功能,包括:

专业设置、班级设置、考试类型设置、考试科目设置和考试学期设置等。

5.数据库管理:

对现有的数据进行管理,包括数据备份和恢复,以方便用户对数据库进行管理和维护工作,提高系统的数据安全性。

2.2系统模块设计

成绩管理系统大体可以分成三大模块如图,一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平时成绩、考试成绩、最终成绩以及是否需要重修或补考的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图:

2.3开发环境

软件环境:

MicrosoftSQLServer2000

Windows95/98/2000/XP,InternetExplorer(IE)5.0及其以上版本

硬件环境:

CPU:

PIII500以上

内存:

512M以上

硬盘空间:

1GB以上

3.概念结构设计

将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。

概念模型是在对用户需求分析之后,画出本系统抽象出的E-R图。

3.1系统实体设计

由需求分析的结果可知,本系统设计的实体包括:

(1)学生基本信息:

学号,姓名,性别,系别,地址,年龄,专业,身份证号码,入学时间,联系方式;

(2)教师基本信息:

教师号,教师所属系,性别,教师名,年龄,职称,联系方式,教龄;

(3)Course表基本信息:

课程号,课程名称,课时,学分,课程种类,学年,学期;

(4)Grade表基本信息:

成绩记录号,课程号,学号,课程名,平时成绩,考试成绩,总成绩;

(5)班级表基本信息:

班级号,班级名称,所属系,班级人数,班长学号;

(6)授课表基本信息:

授课时间,授课地点,课程号,教师号,教师名;

(7)选修表基本信息:

课程号,学号,成绩;

(8)课程安排表基本信息:

课程号,课程名称,学号,教师号,教师名;

(9)用户表基本信息:

用户名,密码,所属权限.

3.2系统E-R图

根据规划出的实体画出对各个实体具体的描述如下:

3.3系统数据流图

由数据库系统总E-R图和分E-R图得到数据流图:

4.逻辑结构设计

设计逻辑结构分三步进行:

第一步,将概念经过转化为一般的关系、网状、层次模型;第二步,将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;第三步,对数据模型进行优化。

4.1成绩管理系统数据模型

由系统E—R图转化而得到的成绩管理系统数据模型如下:

(1)学生表基本信息:

学号,姓名,性别,系别,地址,年龄,专业,身份证号码,入学时间,联系方式。

(其中学号为主键系别为外键)

表1Student基本信息表

字段名

字段类型

约束控制

说明

Stu_sno

Varchar(6)

NotNull(Primarykey),在000000到999999之间

学号

Stu_sname

varchar(8)

NotNull

姓名

Stu_sex

char

(2)

‘男’或‘女’

性别

Stu_dept

varchar(30)

Notnull

系别

Stu_age

char(4)

年龄

Stu_address

vachar(30)

地址

Stu_id

char(18)

Notnull

身份证号

Stu_entry

datetime

Notnull

入学时间

Stu_class

Varchar(15)

Notnull

班级

Stu_contact

Varchar(13)

Notnull

联系方式

(2)Course表基本信息:

课程号,课程名称,课时,学分,课程种类,学年,学期(其中课程号为主键)

表2Course表

字段名

字段类型

约束控制

说明

Co_cno

Varchar(4)

主键(primarykey),在9000到9999之间

课程号

Co_name

varchar(15)

notnull

课程名称

Co_hour

smallint

notnull

课时

Co_score

smallint

notnull属于(1,2,3,4,5,6)

学分

Co_type

varchar(10)

notnull

课程种类

Co_year

smallint

notnull,只能选择1,23,4

学年

Co_term

smallint

notnull只能选择春,秋

学期

(3)教师基本信息:

教师号,教师所属系,性别,教师名,年龄,职称,联系方式,教龄(其中教师号为主键)

表3teacher基本信息表

字段名

字段类型

约束控制

说明

T_tno

Varchar(10)

notnull,在000到999之间

教师号

T_dep

Varchar(15)

Notnull

教师所属系别

T_cname

Char(6)

notnull

教师名

T_sex

int

notnull

性别

T_age

smallint

notnull

年龄

T_position

varchar(15)

notnull

职称

T_contact

Char(11)

notnull

联系方式

T_work_age

smallint

notnull

教龄

(4)课程安排表基本信息:

课程号,课程名称,学号,教师号,教师名(其中教师号和课程号为主键)

表4课程表

字段名

字段类型

约束控制

说明

C_cno

Varchar(4)

Notnull

课程号

C_name

varchar(15)

notnull

课程名称

T_cname

char(6)

notnull

教师名

T_tno

varchar(10)

notnull

教师号

(5)授课表基本信息:

授课时间,授课地点,课程号,教师号,教师名(其中教师号和课程号为主键)

表5授课表

字段名

字段类型

约束控制

说明

Learn_room

varchar(8)

Notnull

上课地点

T_cname

char(6)

Notnull

教师名

T_tno

varchar(10)

Notnull在000到999之间

教师号

Learn_time

Varchar(8)

notnull

授课时间

C_cno

Varchar(4)

在9000到9999之间

null

课程号

(6)班级表基本信息:

班级号,班级名称,所属系,班级人数,班长学号(其中所属系为主键)

表6class基本信息表

字段名

字段类型

约束控制

说明

Cl_cno

varchar(4)

主键(primarykey),在0000到9999之间

班级号

Cl_name

Varchar(15)

notnull

班级名称

Cl_dep

Varchar(10)

notnull

所属系

Cl_number

int

notnull,大于0且小于100

人数

Cl_monitor

Varchar(6)

notnull

班长学号

(7)Grade表基本信息(成绩记录号,课程号,学号,课程名,平时成绩,考试成绩,总成绩)(其中成绩记录号,课程号,学号为主键)

表7Grade基本信息表

字段名

字段类型

约束控制

说明

Score_id

int

notnull

成绩记录号

C_cno

Varchar(4)

外部键

课程号

C_name

varchar(15)

notnull

课程名称

T_name

varchar(8)

notnull

教师名

T_tno

Varchar(10)

notnull

教师号

Stu_sno

Varchar(6)

外部键

学号

practic_grade

int

Notnull,大于等于0,小于等于100

平时成绩

exam_grade

int

Notnull,大于等于0,小于等于100

考试成绩

FGrade

Dec(3,1)

nor_score占30%

exam_score占70%

成绩

Re_choose

char

(2)

是否

重修

Re_exam

char

(2)

是否

补考

(8)用户表基本信息:

用户名,密码,所属权限

表8User基本信息表

字段名

字段类型

约束控制

说明

Username

varchar(10)

Notnull

用户名

UserID

varchar(6)

Notnull

密码

Userauth

varchar(10)

在学生,教师,教学秘书之间

权限

5.数据库的物理设计

5.1数据库的存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括:

确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

(1)创建学生基本信息表:

createtableStudent(

Stu_snonumeric(6)constraintA1check(Stu_snobetween000000and999999),

Stu_snamevarchar(8)notnull,

Stu_sexchar

(2)constraintA2check(Stu_sexin('男','女')),

Stu_deptvarchar(30)notnull,

Stu_agechar(4)constraintA3check(Stu_agebetween10and30),

Stu_addressvarchar(30)notnull,

Stu_idchar(18)notnull,

Stu_entrydatetimenotnull,

Stu_contactVarchar(13),

Stu_classVarchar(15),

constraintStu_keyprimarykey(Stu_sno)

createindexStusnoonStudent(Stu_snoasc)

createindexStusdeptonStudent(Stu_dept)

(2)创建课程表:

createtableCourse(

C_cnonumeric(4)constraintB1check(C_cnobetween9000and9999),

C_namevarchar(15)notnull,

C_hoursmallintnotnull,

C_scoresmallintconstraintB4check(C_scorein('1','2','3','4','5','6')andC_scoreisnotnull)

C_typevarchar(10)notnull,

C_yearsmallintconstraintB2check(C_yearin('1','2','3','4')andC_yearisnotnull),

C_termchar

(2)constraintB3check(C_termin('春','秋')andC_termisnotnull),

C_numsmallintnotnull,

constraintC_keyprimarykey(C_cno)

createindexCourseidonCourse(C_cnoasc);

(3)创建成绩表Grade

createtableGrade(

Grade_idintnotnull,

T_tnoVarchar(10)notnull,

C_cnonumeric(4),

C_namevarchar(15)notnull,

Stu_snonumeric(6),

practic_gradeintconstraintD1check(practic_gradebetween0and100),

exam_gradeintconstraintD2check(exam_gradebetween0and100),

FGradeDec(3,1),

Re_choosechar

(2)constraintD3check(Re_choosein('是','否')),

Re_examchar

(2)constraintD4check(Re_examin('是','否')),

constraintD5check((0.3*practic_grade)+(0.7*exam_grade)=FGrade),

constraintGrade_keyprimarykey(C_cno,T_tno,Stu_sno),

constraintGForeign_key1foreignkey(Stu_sno)referencesStudent(Stu_sno),

constraintGForeign_key2foreignkey(C_cno)referencesCourse(C_cno),

constraintGForeign_key3foreignkey(T_tno)referencesTeacher(T_tno)

createindexGradeIDonGrade(Grade_id)

(4)创建教师基本信息表Teacher

createtableTeacher(

T_tnovarchar(10)constraintC1check(T_tnobetween000and999andT_tnoisnotnull),

T_depvarchar(15)notnull,

T_cnamechar(6)notnull,

T_sexchar

(2)notnull,

T_agesmallintnotnull,

T_positionvarchar(15)notnull,

T_contactchar(11)notnull,

T_work_agesmallintnotnull,

constraintT_keyprimarykey(T_tno)

createindexTeatnoonTeacher(T_tnoasc)

(5)创建班级表Class

createtableClass(

Cl_cnovarchar(4)constraintE1check(Cl_cnobetween0000and9999andCl_cnoisnotnull),

Cl_namevarchar(15)notnull,

Cl_deptvarchar(30),

Cl_numberintconstraintE2check(Cl_numberbetween0and100andCl_numberisnotnull),

Class_monitornumeric(6)notnull,

constraintCL1_keyprimarykey(Cl_dept),

createindexclass1onclass(Cl_deptasc)

(6)创建授课表schooling

createtableschooling(

Learn_roomvarchar(8)notnull,

Learn_timevarchar(8)notnull,

C_cnonumeric(4)constraintF1check(C_cnobetween9000and9999),

T_tnovarchar(10)constraintF2check(T_tnobetween000and999andT_tnoisnotnull),

T_cnamechar(6)notnull,

constraintsch_keyprimarykey(C_cno,T_tno)

createindexschooling1onschooling(T_tnoasc)

createindexschooling2onschooling(C_cnoasc)

(7)创建课程安排表arrange_lesson

createtablearrange_lessson(

C_cnonumeric(4)constraintH1check(C_cnobetween9000and9999),

C_namevarchar(15)notnull,

T_tnovarchar(10)constraintH2check(T_tnobetween000and999andT_tnoisnotnull),

T_cnamechar(6)notnull,

C_typevarchar(10)notnull,

C_yearsmallintcheck(C_yearin('1','2','3','4')andC_yearisnotnull),

C_termchar

(2)constraintH4check(C_termin('春','秋')andC_termisnotnull),

Cl_namevarchar(15)notnull,

constraintARlesson_KEYprimarykey(C_cno,T_tno),

constraintStu1_keyforeignkey(Stu_dept)referencesClass(Cl_dept)

createindexTeacheronarrange_lessson(T_tnoasc)

createindexCourseonarrange_lessson(C_cnoasc)

(8)创建用户表Users

createtableUsers(

Usernamevarchar(10)notnull,

UserIDvarchar(6)notnull,

Userauthvarchar(10)constraintI1check(Userauthin('学生','教师','教学秘书')))

5.2关系模型的存取方法

在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。

可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。

在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:

在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。

才能充分利用索引的作用避免因索引引起的负面作用。

数据库中设计了如下索引:

(1)在Student表中建立索引:

createindexStusnoonStudent(Stu_snoasc)

createindexStusdeptonStudent(Stu_de

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1