课程设计报告
师生管理数据库系统设计
专 业 班 级 学 号 姓 名 学 号 姓 名 学 号 姓 名 学 号 姓 名 学 号 姓 名
XX学院
2011春季学期
xxxxxxxx实验用纸
目 录
第一章 绪论
1.1 系统概述………………………………………………………………3 1.2研究的目的和意义 ……………………………………………………3
1.2.1 研究的目的 ………………………………………………3 1.2.2 研究意义 …………………………………………………3
1.3 开发工具简介 ………………………………………………………4 1.4人员安排 ………………………………………………………………4
第二章 数据库设计部分
2.1 需求分析 ……………………………………………………………5
2.1.1 需求描述 …………………………………………………5 2.1.2 数据词典 …………………………………………………5
2.2数据库概念结构设计 …………………………………………………6
2.2.1 E—R图 …………………………………………………6 2.2.2 系统实体图 ………………………………………………6 2.2.3 实体及其属性定义 ………………………………………7
2.3数据库逻辑结构设计 …………………………………………………8
2.3.1 初始关系模式 ……………………………………………8 2.3.2 规范化处理 ………………………………………………8
2.4 数据库物理结构设计 ………………………………………………8
2.4.1 基于SQL Sever的数据表设计 …………………………8 2.4.2 视图 ………………………………………………………12 2.4.3 录入数据 …………………………………………………12
2.5 数据库操作部分 ……………………………………………………14
2.5.1 数据库插入操作 …………………………………………14 2.5.2 数据库修改操作 …………………………………………14 2.5.3 数据库删除记录操作 ……………………………………15 2.5.4 关系图 ……………………………………………………16
2.6 测试 …………………………………………………………………16
第三章 总结
总结…………………………………………………………………………17 附录…………………………………………………………………………18
第 2 页 共 18 页
xxxxxxxx实验用纸
第一章 绪论
1.1 系统概述
师生管理信息化是学校教务系统应用信息技术及其产品的过程,是信息技术应用于师生管理的过程。教育信息化的实施,自上而下而言,必须与学校的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基础。
学校信息系统是现存信息系统中较为复杂的一类,这是由学校本身的目标、任务和性质决定的;它应用于学校的学生管理、教师管理、师生管理等各个方面,牵涉的信息种类十分庞杂。它融合了学校的管理思想和各职能部门的工作经验,是学校当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于学校当前的运作方式和业务流程。而师生管理信息系统正是这样庞大的系统中的一个系统。师生之于学校、教学,都有极其重要的作用。
因此,学校信息化建设工作具有长期性、复杂性和内容的多变性;正因为如此,师生管理信息系统也不是一个简单的、封闭的、静止的系统,而是一个复杂的、开放的、在应用的深度和广度上,随着时间的推移会逐步变化和发展的系统。
随着学校的规模不断扩大,师生数量急剧增加,有关师生的各种信息量也成倍增长。面对庞大的信息量需要有师生管理系统来提高师生管理工作的效率,通过这样的系统可以做到信息的规范管理、科学统计、快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于实现师生信息的系统化、规范化和自动化,其主要任务是用计算机对教师及学生各种信息进行日常管理,如查询、修改、增加、删除等。
1.2研究的目的和意义
1.2.1研究的目的
每一个学校中最大的群体就是学生,而与学生关系最直接的就是教师,学生与教师庞大的数量决定了这两个群体是学校里最不便于管理的群体,在许多学校中存在着师生之间互相不认识、教师不知道自己给哪个专业代课、学生不知道自己老师是谁等状况,存在这种混乱状况的原因是多样的,比如两个群体的庞大的数量、管理的不到位等,但最根本的原因是因为缺少系统、规范的管理,而要想管理如此庞大的群体,就必须有一个系统、规范、能够反映师生状况的管理系统,这也就是此次研究的目的所在。
1.2.2研究意义
许多学校的教师、学生等各类信息目前还处于手工或半手工的管理状态,效率低,
第 3 页 共 18 页
xxxxxxxx实验用纸
可靠性差,配备电脑,但实际利用率不高。如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极的作用。另外随着计算机网络的持续发展,无论是工作、学习还是生活,将会越来越多地融入到流动的比特中,人们的工作节奏在不断加快,需要快捷的信息来源,并对此作出反应。因此,无论是从目前的现状来看,还是面向未来,一个功能完备的学校师生管理系统的开发都非常有必要。
1.3 开发工具简介
本次课程设计 实用软件为SQL Server 2005,简介如下: SQL Server:
SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX操作系统上的应用。
SQL Server 2005:
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序
SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。这使企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。
1.4人员安排
项目管理员:xxx 系统分析员:xxx 系统设计员:xxx DBA:xxx 系统测试员:xxx
第 4 页 共 18 页
xxxxxxxx实验用纸
第二章 数据库设计部分
2.1 需求分析
2.1.1 需求描述
随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。学生学籍管理系统要求实用性强、使用方便、效率高和安全可靠等特点。 经分析我们认为学生学籍管理系统的具体要求为:
1. 能全面管理学校教学相关的各类主体,如教师信息、学生信息、课程信息等; 2. 通过使用计算机能方便的维护(包括插入、删除、修改等)各信息表; 3. 能方便的实现基于多个表的连接查询; 4. 系统具有操作方便、简便等特点
因而,我们所开发的系统正是围绕以上几个方面进行的,在开发过程中充分考虑到本系统的应用特点,并进行了测试检验,证明其的确达到了设计要求。 本文主要论述学生管理系统的开发过程。
2.1.2 数据词典
数据元素 汉语 简称 数据类型 CHAR CHAR CHAR CHAR CHAR CHAR CHAR 4 10 2 10 10 20 2 10 20 40 20 4 40 4 长度 数据来源 汉语 简称 空值情况 教师号 Tno Tname 姓名 性别 年龄 职称 学号 姓名 性别 年龄 民族 专业 宿舍 电话 Tsex Tage Prof Sno Sname Ssex Sage Sdept Sdorm Stel 教师表 Teacher 主关键字 教师表 Teacher 不为空 教师表 Teacher 可为空 教师表 Teacher 可为空 教师表 Teacher 可为空 学生表 Student 主关键字 学生表 Student 不为空 学生表 Student 可为空 学生表 Student 可为空 学生表 Student 可为空 学生表 Student 不为空 学生表 Student 可为空 学生表 Student 可为空 课程表 Course 课程表 Course 课程表 Course 课程表 Course 选课表 SC 主关键字 不为空 可为空 可为空 可为空 SMALLINT SMALLINT CHAR CHAR CHAR CHAR CHAR CHAR Snation CHAR 课程号 Cno 课程名 Cname 先行课 Cpno 学分 成绩 Ccredit Crade SMALLINT SMALLINT
第 5 页 共 18 页
xxxxxxxx实验用纸
2.2数据库概念结构设计
2.2.1 E—R图
1 n m n 授课 选课 教师 学生 课程
图2-1 E—R图
2.2.2 系统实体图 姓
年教师号 图2-2 实体教师及其属性
性职教 师 学 生 学号 姓名 性别 年龄 民族 宿舍 专业 电话 图2-3 实体学生及其属性
课程表
课程号 课程名 授课教师号
图2-4 实体课程及其属性
第 6 页 共 18 页
学分 先行课
xxxxxxxx实验用纸
2.2.3 实体及其属性定义 在此系统中实体有:教师、学生、课程 联系有:授课、选课
表2-1 教师表
属性名 数据类型 长度 是否为空 教师号 CHAR 4 主关键字 姓 名 CHAR 10 不允许 性 别 CHAR 2 允 许 年 龄 SMALLINT 允 许 职 称 CHAR 10 允 许 表2-2 学生表 属性名 数据类型 长度 是否为空 学 号 CHAR 10 主关键字 姓 名 CHAR 20 不允许 性 别 CHAR 2 允 许 年 龄 SMALLINT 允 许 民 族 CHAR 10 允 许 专 业 CHAR 20 不允许 宿 舍 CHAR 40 允 许 电 话 CHAR 20 允 许 表2-3 课程表 属性名 数据类型 长度 是否为空 课程号 CHAR 4 主关键字 课程名 CHAR 40 不允许 授课教师号 CHAR 10 允 许 先行课 CHAR 4 允 许 学 分 SMALLINT 允 许 表2-4 选课表 属性名 数据类型 长度 是否为空 学 号 CHAR 10 不允许 课程号 CHAR 4 不允许 成 绩 SMALLINT 允 许 表2-5 授课表 属性名 数据类型 长度 是否为空 教师号 CHAR 4 不允许 课程号 CHAR 4 不允许
第 7 页 共 18 页
xxxxxxxx实验用纸
2.3数据库逻辑结构设计
2.3.1 初始关系模式
教师(教师号,姓名,性别,年龄,职称)
学生(学号,姓名,性别,年龄,民族,专业,宿舍,电话) 课程(课程号,课程名,授课教师号,先行课,学分) 选课(学号,课程表,成绩) 授课(教师号,课程号) 2.3.2 规范化处理
经过对初始关系模式的规范化处理一下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。( 代表主码, 代表外码)
教师(教师号,姓名,性别,年龄,职称)
学生(学号,姓名,性别,年龄,民族,专业,宿舍,电话) 课程(课程号,课程名,授课教师号,先行课,学分) 选课(学号,课程表,成绩) 授课(教师号,课程号)
2.4 数据库物理结构设计
2.4.1 基于SQL Sever的数据表设计 用SQL Sever 建表 1)教师表: SQL 语言:
IF object_ID('教师表') IS NULL CREATE TABLE 教师表 (
教师号 CHAR(4) PRIMARY KEY, 姓名 CHAR(10) NOT NULL, 性别 CHAR(2),
年龄 SMALLINT CHECK(年龄>=20 AND 年龄<=60), 职称 CHAR(10) NOT NULL );
第 8 页 共 18 页
xxxxxxxx实验用纸
图2-5 用SQL Sever 建立教师表截图
2)学生表: SQL 语言:
IF object_ID('学生表') IS NULL CREATE TABLE 学生表 (
学号 CHAR(10) PRIMARY KEY, 姓名 CHAR(20) NOT NULL, 性别 CHAR(2),
年龄 SMALLINT CHECK(年龄>=17 AND 年龄<=50), 民族 CHAR(10) DEFAULT'汉', 专业 CHAR(20) NOT NULL, 宿舍 CHAR(40), 电话 CHAR(20) );
图2-6 用SQL Sever 建立学生表截图
第 9 页 共 18 页
xxxxxxxx实验用纸
3)课程表: SQL 语言:
IF object_ID('课程表') IS NULL CREATE TABLE 课程表 (
课程号 CHAR(4) PRIMARY KEY, 课程名 CHAR(40) NOT NULL, 授课教师号 CHAR(10), 先行课 CHAR(4), 学分 SMALLINT,
FOREIGN KEY(先行课) REFERENCES 课程表(课程号) );
图2-7 用SQL Sever 建立课程表截图
4)选课表: SQL 语言:
IF object_ID('选课表') IS NULL CREATE TABLE 选课表 (
学号 CHAR(10), 课程号 CHAR(4),
成绩 SMALLINT CHECK(成绩>=0 AND 成绩<=100), PRIMARY KEY(学号,课程号),
FOREIGN KEY(学号) REFERENCES 学生表(学号), FOREIGN KEY(课程号) REFERENCES 课程表(课程号), );
第 10 页 共 18 页
xxxxxxxx实验用纸
图2-8 用SQL Sever 建立选课表截图
5)授课表: SQL 语言:
IF object_ID('授课表') IS NULL CREATE TABLE 授课表 (
教师号 CHAR(4), 课程号 CHAR(4),
PRIMARY KEY(教师号,课程号),
FOREIGN KEY(教师号) REFERENCES 教师表(教师号), FOREIGN KEY(课程号) REFERENCES 课程表(课程号) );
图2-9 用SQL Sever 建立授课课表截图
第 11 页 共 18 页
xxxxxxxx实验用纸
2.4.2 视图
SQL 语言用CREATE VIEW 命令建立视图,一般格式为 CREATE VIEW<视图名>[(<列名>[,<列名>]……)] AS <子子查询> [WITH CHECK OPTION]; 以建立信管专业学生视图为例: CREATE VIEW 信管_学生 AS
SELECT学号,姓名,性别,年龄,民族,专业,宿舍,电话 FROM 学生表 WHERE 专业=´信管´;
图2-10用SQL Sever建立信管专业学生视图
2.4.3 录入数据
图2-11 录入教师表信息
第 12 页 共 18 页
xxxxxxxx实验用纸
图2-12 录入学生表信息
图2-13 录入课程表信息
图2-14 录入授课表信息
图2-15 录入选课表信息
第 13 页 共 18 页
xxxxxxxx实验用纸
2.5 数据库操作部分
2.5.1 数据库插入操作
SQL的数据插入语句INSERT
INSERT
INTO<表名>[(<属性列1>[,<属性列2>)] VALUES(<常量1>[,<常量2>]…);
例如将一个新学生元组(学号:xxxxxxx;姓名:xxx;性别:男;年龄:20;民族:汉;专业:信管;宿舍:6#2—401;电话:xxxxxxxxxxxxx)插入到学生表中。 INSERT
INTO 学生表(学号,姓名,性别,年龄,民族,专业,宿舍,电话) VALUES(´xxxxxxxx´,´xxxx´,´男´,´20´,´汉´,´信管´,´6#2—401´,´xxxxxxxxxxxxˊ);
图2-16 数据库插入
2.5.2 数据库修改操作
修改操作又称为更新操作,其语句一般为 UPDATE<表名>
SET <列名>=<表达式>[,<列名>=<表达式>]… [WHERE <条件>];
例如将学生20907130的专业改为计科。 UPDATE 学生表 SET 专业=计科
WHERE 学号=´20907130´;
第 14 页 共 18 页
xxxxxxxx实验用纸
图2-17 数据修改
2.5.3 数据库删除记录操作 删除语句的一般格式为 DELETE FROM<表名>
[WHERE<条件>];
例如学生20907130的记录。 DELETE
FROM 学生表
WHERE 学号=´20907130´
图2-18 数据删除
第 15 页 共 18 页
xxxxxxxx实验用纸
2.5.4 关系图
图2-19 系统关系图
2.6 测试
系统测试是管理信息系统开发周期中一个十分重要而漫长的阶段。其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实施的最后审查。
为保证软件质量,必须重视软件开发后期进行的软件验收与确认阶段进行的软件测试工作,即软件可靠性测试。除了由开发人员对自己开发的模块、子系统和系统进行自行测试外,为了保证测试的客观性,还必须由非直接参与开发的测试组人员对开发的软件系统进行“第三方测试”。作为计算机软件产品,有时还需要由专业人员进行测试。由于本系统没有没有编写软件,所以不需要软件测试,只需由测试员进行验收测试。 验收测试——由非直接进行开发的人员组成,开发人员进行相关配合。
由于不需要测试软件,故只在SQL中测试各数据的类型、长度、约束条件、空值情况等。
第 16 页 共 18 页
xxxxxxxx实验用纸
第三章 总结
经过这些天的设计开发,师生管理系统基本开发完毕。本系统基本达到了系统设计要求:能够全面管理学校教学相关的各类主体,如教师信息、学生信息、课程信息等,通过使用计算机能方便的维护(包括插入、删除、修改等)各信息表,能方便的实现基于多个表的连接查询。这次课程设计是分组讨论和制作的。在制作的过程中,我们学到的不仅仅是知识,我们还认识许多事情。这次设计对我们的综合能力使一次很好的锻炼,使我们的动手能力提高了一大步,同时也使我们充分认识到合作的可贵。
在我们所制作的师生管理系统中,涉及到数据库,由于不用编写程序制作前台工作,所以我们把所有的经历都放在后台数据库的制作上,我们运用所学的数据库知识建立了基本表、视图和简单操作的的完成。最后按照xx老师的要求写成文档,从中也对WORD的运用提高的很多。但是该系统还有许多不足的地方,其中最大的不足就是没有最终真正实现,所以说这个系统到目前为止只是一个框架,其中还有许多东西还有待完善。还有就是我们对数据库知识的掌握有限或者不牢固,许多地方概念还是不清楚,因此师生管理系统知识达到了基本要求,有待进一步改善,希望老师给予批评。
本次设计小组由五名成员组成,每个成员能够根据自己的职能积极完成自己的任务,同时小组成员之间能够通过互相帮助、集体讨论等方式一步步完成设计,这是难能可贵的,在本次实际的过程中大家真正感受到了集体的智慧与团结的力量。
在设计的过程中我们确实遇到了许许多多的问题,从课本上最基本的问题到整个系统的问题都是我们前进的绊脚石,当遇到这些问题的时候我们一般会采取集体讨论的方法解决问题,或者上网寻求解决,有时实在搞不懂就向王老师请教,在团队的努力以及老师的指导下我们最终完成了设计,我想这是我们的成果也是老师的成果,感谢老师给 我们这次机会,让我们在不断地磨砺中快速成长起来。
第 17 页 共 18 页
xxxxxxxx实验用纸
附录:
1.参考资料:
《数据库系统概论》 第四版 王珊、萨师煊 2.小组成员:
项目管理员:xxx 系统分析员:xxx 系统设计员:xxx DBA: xxx 系统测试员:xxx 3.撰稿人:xxx
第 18 页 共 18 页
因篇幅问题不能全部显示,请点此查看更多更全内容