数据库系统原理课程设计实验报告册.doc
数据库系统原理课程设计 二级学院: 电子与计算机学院 专业班级:计算机科学与技术1班 姓 名: 常龙 17 / 17教学成绩管理系统一、需求分析通过与学院有关部门座谈了解、信息收集等,了解到该学院“教学成绩管理系统”开发的任务是实现学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。(1)教师:在校园网(局域网)或互联网录入与查询所代课程成绩数据,查询学院、系部、教研室、专业、教师、学生、课程信息等数据;(2)班主任:在校园网或互联网录入与查询所负责班级的学生档案信息,查询学院、系部、教研室、专业、教师、课程信息和所管理学生成绩等数据;(3)学生:在校园网或互联网查询学生个人档案信息和成绩信息,查询学院、系部、教研室、专业公共信息和所在班级的课程设置信息;(4)领导:在校园网或互联网查询本系统所有信息;(5)成绩管理人员:在校园网或互联网查询本系统所有信息,在校园网维护所有数据。教学成绩管理系统系统设置公共信息师资管理学籍管理课程设置成绩管理学生信息录入按学号查询按姓名查询按班级查询组合查询教学成绩管理系统的功能结构图具体功能结构图如下:设计要求:根据上面需求分析阶段的分析,画出系统的数据流图,要求至少画三层(包括顶层);然后根据数据流图,写出数据字典(要求有数据项、数据结构、数据存储、数据流)。注意:正确使用数据流图的符号。1. 数据流图2. 数据字典 二、概念结构设计1、确定数据库中涉及的实体在教学成绩管理系统中主要涉及的实体包括:学生、教师、课程、学院、系部、教研室、专业、班级等。2、根据需求分析确定实体的属性具体的实体属性参考表如下:(根据所做需求的不同可能在个别属性上会有些出入)实体属性学生学号、姓名、密码、性别、出生日期、民族、籍贯、家庭住址、邮政编码、联系电话、身份证号、政治面貌、班级编号、入学日期、备注、简历、照片教师教师编号、登录名、姓名、密码、性别、教研室编号、出生日期、工作日期、职称、职务、学历、学位、工资、照片课程课程编号、课程名、院系编号、学时、学分、类别、考试类型学院学院编号、学院名称、简称、院长、学院书记系部系部编号、系部名称、系部主任、系部书记教研室教研室编号、教研室名称、教研室主任专业专业编号、院系编号、专业名称班级班级编号、班级名称、年级、专业编号、人数、学制、班主任、班长、班书记3、根据需求分析确定实体间的联系实体确定后,根据需求分析确定实体间的关系:教师、学生、课程:三个实体间存在“教学成绩”的关系,而且教师与学生之间是多对多的关系,学生与课程之间也是多对多的关系,教师和课程之间也是多对多的关系;教师、班级、课程:三个实体之间存在“班级课程设置”的关系,而且班级和教师之间是多对多的关系,班级和课程之间是多对多的关系;此外,其他实体间也存在着隶属或属于关系:系部、学院:一个学院可以包含多个系部,一个系部只能属于一个学院;教研室、系部:一个系部包括若干个教研室,一个教研室只能属于一个系部;专业、学院:一个学院可以包括若干个专业,一个专业只能属于一个学院;专业、班级:一个专业包括若干个班级,一个班级只能属于一个专业;教师、教研室:一个教研室包括若干个教师,一个教师只能属于一个教研室;学生、班级:一个学生属于一个班级,一个班级包含若干学生。设计要求:根据实体以及实体之间的联系画出具体的E-R图。注意:正确使用E-R图的符号,E-R图要画完整,限于篇幅的关系,在画E-R图时可以不标出具体实体的属性,而只体现实体以及实体之间的联系;具体实体和属性可以分别表示。4、E-R图三、逻辑结构设计逻辑结构设计分为两部:首先根据E-R图转换得到具体关系数据模型,然后根据具体的规范化要求对关系数据模型进行规范化。设计要求:针对概念结构设计阶段的E-R图,分解得到具体的关系模式,并以下划线的形式标识出具体的主码。注意:关系模式可以以如下方式给出:关系名(属性1,属性2,)1.具体关系模式学生(学号、姓名、密码、性别、出生日期、民族、籍贯、家庭住址、邮政编码、联系电话、身份证号、政治面貌、班级编号、入学日期、备注、简历、照片);教师(教师编号、登录名、姓名、密码、性别、出生日期、教研室编号、工作日期、职称、职务、学历、学位、工资、照片);课程(课程编号、课程名、系部编号、学时、学分、类别、考试类型);学院(学院编号、学院名称、简称、院长、学院书记);系部(系部编号、学院编号、系部名称、系部主任、系部书记);教研室(教研室编号、专业编号、教研室名称、教研室主任);专业(专业编号、系部编号、专业名称);班级(班级编号、班级名称、年级、专业编号、人数、学制、班主任、班长、班书记);班级课程设置(班级编号、教师编号、课程编号、学年学期、学时);教学成绩(学号、课程编号、教师编号、学年学期、成绩、分数、考试类别、考试考查类型、考试日期、录入日期);四、物理结构设计设计要求:针对关系模式设计具体的二维表存储形式,包括属性名、数据类型、长度等,针对具体关系模式可以以如下二维表形式给出物理结构:表名(最好是纯英文)属性名数据类型及长度是否可空是否主码约束条件属性名1Char(10)否是属性2Int是否12到20之间表1 学生信息表表2 教师信息表表3 课程信息表表4 学院信息表字段名(属性名)数据类型是否可空约束条件学院编号char(4)否主键学院名称nchar(20)否纯中文、不重复简称nchar(10)否纯中文、不重复院长nchar(4)是学院书记nchar(4)是表5 系部信息表字段名(属性名)数据类型是否可空约束条件系部编号char(6)否主键学院编号char(4)否纯中文、不重复系部名称nchar(20)否纯中文、不重复系部主任nchar(4)是系部书记nchar(4)是表6 教研室信息表字段名(属性名)数据类型是否可空约束条件教研室编号char(8)否主键专业编号char(6)是有效地专业编号(外键)教研室名称nchar(20)否纯中文、不重复教研室主任nchar(4)是表7 专业信息表字段名(属性名)数据类型是否可空约束条件专业编号char(6)否主键系部编号char(6)否有效地系部编号(外键)专业名称nchar(20)否表8 班级信息表字段名(属性名)数据类型是否可空约束条件班级编号char(8)否主键班级名称varchar(15)否年级char(4)否专业编号char(6)否有效地专业编号(外键)人数int是学制int是班主任nchar(4)是班长nchar(4)是班书记nchar(4)是表9 班级课程设置信息表字段名(属性名)数据类型是否可空约束条件班级编号char(8)否有效的班级编号(外键)教师编号char(8)否有效的教师编号(外键)课程编号char(6)否有效的课程编号(外键)学年学期char(11)是学时int是20-300表10 教学成绩信息表字段名(属性名)数据类型是否可空约束条件学号char(8)否有效的学号(外键)课程编号char(6)否有效的课程编号(外键)教师编号char(8)否有效的教师编号(外键)学年学期char(11)是成绩char(10)是优、良、中、及格、不及格、补考及格分数numeric是0-100考试类别nchar(4)是期末考试、期中考试、补考、认证考试考试考查类型nchar(2)是考试、考查考试日期datetime是录入日期datetime是五、数据库实施设计要求:针对物理结构设计阶段形成的具体二维表,在SQL server 2000/2005中进行设计实现,同时考虑设计具体的完整性、安全性;为常用的功能设计视图、存储过程、触发器和游标等。1. 外键约束:1) 班级课程设置表中外键为班级编号、课程编号、教师编号,他们3个共同组成班级课程设置的主键2) 教学成绩表表中外键为学号、教师编号、课程编号,他们3个共同组成教学成绩表表中的主键。2. 相关约束条件:1)学生信息表字段名(属性名)是否可空约束条件学号否主键姓名否汉字密码是性别否男或女出生日期是民族是默认汉族籍贯是家庭住址是邮政编码是数字联系电话是身份证号是不能重复政治面貌是党员、团员、群众、其他班级编号是有效的班级编号(外键)入学日期是备注是简历是照片是2)教师信息表字段名(属性名)是否可空约束条件教师编号否主键姓名否登陆名是密码是性别否男或女出生日期是教研室编号否有效的教研室编号(外键)工作日期是职称是助教、讲师、副教授、教授、空职务是学历是学位是学士、硕士、博士、双学士、空工资是照片是3)课程信息表字段名(属性名)是否可空约束条件课程编号否主键课程名否系部编号否有效地系部编号(外键)学分否学时否20-300类别否公共基础课、选修课、专业基础课、专业课考试类型否考试、考查4)学院信息表字段名(属性名)是否可空约束条件学院编号否主键学院名称否纯中文、不重复简称否纯中文、不重复院长是学院书记是六、应用系统简单功能实现设计要求:使用前端开发工具进行简单设计,能够显示后台数据表或视图内容,并实现插入、删除、查询等简单功能。(可针对一个数据表设计即可)系统实现功能介绍(贴图配合文字):1.登录功能:输入用户名,密码进行登录 图 12.登录成功后进入菜单选择功能界面图 23.查询功能选择界面 图 34.具体查询功能界面1)查询教师信息:图 42)查询学生信息:图 53) 查询课程信息:图 64) 查询教研室信息:图 7七、数据库系统运行和维护设计要求:对设计好的系统进行运行,同时从前台和后台进行数据操作,测试是否有问题出现,如果有问题在文档中记录出现的问题并找出解决办法。主要问题与解决方法研究:1.控件数组的下标问题 数组下标不应该从1开始而是从0开始2.数据库的连接不上问题 安装补丁SQLEXPR32_CHS3代码名称问题 由于代码部分是由例子中粘贴过来的, 有的部件名称不对应, 所以未避免编译出错, 需将有关代码中的名称改成实际部件名称.八、 收获与不足 通过不到两个月的实训课学习,我学会了怎样使用VB做一些小的程序系统,实现一些功能,学会了对SQL 2005的一些操作,学会了连接数据源(ODBC ),这些加在一起便可以做成一个小型的简单系统。不足的方面是有的功能还没能实现,在假期中我会加以完善,谢谢赵老师的谆谆教导,赵老师辛苦了。