第五章一个数据库应用系统的 设计与实现 5.1应用背景与需求说明 5,2数据库设让 5,3数据库开发环境 ·5.4创建数据库 5.5创建数据库应用程序 ·5,6网终环境下的数据库应用规划
• 5.1 应用背景与需求说明 • 5.2 数据库设计 • 5.3 数据库开发环境 • 5.4 创建数据库 • 5.5 创建数据库应用程序 • 5.6 网络环境下的数据库应用规划 第五章 一个数据库应用系统的 设计与实现
5.1应用背景与需求说明 应用背景与需求说明 需产生的报表有 在单机上实现一个教学管理系统的例 每学期开学时要生成学生修课情况表,内容 子,并且可以很容易地把它移植到C/S包括学号、姓名、课程名、修课类别,其中 结构中,只涉及教学管理中的对学生 修课类别分为必修、选修、重修。 课程和教师的管理部分: 每学期结束时要生成学生修课成绩表,内容 项目的具体要求是: 包括学号、姓名、课程名、修课类别、平时 运行环境是 Windows2000操作系统 成绩、卷面成绩、总评成绩 数据库的前端开发环境是VB5.0。 生成教师授课服务表,内容包括教师号、教 师名、课程名、授课类别、学时数、班数, 门课程可由多名教师来讲授。 授课类别分为主讲、辅导、带实验。 个教师可讲授多门课程 安全性要求 一个学生可以选修多门课程。 本门课程的主讲教师才具有对其所讲授 课程的成绩的修改权,教学秘书和系主 任才有修改教师授课服务表中的内容的 权力。其它人只有查询有关信息的权力 思考:1。需求分析(信息、处理、安全、完整)
• 应用背景与需求说明 在单机上实现一个教学管理系统的例 子,并且可以很容易地把它移植到C/S 结构中,只涉及教学管理中的对学生、 课程和教师的管理部分: 项目的具体要求是: · .运行环境是Windows 2000 操作系统, 数据库的前端开发环境是VB 5.0。 · 一门课程可由多名教师来讲授。 · 一个教师可讲授多门课程。 · 一个学生可以选修多门课程。 • 需产生的报表有 – .每学期开学时要生成学生修课情况表,内容 包括学号、姓名、课程名、修课类别,其中 修课类别分为必修、选修、重修。 – .每学期结束时要生成学生修课成绩表,内容 包括学号、姓名、课程名、修课类别、平时 成绩、卷面成绩、总评成绩。 – 生成教师授课服务表,内容包括教师号、教 师名、课程名、授课类别、学时数、班数, 授课类别分为主讲、辅导、带实验。 • 安全性要求 – 本门课程的主讲教师才具有对其所讲授 课程的成绩的修改权,教学秘书和系主 任才有修改教师授课服务表中的内容的 权力。其它人只有查询有关信息的权力。 思考:1。需求分析(信息、处理、安全、完整) 5.1 应用背景与需求说明
5.2数据库设计 521概念设计 核心活动是系统中的其它活动都是围绕这个活动展开的或与此活动是密切相关的活动 确定系统的核心活动:对现实系统分析的关键 该教学管理系统中,核心活动就是授课,学生与课程之间是通过授课发生联系的,教 师与课程之间是通过教师授课发生联系的。系统所包含的实体 课程号、课程名、课程:元素为由一个主讲教师负责且教学内容相同的教学活动 讲授学期、学时数 单位,用课程号来标识此实体。 号、姓名、系、 学生:元素为一个学生,由学号来标识 专业、班级 教师:元素为一个教师,由教师号来标识。 师号、教师名 系、教研室 思考:初步E一R图: 学生Lm 修课 课程 m 授课 教师
5.2 数据库设计 • 5.2.1 概念设计 • 核心活动:是系统中的其它活动都是围绕这个活动展开的或与此活动是密切相关的活动 • 确定系统的核心活动:对现实系统分析的关键 • 该教学管理系统中,核心活动就是授课,学生与课程之间是通过授课发生联系的,教 师与课程之间是通过教师授课发生联系的。系统所包含的实体: 课程:元素为由一个主讲教师负责且教学内容相同的教学活动 单位,用课程号来标识此实体。 学生:元素为一个学生,由学号来标识。 教师:元素为一个教师,由教师号来标识。 思考:初步E-R图: 学生 修课 课程 授课 教师 m n m n 课程号、课程名、 讲授学期、学时数 学号、姓名、系、 专业、班级 教师号、教师名、 系、教研室
52.2设计关系模式 设计基本关系模式主要就是从E一R图出发,将其直接转 换为关系模式 思考:此E一R图的关系模式为: 学生LⅢ 修课 课程 授课 教师 (1)课程(课程号,课程名,讲授学期,学时数),主码为课程号 (2)学生(学号、姓名、系、专业、班),主码为学号 (3)教师(教师号、教师名、系、教研室),主码为教师号。 (4)修课(学号,课程号,修课类别,平时成绩,卷面成绩,总评成绩),主码为 (学号,课程号) (5)授课(课程号,教师号,授课类别,班数),主码为(课程号,教师号)
• 5.2.2 设计关系模式 设计基本关系模式主要就是从E-R图出发,将其直接转 换为关系模式。 (1)课程(课程号,课程名,讲授学期,学时数),主码为课程号。 (2)学生(学号、姓名、系、专业、班),主码为学号。 (3)教师(教师号、教师名、系、教研室),主码为教师号。 (4)修课(学号,课程号,修课类别,平时成绩,卷面成绩,总评成绩),主码为 (学号,课程号) (5)授课(课程号,教师号,授课类别,班数),主码为(课程号,教师号)。 思考:此E-R图的关系模式为: 学生 修课 课程 授课 教师 m n m n
52.2设计关系模式 确定表中各属性的详细信息 (1)课程表 (4)修课表 课程号:字符串型,10字节,主码 学号:字符串型,10字节,主码,学生表的外码 课程名:字符串型,20字节,非空 课程号:字符串型,10字节,主码,课程表的外码 讲授学期:字符串型,2字节,非空 学时数:整型,非空 修课类别:字符串型,4字节,非空 (2)学生表 平时成绩:浮点型,大于等于0,小于等于100 学号:字符串型,10字节,主码 卷面成绩:浮点型,大于等于0,小于等于100 姓名:字符串型,20字节,非空 总评成绩:浮点型,大于等于0,小于等于100 系:字符串型,20字节,非空 (5)授课表 专业:字符串型,20字节,非空 课程号:字符串型,10字节,主码,课程表的外码 班:字符串型,10字节,非空 教师号:字符串型,10字节,主码,教师表的外码 (3)教师表 授课类别:字符串型,10字节 教师号:字符串型,10字节,主码班数:浮点型,大于0。假设选修课有半个班的情 教师名:字符串型,20字节,非空 况,因此取浮点型。 系:字符串型,20字节 教研室:字符串型,10字节
5.2.2 设计关系模式 确定表中各属性的详细信息 (1)课程表 课程号:字符串型,10字节,主码 课程名:字符串型,20字节,非空 讲授学期:字符串型,2字节,非空 学时数:整型,非空 (2) 学生表 学号:字符串型,10字节,主码 姓名:字符串型,20字节,非空 系:字符串型,20字节,非空 专业:字符串型,20字节,非空 班:字符串型,10字节,非空 (3) 教师表 教师号:字符串型,10字节,主码 教师名:字符串型,20字节,非空 系:字符串型,20字节 教研室:字符串型,10字节 (4) 修课表 学号:字符串型,10字节,主码,学生表的外码 课程号:字符串型,10字节,主码,课程表的外码 修课类别:字符串型,4字节,非空 平时成绩:浮点型,大于等于0,小于等于100 卷面成绩:浮点型,大于等于0,小于等于100 总评成绩:浮点型,大于等于0,小于等于100 (5) 授课表 课程号:字符串型,10字节,主码,课程表的外码 教师号:字符串型,10字节,主码,教师表的外码 授课类别:字符串型,10字节 班数:浮点型,大于0。假设选修课有半个班的情 况,因此取浮点型