
学生课程管理系统.doc
3页1.需求说明如果要实现一个学校课程管理系统,在此学校课程管理系统中只涉及对学生、班级、课程、教师和参考书的管理,此系统要求能够记录学生的选修情况、教师的授课情况,以及学生、班级、课程、教师和参考书的基本情况系统具体要求如下:•一门课程可由多名教师讲授•一名教师可以讲授多门课程•一名学生可以选修多门课程•一门课程可被多名学生选修•一个班级可以有多名学生•一名学生只能在一个班级•一门课程可用多本参考书•一本参考书可以用于多门课程•一名教师可以用多本参考书•一本参考书可以被多名教师用•班干部领导若干名学生•一个学生仅被另外一个学生直接领导数据库中要记录学生的选课情况、教师的授课情况、教师使用参考书情况、学生组成班级的情况,以及学生、班级、课程、教师和参考书的基本情况除了对这些数据进行正常的维护之外,还需要产生如下报表:•每学期开学时要生成学生选课情况表,内容包括学号、姓名、课程号、选课类别,其中选课类别分为必修、选修和重修•每学期结束时要生成学生选课成绩表,内容包括学号、姓名、课程号、选课类别、平时成绩、卷面成绩、总评成绩•每学期开学时要生成学生组成班级情况表,内容包括学生、姓名、性别、年龄、班级编号、所属专业号。
•可随时生成教师授课表,内容包括教师号、教师名、课程名、授课类别、学时数、班数,授课类别分为主讲、和带实验•可随时生成教师参考书使用表,内容包括参考书号,书名,教师号,教师名2.数据库结构设计2.1概念结构设计现在对上述需求作进一步的分析,产生概念结构设计的E-R模型采用自顶向下的设计方法自顶向下设计的关键首先是确定系统的核心活动所谓核心活动就是系统中的其他活动都要围绕这个活动展开或与此密切相关确定了核心活动之后,系统就有了可扩展的余地对于这个教学管理系统,其核心活动是课程,学生与课程之间是通过学生选课发生联系的,教师与课程之间是通过教师授课发生联系的学生和课程之间是通过选课发生联系的,参考书和课程之间是通过讲授发生联系的学生和课程之间是通过选课发生联系的,学生和班级是通过组成发生联系的至此,此系统包括的实体有:•学生:用于描述一名学生的基本信息,由学号来标识•班级:用来描述一个班级的基本信息,由班级号来标识•课程:用于描述一门课程的基本信息,用课程号来标识•教师:用于描述一名教师的基本信息,由教师号标识•参考书:用于描述一本参考书的基本信息,由书号来标识由于一名学生可以选修多门课程,并且一门课程可以被多个学生选修。
因此,学生和课程之间是多对多的联系又由于一门课程可由多名教师讲授,而且一名教师可以讲授多门课程,因此,教师和课程之间也是多对多联系又由于一个班级可以有多名学生,一名学生只能在一个班级,因此班级和学生之间是一对多的联系一门课程可用多本参考书,一本参考书可以用于多门课程,所以,课程和参考书之间是一对多的联系又由于一名教师可以用多本参考书,一本参考书可以被多名教师用,所以,教师和参考书之间是多对多的联系如果实体的属性比较多,在制作E-R模型时不一定要把所有的属性都制作在E-R模型上,可以另外用文字说明,这样也使得E-R模型简明清晰,便于分析经过初步分析,可以得到此系统中各实体所包含的基本属性如下:学生:学号、姓名、性别、年龄班级:班级编号、所属专业系课程:课程号、课程名、学分教师:教师号、姓名、性别、年龄、职称参考书:书号、书名、内容提要、价格这五个实体的属性用E-R图表示,如图(2)所示2.2逻辑结构设计了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模型设计基本关系模式主要从E-R模型出发,将其直接转换为关系模式根据转换规则,这个E-R模型转换关系模式为:•学生(学号,姓名,性别,年龄),主码为学号。
•班级(班级编号,所属专业系),主码为班级编号•课程(课程号,课程名,学分),主码为课程号•教师(教师号,姓名,性别,年龄,职称),主码为教师号•参考书(书号,书名,内容提要,价格),主码为书号现在分析一下这些关系模式由于在设计关系模式时是以现实存在的实体为依据,而且遵循一个基本表只描述现实世界的一个主题的原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上诉所有这些关系模式都是第三范式的关系模型在设计好关系并确定好每个关系模式的主码后,应该看一下这些关系模式之间的关联关系,即确定关系模式的外码实际上只需看E-R模型中的联系即可组成”关系中的“班号”与“班级”关系中的主码“班号”是同语义,且取值域相同,组成关系中“学号”与“学生”中的主码学号是同语义且取值域相同因此应在组成关系中添加“班号”和“学号”两个外码,她们分别引用班级关系中的“班号”和“学生”中的学号,“选课”关系中的“学号”与“学生”关系中的主码“学号”是同词义且取值域相同,“选课”关系中的“课程号”与“课程”中的主码“课程号”是同义词且取值域相同因此,应在“选课”关系中添加“学号”和“课程号”两个外码,它们分别引用“学生”关系中的“学号”和“课程”中的“课程号”。
讲授关系中的“课程号”与课程关系中的主码“课程号”是同语义且取值域相同讲授关系中的“教师号”与教师中的“教师号”是同语义,且取值域相同,因此应在讲授关系中添加“课程号”和“教师号”两个外码,它们分别引用课程关系中的“课程号”,和教师关系中的“教师号”讲授关系中的“课程号”与课程关系中的主码“课程号”是同语义且取值域相同,讲授过程中的“书号”与参考书中的主码“书号”是同语义且取值域相同,因此,应在讲授关系中添加“课程号”和“书号”两个外码,它们分别引用课程关系中的“课程号”和参考书中的“书号”最后确定表中各属性的详细信息,包括数据类型和长度等教师号:普通编码定长字符串型,10字节,主码姓名:普通编码定长字符串型,10字节,非空性别:普通编码定长字符串型,7字节,非空年龄:普通编码定长字符串型,整形职称:普通编码定长字符串型,6字节,取值范围为{教授,副教授,讲师,助教}5.参考书表书号:普通编码定长字符串型,10字节,主码书名:普通编码定长字符串型,10字节,非空内容提要:普通编码定长字符串型价格:普通编码定长字符串型有了数据库的基本表之后,需看一下这些基本表的内容能否满足产生报表的需要。
在数据库应用系统中,用户需要产生大量的报表,而报表的内容来自数据库中的基本表,因此,在设计好数据库的基本表之后,要看一下这些基本表的内容是否全部包含了要产生的报表的内容如果满足,则说明所设计的基本表在满足报表方面是完善的;若不能满足,则要看一下报表中的哪些项没有被包含在基本表中,并将他们加到合适的基本表中当然,在基本表中增加了新属性后,要判断被修改的表是否还满足第三范式的要求,如果不满足,还要进行关系的规范化。
