还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库课程设计学生成绩管理组员:信息与计算科学05205C1225万季信息与计算科学05205C1226王春雨信息与计算科学05205C1227王寅信息与计算科学05205C1230杨洋信息与计算科学05205C1231于海洋一系统需求分析数据库中至少有个一个表是来存储学生的各课成绩的有了学生成绩,得知道这个成绩是哪个学生的,所以此表中也得有学生姓名,但是学生姓名肯定有重复的,所以得必须有个标志来惟一标识一个学生,所以得给每个学生一个编号(学号),但是也得必须清楚,这个成绩是哪门课程的,所以给课程定义了一个编号之后,得想到有了学生成绩表,总得有个表来存放学生信息吧,所以又建立一个学生信息表,此表中的必须的字段得有学号、姓名、班级,其他的字段可以根据需要来添加然后就是得有个课程表来存放哪个教师教哪门课程信息,所以此表中至少得有课程号课程名称和教师的惟一标识(教师编号),再有一个表来存放教师的信息的,其中的字段必须有教师编号,教师姓名和所在的部门当然也可以有教师出生日期、职称、电话号码等字段1目的与任务学校学生成绩系统是针对数据库课程设计所做的一个小型数据库它也是一个教育单位不可缺少的部分它的内容对于学校的决策者和管理者来说都至关重要它能够为用户提供充足的信息和快捷的查询手段能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询通过此系统各科老师何管理员可以查询修改删除学生所选课的信息.能够方便的了解学生总体情况2该系统所要满足的信息要求1学籍信息管理每年的大量新生入学,老生毕业都需要处理大量的学生信息通过这一模块,可以实现学生基本情况的添加、删除、更新还能查询各个学生的情况,姓名、姓别、班级、学号等各个消息.2课程和分数信息管理每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程和成绩.而且可以查询任课的教师可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作还能查询到平均成绩以及单科最高最低成绩以及个人成绩把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率3教师信息管理对每位任课教师都有详细记录可以轻松查询教师的姓名职称编号部门等3处理要求对于编辑处理功能具有编辑权限的计算机操作人员能够向数据库表中添加记录,能够删除记录,修改记录同时,系统还应该具有数据浏览功能和打印输出功能,能够将数据查询的结果以报表的形式打印输出4安全性和完整性此系统安全性较差只是为课程设计而做没有考虑太多安全性问题对于有点数据库操作能力的人都可以进行查询修改更新.5数据字典数据字典是关于数据库中数据的描述,即元数据,而不是数据本身数据本身将存放在物理数据库中,由数据库管理系统管理数据字典有助于这些数据的进一步管理和控制,为设计人员和数据库管理员在数据库设计、实现和运行阶段控制有关数据提供依据1数据项数据项是不可再分的数据单位数据项名学号含义说明每位学生的代码,用来对所有的学生加以区分;别名学生号码;数据类型整型;长度8位;取值范围所有自然数数据项名姓名;含义说明用来对学生加以标示和区分;别名学生姓名;数据类型字符型;长度10位;取值范围所有汉字或英语;数据项名出生日期;含义说明每位同学在什么时候出生的;别名生日;数据类型整型;长度8位;取值范围所有自然数数据项名性别;含义说明用来对学生加以区分是男生还是女生;长度2位;取值范围男或女;数据项名班级;含义说明:所要在一起学习、上课的那个整体;数据类型字符型;长度16位;取值范围所有汉字和阿拉伯数字;数据项名课程名;含义说明用来标识某门课;数据类型字符型;2数据结构数据结构反映了数据之见得组合关系一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成数据结构名学生含义说明是学籍管理子系统的主体数据结构,定义了一个学生的有关信息组成学号,姓名,性别,年龄出生日期数据结构名成绩含义说明是成绩管理子系统的主体数据结构,定义了一个成绩的有关信息组成学生成绩,学号,课程名数据结构名课程含义说明是课程管理子系统的主体数据结构,定义了一个课程的有关信息组成课程名,课程号,教师编号数据结构名:教师含义说明是教师管理子系统的主体数据结构,定义了一个教师的有关信息二概念模型设计1目的与任务将需求分析阶段得到的用户需求抽象为信息世界转化为独立于具体DBMS的概念模型2实体属性结构:学生信息表(student)包括学号(sno)、姓名(sname)、性别(Ssex)、班级(class)、出生日期(sbirth)教师信息表teacher包括教师编号(tno)、姓名(tname)、性别(Tsex)、部门(depart)、职称(prof)、出生日期(tbirth)成绩表(score)包括学号(sno)、课程号(cno)、成绩(degree)课程信息表(course)包括课程号(cno)、课程名称(cname)、教师编号(tno)3E-R实体模型图分析1NNM在教学管理中,学校开设若干门学科,一个教师可以教授其中的一门或多门课程,每个学生也需要学习其中的几门课程,因此,教学管理中涉及的对象(实体型)有学生、教师和课程用E-R图描述它们之间的联系如图所示其中,学生与课程是多对多的联系,而教师与课程的联系则是一对多这四个表的总的实体-关系图三逻辑模型设计
1、Student表snoChar8不允许为空snameChar10不允许为空SsexChar2不允许为空sbirthDatetime8允许为空classChar16不允许为空typeChar7允许为空score表结构snoChar8不允许为空cnoChar5不允许为空degreeFloat8不允许为空Course表以课程号为主键,通过这个主键来对这个表进行唯一性约束cno(主键)Char5不允许为空cnamevarchar10不允许为空tnochar5不允许为空Teacher表结构Tno(主键)Char5不允许为空tnamevarchar10不允许为空departVarchar8不允许为空tsexChar2不允许为空tbirthdatatime允许为空profChar6允许为空四物理模型设计建立索引SQLSERVER的索引是一种物理结构,它能够提供一种以一列或多列的值为基础迅速查找表中行的能力索引中记录了表中的关键值,提供了指向表中行的指针它既可以在定义表时创建,也可以在定义表之后的任何时候创建索引可以创建在一个列或多个列的组合上
(1)、在学生信息表邮箱列上创建一个惟一性的非聚簇索引createuniquenonclusteredindexix_semailonstudentsemail
(2)、在教师信息表的姓名列上创建一个非惟一性的非聚簇索引createnonclusteredindexix_nameonteachertname五.程序(用VS2005做的数据库)
1.创建数据表
(1)、student表createtablestudentsnochar8primarykeysnamechar10notnullSsexchar2notnullSbirthdatetimeclasschar16notnullsemailvarchar20
(2)、teacher表createtableteachertnochar5notnullprimarykeytnamevarchar10notnulldepartvarchar8notnullTsexchar2notnullTbirthdatetimeprofchar
63、course表createtablecoursecnochar5notnullprimarykeycnamevarchar10notnulltnochar5notnullforeignkeytnoreferencescoursetno
(4)、score表createtablescoresnochar8notnullcnochar5notnulldegreefloatnotnullforeignkeysnoreferencescoursetnoforeignkeycnoreferencescoursetno
2.向表中添加记录
(1)、向学生信息表中添加insertintostudentvalues05c1201王一女1986-09-18信计052wangyi@
126.cominsertintostudentvalues05c1202王二男1986-10-18信计051wanger@
126.cominsertintostudentvalues05c1203王三女1986-06-05信计052wangsan@
126.cominsertintostudentvalues05c1204王四男1987-01-03数学051wangsi@
126.cominsertintostudentvalues05c1205王五男1986-08-25信计052wangwu@
126.cominsertintostudentvalues05c1206万一女1987-02-11信计052wanyi@
126.cominsertintostudentvalues05c1207万二男1986-03-07信计051waner@
126.cominsertintostudentvalues05c1208杨一男1986-08-08信计052yangyi@
126.cominsertintostudentvalues05c1209杨二女1985-11-23数学051yanger@
126.cominsertintostudentvalues05c1210杨三男1986-12-30数学051yangsan@
126.cominsertintostudentvalues05c1211杨四女1986-04-26信计051yangsi@
126.cominsertintostudentvalues05c1212于一男1986-07-16信计051yuyi@
126.cominsertintostudentvalues05c1213于二男1986-06-19信计052yuer@
126.cominsertintostudentvalues05c1214于三女1987-03-12信计052yusan@
126.com………………查看记录Select*fromstudent
(2)、向教师表中添加insertintoteachervalues056杨过计算机系男1973-4-5教授insertintoteachervalues032黄蓉计算机系女1975-12-1副教授insertintoteachervalues113小龙女管理系女1975-3-3副教授insertintoteachervalues214欧阳锋英语系男1974-5-5教授insertintoteachervalues302萧峰理学院男1970-5-5教授insertintoteachervalues322胡一刀理学院男1976-5-5教授查看记录Select*fromteacher
(3)、向课程表中添加数据insertintocoursevalues01数据库032insertintocoursevalues02信息论基础302insertintocoursevalues03英语214insertintocoursevalues04计算方法302insertintocoursevalues05数学分析322查看记录Select*fromcourse
(4)、向成绩表中添加insertintoscorevalues05c12020188insertintoscorevalues05c12020261insertintoscorevalues05c12020372insertintoscorevalues05c12020551insertintoscorevalues05c12010292insertintoscorevalues05c12040180insertintoscorevalues05c12040478insertintoscorevalues05c12050280insertintoscorevalues05c12050376insertintoscorevalues05c12050560insertintoscorevalues05c12090467insertintoscorevalues05c12090248insertintoscorevalues05c12090354insertintoscorevalues05c12110585insertintoscorevalues05c12140263insertintoscorevalues05c12140564insertintoscorevalues05c12120241insertintoscorevalues05c12130390insertintoscorevalues05c12130189insertintoscorevalues05c12070176insertintoscorevalues05c12070272insertintoscorevalues05c12070456insertintoscorevalues05c12080188insertintoscorevalues05c12080285insertintoscorevalues05c12080371insertintoscorevalues05c12080483insertintoscorevalues05c12080585查看记录Select*fromscore
3.一些查询语句
1、查询性别为男的学号,姓名,班级,课程号和成绩的学生selectstudent.snostudent.snamestudent.classscore.cnoscore.degreefromstudentscorewherestudent.sno=score.snoandssex=男
(2)、查询成绩在60到80之间的所有列select*fromscorewheredegreebetween60and80
(3)、查询score表中至少有5名学生选修的并以0开头的课程的平均分selectavgdegreeas平均分cnofromscorewherecnolike0%groupbycnohavingcount*=
54.建立的视图
(1)信计052班学生信息createviewxinji52asselect*fromstudentwhereclass=信计052
(2)数据库成绩的视图createviewDBS_degreesnosnamecnocnamedegreeasselectscore.snosnamescore.cnocnamedegreefromcoursestudentscorewherescore.cno=course.cnoandstudent.sno=score.snoandcname=数据库
(3)各课程平均成绩的视图createviewaverageasselectavgdegreeas平均分fromscoregroupbycno学教师班级号学号号学生信息表出生日期号学号号性别号出生日期号教师姓名号成绩表号部门号成绩号教师信息表课程名称号课程号号职称号教师编号号课程表。