学生管理系统CDM模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四讲:学生管理系统CDM模型
教学目的:要求学生在理解概念数据模型(CDM: Conceptual Data Model)基本概念的基础上,能够根据“学生管理系统”的具体要求,建立符合功能要
求的概念数据模型,能够根据相关课程中学习的规范化理论的要求对模
型进行合理的简化,并且使得模型能够适用实际开发系统的需求,同时
应用好反规范化的思想。模型中实体之间的联系应该科学合理,学生能
应用Power Designer软件分析设计工具快速解决设计中的问题。
教学重点和难点:实体的抽象、实体的规范化与非规范化、实体间联系的定义教学方式和手段:课堂讲授;课堂演示,师生互动。
教学内容:
一、学生管理系统分析
1、功能要求
学生管理、成绩管理、选课管理、职工管理、活动管理、教材管理、宿舍管理、图书管理、仪器设备使用管理、院系管理
2、可能包含的实体
学生、课程、学校、院系、职工、活动、教材、宿舍、图书、仪器设备等。
3、分析后可能产生的实体
学生简历、学生家庭情况、学生奖励处分情况等等。
二、分析后建立的初步模型
1、标定联系和非标定联系的区别
2、多对多联系的分解
3、字典数据的建立(一般方法)
4、新实体的发现(设备卡片、图书卡片、简历等)
5、规范化实体的建立
6、反规范化的应用(字典名称、代码的问题)
7、递归联系的建立(院系)
8、属性分析(为每个实体添加属性)
9、数据类型定义
三、模型设计中的规范化与反规范化问题
规范化理论是研究实体中实体属性之间关系的科学。非规范化关系存在的问题:
①插入异常
②修改异常
③删除异常
例:有如下概念数据模型生成的物理数据模型(MS SQL Server2000),在数据库中存放一些记录,看看这三种异常的情况。
●插入异常
赵五,女,81/11/12,刚刚入学,没有参加任何活动,活动号为空值,这条信息不能加入。
增加王一参加(或本项活动)时,不能插入!
●修改异常
修改游泳活动项目时,需要修改两条信息(李三、李四)!
●删除异常
学生毕业时,需要删除学生信息,但连同活动的标准也删除了!
解决办法:
模式分解,做到一个主题一个模式!即:学生、活动,参加的活动情况使用中间表。
1、规范化理论(P152)
①前提
为了使数据库设计的方法走向完备,人们研究了规范化理论,从1971年起,E.F.Codd就提出了这一理论,目前规范化理论的研究已经有了很大的进展。
一般来说,关系必须是规范化的(Normalization),即每个数据项必须是不可分的数据项,但这只是最基本的规范化,并非所有规范化的关系都能很好地描
述现实世界,必须作进一步的分析,以确定如何设计一个好的、反映现实世界的关系模式。
关系数据库中的关系应该满足一定的要求,满足不同程度要求的为不同范式,满足最低要求的叫第一范式,简称1NF 。在第一范式中进一步满足一些要求的为第二范式,其余依此类推。
从范式来讲,主要是E.F.Codd 所作的工作,他提出了规范化的问题,并给出了范式的概念。
● 1971——1972年他系统地提出了1NF,2NF,3NF 的概念。 ● 1974年Codd 和Boyce 有共同提出了新范式的概念,即BCNF 。 ● 1976年Fagin 又提出了4NF 。 ● 后来,人们又提出了5NF 。
● 某一关系符合某个范式记作:R ∈nNF
● 范式之间的关系如下:5NF ⊂4NF ⊂3NF ⊂2NF ⊂1NF
一个低一级的范式的关系模式,通过模式分解可以转换成为若干个高一级范式的关系模式的集合,这种过程叫做规范化。
定义一:设R(U)是属性集U 上的关系模式,X,Y 是U 的子集,若对于R(U)的任意一个可能的关系r, r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称“X 函数确定Y ”或“Y 函数依赖于X ”。
● 若X →Y,但Y X,则称X →Y 是非平凡的函数依赖,若不特别申明,我们总是
讨论非平凡的函数依赖。
● 若X →Y 则X 叫做决定因素(Determinant )。
● 若X →Y,Y →X,则记作X −→←
Y 。 定义二:在R(U)中,如果X →Y ,并且对于X 的任何一个真子集X ′都有 X ′
Y,则称Y 对X 完全函数依赖,记作:Y X f
−→−
,若X →Y,但Y 不完全函数依赖于X ,则称Y 对X 部分函数依赖,记作:Y X P
−→−
。 定义三:在R(U)中,如果X →Y ,(Y X ),Y X ,Y →Z ,则称Z 对X 传递函
数依赖。
定义四:设K 为R(U)中的属性或属性组合,若U K f
−→−
,则K 为R 的候选码
(Candidate Key),若候选码多于一个,则选定其中的一个做为主码(Primary Key)。
定义五:关系模式R(U)中属性或属性组X并非R(U)的码,但X是另一个关系的码,则称X是R(U)的外码(Foreign Key)
②几个范式
●第一范式
所有的属性是不可再分的数据项。如:生卒年月,工资等。
●第二范式(消除非主属性对码的部分依赖)
定义:若R(U)∈1NF,且每一个非主属性完全函数依赖于码,则R(U)∈2NF。关系:学生成绩(学号,系别,住所,课程号,成绩)不符合2NF。
码为:(学号,课程号)。
(学号,课程号)−→
−F成绩。
(学号,课程号)−→
−系别;
−P系别,学号−→
(学号,课程号)−→
−住所;
−P住所,学号−→
系别−→
−住所(因为每个系只住一个地方)。
分析:一个关系模式R(U)不属于2NF,就会产生几个异常问题。
插入异常:未选课学生无法插入
删除异常:要删除学生选课信息,连同学生信息也要删除。
修改异常:学生选择多门课程,修改学生信息时,需要修改多条。
如何分解?,请同学们考虑
●第三范式(消除非主属性对码的传递依赖)
定义:关系模式R(U)中若不存在这样的码X,属性组Y及非主属性Z(Z Y)使得
X→Y,Y→Z,Y X成立,则称R(U)∈3NF。