第五章:数据库设计基础 实体与联系 二、关系模型 关系模型规范化 四、关键字 五、数据的完整性
第五章:数据库设计基础 一 、实体与联系 二、关系模型 三、关系模型规范化 四、关键字 五、数据的完整性
5.1实体与联系 数据库设计的基本方法是建立ER模型,在 ER模型转换为关系模型,再对关系模型 进行规范化处理。 实体:客观存在并可相互区别的事物。将 实体具有的特性叫属性。实体表示的是 类事物。 实体标识符:如果某个属性或属性的组合 该属性或属性的组合作为实体表识符 联系:实体不是孤立的,实体与实体之间 有联系。1对1,1对N,M对N。 E-R模型 数据库设计就是将现实世界的数据组织 成数据库管理系统所采取的数据模型
5.1实体与联系 数据库设计的基本方法是建立E-R模型,在 将E-R模型转换为关系模型,再对关系模型 进行规范化处理。 ▪ 实体:客观存在并可相互区别的事物。将 实体具有的特性叫属性。实体表示的是一 类事物。 ▪ 实体标识符:如果某个属性或属性的组合 能惟一的表识出实体中的每一行,则选择 该属性或属性的组合作为实体表识符。 ▪ 联系:实体不是孤立的,实体与实体之间 有联系。1对1,1对N,M对N。 E-R模型 数据库设计就是将现实世界的数据组织 成数据库管理系统所采取的数据模型
ER图有3个要素: 实体矩形 2属性椭圆 3实体之间的联系菱形框表示 5.2关系模型 关系就是一个具有下列特点的二维表格: 1表格中的每一列都是不可再分的基本数 据项。 2每列的名字不同,同一列的数据类型相 3行的顺序无关紧要。 4列的顺序无关紧要。 5关系中不允许有完全相同的两行存在
E-R图有3个要素: 1 实体 矩形 2 属性 椭圆 3实体之间的联系 菱形框表示 5.2关系模型 关系就是一个具有下列特点的二维表格: 1.表格中的每一列都是不可再分的基本数 据项。 2.每列的名字不同,同一列的数据类型相 同。 3.行的顺序无关紧要。 4.列的顺序无关紧要。 5.关系中不允许有完全相同的两行存在
相既念: 将关系称之为表,将关系中的行称之为元组 也称之为记录或行。将关系中的列称之为属性, 也称之为字段或列。元组与属性相对应,记录与 字段对应,行和列相对应 1课程表 2学生表 3学生选课表
相关概念: 将关系称之为表,将关系中的行称之为元组。 也称之为记录或行。将关系中的列称之为属性, 也称之为字段或列。元组与属性相对应,记录与 字段对应,行和列相对应。 1课程表 2学生表 3学生选课表
5.3关系模型规范化 关系模型规范化的目的是为了消除存储异常,减少 数据冗余,保证数据的完整性和存储效率。 1数据冗余 2数据不一致。 3维护困难。 范试 个关系的每个属性都是不可在分的基本数据项, 该关系是范式 不满足该条件的关系模型称为非规范化关系
5.3关系模型规范化 关系模型规范化的目的是为了消除存储异常,减少 数据冗余,保证数据的完整性和存储效率。 1数据冗余。 2数据不一致。 3维护困难。 — 范试 一个关系的每个属性都是不可在分的基本数据项, 该关系是I范式。 不满足该条件的关系模型称为非规范化关系
(1)课程编码能唯一的标识出课程表中的每一行, 所以课程编码是 例 主关键字为,当知道学号,课程名称时 就能唯一地确定出学生的成绩,成绩即依赖学 号,有依赖课程名称,它完全函数依赖主关键 字,如果知道: 就可以确定出姓名,所以 姓名属性只依赖于学号,它与课程名无关,它 依赖于主关键字的一部分,则称学号属性部 分函数依赖于主关键字。 (2)函数传 课程编码和系部名称之间存在函数传递依赖关 系
1.函数依赖 (1)课程编码能唯一的标识出课程表中的每一行, 所以课程编码是主关键字。 例: 主关键字为,当知道学号,课程名称时, 就能唯一地确定出学生的成绩,成绩即依赖学 号,有依赖课程名称,它完全函数依赖主关键 字,如果知道学号,就可以确定出姓名,所以 姓名属性只依赖于学号,它与课程名无关,它 只依赖于主关键字的一部分,则称学号属性部 分函数依赖于主关键字。 (2)函数传递依赖 课程编码和系部名称之间存在函数传递依赖关 系
首先是1范式,关系中的每一个 非主属性完全函数依赖于主关键字。则 该关系是2范式。 :将部分 函数依赖关系中的主属性和非属性从关 系中提取出来。单独构成一个关系模式: 将关系模式中余下的属性,加上主关键 字,构成另一个关系 3范首先是2范式,且关系中的任何 个非主属性都不传递依赖于任何主关 键字,则关系是3范式
2.范式 2范式首先是1范式,关系中的每一个 非主属性完全函数依赖于主关键字。则 该关系是2范式。 将非2范试为2范式的方法是:将部分 函数依赖关系中的主属性和非属性从关 系中提取出来。单独构成一个关系模式: 将关系模式中余下的属性,加上主关键 字 ,构成另一个关系。 3范式首先是2范式,且关系中的任何 一个非主属性都不传递依赖于任何主关 键字,则关系是3范式
首先需要找出关系中的所有主关键字, 然后确定任何一个非主属性和任何主关键 字之间是否存在函数传递依赖关系。如果 有则删除函数传递依赖关系 关键字 关键字是用来唯一标识表中每一行的属 性或属性的组合,也可一将其称之为关键 码,码或键 后选关键 是那些可以用来作关键字的属性或属 性组合
首先需要找出关系中的所有主关键字, 然后确定任何一个非主属性和任何主关键 字之间是否存在函数传递依赖关系。如果 有则删除函数传递依赖关系。 关键字 关键字是用来唯一标识表中每一行的属 性或属性的组合,也可一将其称之为关键 码,码或键。 后选关键字 是那些可以用来作关键字的属性或属 性组合
将被选中的那个关键字称之为主关键 在一个表中只能指定一个主关键字,它的值必 须是惟一的并且不允许为空值 共就是连接两个表的公共属性 关键字分为主关键字,和键,外关键字 亦称为外键或外码,它由一个表中的一个属性 或多个属性所组成
将被选中的那个关键字称之为主关键字。 在一个表中只能指定一个主关键字,它的值必 须是惟一的并且不允许为空值。 公共关键字就是连接两个表的公共属性。 关键字分为主关键字,和外关键字,外关键字, 亦称为外键或外码,它由一个表中的一个属性 或多个属性所组成
个表不一定有外关键字,而且外关 键字的也不一定是惟一的 所在的表称之为主表,外键所在的表 称为从表 分为域的完整性,表的完整 性和参照完整性。 也可以为列的完整性或用户定义 的完整性。 表的完整性也可称为实体的完整性。 参照完整性也称之为引用完整性。参照完 整性是对表与表之间的联系而言的
一个表不一定有外关键字,而且外关 键字的也不一定是惟一的。 主键所在的表称之为主表,外键所在的表 称为从表。 数据的完整性分为域的完整性,表的完整 性和参照完整性。 域完整性也可以为列的完整性或用户定义 的完整性。 表的完整性也可称为实体的完整性。 参照完整性也称之为引用完整性。参照完 整性是对表与表之间的联系而言的