《关系数据库与SQLServer2005教学课件作者龚小勇第2讲关系数据库原理关系数据模型课件幻灯片》由会员分享,可在线阅读,更多相关《关系数据库与SQLServer2005教学课件作者龚小勇第2讲关系数据库原理关系数据模型课件幻灯片(29页珍藏版)》请在金锄头文库上搜索。
1、第1章 关系数据库原理 关系数据模型设计,主讲人:段利文,第2讲,复习,实现概念模型最常用的表示方法是什么? 概念模型的三个基本要素是什么? 联系的类型有哪些?如何标识?,答:实体、属性、联系。,答:一对一联系(简记成1:1) 一对多联系(简记成1:n) 多对多联系(简记成m:n),答:ER图。,复习,如何绘制ER图? ER图的设计原则是什么?,答:基本要素的表示方法 长方形实体 椭 圆属性 菱 形联系,答:先局部,后综合。,复习,设计局部ER图的步骤是什么?,答: 确定实体类型及属性 确定联系类型及属性。 把实体类型和联系类型组合成局部ER图。,第1章 关系数据库原理 关系数据模型设计 教学
2、内容,关系数据模型的基本概念 关系 、记录(元组)、属性和属性值 、域 关键字(码)、候选关键字(候选码)、主关键字(主码) 、外部关键字(外码) 将ER图转换为关系模式/表 关系模式的含义 转换原则 应用举例,第1章 关系数据库原理 关系数据模型设计 学习目标,认知目标: 理解关系数据模型的基本概念 能力目标: 能将ER图转化为关系模式/表 (重点),一、关系数据模型的基本概念,数据模型的类型(复习) 概念数据模型 逻辑数据模型 物理数据模型 概念数据模型(复习) 用于信息世界的建模,是现实世界到信息世界的第一次抽象。,一、关系数据模型的基本概念,逻辑数据模型 含义:是用户从数据库所看到的数
3、据模型。 用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据,才能在DBMS中实现。 类型(四种) 关系模型(最常用) SQL Server采用的是关系数据模型。 层次模型 网状模型 面向对象模型,一、关系数据模型的基本概念,关系数据模型的含义 用二维表格结构表示实体以及实体之间的联系的数据模型。 完成信息世界到机器世界的第二次抽象。,一、关系数据模型的基本概念,关系数据模型的二维表结构 学生信息表 说明: 一个关系就是一张二维表,二维表的名称就是关系名 但关系和二维表是有区别的。,一、关系数据模型的基本概念,关系应具备的性质 关系中每一个属性值都是不可分解的。 关系中不允许出现相同的行
4、。 关系中不允许出现相同的列。 关系中没有行序、没有列序。,一、关系数据模型的基本概念,教学活动:自学教材P8-10中的基本概念(时间15分钟),并回答下面提问: 该表中有几个元组(记录)? 该表中有多少个属性?第4个元组的属性值分别是多少? 什么是域?年龄的域可以是多少? 什么是关键字(码/键)?,一、关系数据模型的基本概念,教学活动(续): 哪些属性可以作为该表的候选关键字? 该表的主关键字(主码/主键)是什么? 该表的非主属性有哪些? 哪个属性可以作为外关键字(外码/外键)?,二、将ER图转化为关系模式/表 1. 基本概念,教学活动:请同学们理解以下几个概念 关系模式的含义 关系模式的表
5、示方法 表的含义 关系模式与关系的区别,二、将ER图转化为关系模式/表 1. 基本概念,关系模式的含义 对关系的信息结构及语义限制的描述。 关系模式的表示方法 用关系名和包含的属性名的集合表示。 例如:学生(学号,姓名,性别,年龄,系编号) 表的含义 用二维表格表示的一个关系。,二、将ER图转化为关系模式/表 1. 基本概念,关系模式与关系的区别 关系模式是对关系结构的定义,是对关系“型”的描述。关系是二维表格,是对“值”的描述 一般说来,关系模式是相对稳定、不随时间变化的。关系是随时间动态变化的,关系中的数据在不断更新。 例如:在学生表中,由于学生的入学、退学和毕业等原因,学生关系是经常变化
6、的,但其结构以及对数据的限制是不会改变的。 说明:关系模式和关系往往统称为关系。,二、将ER图转化为关系模式/表 2. 转化原则,每个实体转换为一个关系。 实体的属性就是关系的属性。 实体的码作为关系的码。 每个联系(二元的)也转换成一个关系。 与关系相连的,各个实体的码、联系的属性转换成关系的属性。 关系的码如下: 对于1:1的联系,每个实体的码均是该联系关系的候选码 对于1:N的联系,关系的码是N端实体的码。 对于M:N的联系,关系的码是诸实体码的组合。 有相同码的关系可以合并。,二、将ER图转化为关系模式/表 3. 应用举例,实例1:将教材P7图1-6的ER图转化为关系模式和表,并写出主
7、关键字和外关键字。,二、将ER图转化为关系模式/表 3. 应用举例,解答:转化为关系模式 教师(教师号,姓名,性别,职称,专业) 主关键字:教师号 学生(学号,姓名,性别,年龄,专业) 主关键字:学号 课程(课程号,课程名,学时数,学分,教材) 主关键字:课程号,二、将ER图转化为关系模式/表 3. 应用举例,选课(学号,课程号,成绩) 主关键字:学号+课程号 外关键字:学号、课程号 授课(教师号,课程号) 主关键字:教师号+课程号 外关键字:教师号、课程号 指导(学号,教师号,时间,地点) 主关键字:学号 外关键字:教师号 学生实体和指导联系可合并。 解答:转化为表 参见教材。,二、将ER图
8、转化为关系模式/表 3. 应用举例,实例2:综合应用。 某个企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘用期和工资。工厂的属性有工厂编号、厂名、地址,产品属性有产品编号、产品名、规格,职工的属性有职工号、姓名。 根据上述语义画出ER图。 将ER模型转换成关系模型,并指出每个关系模式的主键和外键。,二、将ER图转化为关系模式/表 3. 应用举例,建立ER图 确定实体类型及属性。 三个实体:工厂、产品、职工 确定联系类型。 “工厂-产品”的联系(M:N)生产 属性有
9、:产品计划数量 “工厂-职工”的联系(1:N)聘用 属性有:聘用期、工资 把实体类型和联系类型组合成ER图。,二、将ER图转化为关系模式/表 3. 应用举例,二、将ER图转化为关系模式/表 3. 应用举例,转换成关系模式 本题中有3个实体,可得到3个关系模式。 本题中有2个联系,也可得到2个关系模式 工厂(工厂编号,厂名,地址) 主键:工厂编号 产品(产品编号,产品名,规格) 主键:产品编号 职工(职工号,姓名) 主键:职工号,二、将ER图转化为关系模式/表 3. 应用举例,生产(工厂编号,产品编号,计划数量) 主键:工厂编号+产品编号 外键:工厂编号、产品编号 聘用(职工号,聘期,工资,工厂
10、编号) 主键:职工号 外键:工厂编号 说明:由于“工厂-职工”的联系“聘用”是1:N,它对应的关系模式的码与职工实体的码相同,所以,这个关系模式与职工关系模式可以合并。,二、将ER图转化为关系模式/表 3. 应用举例,合并同码的关系模式 职工(职工号,姓名) 聘用(职工号,聘期,工资,工厂编号) 职工(职工号,姓名,聘期,工资,工厂编号) 思考:能否将联系“生产”与实体“工厂”或“产品”合并?,说明:“工厂-产品”的联系“生产”是M:N,它所对应的关系模式的码是两个实体码的组合,它不能被合并。,本课小结,关系数据模型的基本概念 关系 、记录(元组)、属性和属性值 、域 关键字(码/键)、候选关
11、键字(候选码) 主关键字(主码/主键)、外部关键字(外码 /外键) 主表和从表 将ER图转化为逻辑数据模型(用表或关系模式来描述),完成信息世界到机器世界的第二次抽象。,课余作业,课外练习 补充: 联系两个表的关键字称为_。 关系中主码的取值必须唯一且非空,这条规则是_完整性规则。 关系模式是对关系结构的定义,是对关系_的描述。关系是二维表格,是对_的描述。 对于1:1的联系,_均是该联系关系的候选码。 对于1:N的联系,关系的码是_。 对于M:N的联系,关系的码是_。,课余作业布置,预习 第1章“关系的完整性和关系规范化”的内容。 请思考下列问题 函数依赖有哪些类型? 什么叫关系的规范化? 1NF、2NF和3NF之间有什么关系?,