学生成绩管理系统数据库设计报告书.docx
- 文档编号:10546390
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:36
- 大小:965.71KB
学生成绩管理系统数据库设计报告书.docx
《学生成绩管理系统数据库设计报告书.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库设计报告书.docx(36页珍藏版)》请在冰点文库上搜索。
学生成绩管理系统数据库设计报告书
黄淮学院
信息工程学院
数据库系统原理与应用课程设计报告
题目:
学生成绩管理系统设计与实现
指导老师:
张银玲
学号:
1434120137
姓名:
齐顺彪
班级:
软件1401B
时间:
2016-11
分数:
一.课程设计目的
数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:
(1)培养学生具有C/S和B/S/S模式的数据库应用软件系统的设计和开发能力。
(2)熟练掌握一种数据库系统(如SQLServer)的使用。
(3)熟练掌握一种数据库应用软件开发工具(如PowerBuilder、ASP、VB.NET、JSP、Java、SSH)的使用。
(4)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二.课程设计任务与要求:
1、任务:
学生成绩管理系统问题描述:
1)全校学生上万名。
2)每个学生都有学号,姓名等各种信息。
3)每个学生每学期都会学习多门课程,拥有多门成绩,不同的专业学习的课程也不同,对应的成绩也不相同。
4)对学生成绩的管理是一件非常复杂的事情。
2、设计要求:
1)实现教师对学生录入新修课程的成绩。
2)实现对所有学生成绩精细查询和分类统计。
3)能够按学号,姓名,班级等分类查询学生成绩。
4)能够对成绩进行精确,比较,范围,无成绩查找。
5)能够进行学生信息管理。
6)设计一完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
三.课程设计说明书
1需求分析
(1)功能需求
学生成绩管理系统需要完成功能主要有:
学生管理:
主要是对学生进行统一管理,主要操作有查询、新增、修改、删除、导出,查看详情。
查询学生:
可以根据学号、姓名、班级、专业、院系等进行查询,显示所有符合条件的学生。
修改学生:
修改选中的学生;
删除学生:
删除选中的学生;
导出学生:
将学生列表导出到Excel表格文档中,供用户下载查看;
查看学生详情:
查看选中的学生详情;
新增学生:
既录入新的学生
教师管理:
主要是对教师进行统一管理,主要操作有查询、新增、修改、删除、导出,查看详情。
查询教师:
可以根据工号、姓名、院系等进行查询,显示所有符合条件的教师。
修改教师:
修改选中的教师;
删除教师:
删除选中的教师;
导出教师:
将教师列表导出到Excel表格文档中,供用户下载查看;
查看教师详情:
查看选中的教师详情;
新增教师:
既录入新的教师
院系管理:
主要是对院系进行统一管理,主要操作有查询、新增、修改、删除、查看详情。
专业管理:
主要是对专业进行统一管理,主要操作有查询、新增、修改、删除、查看详情。
班级管理:
主要是对班级进行统一管理,主要操作有查询、新增、修改、删除、查看详情。
课程管理:
主要对课程的统一管理安排,主要操作有查询、新增、修改、删除、查看详情。
学生成绩管理:
主要按教师工号、学生学号、学生姓名、班级、精确成绩、比较成绩、成绩范围、
无成绩,成绩集合查找成绩信息。
删除摸个学生的成绩,批量修改学生成绩,
批量录入学生成绩。
2概要设计
(1)实体属性图及实体联系(E-R)图
根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:
书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
图2-1学生类别实体及其属性图图2-2教师类别实体及其属性
图2-3课程类别实体及其属性图2-4院系类别实体及其属性
图2-5专业类别实体及其属性图2-6班级类别实体及其属性
图2-7总的信息实体E-R图
3逻辑设计
(1)关系模式
学生类(学号,姓名,年龄,性别,入学时间,专业,院系,班级,家庭地址,宿舍号,政治
面貌,身份证号)
院系类(编号,名称,位置,教师人数,学生人数,开班时间,院系精神)
专业类(编号,名称,人数,开始时间,所属院系,辅导员)
班级类(编号,名称所在教室,人数,班长,所属专业)
宿舍类(楼号,管理员姓名,管理员电话,空闲房间数,在宿人数)
辅导员类(姓名,联系电话,家庭地址,家庭电话,学历,管理班级)
成绩类(学号,课程号,学期,学年,平时成绩,考试成绩,实验成绩,总成绩)
课程类(课程号,课程名,考试类别,开课学年,开课学期,理论学时,实验学时,总学时,
平时成绩比率,实验成绩比率,期末成绩比率)
教师类(工号,姓名,性别,年龄,入职时间,婚姻状况,联系方式,所属院系,家庭地址,住宅电话)
4查询成绩关系图:
图4-1查询成绩关系图
5物理设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。
②对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。
③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引
④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。
⑤对system_reader表在readerid列上建立聚集索引
⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引
⑦对system_Administrator表在administratorid列上建立聚集索引。
⑧对system_Super_Administrator表在superadministratorid上建立聚集索引。
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
6数据库建立
(1)创建数据库
createdatabasessms
on
(name='ssms_data',
filename='d:
\2016qiu\ssms.mdf',
size=100,
maxsize=5000,
filegrowth=10
)
logon
(name='ssms_log',
filename='d:
\2016qiu\ssms.ldf',
size=200,
maxsize=100000,
filegrowth=10);
Go
(2)管理员表建立
CREATETABLEadministrator(
aidvarchar(30)primarykey,
aPasswordvarchar(40)NOTNULL,
aNamevarchar(10)
)go
--(3)教师表建立
CREATETABLEteacher(
tidvarchar(8)primarykeycheck(tidlike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),--教师编号
tPasswordvarchar(20)NOTNULL,--密码
tNamevarchar(10)NOTNULL,--教师姓名
tSexvarchar
(2),--教师性别
tEducationvarchar(10),--学历
tTitlevarchar(10)DEFAULTNULL,--职称
tTelephonevarchar(11),--电话
tEmailvarchar(20)DEFAULTNULL,--邮箱
didchar
(2),--所在系编号
tBirthdaydatetimeDEFAULTNULL,--出生日期
tPhotoPathvarchar(255)DEFAULTNULL,--照片地址
CONSTRAINTfk_teacher_departmentFOREIGNKEY(did)REFERENCESdepartment(did)ondeletecascadeonupdatecascade
)
go--(4)学生表表建立
CREATETABLEstudent(
sidchar(10)primarykey,
--学号(用户名),学号由10位数字组成,1-2位代表入学年份,
--3-4位代表院系,7-8位代表班级序号,9-10是学生在班级中的序号。
sPasswordvarchar(20)NOTNULL,--密码
sNamevarchar(10)NOTNULL,--姓名
sClassNamevarchar(30)NOTNULL,--班级名称
sSexchar
(2),--性别
sBirthdaydatetimeDEFAULTNULL,--出生日期
sPoliticalvarchar(10)DEFAULTNULL,--政治面貌
freshbitDEFAULT1,--是否是在校生
sPhotoPathvarchar(255)DEFAULTNULL,--照片所在路径
sEmailvarchar(30)DEFAULTNULL--电子邮箱
)
go
(5)院系表建立
createtabledepartment
(didchar
(2)primarykey,--系编号
dNamevarchar(60)notnull,--系名称
dOfficePlacevarchar(60),--办公地点
dTelephonechar(11)--办公电话
)
Go
(6)专业表建立
createtableProfessional(
pidvarchar(7)primarykey,--专业代码
pNamevarchar(40)uniquenotnull,--专业名称
lengthOfSchoolingint,--修业年限
disciplinesvarchar(20),--学科门类
professionalCategoryvarchar(26),--专业门类
didchar
(2),--所属院系编号
)
Go
--(7)班级表建立*/
createtableclass(
cNamevarchar(30)primarykey,--班级名程,B表示本科
cNumberintnull,--人数
pidvarchar(7),--专业编号
constraintfk_class_professioalforeignkey(pid)referencesprofessional(pid)ondeletecascadeonupdatecascade
)
Go
--(8)课程表表建立
CREATETABLEcourse(
cidvarchar(10)PRIMARYKEY,--课程编号
cNamevarchar(60)unique,--课程名
cTypevarchar(10)DEFAULTNULL,--课程属性
cExamtypevarchar(10),--考试类别
cOpenyeartinyint,--开课学年
cOpentermtinyint,--开课学期
cTheoryHoursint,--理论学时
cExperimentalHoursint,----实验学时
cTotalHoursint,--总学时
cCreditintDEFAULTNULL,--学分
cUsualResultsRationumeric(3,1)null,--平时成绩比率
cExperimentalResultsRationumeric(3,1)null,--实验成绩比率
cFinalAchievementRationumeric(3,1)null--期末成绩比率
)
Go
--(9)成绩表建立
CREATETABLEscore(
academic_yearvarchar(20)DEFAULTNULL,--学年
semestervarchar(10)DEFAULTNULL,--学期
sidchar(10),--学号
cidvarchar(10),--课程号
tidvarchar(8),
usualResultsintDEFAULTNULL,--平时成绩
examResultsintDEFAULTNULL,--考试成绩
experimentalResultsintDEFAULTNULL,--实验成绩
totalScoreintDEFAULTNULL,--总成绩
constraintpk_scorePRIMARYKEY(sid,cid),
CONSTRAINTfk_t_score_stuFOREIGNKEY(sid)REFERENCESstudent(sid),
CONSTRAINTfk_t_score_courseFOREIGNKEY(cid)REFERENCEScourse(cid),
CONSTRAINTfk_t_score_teacherFOREIGNKEY(tid)REFERENCESteacher(tid)
)go
(10)授课关系表创建
CREATETABLEteaching(
openYearvarchar(20),--授课学年
openTermvarchar(10),--授课学期
taddressvarchar(30)DEFAULTNULL,--授课地点
ttimevarchar(30)DEFAULTNULL,--授课时间
tidvarchar(8),--教师编号
cidvarchar(10),--课程编号
pidvarchar(7),--专业编号
constraintpk_teachingprimarykey(openYear,openTerm,pid,tid,cid,ttime)--ondeletecascadeonupdatecascade
)
7数据库设计
学生表设计:
字段名
数据类型
是否为空
说明
Stu_ID
Varchar(20)
Notnull
学生学号
Stu_Name
Varchar(20)
Notnull
学生姓名
Stu_Age
int(3)
Notnull
学生年龄
Stu_Sex
Varchar
(2)
Notnull
学生性别
Stu_Tel
Varchar(20)
联系方式
Stu_Major
Varchar(20)
专业名称
Stu_Depart
Varchar(20)
院系名称
Stu_Class
Varchar(20)
班级名称
Stu_HomeAdd
Varchar(50
Notnull
家庭地址
Stu_Dorm
Varchar(10)
学生宿舍
Stu_IDnum
Varchar(20)
Notnull
身份证号
Stu_Face
Varchar(10)
Notnull
政治面貌
Dep_ID
Varchar(10)
院系编号
Maj_ID
Varchar(10)
专业编号
Class_ID
Varchar(10)
班级编号
院系表设计
字段名
数据类型
是否为空
级联
说明
Dep_ID
Varchar(10)
Notnull
院系编号
Dep_Name
Varchar(20)
Notnull
院系名称
Dep_Add
Varchar(30)
Notnull
院系位置
Dep_Teanum
Varchar(5)
Notnull
教师人数
Dep_Stunum
Varchar(5)
Notnull
在校学生人数
Dep_Starttime
date
Notnull
办院时间
Dep_jianjie
text
Notnull
学院简介
Dep_Boss
Varchar(10)
Notnull
与院长表级联
院长
Dep_Num
Int
Notnull
院系序号
专业表设计:
字段名
数据类型
是否为空
级联
说明
Maj_ID
Varchar(10)
Notnull
专业编号
Maj_Name
Varchar(20)
Notnull
专业名称
Maj_Stunum
Varchar(5)
Notnull
学生人数
Maj_Boss
Varchar(10)
Notnull
辅导员
Dep_Name
Varchar(10)
Notnull
院系名称
Dep_ID
Varchar(10)
Notnull
与院系表级联
院系编号
Maj_Num
Int
Notnul
专业序号
Maj_jianjie
Text
专业简介
班级表设计:
字段名
数据类型
是否为空
级联
说明
Cla_Id
Varchar(10)
Notnull
班级编号
Cla_Name
Varchar(10)
Notnull
班级名称
Cla_Stunum
Int(5)
Notnull
班级人数
Cla_lead
Varchar(5)
Notnull
班长
Cla_Add
Varchar(10)
所在位置
Maj_Id
Varchar(10)
Notnull
与专业表级联
专业编号
Maj_Name
Varchar(10)
Notnull
专业名称
教师表设计:
字段名
数据类型
是否为空
级联
说明
Tea_Id
Varchar(20)
Notnull
教师编号
Tea_Name
Varchar(10)
Notnull
教师姓名
Tea_Sex
Varchar
(2)
Notnull
性别
Tea_Age
Varchar(5)
Notnull
年龄
Tea_marred
Varchar(5)
Notnull
婚姻状况
Tea_Tel
Varchar(20)
Notnull
联系方式
Dep_Id
Varchar(10)
Notnull
与院系表级联
院系编号
Dep_Name
Varchar(10)
Notnull
院系名称
Home_Add
Varchar(50)
Notnull
家庭地址
成绩表设计:
字段名
数据类型
是否为空
级联
说明
sco_Academic_year
Varchar(20)
Notnull
开课年份
sco_Semester
Varchar(10)
Notnull
开课学期
sco_Sid
Varchar(10)
Notnull
学生学号
sco_Cid
Varchar(10)
Notnull
课程编号
sco_Tid
Varchar(10)
Notnull
教师编号
sco_UsualResults
Int
平时成绩
sco_ExamResults
Int
考试成绩
sco_ExperResults
Int
考试成绩
sco_TotalScore
int
综合成绩
(2)将已有成绩添加到成绩表中
insertintoscorevalues('2014-2015','一','1334120101','2','20070769',90,87,85,null)
insertintoscorevalues('2015-2016','一','1334120101','3','20070755',92,83,80,null)
insertintoscorevalues('2015-2016','一','1334120101','4','20070768',78,80,75,null)
insertintoscorevalues('2014-2015','一','1334120102','2','20070755',89,86,82,null)
insertintoscorevalues('2015-2016','一','1334120102','3','20070755',98,88,92,null)
insertintoscorevalues('2015-2016','一','1434120101','1','20070768',89,88,85,null)
insertintoscorevalues('2015-2016','一','1434120102','1','20070768',78,68,88,null)
insertintoscorevalues('2014-2015','一','1334110101','2','20070755',90,91,93,null)
insertintoscorevalues('2015-2016','一','1334110101','4','20070768',95,88,93,null)
insertintoscorevalues('2015-2016','一','1334110101','5','20070769',95,89,88,null)
insertintoscorevalues('2014-2015','一','1334110102','2','20070755',85,83,81,null)
insertinto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 数据库 设计 报告书