资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第1章章 数据库相关基础理数据库相关基础理论知识论知识 开始开始主讲:本章的任务本章的任务 1.DBMS的基本功能、组成和选择原则2.关系数据库管理系统的等级3.数据库的三级模式结构4.数据库系统的组成5.关系模型的基本概念6.E-R模型的建立方法7.E-R模型转换为关系模型的方法8.关系的规范化理论DBMS的基本功能的基本功能o数据定义功能o数据库操纵功能o数据控制功能o数据库的建立和维护功能DBMS的组成的组成p数据描述语言p数据操纵/查询语言p数据库管理例行程序 数据库系统访问数据的步骤数据库系统访问数据的步骤选择选择DBMS的原则的原则o 分析应用环境,确定信息需求分析应用环境,确定信息需求o 收集各种收集各种DBMS资料,分析资料,分析DBMS的功的功能和性能能和性能o 综合衡量,初步筛选综合衡量,初步筛选 o 详细考察,确定目标详细考察,确定目标 返回目录返回目录关系数据库管理系统的等级关系数据库管理系统的等级n半关系型半关系型DBMS(最小关系型最小关系型)n基本关系型基本关系型DBMS(关系完备型关系完备型)n完全关系型完全关系型(全关系型全关系型) 返回目录返回目录数据库系统的三级模式结构数据库系统的三级模式结构返回目录返回目录数据库系统的组成数据库系统的组成数据库管理员()数据库管理系统(DBMS)计算机基本系统 数据库返回目录返回目录关系的直观概念关系的直观概念表表( (Table)Table),也称关系也称关系 列列( (Field)Field),也称字段、域或者属性也称字段、域或者属性 行行( (Row)Row),也称元组也称元组( (TupleTuple) ) 码码( (Key)Key),也称主键也称主键 关系模型的三类完整性关系模型的三类完整性实体完整性实体完整性:在任何关系的任何一个元组中,主键值的任一分量都不允许为空值。 参照完整性参照完整性:若某个字段或字段组不是A表的主键,但它是另一张B表的主键,则该字段或字段组称为A表的外关键字,或称为外键。在关系模型中,外关键字等于B中某个元组的主键值。例如:“成绩表”的“课程ID”只能取“课程信息表”的“课程ID”已经有的值,即001006中的任何一个值。 用户定义完整性用户定义完整性:由用户针对某一具体数据库的约束条件,定义完整性。它由应用环境决定,反映了某一具体应用所涉及的数据必须满足的语义要求。例如,性别只能是“男”或“女”两种可能,年龄的取值只能限制在O200之间才合乎情理等。选择运算选择运算例如,在P11的表1-1中,选择姓名为“张三”的学生基本情况的结果为:投影运算投影运算例如,在表1-1中,选择学号、姓名、性别字段的投影运算结果为:联接运算(实例联接运算(实例1)A B C1 2 3 4 5 6 7 8 9B D 5 7 8 3 A MB C NB D1 2 3 5 71 2 3 8 3 4 5 6 5 7 4 5 6 8 3 7 8 9 5 7 7 8 9 8 3A MB C NB D1 2 3 5 7 4 5 6 5 7M表N表MN表(M和N表的笛卡尔积)联结运算(CD)的结果联接运算(实例联接运算(实例2) 在表1-2和表1-3中,要选择满足以下条件的元组:“课程信息表”的“课程ID”等于“成绩表”的“课程ID”,其联合运算的结果如下: 返回目录返回目录E-R模型模型 实体实体(Entity) :实体是客观存在并可相互区分的事物。例如,在学校里,一个学生、一个老师、一门课程都是实体。 字段字段(Field)或属性(或属性(Attribute):):字段是实体所具有的某一特性,一个实体可由若干字段来刻画。例如,学生实体可由学号、姓名、年龄、性别、年级、系、专业等字段组成。 联系联系(Relationship):现实世界的事物之间是有联系的,这种联系必然要在信息世界中加以反映。学校中教与学的联系,可以用教师实体集与学生实体集两者间的联系表示:教师教学生;学生从教师的讲课中获取知识。E-R模型模型1:1模型E-R模型模型1:n 模型E-R模型M:N模型 学生管理系统的E-R模型返回目录返回目录将E-R模型转换为关系模式原则1:每个实体集转换为一个关系。实体集中的每个实体集转换为一个关系。实体集中的实体的属性成为该关系的属性,实体的标识符实体的属性成为该关系的属性,实体的标识符成为该关系的关键字,每个实体由该关系的一成为该关系的关键字,每个实体由该关系的一个元组表示。个元组表示。 将E-R模型转换为关系模式原则原则2:每个实体联系集转换成一个关。该实体联系自身每个实体联系集转换成一个关。该实体联系自身所拥有的非关键字属性,加到该关系中去,而该关系的所拥有的非关键字属性,加到该关系中去,而该关系的主键由该联系集所联系的实体集的关键字组成。主键由该联系集所联系的实体集的关键字组成。将E-R模型转换为关系模式原则原则3:如果一个实体联系集的两侧标明的维数是如果一个实体联系集的两侧标明的维数是1:n,则在,则在1侧的实体集的关键字应加入到另一侧的实体转侧的实体集的关键字应加入到另一侧的实体转换成的关系中。换成的关系中。返回目录返回目录 不符合第一范式的实例学生选修课程的记录: 学号 课程 1011C+ 程序设计,软件工程 1012Access数据库,专业英语不符合第一范式存在的问题1. 更新困难 如果1011同学想把选修课程改为Access数据库,专业英语,则系统在处理上面临二义性: (1)修改1011记录的课程属性值 (2)把学号属性值扩充为1011,10122. 插入困难 无法在此关系中加入“成绩”属性符合第一范式的实例将课程属性的属性值拆开,形成如下关系形式: 学号 课程1011C+ 程序设计1011软件工程1012Access数据库1012专业英语第一范式的判断方法 检查关系表中每个属性值是否都是不可再分解的最小数据单位。将非第一范式规范为第一范式的方法 依次检查每个属性的取值,如果是组合情况,即不是最小单位,就进行属性值的最小化拆分。不符合第二范式的实例学生选课关系表:主键为: (学号,课号)学号姓名系系负责人课号成绩1011张茗计算机刘超2013871011张茗计算机刘超2011901012李丽电子王干201280不符合第二范式存在的问题1.插入异常:无法插入还未选课的,由于该学生无课号属性,其相应的码值一部分为空,故该学生的固有信息无法插入;2.删除异常:某学生只选了一门课,若现在要放弃这门课,由于课号是主键的一部分,整个记录必须删除,该学生的其他信息也删除了;3.修改复杂:若张茗从计算机系转入动画系,必须修改系负责人,该生选修了多门课,要修改多条记录符合第二范式的实例主键(学号,课号) 主键(学号)学号课号成绩1011 2013871011 2011901012 201280学号姓名系系负责人1011张茗计算机刘超1012李丽电子王干第二范式的判断方法1.找出一个关系(表)中的主键2.单个属性作为主键的情况比较简单,因为主键的作用就是能唯一标识表中的每一行,关系中的非主属性都能完全函数依赖于主键,这样的关系是第二范式。3.对组合属性作为主键的那些关系,通常要判断每一个非主键属性是否能完全函数依赖于主键,即完全由主键所决定。若每一个非关键字属性能被主键所决定,则是第二范式,否则,就不是。将非第二范式规范为第二范式的方法 1. 将能完全依赖主键的属性从关系中提取出来,同主键一起组成一个关系 如: SC(学号,课号,成绩)2. 将剩余的属性同能完全依赖的主键的一部分组成一个关系 SD(学号,姓名,系,系负责人)不符合第三范式的实例学号姓名系系负责人1011张茗计算机刘超1014杨刚计算机刘超1013王强计算机刘超1012李丽电子王干不符合第三范式存在的问题1.插入异常:当新成立一个系,该系还没有招收任何学生时,系的有关信息无法插入表中。2.删除异常:若某个系的全部学生都已毕业,则在删除相应学生信息时,系和系负责人的信息也删除了3.修改复杂:系和系负责人的信息反复存储,造成数据冗余,引起修改困难符合第三范式的实例SND(学号,姓名,系) DM(系,系负责人)学号姓名系1011张茗计算机1014杨刚计算机1013王强计算机1012李丽电子系系负责人计算机刘超电子王干第三范式的判断方法 判断关系模式中是否有传递依赖的情况,如果有,不是第三范式,否则是。例如:学号系, 系学号,系系负责人 则:学号系负责人将非第三范式规范为第三范式的方法 继续拆分关系模式,把有传递依赖的属性放在不同的关系中,消除传递依赖。例如:SND(学号,姓名,系)DM(系,系负责人)不符合BCNF范式的实例STJ(学生,课程,教师)学生课程教师1011软件工程赵明1012数据库杨燕不符合BCNF范式存在的问题 删除异常:当删除信息“学生1011学习软件工程课程时”,将同时失去“赵明老师主讲软件工程课程”的信息。符合BCNF范式的实例将关系模式进一步拆分:SJ(学生,课程) TJ(教师,课程)学生课程1011软件工程1012数据库教师课程赵明软件工程杨燕数据库BCNF范式的判断方法 关系模式中是否有某个属性函数依赖另外一个属性,而被依赖的属性不是主键。例如:SJT(学生,课程,教师)中主键是(学生,课程)或(学生,教师)存在:教师课程,而教师不是主键。所以SJT不是BCNF范式。将非BCNF范式规范为BCNF范式的方法 继续拆分关系,使每个被依赖的属性都是主键。关系的规范化小结1.从第一范式到BCNF范式,规范化程度逐渐提高。2.规范化程度越高,越能消除插入、删除、修改的异常。3.规范化程度越高,关系拆分的越多,会增加表间关系的复杂性,增加查询信息所花费的时间。4.不是规范化程度越高就越好,实际应用中,要在插入、删除、修改异常和查询时间之间做权衡,选择适当的规范化范式。返回目录返回目录 本章小结从概念上掌握:oDBMS的基本功能和组成o选择DBMS的原则o关系数据库管理系统的等级o数据库系统的三级模式结构o数据库系统的组成oER模型及其转换为关系模式的方法o关系模型的基本概念o关系模式的存储异常与数据依赖o函数依赖的基本概念从技能上学会:o建立简单的E-R模型。o关系模式存储异常的判断o关系规范化的方法,如何拆分为3NF
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号