75数据库课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库系统课程设计学生姓名:班学号:指导教师:中国地质大学年月日教务管理系统1、需求分析教务管理系统该教学系统主要提供数据维护、学生选课和教师授课信息查询功能。其实现的功能(即其包含的查询)有:系统中对教师、学生基本信息的录入;系统中对教师、学生的基本信息查询;查询学生的选课情况;查询教师的授课情况;还包括学生选课功能。该数据库系统包括学生密码表、学生信息表、教师信息表、教师密码表、学生选课表、课程匹配表,管理员密码表七个关系表,基本情况如下:三张密码表均有相应账户和密码;教师信息表有工作证号、姓名、性别、族别、政治面貌、出生年月、联系方式、所在系、所在学院、职称;学生表有学号、姓名、性别、族别、政治面貌、出生年月、联系方式、班号、所在系、所在学院;课程有课程名、学分、名额、上课时间信息;授课表有课程号、工作证号信息;学生选课表有课程名称、课程号、授课老师、授课时间、授课地点、剩余容量、工作证号、成绩。课程匹配表则有课程号,学号,学生姓名,班号,所在专业,所在学院,成绩。每个学生都属于一个班,每个教师也都属于一个系。一名教师可以教多门课,一门课可以有几位主讲老师,一名同学可以选多门课。学生、教师都有可以有重名,工作证号、学号可以作为标识。系统中的实体:①教师:工作证号、姓名、性别、职称、电话等;②学生:学号、姓名、性别、出生年月、职位、电话等;③班级:班号、最低总学分、人数等;④系:系代号、系名、系办公室电话等;⑤课程:课序号、课名、学分、上课时间、名额等。实体间关系:①每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系;②每个班的班主任都由一名教师担任;③一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的);④一名同学可以选多门课,一门课可被若干同学选中;⑤一名同学选中的课若已学完,应该记录有相应成绩;⑥本单位学生、教师都有重名,工作证号、学号可以作为标识。系统的需求:①教学系统主要提供数据维护、选课和信息查询;②系统中各对象的基本信息录入与查询;③指定班、系的学生信息查询;④学生的成绩、学分情况查询;⑤教师授课情况和学生选课情况查询。系统的组成:教务管理系统包括教师管理子系统、学生管理子系统、管理员管理子系统。其中各个系统中拥有独自的一套查询、添加、删除、更新操作。系统管理员进行数据维护的操作。2、概念设计(1)概念模型(E-R图):①选课E-R图①授课E-R图学生课程恩选mn学号年龄性别所在系课程号课名学分名额课程号课名学分名额教师课程授mn工作证号姓名性别电话①总E-R图(2)数据字典:①数据项编号实体数据项名数据项含义说明数据类型长度与其他数据项的逻辑关系1教师工作证号区别老师的数据项Bigint20决定姓名性别等教师属性2姓名允许重名Char10决定性别等教师属性3性别老师性别Char104所在系所在系Char105电话老师的联系方式Bigint206用户名登录验证Char207用户密码登录验证Char208所在学院所在学院Char309族别所属民族Char3010职称老师的职称Char2011政治面貌老师的政治面貌Char2012学院电话学院电话Bigint2013出生年月老师出生年月Char2014学生学号区别学生的数据项Bigint20决定姓名性别等学生属性15学生姓名允许重名Char1016学生性别学生性别Char1017出生年月允许重复Char18所在系允许空值Char1019班号学生联系方式Char1120用户名登录验证Char2021用户密码登录验证Char2022所在学院所在学院Char3023族别所属民族Char3024政治面貌学生的政治面貌Char2025联系方式学生联系方式Bigint26课程课程号区别课程的数据项Char10决定课名学分等课程属性…m学生选学姓专课程教师授nmn工作证号课程姓电…27课程名课程名称Char1028学分所含学分Char1029上课时间上课日期Char3030名额课程限制最高人数Char1031选课课程号学生所选课课程号Char10由课程表课程号和学生表学号决定32学号学生学号Char2033授课课程号学生所选课课程号Char10由课程表课程号和学生表学号决定34工作证号教师工作证号nchar20②数据流编号数据流名数据流来源数据流去向1查询教师信息工作证号教师信息2注册教师信息插入的信息教师信息3查询学生信息学号学生信息4注册学生信息插入的信息学生信息5查询课程信息学号课程信息7选择课程选课信息课程匹配表8查询选课信息学号选课信息9查询授课信息课程号课程匹配表总数据流图录入选课查询评价5.0更新:②数据结构编号数据结构名含义说明组成1教师教师实体工作证号、姓名、性别、族别、政治面貌、出生年月、联系方式、所在系、所在学院、职称2学生学生实体学号、姓名、性别、族别、政治面貌、出生年月、联系方式、所在系、所在学院、班号3课程课程实体课程号、课名、余量、上课时间、上课地点4选课学生实体和课程实体学号、课程号、成绩5任教教师实体和课程实体工作证号、课程号3、逻辑结构设计①关系的描述根据数据库系统设计的最基本的要求,消除依赖集F中的部分依赖和传递依赖,消除插入异常、删除异常、修改异常,达到第三范式无损链接和保持依赖,从而得到以下关系模型以及其主码:教师(工作证号、姓名、性别、电话、所在系、用户名、用户密码)学生(学号、姓名、性别、年龄、所在系、班号、用户名、用户密码)课程(课程号、课程名、学分、名额、上课时间)选课(课程号、学号)授课(课程号、工作证号)以上加下划线的表示关系模型里面的主码。②实体间的联系分析教师—班级:1:1;系—教师:1:n;系—班级:1:n;班级—学生:1:n;课程—教师:m:n;课程—学生:m:n4、物理设计4.1物理存储结构编号数据存储名说明输入的数据流输出的数据流1教师信息表存取教师信息教师实体其中一项或多项项信息教师信息或任课信息2学生信息表存取学生信息学生实体其中一项或多项项信息学生信息或选课信息3选课信息表存取课程信息课程实体其中一项或多项项信息课程信息或选课信息或任课信息4课程匹配表存取选课信息学生所有选课记录选课信息或课程信息4.1.1数据库我本次课程设计采用了SQLsever平台进行存储建立基本表与信息。编写关系模式,载入数据。其存在多种存取方法。并且首先要运行调试软件的运行恢复部分,确保数据日后的转储与恢复。4.1.2基本表Student表------------------------------DROPTABLEIFEXISTS`Student`;CREATETABLE`student`(`学号`bigint()NOTNULL,`姓名`char(30)NOTNULL,性别`char(10)DEFAULTNULL,`族别`char(30)NOTNULL,`政治面貌`char(20)NOTNULL,`出生年月`char(30)NOTNULL,`联系方式`bigint()NOTNULL,`班号`bigint()NOTNULL,`所在专业`char(20)NOTNULL,`所在学院`char(20)NOTNULL,PRIMARYKEY(`学号`),KEY`姓名`(`姓名`))ENGINE=InnoDBDEFAULTCHARSET=utf8;------------------------------Teacher表------------------------------DROPTABLEIFEXISTS`Teacher`;CREATETABLE`Teacher`(`工作证号`bigint()NOTNULL,`姓名`char(30)NOTNULL,性别`char(10)DEFAULTNULL,`族别`char(30)NOTNULL,`政治面貌`char(20)NOTNULL,`出生年月`char(30)NOTNULL,`联系方式`bigint()NOTNULL,`职称`char(20)NOTNULL,`所在专业`char(20)NOTNULL,`所在学院`char(20)NOTNULL,‘学院电话’char(20)NOTNULL,PRIMARYKEY(`工作证号’))ENGINE=InnoDBDEFAULTCHARSET=utf8;------------------------------选课表------------------------------DROPTABLEIFEXISTS`studentchoose`;CREATETABLE`studentchoose`(`cNum`varchar(7)NOTNULL,`Name1`varchar(5)NOTNULL,`Unit`varchar(20)NOTNULL,PRIMARYKEY(`cNum`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--------------------------------studentchoose表------------------------------DROPTABLEIFEXISTS`stock`;CREATETABLE`stock`(`课程名称`char(30)NOTNULL,`课程号`bigint()NOTNULL,`授课老师`char(30)NOTNULL,`授课时间`char(30)NOTNULL,`剩余容量`char(30)NOTNULL,`工作证号`char(30)NOTNULL,`成绩`bigint()NOTNULL,PRIMARYKEY(`课程号`),)ENGINE=InnoDBDEFAULTCHARSET=utf8;--------------------------------ATapparier表------------------------------DROPTABLEIFEXISTS`ATapparier`;CREATETABLE`ATapparier`(`课程号`bigint()NOTNULL,`学号`bigint()NOTNULL,`姓名`char(30)NOTNULL,‘班号’char(20)NOTNULL,`所在专业`char(20)NOTNULL,`所在学院`char(20)NOTNULL,‘成绩’char(20)NOTNULL,PRIMARYKEY(`课程号`))ENGINE=InnoDBDEFAULTCHARSET=utf8;DROPTABLEIFEXISTS`ATapparier`;CREATETABLE`ATapparier`(`课程号`bigint()NOTNULL,`学号`bigint()NOTNULL,`姓名`char(30)NOTNULL,‘班号’char(20)NOTNULL,`所在专业`char(20)NOTNULL,`所在学院`char(20)NOTNULL,‘成绩’char(20)NOTNULL,PRIMARYKEY(`课程号`))ENGINE=InnoDBDEFAULTCHARSET=utf8;4.2索引设计4.2.1存储安排方法选择:教务管理系统是一个多用户共享系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。数据库管理系统一般提供多种存取方法:第一类是缩阴方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是Hash方法。我们现在主要采用B+树索引存取方法。4.2.2索引一个属性经常在查询条件中出现,则考虑这个(组)属性上建立索引(或组合索引);如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;如果一个(组)属性经常在链接操作的链接条件中出现,则考虑在这个(组)属性上建立索引——学号,工作证号,课程号。4.2.3存储路径的建立我将表和索引放在不同的磁盘上,在查询时,由于磁盘驱动器秉性工作,可以提高物理I/O读写的效率;将比较大的表,如“选课信息”,分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效;另外将日

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功