任务2-7 案例:设计学生信息管理数据库 课件(共23张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

任务2-7 案例:设计学生信息管理数据库 课件(共23张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共23张PPT)
设计数据库
任务2-1 数据库设计概述
目录
Contents
任务2-2 需求分析
任务2-3 概念结构设计
任务2-4 逻辑结构设计
任务2-5 数据库的物理设计
任务2-6 数据库的实施、运行和维护
任务2-7 案例:设计学生信息管理数据库
PART 7
任务2-7 案例:设计学生信息管理
数据库
(一)收集数据
(二)创建E-R模型
任务
assignments
(三)设计关系模式
(四)关系数据库的规范化
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(一)收集数据
为了收集数据库需要的信息,设计人员与学生管理人员和系统的操作者进行了交谈,从最初的谈论中,记录了如下要点。
(1)数据库要存储每位学生的基本信息、各系部基本信息、各班级基本信息、教师基本信息、教师授课基本信息和学生宿舍基本信息。
(2)管理人员可以通过数据库管理各系部、各班、各教师、全院学生的基本信息。
(3)按工作的要求查询数据,如浏览某系部、某班级、某年级、某专业等学生基本信息。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(4)根据要求实现对各种数据的统计。如学生人数,应届毕业生人数,某系、某专业、某班级男女生人数,各系部教师人数,退、休学人数等。
(5)能实现对学生学习成绩的管理(录入、修改、查询、统计、打印)。
(6)能实现对学生住宿信息的管理,如查询某学生的宿舍楼号、房间号及床位号等。
(7)能实现历届毕业生的信息管理,如查询某毕业生的详细信息。
(8)数据库系统的操作人员可以查询数据,管理人员可以修改数据。
(9)使用关系数据库模型。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
上述信息没有固定的顺序,并且有些信息可能有重复,或者遗漏了某些重要的信息,这里收集到的信息要在后面的设计工作中与用户反复查对,以确保收集到了关于数据库的完整和准确的信息。对于比较大的系统,可能需要数次会议,每一次会议会针对系统的一部分进行讨论和研究,即便如此,对于每一部分,可能还要经过数次会议反复讨论。此外,还可以通过分发调查表、安排相关人员面谈、亲临现场观察业务活动的实际进行过程等方式收集数据。所有这一切,都是为了尽可能多地收集关于数据库以及如何使用数据库的信息。
完成了收集数据任务,设计人员就可以进入数据库设计的下一步:概念设计,即创建E-R模型。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(二)创建E-R模型
1.进行数据抽象,设计局部E-R模型
设计人员对收集到的大量信息进行分析、整理后,确定了数据库系统中应该存储如下信息:学生基本信息、系部基本信息、班级基本信息、教师基本信息、课程基本信息、学生学习成绩信息、学生综合素质成绩信息、毕业生基本信息、宿舍基本信息、系统用户信息。
设计人员根据这些信息抽象出系统将要使用的实体:学生、系部、班级、课程、教师、宿舍。定义实体之间的联系以及描述这些实体的属性,最后用E-R图表示这些实体和实体之间的联系。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
学生实体的属性:学号、姓名、性别、出生日期、身份证号、家庭住址、联系电话、邮政编码、政治面貌、简历、是否退学、是否休学。码是学号。
系部实体的属性:系号、系名、系主任、办公室、电话。码是系号。
班级实体的属性:班级号、班级名称、专业、班级人数、入学年份、教室、班主任、班长。码是班级号。

案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
课程实体的属性:课程号、课程名、学期。码是课程号+学期。
教师实体的属性:教师号、姓名、性别、出生日期、所在系别、职称。码是教师号。
宿舍实体的属性:楼号、房间号、住宿性别、床位数。码是楼号+房间号。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
实体与实体之间的联系为:一个系拥有多个学生,每个学生只能属于一个系;一个班级拥有多个学生,每个学生只能属于一个班级;一个系拥有多名教师,一名教师只能属于一个系;一个学生只在一个宿舍里住宿,一个宿舍里可容纳多名学生;一个学生可学习多门课程,一门课程可由多名学生学习;一名教师可承担多门课程的教授任务,一门课程可由多名教师讲授。因此,系部实体和学生实体的联系是一对多联系;系部实体和教师实体是一对多联系;班级实体和学生实体是一对多联系;学生实体和课程实体是多对多联系;课程实体和教师实体多对多联系;宿舍实体和学生实体是一对多联系。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
根据上述抽象,可以得到学生选课、教师授课、学生住宿、学生班级等局部E-R图,如图2.16~图2.19所示。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
2.全局E-R图设计
各个局部E-R图建立好后,接下来的工作是将它们合并集成为一个全局E-R图。
(1)合并局部E-R图,生成初步E-R图。合并局部E-R图的关键是合理消除各局部E-R图的冲突。
学生选课局部E-R图和教师授课局部E-R图中“系”的命名存在冲突,学生选课E-R图中的“系”命名为“系别”,教师授课局部E-R图中“系”命名为“单位”;同时两局部E-R图中存在结构冲突,学生选课局部E-R图中“系”的属性有“系名”“系主任”,教师授课局部E-R图中“系”的属性有“单位名称”“领导”“办公室”“联系电话”。
在学生选课局部E-R图、学生住宿局部E-R图和学生班级局部E-R图中,同一个“学生”实体的属性组成、属性数和排列次序均不同。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(2)消除不必要的冗余,生成全局E-R图。在学生选课局部E-R图中,因为“系别”和“课程”之间的联系“开课”,可以由“系”和“教师”之间的“工作”联系与“教师”和“课程”之间的“讲授”联系推导出来,所以“开课”属于冗余联系。
在学生选课局部E-R图中,因为“学生”实体的属性“平均成绩”可由“选修”联系中的属性“成绩”计算出来,所以“学生”实体中的“平均成绩”属于冗余数据。
教师授课局部E-R图中的“所在系别”属性和与之有联系的“系别”实体反映的信息是一致的,因此该属性为冗余数据。
最后,在消除冗余数据和冗余联系后,得到了该管理系统的全局E-R图,如图2.20所示。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(三)设计关系模式
根据设计要求,学生信息管理数据库采用关系数据模型,按照转换规则将E-R图转换成关系模式(表)。
1.处理E-R图中的实体
E-R图中共有6个实体,每个实体转成一个表,实体的属性转换为表的列,实体的码转换为表的主码。得到6个关系模式如下。
学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学)
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
系(系号,系名,系主任,办公室,电话)
班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长)
课程(课程号,课程名,学期)
教师(教师号,姓名,性别,出生日期,职称)
宿舍(楼号,房间号,住宿性别,床位数)
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
2.处理E-R图中的联系
在E-R图中共有两种联系类型:一对多联系和多对多联系。设计人员在经过讨论后决定,对于一对多联系,不创建单独的表,而是通过添加外码的方式建立数据之间的联系。转换后得到关系模式如下。
学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学,楼号,房间号,床位号,班级号)
系(系号,系名,系主任,办公室,电话)
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长,系号)
课程(课程号,课程名,学期)
教师(教师号,姓名,性别,出生日期,职称,系号)
宿舍(楼号,房间号,住宿性别,床位数)
对于多对多的联系类型,则创建如下关系模式。
选修(学号,课程号,成绩)
讲授(教师号,课程号)
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(四)关系数据库的规范化
在对关系模式进行规范化的过程中,设计人员从1NF开始,一步步进行规范。
(1)判断关系模式是否达到1NF的要求。设计人员分析的每个关系模式的所有属性都是最小数据项,因此达到1NF的要求。
(2)判断关系模式是否达到2NF的要求。
下面以教师关系模式为例,判断该关系模式是否达到2NF的要求。
该关系模式的函数依赖集F={教师号→姓名,教师号→性别,教师号→出生日期,教师号→职称,教师号→系号}
该关系模式的码为教师号,不存在非主属性对码的部分函数依赖,因此该关系模式达到2NF的要求。
设计人员查看了第1步之后的所有关系模式,每个关系模式中的所有非主属性都是由主码决定的,因此达到2NF的要求。
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
(3)判断关系模式是否达到3NF的要求。
设计人员查看了第2步之后的所有表,每个表中的所有非主属性都只依赖于码,因此达到3NF的要求。
经过分析、设计和判断,得到的最终关系模式如下。
学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学,楼号,房间号,床位号,班级号)
系(系号,系名,系主任,办公室,电话)
案例:设计学生信息管理数据库
任务2-7
任务1-1 数据处理
班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长,系号)
课程(课程号,课程名,学期)
教师(教师号,姓名,性别,出生日期,职称,系号)
宿舍(楼号,房间号,住宿性别,床位数)
选修(学号,课程号,成绩)
讲授(教师编号,课程号)
学生信息管理数据库的逻辑模型设计已经完成。

展开更多......

收起↑

资源预览