1数据库课程设计教学管理系统2评价标准分数比例(%)成绩论文论文结构包含:相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、系统测试方案和测试报告、系统的主要功能和使用说明、系统安装说明。要求论文完整、内容详细,格式规范。40程序系统运行正确;功能完善:有增、删、改、查功能,有基本的报表、查询、统计和输入、输出功能;工作量充分;系统实现技术的难度。30数据库设计E-R图设计正确;数据库逻辑结构设计规范化;数据库物理设计合理。30总评成绩优良中及格不及格总分3前言...4前言...4相关技术介绍...4第一章需求分析...41.1任务概述...51.1.1目标...51.1.2运行环境...51.2数据流图...51.3数据字典...61.4系统流程分析...6第二章概念结构设计...7第三章逻辑结构设计...83.1逻辑结构设计...83.2规范化处理...10第四章数据库物理设计...114.1索引表...104.2系统配置...114.3视图...11第五章数据库的实施...115.1创建数据库及数据库对象...115.2完整性约束创建...135.3数据库的维护及备份...145.3.1维护...145.3.2检测并改善数据库性能...145.3.3备份...14第六章前台用户界面...14第七章结论与体会...17参考文献40、前言0.1引言数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行环境。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我按照以上几点开发了学生选课管理系统数据库。0.2相关技术介绍0.2.1MYSQL概述MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。0.2.2VisualStudio概述MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。1、需求分析1.1任务概述1.1.1目标建立一个教学管理系统,系统通过数据库存储学校学生、教职工、系、课程以及成绩等资料,系统管理员可通过用户名与密码进入数据库,并根据给予的权限对数据库的数据进行查询或修改。删除的数据要留底。对数据库进行操作级审计。5系信息表成绩信息表管理员展示系统显示器信息增删改查教职工信息表课程信息表学生信息表1.1.2运行环境(1)、硬件配置安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求:使用1G内存不小于40MB的可用硬盘空间(2)、软件配置安装本软件之前,需要确保计算机已安装:MicorsoftWindowsXP及以上的操作系统.NETFramework3.5以上1.2数据流图操作数据信息数据信息图1顶级数据流图用户名密码登录信息管理员信息验证通过学生信息操作增删改查操作教职工信息课程信息删除的信息成绩信息系信息图2、一级数据流图管理员教学管理系统数据库显示器管理员登录信息验证管理员信息表历史表审计数据库61.3数据字典数据元素数据类型数据长度数据组成数据来源描述学号Varchar1010{数字}10学生信息表成绩表唯一标示学生的号码职工号Varchar88{数字}8职工信息表唯一标示教工姓名Varchar101{汉字}10学生信息表职工信息表人员姓名性别Varchar1[男|女]学生信息表职工信息表人员性别所在系号Int33{数字}3学生信息表职工信息表系号Int33{数字}3系信息表唯一标示一个系的编号系名称Varchar201{汉字}20系信息表课程号Int44{数字}4课程信息表成绩表唯一标示一个课程的编号课程名称Varchar201{汉字}20课程信息表任课老师Varchar88{数字}8课程信息表这节课的负责教师考试成绩Int31{数字}3成绩表1.4系统流程分析前面的分析中我们确定了系统各个功能模块,属于静态建模的范围。在系统运行时刻的动态模型应该由系统流程决定。从上面的功能描述中,我们可以把各个系统分为5个模块:用户验证,师生信息管理,课程信息管理,成绩管理和信息查询。在每个模块下又提供更为具体的功能。详细的系统模块关系图如图3所示。图3、程序流程图验证失败反馈信息查询退出系统信息增删改登录界面师生信息管理课程信息管理成绩管理用户验证信息查询成功7通过对整个管理系统的功能分析,可以定义出系统的功能模块图,从中再细分各模块,可以得到系统概要模块如下:图4、功能模块图2数据库概念结构设计采用E-R图的分析方法,首先对局部视图进行分析设计,然后再实现视图集成。在视图集成时,注意要尽量消除冲突和冗余。在这里直接给出视图集成后的E-R图,如图5所示。E-R图如下图5、实体E-R图学生信息管理教工信息管理师生信息管理选课管理课程信息管理成绩管理信息查询教学管理系统身份验证综合查询统计报表系信息管理MMN成绩学生选课课程系教工属于属于教授NNN11权限密码管理员用户名83数据库逻辑结构设计根据E-R图,我们可以创建以下数据表。系统管理员表系统管理员(admin)存储了登录本系统的用户的登录ID和密码,权限以及盐值表1、系统管理员表字段名称数据类型可否为空约束条件说明ADMIN_USERVarchar(50)NOTNULL主键管理员IDADMIN_PSWDVarchar(256)NOTNULL无管理员密码哈希值ADMIN_PERMITVarchar(1)NOTNULL无管理员权限SaltVarchar(10)NOTNULL无管理员密码盐值学生信息表学生信息表(student)存放了学校的所有学生的基本信息,所有有关学生的操作都与这个表有关。通过时间戳自动生成入学时间。信息从表中删除时加入历史表留底。表2、学生信息表字段名称数据类型可否为空约束条件说明SnoVarchar(50)NOTNULL主键学生学号SnameVarchar(50)NOTNULL无学生姓名SsexVarchar(1)NOTNULL无学生性别S_DnoVarchar(50)NOTNULL外键学生所在系号SindateDatetimeNOTNULL时间戳形成学生入学时间教师信息表教师信息表(teacher)存放了学校的所有教师的基本信息,所有有关教师的操作都与这个表有关。通过时间戳自动生成入职时间。信息从表中删除时加入历史表留底。表3、教师信息表字段名称数据类型可否为空约束条件说明TnoVarchar(50)NOTNULL主键教师工号TnameVarchar(50)NOTNULL无教师姓名TsexVarchar(1)NOTNULL无教师性别T_DnoVarchar(50)NOTNULL外键教师所在系号TindateDatetimeNOTNULL时间戳形成教师入职时间系信息表系信息表(department)存放了学校的所有系的基本信息,并且与学生表以及教师表有紧密联系9表4、系信息表字段名称数据类型可否为空约束条件说明DnoVarchar(50)NOTNULL主键系号DnameVarchar(50)NOTNULL无系名称DsummaryTextNULL无系简介课程信息表课程信息表(course)记录了学校中所有课程的信息。表5、课程信息表字段名称数据类型可否为空约束条件说明CnoVarchar(50)NOTNULL主键课程号CnameVarchar(50)NOTNULL无课程名称C_TnoVarchar(50)NOTNULL外键任课老师工号成绩信息表成绩表(sc)记录了某个学生在某们课程得到的成绩。表6、成绩表字段名称数据类型可否为空约束条件说明SnoVarchar(50)NOTNULL主键、外键学生学号CnoVarchar(50)NOTNULL主键、外键课程名称GradeIntNULL无当科成绩历史表历史表(history)记录了离校学生或离职教师的信息,通过触发器自动生成,尽量避免手动添加。作为留底超过一定数量应给予整理。表7、历史表字段名称数据类型可否为空约束条件说明HnoVarchar(50)NOTNULL主键曾用标示号hnameVarchar(50)NOTNULL无姓名hSexVarchar(1)NOTNULL无性别hdepartmentVarchar(50)NOTNULL无曾在系名hindateDatetimeNOTNULL无入学日期houtdateDatetimeNOTNULL时间戳形成离校日期审计表审计表(Accesslog)记录了除管理员外的数据库用户对数据库的使用情况,处于安全性考虑,用独立的数据库进行保存,并且只赋予管理员权限进行查看。只可通过系统进行数据添加,严禁手工操作数据!10表8、审计表字段名称数据类型可否为空约束条件说明IdVarchar(50)NOTNULL主键、自增标示号timetimestampNOTNULL时间戳形成操作时间loaclnameVarchar(50)NOTNULL无操作帐号matchnameVarchar(50)NOTNULL无对应用户3.2规范化处理经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。(加粗代表主码,斜体外码)Admin(ADMIN_USER,ADMIN_PSWD,ADMIN_PERMIT)Student(Sno,Sname,Ssex,S_Dno,Sindate)Teacher(Tno,Tname,Tsex,T_Dno,Tindate)Department(Dno,Dname,Dsummary)Course(Cno,Cname,C_Tno)SC(Sno,Cno,Grade)4物理结构设计数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理结构设计。数据库的物理结构设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的中的是时间和空间效率。4.1创建数据库及建立索引以及完整性约束使用工具NavicatforSQL,创建了sch