1、软 件 学 院课程设计报告书课程名称 数据库课程设计 设计题目 学籍管理系统 专业班级 学 号 姓 名 指导教师 2013 年 1 月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成绩评定 .1621 设计时间2 设计
2、目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力建立数据库及应用系统,能够有效地存储数据,满足各种用户的应用需求。3 设计任务运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发学籍管理信息系统,完成学籍管理信息系统的全部功能,包括学生管理子系统,教师管理子系统,课程管理子系统等。首先做好需求分析。其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后进行逻辑结构设计,将E-R 图转换为
3、关系模型。4 设计内容 4.1 需求分析 4.1.1 系统功能要求 (1)调查教学组织机构的总体状况。主要由教师管理系统,学生管理系统以及选课管理系统等组成。(2)熟悉各部门的教学活动状况。调查各部门的业务活动情况,对现行系统的功能和所需信息有一个明确的认识。(3)根据(1)(2)调查的结果,对教学管理中各应用的信息要求和操作要求进行详细分析。4.1.2 系统数据分析学生(学号,姓名,性别,年龄,班级,出生日期,籍贯,民族,家庭住址,入学时间,政治面貌,联系电话,退休复转学,备注)课程(课程号,课程名,先行课,学分)3教师(教师号,教师姓名,教师性别,教师年龄,工资)专业(专业号,专业名称)院
4、系(院系号,院系名称,院系长) 。4.2 系统设计4.2.1 概念结构设计实体及其属性试图学生学号班级姓名出生日期年龄学生基本信息课程课程号课程名 先行课学分课程基本信息4院 系院系号 院系名称院长院系基本信息专 业专业号 专业名称专业基本信息教 师 教师号教师姓名性别年龄工资教师基本信息5专业选择学生属于院系所属系从属从属 教师教授课程必修所属专业所属系所属院系成绩姓名学号班级 出生日期年龄 课程号课程名学分先行课院系号院系名称院长专业号专业名称教师号教师姓名 性别年龄工资完整 E-R 图4.2.2 逻辑结构设计1、关系模式学生表 (学号, 姓名,性别,年龄, 班级,出生日期, 入学时间,政
5、治面貌,联系电话,退休复转学,备注);课程表 (课程号,课程名,先行课,学分);选课表 (学号,课程号,成绩);教师表 (教师号,教师姓名,教师性别,教师年龄,工资);教授表 (课程号,教师号,教授地址);专业表 (专业号,专业名称,所属系);院系表 (院系号,院系名称,院长); 2、 数据模型的优化为了提高数据库应用系统的性能,应该根据应用需要调整关系模式,对数据模型进行优化。关系数据模型的优化通常以规范化理论为指导,方法为:6(1)确定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。根据需求分析可知:a) 学生表的数据依赖:学生号- 姓名,学生号-性别,学 生号-年龄
6、,学生号-班级,学生号-专业号b) 教师表的数据依赖:教师号- 姓名,教师号-性别,教师号-年龄,教师号-工资c) 课程表的数据依赖:课程号- 课程名,课程号- 学分,课程号-任课教师号d) 成绩表的数据依赖:(学生号,课程号)- 成绩 e) 教授表的数据依赖:(课程号,教师号)- 教授地址f) 院系表的数据依赖 :院系号- 院系名,院系号-院系长g) 专业表的数据依赖:专业号- 专业名称(2)对于各个关系模式之间的数据依赖进行处理,消除冗余的联系。(3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖可知各个关系模式没有部分函数依赖和传递函数依赖
7、所以所有的关系模式都是属于3NF。4.2.3 物理结构设计Student(学生)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Sno 学号 Char 10 Y Y 主码Sname 姓名 Char 10 N NSclass 班级 Char 10 N NSsex 性别 Char 2 N NSage 年龄 Smallint N NSbirth 出生日期 Datetime N NSjiguan 籍贯 Char 10 N NSnation 民族 Char 10 N NSaddress 家庭住址 Char 20 N NStime 入学时间 Datetime N NSzzmm 政治面貌
8、Char 10 N NScard 身份证号 Char 18 N NSphone 联系电话 Char 11 N NSxue 退休复转学 Char 2 N NSremarks 备注 Char 40 N N7Course(课程)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Cno 课程号 Char 10 Y Y 主码Cname 课程名 Char 20 N NCpno 先行课 Char 10 N NCcredit 学分 Smallint N NSC(成绩)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Sno 学号 Char 10 Y Y 主码、外码Cno 课程号
9、 Char 10 Y Y 主码、外码Grade 成绩 Smallint N NTeacher(教师)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Tno 教师号 Char 10 Y Y 主码Tname 教师姓名 Char 10 N NTsex 教师性别 Char 2 N NTage 教师年龄 Smallint N NTgage 工资 Smallint N NIno 所属院系 Char 10 Y Y 外码ST(教授)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Cno 课程号 Char 10 Y Y 主码、外码Tno 教师号 Char 10 Y Y 主码、
10、外码address 教授地点 Char 10 N ND(专业)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注Dno 专业号 Char 10 Y Y 主码Dname 专业名称 Charr 10 N NIno 所属系 Char 10 Y N 外码I(院系)字段名称 中文名称 类型 长度 取值范围 是否非空 主关键字 备注8Ino 院系号 Char 10 Y Y 主码Iname 院系名称 Char 10 N NIyz 院长 Char 10 N N4.3 系统实施4.3.1 数据库实现1、创建表创建课程表:CREATE TABLE Course(Cno CHAR(10)PRIMAR
11、Y 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);9创建教师表:CREATE TABLE Teacher
12、(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,Sjiguan CHAR(10),Snation CHAR(10),Saddress C
13、HAR(20),Stime DATETIME,Szzmm CHAR(10),Scard CHAR(18),Sphone CHAR(11),Sxue CHAR(40),Sremarks CHAR(10));创建成绩表:10CREATE TABLE SC(Sno CHAR(10),Cno CHAR(10),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno));创建教授表:CREATE TABLE ST(Cno CHAR(1
14、0),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_viewasselect *from Course11with check option创建专业表视图:create view
15、 D_viewasselect *from Dwith check option创建院系表视图:create view I_viewasselect *from Iwith check option创建成绩表视图:create view SC_viewasselect *from SCwith check option创建教授表视图:create view ST_viewasselect *from STwith check option4.3.2 数据载入Course(课程表)12I(院系)Teacher(教师表)D(专业表)Student(学生表)13SC(成绩表)ST(教授表)4.4 运
16、行与测试4.4.1 运行与测试查询学生表的男同学信息如下:14查询学生表年龄为 19 岁的学生信息如下:查询教师表姓王教师的信息如下:删除学生学号为120106的学生信息如下:154.4.2 分析在建立数据库系统时,想对创建好的数据库里输入数据时,出现了找不到表名路径的提示信息,因为在建完表后没有指定自己建立的数据库,而是系统默认的数据库,经过调试后解决了问题。同时在对已经建立好的表中输入数据时,有时系统总是弹出数据类型不匹配的对话框,经过反复的操作后,明白了其出现的原因是因为输入数据的类型与定义的类型不相符,经过调整后解决了问题。 5 总结与展望通过此次数据库课程设计,我学到了很多的东西,但
17、同时在设计过程中也遇到了很多的困难,比如在对数据表中数据类型的定义时由于理解的不太透彻总是出错,但通过老师和同学的帮忙,让我对数据库基本知识的掌握更加牢固。在数据库运行和程序调试的过程,通过 SQL 语句创建数据表,往表中插入相应的数据和查询,再到建立视图等过程都让我得到了很多经验和锻炼。通过这次设计我认识到了数据库原理及应用是一门综合性很强的一门课程。它对于培养我的独立思考与动手实践能力具有重要的意义。16参考文献1 屈辉立,陈可明,石武信.JSP 网站编程教程M. 第 1 版.北京:北京希望电子出版社.2005 2 张龙祥,数据库原理与设计.北京:人民邮电出版社.20003 王珊,萨师煊.数据库系统概论.北京:高等教育出版社.2006成绩评定17成绩 教师签字