数据库chap10将ER模型映射为表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
35
两端都是强制参与
1:1二元 一端是强制参与 关系
两端都是可选参与
如何将实体、 如何将实体、关系和多值属性表达为 表的总结(续2) 表的总结( )
实体/关系 属性 实体 关系/属性 关系 表达为表 两个实体是一样的,代表实体的表有 一个主键拷贝,这个拷贝是被重命名 的,并且有关系的其他属性 方法1:同上,方法2:创建一个新 表来代表关系,只有两列,都是主键 的拷贝,作为外键,必须重新命名来 表示在表中的意思。 同方法2
27
多对多( 多对多( *:* )二元关系
28
复杂关系
创建一个表达关系的表。 创建一个表达关系的表。 将参与复杂关系的这些实体的主键复制 到新表中,并作为外键, 到新表中,并作为外键,此表还包含于 关系相关的全部属性。 关系相关的全部属性。 一个或多个外键将组成新表的主键,还 一个或多个外键将组成新表的主键, 可以加上关系中的一些其他属性。 可以加上关系中的一些其他属性。
两端都是强制参与 1:1递归 关系 一端是强制参与
两端都是可选参与
36
StayHome 数据库的 数据库的Branch 视 图中的表
37
步骤2.2 用规范化方法检查表 步骤 结构
用规范化方法检查每个表的组成来避免不 必要的数据重复 确保每个表至少是第三范式( 确保每个表至少是第三范式(3NF)的 ) 如果所标识的表不是第三范式的, 如果所标识的表不是第三范式的,可能表 模型的某部分是错误的, 明ER模型的某部分是错误的,或者由模型 模型的某部分是错误的 创建表时产生了错误 如果必要的话, 如果必要的话,可能需要重新构建数据模 型或者表
14
一对一( 一对一( 1:1 )二元关系
考虑如何建表来表示如下的参与约束
1:1关系的两边都是强制参与 关系的两边都是强制参与 1:1关系的一边都是强制参与 关系的一边都是强制参与 1:1关系的两边均为可选参与 关系的两边均为可选参与
15
两个实体均是强制参与的1:1 关系 两个实体均是强制参与的
13
一对一( 一对一( 1:1 )二元关系
不能使用元组的数目来标识一个关系中 的父实体和子实体。 的父实体和子实体。 而是需要使用参与过程( 而是需要使用参与过程(强制参与还是 可选参与) 可选参与)来决定是把实体结合为一个 表来表示关系好, 表来表示关系好,还是建两个表由外键 来表示关系好。 来表示关系好。
32
多值属性 – ER 模型和对应的表
33
如何将实体、 如何将实体、关系和多值属性表达为 表的总结
实体/关系 属性 实体 关系/属性 关系 表达为表 创建包含所有简单属性的表;对复合属性,仅包 含表中组成复合属性的简单属性。如果可能,标 识每个表中组成主键的列。 将“一”端实体的主键复制到表达“多端”实体 的表中,关系中的任何属性也复制到“多端”的 表中 两个实体是一样的,代表实体的表有一个主键拷 贝,这个拷贝是被重命名(称为角色名),并且 有关系的其他属性 创建表达关系的表,此表中包含任何与关系有关 的属性,将每个父实体中的主键复制到新表中作 为外键 创建一个表达多值属性的表,并将父实体的主键 复制到新表中作为外键
23
1:1 两边强制参与一对一递归关系
应该用主键的两个拷贝来把这个递归关 系描述为一个表 主键的一个拷贝代表外键, 主键的一个拷贝代表外键,并且应该将 它重新命名来表示它代表的关系
24
一边是强制参与的1:1 递归关系 一边是强制参与的
方法1:可以用主键的两个拷贝建一个表, 方法 :可以用主键的两个拷贝建一个表, 以描述递归关系。 以描述递归关系。 方法2:也可以创建一个新表来代表关系, 方法 :也可以创建一个新表来代表关系, 这个新表只有两个列,都是主键的拷贝, 这个新表只有两个列,都是主键的拷贝, 主键的拷贝作为外键, 主键的拷贝作为外键,并且必须重新命 名来表示在表中的意思。 名来表示在表中的意思。
4
StayHome ER模型 模型
5
如何表达实体
模型中的每个实体, 对ER模型中的每个实体,创建一个包含实体 模型中的每个实体 的所有简单属性的表。 的所有简单属性的表。 对复合属性,仅包含表中组成复合属性的简 对复合属性, 单属性。 单属性。 如果可能,标识每个表中组成主键的列。 如果可能,标识每个表中组成主键的列。 在某些情况下,还不能标识出组成表的所有 在某些情况下, 原因是还要描述实体间的关系。 列,原因是还要描述实体间的关系。这意味 着在ER模型中没有表达出关系之前 模型中没有表达出关系之前, 着在 模型中没有表达出关系之前,不能标 识出组成弱实体的主键的列。 识出组成弱实体的主键的列。
遵循上面所描述的对1:1 关系的“参与” 关系的“参与” 遵循上面所描述的对 规则 但是,在这种特殊的1:1 关系情景中, 关系情景中, 但是,在这种特殊的 关系两边的实体是相同的 分为以下三种情况
两边有强制参与的1:1递归关系 递归关系 两边有强制参与的 一边强制参与的1:1递归关系 一边强制参与的 递归关系 两边是可选参与的1:1递归关系 两边是可选参与的 递归关系
1:* 一对多的递归关系的表示类似于 一对多的递归关系的表示类似于1:* 一对多的二元关系 父实体和子实体是相同的实体 代表实体的表有一个主键拷贝, 代表实体的表有一个主键拷贝,这个拷 贝是被重命名(称为角色名), ),并且有 贝是被重命名(称为角色名),并且有 关系的其他属性
12
一对多( 一对多( 1:* )递归关系
将实体组合为一个表, 将实体组合为一个表,并选择初始实体 中的一个主键作为新表的主键, 中的一个主键作为新表的主键,其他的 主键用作备用键。 主键用作备用键。 注意仅当两个实体之间没有其他关系的 时候, 时候,才有可能把两个实体合并到一张 表中。如果还存在其他关系, 表中。如果还存在其他关系,则应该用 主键/外键机制创建表来描述这些关系 外键机制创建表来描述这些关系。 主键 外键机制创建表来描述这些关系。
16
两个实体均是强制参与的1:1 关系 两个实体均是强制参与的
17
1:1 关系的一边是强制参与
可以使用强制约束来标识1:1关系的父实 关系的父实 可以使用强制约束来标识 体和子实体 关系中的可选参与的实体被设计为父实 体,关系中的强制参与的实体被设计为 子实体 父实体主键的拷贝, 父实体主键的拷贝,被放置在描述子实 体的表中
26
多对多( 多对多( *:* )二元关系
创建一个表达关系的表, 创建一个表达关系的表,这个表包含关 系的任何属性。 系的任何属性。 将参与关系的实体的主键属性拷贝到新 表中,使之作为外键。 表中,使之作为外键。 一个外键或全部外键将组成新表的主键, 一个外键或全部外键将组成新表的主键, 可能要结合此关系的一些属性。 可能要结合此关系的一些属性。
29
复杂关系(三元关系) 复杂关系(三元关系) – ER 模型
30
复杂关系(三元关系) 复杂关系(三元关系) – 对应的表
31
多值属性
遵守1:*关系中所描述的规则, 遵守 关系中所描述的规则,在“一” 关系中所描述的规则 端的实体被指定为父实体, 端的实体被指定为父实体,在“多”端 的多值属性被指定为子体。 的多值属性被指定为子体。 创建一个新的表包含这些多值属性, 创建一个新的表包含这些多值属性,并 将父实体的主键拷贝过来作为外键。 将父实体的主键拷贝过来作为外键。 除非多值属性自己本身是父实体的备用 键,否则新表的主键由多值属性和父实 体的原始主键组成。 体的原始主键组成。
8
如何表达关系
考虑如何标识下列关系
一对多(1:*)二元关系 二元关系 一对多 一对多(1:*)递归关系 一对多 递归关系 一对一(1:1)二元关系 一对一 二元关系 一对一(1:1)递归关系 一对一 递归关系 多对多(*:*)二元关系 多对多 二元关系 复杂属性 多值属性
9
一对多( 一对多( 1:* )二元关系
38
步骤2.3 检查表是否支持用户 步骤 事务
检查所建的表是否如用户需求说明中所要求的那样, 检查所建的表是否如用户需求说明中所要求的那样,支持 用户所需的事务。 用户所需的事务。 确保在建表的时候,没有错误发生。 确保在建表的时候,没有错误发生。 检查表是否支持事务的一种方法是检查是否支持事务的数 据需求,以确保数据在一个或多个表中存在。 据需求,以确保数据在一个或多个表中存在。 如果事务所需求的数据在多个表中, 如果事务所需求的数据在多个表中,则应该检查这些表是 否能够通过主键 外键机制连接起来 主键/外键机制连接起来。 否能够通过主键 外键机制连接起来。 下表中黑体显示了事务所需要的列, 下表中黑体显示了事务所需要的列,必要时还包括了连接 表中的列。 表中的列。
关系“ 关系“一”端的实体被设计为父实体, 端的实体被设计为父实体, “多”端的实体被设计为子实体 父实体主键的拷贝, 父实体主键的拷贝,被放置在子实体的 表中, 表中,作为外键
关系中的任何属性也复制到“ 关系中的任何属性也复制到“多”端的表中
10
一对多( 一对多( 1:*)二元关系 )
11
一对多( 一对多( 1:* )递归关系
25
两边是可选参与的1:1 递归关系 两边是可选参与的
对于两边是可选参与的1:1 递归关系, 递归关系, 对于两边是可选参与的 应该向前面那样创建一个新表, 应该向前面那样创建一个新表,这个新 表只有两个列,都是主键的拷贝, 表只有两个列,都是主键的拷贝,主键 的拷贝作为外键, 的拷贝作为外键,并且必须重新命名来 表示在表中的意思。 表示在表中的意思。
根据ER模型创建表,并检查这些表的结构。 根据 模型创建表,并检查这些表的结构。 模型创建表 步骤2.1 创建表 步骤 步骤2.2 用规范化方法检查表结构 步骤 步骤2.3 检查表是否支持用户事务 步骤 步骤2.4 检查业务规则 步骤 步骤2.5 与用户讨论逻辑数据库设计 步骤
3
步骤2.1 创建表 步骤
6
实体的初始表结构
7
如何表达关系
用主键/外键机制表达 用主键 外键机制表达 为了决定将外键属性放在那里, 为了决定将外键属性放在那里,首先必须 标识关系中包含的“ 实体和“ 标识关系中包含的“父”实体和“子”实 体 父实体指的是把自己的主键拷贝到代表子 实体的表中作为外键的实体 关系从父实体贡献外键到子实体
34
强实体或弱实体
1:*二元关系
1:*递归关系 *:*二元关系/ 复杂关系 多值属性
如何将实体、 如何将实体、关系和多值属性表达为 表的总结(续1) 表的总结( )
实体/关系 属性 实体 关系/属性 关系 表达为表 将实体组合为一个表,并选择初始实 体中的一个主键作为新表的主键,其 他的主键用作备用键。 可选参与实体为父实体,强制参与实 体为子实体,将有可选参与的实体的 主键复制到表达有强制参与的实体的 表中,关系的属性也被复制到该表中。 没有更多的信息,将一个实体的主键 拷贝到另一个实体中。但如果信息是 可获得的,则将更具有强制参与的实 体作为子实体。
Chapter 10
逻辑数据库设计 – 步骤 2 将ER模型映射为表 模型映射为表
1
Chapter 10 – 目标
如何将ER模型映射为表集合 如何将 模型映射为表集合 如何使用规范化方法检查表结构 如何检查所建的表是否支持用户需要的事 务 如何定义和存档完整性约束
2
步骤2 步骤 将ER模型映射为表
模型创建表, 为ER模型创建表,表达实体、关系、属性和约束 模型创建表 表达实体、关系、 每个表的结构来源于ER所描述的信息 所描述的信息, 每个表的结构来源于 所描述的信息,这些信息 包括ER图 包括 图、数据字典和任何其他相关的文档 格式: 格式:
表名称(属性 ,属性2, ) 表名称(属性1,属性 ,…) 主键 备用键 外键(包括被引用主键的表) 外键(包括被引用主键的表)
18
1:1 关系的一边是强制参与
19
1:1 关系的一边是强制参与
20
1:1 关系的两边均为可选参与
在这种情况下, 在这种情况下,父实体和子实体之间的 设计是任意的, 设计是任意的,除非你可以得到关于关 系的更多信息来帮助你判断使用哪个设 计。
21
1:1 关系的两边均为可选参与
22
一对一( 一对一( 1:1 )递归关系
两端都是强制参与
1:1二元 一端是强制参与 关系
两端都是可选参与
如何将实体、 如何将实体、关系和多值属性表达为 表的总结(续2) 表的总结( )
实体/关系 属性 实体 关系/属性 关系 表达为表 两个实体是一样的,代表实体的表有 一个主键拷贝,这个拷贝是被重命名 的,并且有关系的其他属性 方法1:同上,方法2:创建一个新 表来代表关系,只有两列,都是主键 的拷贝,作为外键,必须重新命名来 表示在表中的意思。 同方法2
27
多对多( 多对多( *:* )二元关系
28
复杂关系
创建一个表达关系的表。 创建一个表达关系的表。 将参与复杂关系的这些实体的主键复制 到新表中,并作为外键, 到新表中,并作为外键,此表还包含于 关系相关的全部属性。 关系相关的全部属性。 一个或多个外键将组成新表的主键,还 一个或多个外键将组成新表的主键, 可以加上关系中的一些其他属性。 可以加上关系中的一些其他属性。
两端都是强制参与 1:1递归 关系 一端是强制参与
两端都是可选参与
36
StayHome 数据库的 数据库的Branch 视 图中的表
37
步骤2.2 用规范化方法检查表 步骤 结构
用规范化方法检查每个表的组成来避免不 必要的数据重复 确保每个表至少是第三范式( 确保每个表至少是第三范式(3NF)的 ) 如果所标识的表不是第三范式的, 如果所标识的表不是第三范式的,可能表 模型的某部分是错误的, 明ER模型的某部分是错误的,或者由模型 模型的某部分是错误的 创建表时产生了错误 如果必要的话, 如果必要的话,可能需要重新构建数据模 型或者表
14
一对一( 一对一( 1:1 )二元关系
考虑如何建表来表示如下的参与约束
1:1关系的两边都是强制参与 关系的两边都是强制参与 1:1关系的一边都是强制参与 关系的一边都是强制参与 1:1关系的两边均为可选参与 关系的两边均为可选参与
15
两个实体均是强制参与的1:1 关系 两个实体均是强制参与的
13
一对一( 一对一( 1:1 )二元关系
不能使用元组的数目来标识一个关系中 的父实体和子实体。 的父实体和子实体。 而是需要使用参与过程( 而是需要使用参与过程(强制参与还是 可选参与) 可选参与)来决定是把实体结合为一个 表来表示关系好, 表来表示关系好,还是建两个表由外键 来表示关系好。 来表示关系好。
32
多值属性 – ER 模型和对应的表
33
如何将实体、 如何将实体、关系和多值属性表达为 表的总结
实体/关系 属性 实体 关系/属性 关系 表达为表 创建包含所有简单属性的表;对复合属性,仅包 含表中组成复合属性的简单属性。如果可能,标 识每个表中组成主键的列。 将“一”端实体的主键复制到表达“多端”实体 的表中,关系中的任何属性也复制到“多端”的 表中 两个实体是一样的,代表实体的表有一个主键拷 贝,这个拷贝是被重命名(称为角色名),并且 有关系的其他属性 创建表达关系的表,此表中包含任何与关系有关 的属性,将每个父实体中的主键复制到新表中作 为外键 创建一个表达多值属性的表,并将父实体的主键 复制到新表中作为外键
23
1:1 两边强制参与一对一递归关系
应该用主键的两个拷贝来把这个递归关 系描述为一个表 主键的一个拷贝代表外键, 主键的一个拷贝代表外键,并且应该将 它重新命名来表示它代表的关系
24
一边是强制参与的1:1 递归关系 一边是强制参与的
方法1:可以用主键的两个拷贝建一个表, 方法 :可以用主键的两个拷贝建一个表, 以描述递归关系。 以描述递归关系。 方法2:也可以创建一个新表来代表关系, 方法 :也可以创建一个新表来代表关系, 这个新表只有两个列,都是主键的拷贝, 这个新表只有两个列,都是主键的拷贝, 主键的拷贝作为外键, 主键的拷贝作为外键,并且必须重新命 名来表示在表中的意思。 名来表示在表中的意思。
4
StayHome ER模型 模型
5
如何表达实体
模型中的每个实体, 对ER模型中的每个实体,创建一个包含实体 模型中的每个实体 的所有简单属性的表。 的所有简单属性的表。 对复合属性,仅包含表中组成复合属性的简 对复合属性, 单属性。 单属性。 如果可能,标识每个表中组成主键的列。 如果可能,标识每个表中组成主键的列。 在某些情况下,还不能标识出组成表的所有 在某些情况下, 原因是还要描述实体间的关系。 列,原因是还要描述实体间的关系。这意味 着在ER模型中没有表达出关系之前 模型中没有表达出关系之前, 着在 模型中没有表达出关系之前,不能标 识出组成弱实体的主键的列。 识出组成弱实体的主键的列。
遵循上面所描述的对1:1 关系的“参与” 关系的“参与” 遵循上面所描述的对 规则 但是,在这种特殊的1:1 关系情景中, 关系情景中, 但是,在这种特殊的 关系两边的实体是相同的 分为以下三种情况
两边有强制参与的1:1递归关系 递归关系 两边有强制参与的 一边强制参与的1:1递归关系 一边强制参与的 递归关系 两边是可选参与的1:1递归关系 两边是可选参与的 递归关系
1:* 一对多的递归关系的表示类似于 一对多的递归关系的表示类似于1:* 一对多的二元关系 父实体和子实体是相同的实体 代表实体的表有一个主键拷贝, 代表实体的表有一个主键拷贝,这个拷 贝是被重命名(称为角色名), ),并且有 贝是被重命名(称为角色名),并且有 关系的其他属性
12
一对多( 一对多( 1:* )递归关系
将实体组合为一个表, 将实体组合为一个表,并选择初始实体 中的一个主键作为新表的主键, 中的一个主键作为新表的主键,其他的 主键用作备用键。 主键用作备用键。 注意仅当两个实体之间没有其他关系的 时候, 时候,才有可能把两个实体合并到一张 表中。如果还存在其他关系, 表中。如果还存在其他关系,则应该用 主键/外键机制创建表来描述这些关系 外键机制创建表来描述这些关系。 主键 外键机制创建表来描述这些关系。
16
两个实体均是强制参与的1:1 关系 两个实体均是强制参与的
17
1:1 关系的一边是强制参与
可以使用强制约束来标识1:1关系的父实 关系的父实 可以使用强制约束来标识 体和子实体 关系中的可选参与的实体被设计为父实 体,关系中的强制参与的实体被设计为 子实体 父实体主键的拷贝, 父实体主键的拷贝,被放置在描述子实 体的表中
26
多对多( 多对多( *:* )二元关系
创建一个表达关系的表, 创建一个表达关系的表,这个表包含关 系的任何属性。 系的任何属性。 将参与关系的实体的主键属性拷贝到新 表中,使之作为外键。 表中,使之作为外键。 一个外键或全部外键将组成新表的主键, 一个外键或全部外键将组成新表的主键, 可能要结合此关系的一些属性。 可能要结合此关系的一些属性。
29
复杂关系(三元关系) 复杂关系(三元关系) – ER 模型
30
复杂关系(三元关系) 复杂关系(三元关系) – 对应的表
31
多值属性
遵守1:*关系中所描述的规则, 遵守 关系中所描述的规则,在“一” 关系中所描述的规则 端的实体被指定为父实体, 端的实体被指定为父实体,在“多”端 的多值属性被指定为子体。 的多值属性被指定为子体。 创建一个新的表包含这些多值属性, 创建一个新的表包含这些多值属性,并 将父实体的主键拷贝过来作为外键。 将父实体的主键拷贝过来作为外键。 除非多值属性自己本身是父实体的备用 键,否则新表的主键由多值属性和父实 体的原始主键组成。 体的原始主键组成。
8
如何表达关系
考虑如何标识下列关系
一对多(1:*)二元关系 二元关系 一对多 一对多(1:*)递归关系 一对多 递归关系 一对一(1:1)二元关系 一对一 二元关系 一对一(1:1)递归关系 一对一 递归关系 多对多(*:*)二元关系 多对多 二元关系 复杂属性 多值属性
9
一对多( 一对多( 1:* )二元关系
38
步骤2.3 检查表是否支持用户 步骤 事务
检查所建的表是否如用户需求说明中所要求的那样, 检查所建的表是否如用户需求说明中所要求的那样,支持 用户所需的事务。 用户所需的事务。 确保在建表的时候,没有错误发生。 确保在建表的时候,没有错误发生。 检查表是否支持事务的一种方法是检查是否支持事务的数 据需求,以确保数据在一个或多个表中存在。 据需求,以确保数据在一个或多个表中存在。 如果事务所需求的数据在多个表中, 如果事务所需求的数据在多个表中,则应该检查这些表是 否能够通过主键 外键机制连接起来 主键/外键机制连接起来。 否能够通过主键 外键机制连接起来。 下表中黑体显示了事务所需要的列, 下表中黑体显示了事务所需要的列,必要时还包括了连接 表中的列。 表中的列。
关系“ 关系“一”端的实体被设计为父实体, 端的实体被设计为父实体, “多”端的实体被设计为子实体 父实体主键的拷贝, 父实体主键的拷贝,被放置在子实体的 表中, 表中,作为外键
关系中的任何属性也复制到“ 关系中的任何属性也复制到“多”端的表中
10
一对多( 一对多( 1:*)二元关系 )
11
一对多( 一对多( 1:* )递归关系
25
两边是可选参与的1:1 递归关系 两边是可选参与的
对于两边是可选参与的1:1 递归关系, 递归关系, 对于两边是可选参与的 应该向前面那样创建一个新表, 应该向前面那样创建一个新表,这个新 表只有两个列,都是主键的拷贝, 表只有两个列,都是主键的拷贝,主键 的拷贝作为外键, 的拷贝作为外键,并且必须重新命名来 表示在表中的意思。 表示在表中的意思。
根据ER模型创建表,并检查这些表的结构。 根据 模型创建表,并检查这些表的结构。 模型创建表 步骤2.1 创建表 步骤 步骤2.2 用规范化方法检查表结构 步骤 步骤2.3 检查表是否支持用户事务 步骤 步骤2.4 检查业务规则 步骤 步骤2.5 与用户讨论逻辑数据库设计 步骤
3
步骤2.1 创建表 步骤
6
实体的初始表结构
7
如何表达关系
用主键/外键机制表达 用主键 外键机制表达 为了决定将外键属性放在那里, 为了决定将外键属性放在那里,首先必须 标识关系中包含的“ 实体和“ 标识关系中包含的“父”实体和“子”实 体 父实体指的是把自己的主键拷贝到代表子 实体的表中作为外键的实体 关系从父实体贡献外键到子实体
34
强实体或弱实体
1:*二元关系
1:*递归关系 *:*二元关系/ 复杂关系 多值属性
如何将实体、 如何将实体、关系和多值属性表达为 表的总结(续1) 表的总结( )
实体/关系 属性 实体 关系/属性 关系 表达为表 将实体组合为一个表,并选择初始实 体中的一个主键作为新表的主键,其 他的主键用作备用键。 可选参与实体为父实体,强制参与实 体为子实体,将有可选参与的实体的 主键复制到表达有强制参与的实体的 表中,关系的属性也被复制到该表中。 没有更多的信息,将一个实体的主键 拷贝到另一个实体中。但如果信息是 可获得的,则将更具有强制参与的实 体作为子实体。
Chapter 10
逻辑数据库设计 – 步骤 2 将ER模型映射为表 模型映射为表
1
Chapter 10 – 目标
如何将ER模型映射为表集合 如何将 模型映射为表集合 如何使用规范化方法检查表结构 如何检查所建的表是否支持用户需要的事 务 如何定义和存档完整性约束
2
步骤2 步骤 将ER模型映射为表
模型创建表, 为ER模型创建表,表达实体、关系、属性和约束 模型创建表 表达实体、关系、 每个表的结构来源于ER所描述的信息 所描述的信息, 每个表的结构来源于 所描述的信息,这些信息 包括ER图 包括 图、数据字典和任何其他相关的文档 格式: 格式:
表名称(属性 ,属性2, ) 表名称(属性1,属性 ,…) 主键 备用键 外键(包括被引用主键的表) 外键(包括被引用主键的表)
18
1:1 关系的一边是强制参与
19
1:1 关系的一边是强制参与
20
1:1 关系的两边均为可选参与
在这种情况下, 在这种情况下,父实体和子实体之间的 设计是任意的, 设计是任意的,除非你可以得到关于关 系的更多信息来帮助你判断使用哪个设 计。
21
1:1 关系的两边均为可选参与
22
一对一( 一对一( 1:1 )递归关系