1、软 件 学 院课程设计报告书课程名称 数据库课程设计 设计题目 学籍管理系统 专业班级 学 号 姓 名 指导教师 2023 年 1 月目录1 设计时间22 设计目的23设计任务24 设计内容24.1.1系统功能规定24.1.2 系统数据分析24.2系统设计34.2.1 概念结构设计34.2.2 逻辑结构设计54.2.3 物理结构设计64.3系统实行84.3.1数据库实现84.3.2 数据载入114.4运营与测试134.4.1运营与测试134.4.2分析145 总结与展望15参考文献16成绩评估161 设计时间 2 设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好
2、的结合起来,巩固所学知识。掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力建立数据库及应用系统,可以有效地存储数据,满足各种用户的应用需求。3设计任务运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完毕从系统的分析到设计直至系统的最终实现,开发学籍管理信息系统,完毕学籍管理信息系统的所有功能,涉及学生管理子系统,教师管理子系统,课程管理子系统等。一方面做好需求分析。另一方面做概念分析,运用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后进行逻辑结构设计,将E-R 图转换为关系模型。4 设计内容 4.1需求分析 4.1.1系统功能规定 (1)
3、调查教学组织机构的总体状况。重要由教师管理系统,学生管理系统以及选课管理系统等组成。(2)熟悉各部门的教学活动状况。调查各部门的业务活动情况,对现行系统的功能和所需信息有一个明确的结识。(3)根据(1)(2)调查的结果,对教学管理中各应用的信息规定和操作规定进行具体分析。4.1.2 系统数据分析学生(学号,姓名,性别,年龄,班级,出生日期,籍贯,民族,家庭住址,入学时间,政治面貌,联系电话,退休复转学,备注)课程(课程号,课程名,先行课,学分)教师(教师号,教师姓名,教师性别,教师年龄,工资)专业(专业号,专业名称)院系(院系号,院系名称,院系长)。4.2系统设计4.2.1 概念结构设计实体及
4、其属性试图学生学号班级姓名出生日期年龄 学生基本信息课程课程号课程名先行课学分 课程基本信息院 系院系号院系名称院长 院系基本信息专 业专业号专业名称 专业基本信息教 师 教师号教师姓名性别年龄工资 教师基本信息专业选择学生属于院系所属系从属从属教师专家课程必修所属专业所属系所属院系成绩姓名学号班级出生日期年龄课程号课程名学分先行课院系号院系名称院长专业号专业名称教师号教师姓名性别年龄工资 完整E-R图4.2.2 逻辑结构设计1、关系模式学生表 (学号, 姓名,性别,年龄, 班级,出生日期, 入学时间,政治面貌,联系电话,退休复转学,备注);课程表 (课程号,课程名,先行课,学分);选课表 (
5、学号,课程号,成绩);教师表 (教师号,教师姓名,教师性别,教师年龄,工资);专家表 (课程号,教师号,专家地址);专业表 (专业号,专业名称,所属系);院系表 (院系号,院系名称,院长); 2、 数据模型的优化为了提高数据库应用系统的性能,应当根据应用需要调整关系模式,对数据模型进行优化。关系数据模型的优化通常以规范化理论为指导,方法为:(1)拟定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。根据需求分析可知:a) 学生表的数据依赖:学生号-姓名,学生号-性别,学 生号-年龄,学生号-班级,学生号-专业号b) 教师表的数据依赖:教师号-姓名,教师号-性别,教师号-年龄
6、,教师号-工资c) 课程表的数据依赖:课程号-课程名,课程号-学分,课程号-任课教师号d) 成绩表的数据依赖:(学生号,课程号)-成绩e) 专家表的数据依赖:(课程号,教师号)-专家地址f) 院系表的数据依赖 :院系号-院系名,院系号-院系长g) 专业表的数据依赖:专业号-专业名称(2)对于各个关系模式之间的数据依赖进行解决,消除冗余的联系。(3)按照数据依赖的理论对关系模式逐个分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。4.2.3 物理结构设计Student(学生)字段名称中文名称类型长度取值范
7、围是否非空主关键字备注Sno学号Char10YY主码Sname姓名Char10NNSclass班级Char10NNSsex性别Char2NNSage年龄SmallintNNSbirth出生日期DatetimeNNSjiguan籍贯Char10NNSnation民族Char10NN Saddress家庭住址Char20NN Stime入学时间DatetimeNN Szzmm政治面貌Char10NN Scard身份证号Char18NN Sphone联系电话Char11NN Sxue退休复转学Char2NN Sremarks备注Char40NN Course(课程)字段名称中文名称类型长度取值范围是
8、否非空主关键字备注 Cno课程号Char10YY主码 Cname课程名Char20NN Cpno先行课Char10NN Ccredit学分SmallintNNSC(成绩)字段名称中文名称类型长度取值范围是否非空主关键字备注Sno学号Char10YY主码、外码Cno课程号Char10YY主码、外码Grade成绩SmallintNNTeacher(教师)字段名称中文名称类型长度取值范围是否非空主关键字备注Tno教师号Char10YY主码Tname教师姓名Char10NNTsex教师性别Char2NNTage教师年龄SmallintNNTgage工资SmallintNNIno所属院系Char10YY
9、外码ST(专家)字段名称中文名称类型长度取值范围是否非空主关键字备注Cno课程号Char10YY主码、外码Tno教师号Char10YY主码、外码address专家地点Char10NND(专业)字段名称中文名称类型长度取值范围是否非空主关键字备注Dno专业号Char10YY主码Dname专业名称Charr10NNIno所属系Char10YN外码I(院系)字段名称中文名称类型长度取值范围是否非空主关键字备注Ino院系号Char10YY主码Iname院系名称Char10NNIyz院长Char10NN4.3系统实行4.3.1数据库实现1、创建表创建课程表:CREATE TABLE Course (Cn
10、o CHAR(10)PRIMARY KEY,Cname CHAR(20),Cpno CHAR(10),Ccredit SMALLINT,FOREIGN KEY(Cpno)REFERENCES Course(Cno);创建院系表:CREATE TABLE I (Ino CHAR(10)PRIMARY KEY, Iname CHAR(10), Iyz CHAR(10); 创建专业表:CREATE TABLE D (Dno CHAR(10) PRIMARY KEY, Dname CHAR(10), Ino CHAR(10), FOREIGN KEY(Ino)REFERENCES I(Ino); 创建
11、教师表: CREATE TABLE Teacher (Tno CHAR(10) PRIMARY KEY, Tname CHAR(10), Tsex CHAR(2), Tage SMALLINT, Tgage SMALLINT, Ino CHAR(10), FOREIGN KEY(Ino)REFERENCES I(Ino); 创建学生表: CREATE TABLE Student(Sno CHAR(10) PRIMARY KEY, Sclass CHAR(10), Sname CHAR(10), Ssex CHAR(2), Sage SMALLINT, Sbirth DATETIME, Sjig
12、uan CHAR(10), Snation CHAR(10), Saddress CHAR(20),Stime DATETIME,Szzmm CHAR(10),Scard CHAR(18),Sphone CHAR(11),Sxue CHAR(40),Sremarks CHAR(10)); 创建成绩表:CREATE TABLE SC(Sno CHAR(10), Cno CHAR(10), Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY(Sno)REFERENCES Student(Sno), FOREIGN KEY(Cno)REFERENCES
13、 Course(Cno));创建专家表: CREATE TABLE ST (Cno CHAR(10),Tno CHAR(10),address CHAR(10),PRIMARY KEY(Cno,Tno),FOREIGN KEY(Cno)REFERENCES Course(Cno),FOREIGN KEY(Tno)REFERENCES Teacher(Tno);2、创建视图创建学生表视图:create view Student_viewasselect *from Studentwith check option创建课程表视图:create view Course_view as select
14、* from Course with check option创建专业表视图:create view D_view as select * from D with check option创建院系表视图:create view I_view as select * from I with check option创建成绩表视图:create view SC_view as select * from SC with check option创建专家表视图:create view ST_view as select * from ST with check option4.3.2 数据载入Cou
15、rse(课程表)I(院系) Teacher(教师表)D(专业表)Student(学生表)SC(成绩表)ST(专家表)4.4运营与测试4.4.1运营与测试查询学生表的男同学信息如下:查询学生表年龄为19岁的学生信息如下:查询教师表姓王教师的信息如下:删除学生学号为120236的学生信息如下:4.4.2分析在建立数据库系统时,想对创建好的数据库里输入数据时,出现了找不到表名途径的提醒信息,由于在建完表后没有指定自己建立的数据库,而是系统默认的数据库,通过调试后解决了问题。同时在对已经建立好的表中输入数据时,有时系统总是弹出数据类型不匹配的对话框,通过反复的操作后,明白了其出现的因素是由于输入数据的
16、类型与定义的类型不相符,通过调整后解决了问题。 5 总结与展望通过本次数据库课程设计,我学到了很多的东西,但同时在设计过程中也碰到了很多的困难,比如在对数据表中数据类型的定义时由于理解的不太透彻总是犯错,但通过老师和同学的帮忙,让我对数据库基本知识的掌握更加牢固。在数据库运营和程序调试的过程,通过SQL语句创建数据表,往表中插入相应的数据和查询,再到建立视图等过程都让我得到了很多经验和锻炼。通过这次设计我结识到了数据库原理及应用是一门综合性很强的一门课程。它对于培养我的独立思考与动手实践能力具有重要的意义。参考文献1 屈辉立,陈可明,石武信.JSP网站编程教程M.第1版.北京:北京希望电子出版社.2023 2 张龙祥,数据库原理与设计.北京:人民邮电出版社.20233 王珊,萨师煊.数据库系统概论.北京:高等教育出版社.2023成绩评估成绩 教师签字