您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 中国地质大学(武汉)数据库课程设计报告
数据库课程设计报告-1-数据库系统课程设计学号:2012班级序号:姓名:指导老师:刘福江成绩:中国地质大学信息工程学院2014年2月24日数据库课程设计报告-2-1.需求分析1.1需求说明设计一个教务管理系统,该系统包括教师、学生、班级、系和课程等信息,基本情况如下:教师有工作证号、姓名、职称、电话等;学生有学号、姓名、性别、出生年月等;班级有班号、最低总学分等;系有系代号、系名和系办公室电话等;课程有课序号、课名、学分、上课时间及名额等。每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系l每个班的班主任都由一名教师担任。一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。一名同学可以选多门课,一门课可被若干同学选中。一名同学选中的课若已学完,应该记录有相应成绩。本单位学生、教师都有重名,工作证号、学号可以作为标识。教学系统主要提供数据维护、选课和信息查询。其中常见的查询有:系统中各对象的基本信息查询。查询指定班、系的学生信息(名单、人数等)。查询学生的成绩、学分情况。查询教师授课情况和学生选课情况。。。等等。1.2初步需求理解教务管理系统涉及的实体有:教师——工作证号、姓名、职称、电话等;学生——学号、姓名、性别、出生年月等;班级——班号、最低总学分等;系——系代号、系名和系办公室电话等;课程——课序号、课名、学分、上课时间及名额等。这些实体之间的联系如下:每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。每个班的班主任都由一名教师担任。一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。一名同学可以选多门课,一门课可被若干同学选中。一名同学选中的课若已学完,应该记录有相应成绩。数据库课程设计报告-3-1.3数据字典1.3.1数据项编号数据项名数据项含义别名数据类型1工作证号唯一标识一名教师的编号Tnoint2姓名教师的名字Namechar3职称教师的职位级别char4电话教师的电话Telint5学号唯一标识一名学生的编号Snoint6性别学生的性别Sexchar7出生年月学生的生日Berthdate8班号唯一标识一个班级的编号Classint9最低总学分班级内最低的总学分int10系代号院系的序号Dnoint11系名院系的名称Dnachar12系办公室电话院系办公对外联系的号码Dtelint13课序号唯一标识一门课的编号Cnoint14课名课程的名称Cnachar15学分本门课程的学分float16上课时间本门课开始上课的时间time17名额本课一共可容纳的学生数量int编号数据项名长度取值范围取值含义1工作证号800000000~9999999992姓名103职称84电话1102700000000~02799999999前三位区号5学号12195300000000~205099999999前四位年份6性别27出生年月88班号6000000~9999999最低总学分3000~99910系代号3000~99911系名1612系办公室电话1102700000000~02799999999前三位区号13课序号800000000~9999999914课名1615学分0.0~10.016上课时间417名额3000~999数据库课程设计报告-4-1.3.2数据结构编号数据结构名含义说明组成1教师在校老师工作证号,姓名,职称,电话,系,课程2学生在校学生学号,姓名,性别,出生年月,班级,课程3班级由学生组成的集体班号,最低总学分,系,班主任(教师)4系由班级组成的集体系代号,系名,系办公室电话5课程课序号,课名,学分,上课时间,名额1.3.3数据流编号数据流名说明数据流来源数据流去向1变更学生信息更新学生信息变更信息学生信息2查询学生信息学号学生信息3查询教师信息工作证号教师信息4查询班级信息班号班级信息5查询系信息系代号系信息6查询课程信息课序号课程信息7选课选课表变更信息选课信息8查询选课信息学号或课序号选课信息9录入学生成绩学号和变更信息学生成绩信息10查询成绩信息学号学生成绩信息11查询上课信息学号上课时间信息1.3.4数据存储编号数据存储名说明输入的数据流输出的数据流1学生信息表修改学生信息学生信息某课程的学生信息2课程信息表所有开设课程信息学生选择的课程信息教师任教的课程信息3选课表学生所有的选课记录学生的选课表4班级信息表所有班级信息班级基本信息5系信息表所设系的信息系的基本信息数据库课程设计报告-5-1.3.5处理过程编号数据处理名说明输入数据流输出数据流1学生信息表修改学生信息学生信息某课程的学生信息2课程信息表所有开设课程信息学生选择的课程信息教师任教的课程信息3选课表学生所有的选课记录学生的选课表4班级信息表所有班级信息班级基本信息5系信息表所设系的信息系的基本信息1.4数据流图1.4.1顶层数据流图指定教师查询信息公共信息管理2.0学籍管理1.0课程初级信息学生初级信息系、班级初级信息表教师初级信息表课程管理3.0成绩管理5.0学生信息管理4.0教师信息管理6.0选课情况基本表学生信息表班级基本信息系基本信息学籍信息表教师信息表课程信息表指定班级、指定系查询信息指定学生查询信息成绩信息表数据库课程设计报告-6-1.4.2第二层数据流图公共信息管理数据流图课程管理数据流图系、班级初级信息表录入处理4.1系班级信息管理4.2系基本信息班级基本信息学生信息管理4.0系班级信息查询处理4.3指定班级、指定系查询结果查询信息成绩管理5.0教师信息管理6.0选课处理3.3录入处理3.1开课课程查询3.4课程信息管理3.2课程开课安排3.5课程开课表选课情况记录表学生信息表课程信息表班级基本信息表指定学生查询信息指定教师查询信息学生登录信息选课开课视图课程初级信息数据库课程设计报告-7-成绩管理数据流图2.概念设计2.1分E-R图选课系统关系模式图教师授课关系模式图教师与班级的关系模式图名额上课时间课程号学分课名课程教师工作证号姓名职称电话授课选修名额上课时间课程号学分课名课程出生年月学生学号性别姓名班主任教师工作证号姓名职称电话班级班号最低总学分成绩管理5.3指定学生查询信息加入成绩的选课情况记录表成绩录入处理5.2成绩查询处理5.1教师信息管理6.0选课情况记录表数据库课程设计报告-8-2.2总E-R图3、逻辑结构设计(五号宋体,具体内容:关系的描述、系统结构图)3.1E-R模型转换关系模式(主码为下划线处)教师(工作证号,姓名,职称,电话,系代号),即Teacher(Tno,Tna,Tpost,Tel,Dno)学生(学号,姓名,性别,出生年月,班号),即Student(Sno,Sna,Sex,Berth,Class)系(系代号,系名,系办公室电话),即Department(Dno,Dna,Dtel)课程(课序号,课名,学分,上课时间,名额,工作证号),即Course(Cno,Cna,Credit,Ctime,Cnum,Tno)选课(学号,课序号,成绩),即SC(Sno,Cno,Grade)班级(班号,最低总学分,工作证号,系代号),即Class(Class,TotalCredit,Tno,Dno)出生年月学生学号性别姓名属于班主任属于选修授课工作出生年月教师学号性别姓名系系代号系名系办公室电话班级班号最低总学分名额上课时间课程号学分课名课程数据库课程设计报告-9-3.2模型优化Teacher(Tno,Tna,Tpost,Tel,Dno)此为“教师”实体对应的关系模式。其中1:n联系“工作”与此关系模式合并,Dno为外码。存在的函数依赖为Tno→(Tname,Tpost,Tel,Dno),且不存在多值依赖,所以满足4NF。Student(Sno,Sna,Sex,Berth,Class)此为“学生”实体对应的关系模式。其中1:n联系“属于”与此关系模式合并,Class为外码。存在的函数依赖为Sno→(Sname,Ssex,Sbirth,Class),且不存在多值依赖,所以满足4NF。Department(Dno,Dna,Dtel)此为“系”实体对应的关系模式。存在的函数依赖为Dno→(Dname,Dphone),且不存在多值依赖,所以满足4NF。Course(Cno,Cna,Credit,Ctime,Cnum,Tno)此为“课程”实体对应的关系模式。其中1:n联系“授课”与此关系模式合并,Tno为外码。存在的函数依赖为Cno→(Cname,Credit,Ctime,Cnum,Tno),且不存在多值依赖,所以满足4NF。SC(Sno,Cno,Grade)此为m:n联系“选修”所对应的关系模式。Sno和Cno均为外部码。存在的函数依赖为完全函数依赖(Sno,Cno)→Grade,且不存在多值依赖,所以满足4NF。Class(Class,TotalCredit,Tno,Dno)此为“班级”实体对应的关系模式。其中1:n联系“属于”和1:1联系“负责”与此关系模式合并,Tno和Dno为外码。该关系模式中存在传递函数依赖:Class→Tno,(TnoClass),Tno→Dno,可得Class→Dno,故Class不属于3NF。解决方法是将其模式分解为:Class(Class,TotalCredit,Tno)和T-D(Tno,Dno),分解后的关系模式满4NF,并且T-D与Teacher的码相同,可合并为同一模式。但是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接查询,而连接是影响查询效率的主要原因,所以取消对Class的模式分解。此时Class关系模式满足2NF。3.2用户子模式设计1、某系的学生信息视图(学号,姓名,性别,出生年月,班号)2、某系的教师信息视图(工作证号,教师姓名,职称,电话,负责班级)3、某课程的学生成绩单(学号,姓名,班级,成绩)4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间)5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额)视图例1系信息(系代号、学生数、学生名单)从系、班级、学生基本表中导出SQL语句\数据库课程设计报告-10-4、物理设计4.1物理存取结构(数据库/数据库表)设计1、数据库管理系统自动在每个表的主码上建立索引,通常为B+树索引。2、在Student表Sname和Sno列上建立Stu_name索引,因为查询操作很多都使通过学生姓名或学号进行的。3、在Teacher表Tname列上建立Tea_name索引,因为查询操作很多都是通过教师姓名进行的。4.2索引设计为了提高系统性能,根据具体情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。4.3评价物理结构根据所选用的DBMS(Mysql)从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。5、系统实施附录(五号宋体,源程序清单和结果:源程序必须有注释,以及必要的测试数据和运行结果数据,提倡用英文描述。)----表的结构`class`--CREATETABLEIFNOTEXISTS`class`(数据库课程设计报告-11-`Cno`varchar(6)COLLATEutf8_unicode_ciNOTNULL,`Ccredit`floatNOTNULL,`Tnum`varchar(11)COLLATEutf8_unicode_ciNOTNULL,`Dnum`varchar(3)COLLATEutf8_unicode_ciNOTNULL,PRIMARYKEY(`Cno`),KEY`Tnum`(`Tnum`),KEY`Dnum`(`Dnum`))ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;----转存表中的数据`class`
本文标题:中国地质大学(武汉)数据库课程设计报告
链接地址:https://www.777doc.com/doc-5187803 .html