第2章关系数据库设计 2.1关系数据库及其基本特征 2.2E-R模型及其到关系模型的转化 23关系模式的规范化 2.4数据库的完整性与安全性 2.5数据库设计的一般过程
第2章 关系数据库设计 2.1 关系数据库及其基本特征 2.2 E-R模型及其到关系模型的转化 2.4 数据库的完整性与安全性 2.3 关系模式的规范化 2.5 数据库设计的一般过程
2.1关系数据库及其基本特征 2.11基本概念 1实体及其联系 实体—存在于人们意识之外的客观对象,如读 者、图书等 联系——三种不同类型的联系,1-1,1-n,nn 关系 维表,由行和列组成。关系方法用表 中的行描述一个实体,用表中列描述实体的属性, 用外键描述实体间的联系
2.1 关系数据库及其基本特征 ◼ 2.1.1 基本概念 ◼ 1. 实体及其联系 ◼ 实体——存在于人们意识之外的客观对象,如读 者、图书等 ◼ 联系——三种不同类型的联系,1-1,1-n,n-n ◼ 关系——二维表,由行和列组成。关系方法用表 中的行描述一个实体,用表中列描述实体的属性, 用外键描述实体间的联系 ◼
2.元组、属性、主键与外键 元组一表中的每行,元组不容许重复,表中任意 两行不能完全相同 属性一表中的每列,分为属性名与属性值,属性 名不容许重复 主属性一在一个表中能起区分作用的属性,主属 性可能由两个或多个属性组成,主属性也称为主 键 外键一其他表的主属性,外键是描述两个表之间 关系的基本手段
2. 元组、属性、主键与外键 ◼ 元组—表中的每行,元组不容许重复,表中任意 两行不能完全相同 ◼ 属性—表中的每列,分为属性名与属性值,属性 名不容许重复 ◼ 主属性—在一个表中能起区分作用的属性,主属 性可能由两个或多个属性组成,主属性也称为主 键 ◼ 外键—其他表的主属性,外键是描述两个表之间 关系的基本手段
3.数据结构、操作与约束 数据结构——用怎样的数据形式描述应用中所涉 及的各种实体及实体间的联系,关系方法使用二 维表描述实体及其联系 数据操作——提供哪些数据操作手段,以让用户 方便迅速地对数据进行各种处理,关系方法提供 的数据操作有选择、投影、连接三种。 」数据约束——避免产生不相容数据的一种控制机 制,有属性约束、字段间约束和表间约束三种
3. 数据结构、操作与约束 ◼ 数据结构——用怎样的数据形式描述应用中所涉 及的各种实体及实体间的联系,关系方法使用二 维表描述实体及其联系 ◼ 数据操作——提供哪些数据操作手段,以让用户 方便迅速地对数据进行各种处理 ,关系方法提供 的数据操作有选择、投影、连接 三种。 ◼ 数据约束——避免产生不相容数据的一种控制机 制,有属性约束、字段间约束和表间约束三种
212关系数据库的基本特征 」1.有坚实的理论基础 」2.数据结构简单、易于理解 」3.对用户提供了较全面的操作支持 4.得到了众多开发商的支持 5.视图机制
2.1.2 关系数据库的基本特征 ◼ 1. 有坚实的理论基础 ◼ 2. 数据结构简单、易于理解 ◼ 3. 对用户提供了较全面的操作支持 ◼ 4. 得到了众多开发商的支持 ◼ 5.视图机制 ◼
E-R模型及其到关系模型的转化 1.对实体的进一步讨论 (1)实体是能被相互区分的客观对象。这种客观对 象可能是人、物等实际的对象,也可能是一个事 个学生、一本书 学校、一辆车 张发票等都是一个实体 (2)要注意实体集和实体的差别。某某学生是一个 实体,而一个班 系、一个学校的学生组成 个实体集。在有些讨论中,并未在字面上对其 严格区分,但根据上下文应能从概念上对其进 区分。 (3)实体有独立实体和弱实体之分
E-R模型及其到关系模型的转化 ◼ 1. 对实体的进一步讨论 (1)实体是能被相互区分的客观对象。这种客观对 象可能是人、物等实际的对象,也可能是一个事 件。如一个学生、一本书、一个学校、一辆车、 一张发票等都是一个实体。 (2)要注意实体集和实体的差别。某某学生是一个 实体,而一个班、一个系、一个学校的学生组成 一个实体集。在有些讨论中,并未在字面上对其 严格区分,但根据上下文应能从概念上对其进行 区分。 (3)实体有独立实体和弱实体之分
2.属性 (1)简单属性和复合属性 不可进一步分割的属性称为简单属性,与此对应,由 简单属性组合成的属性称为复合属性。 」(2)单值属性和多值属性 如果实体集中的每一个实体在某个属性上都只有惟 值,称这样的属性为单值属性(相反,如某个实体在一个 属性上有多个值,称这样的属性为多值属性。 (3)基本属性和导出属性 完全独立的属性称为基本属性,依赖于其他属性的 属性称为导出属性 (4)码 全区分该实体集中的每个实体的属性(或属性 组合)称为“码
2. 属性 ◼ (1)简单属性和复合属性 ◼ ——不可进一步分割的属性称为简单属性,与此对应,由 简单属性组合成的属性称为复合属性。 ◼ (2)单值属性和多值属性 ◼ ——如果实体集中的每一个实体在某个属性上都只有惟一 值,称这样的属性为单值属性(相反,如某个实体在一个 属性上有多个值,称这样的属性为多值属性。 ◼ (3)基本属性和导出属性 ◼ ——完全独立的属性称为基本属性,依赖于其他属性的 属性称为导出属性 ◼ (4)码 ◼ ——能完全区分该实体集中的每个实体的属性(或属性 组合)称为“码
3.联系 联系是实体间的一种关联关系,即不同实 体间的对应关系。从参与联系的两个实体 集的数量关系来说,联系可分为1:1, 1:n,m:n等三种 对于m:n的联系一般设置专门的关系表来 表征这种联系 在1:1,1:m中,用一个外键来表征这种 联系
3. 联系 ◼ 联系是实体间的一种关联关系,即不同实 体间的对应关系。从参与联系的两个实体 集的数量关系来说,联系可分为1∶1, 1∶n,m∶n等三种。 ◼ 对于m∶n的联系一般设置专门的关系表来 表征这种联系 ◼ 在1∶1,1∶m中,用一个外键来表征这种 联系
4.ER图举例 产品 供销商 销售 生 使用 仓库 供应 员工 存放 零部件 在 属于 地址 在 部门
4. E-R图举例 销 售 存 放 供销商 产 品 仓 库 员 工 零部件 使 用 供 应 生 产 属 于 地 址 部 门 在 在
建立ER模型的一个原则 」建立的ER模型应该反映所模拟对象的本质(针对某一研 究过程),原研究对象中与研究过程有关的一些特征、过 程都应该从所建立的模型中得到反映并很容易地得到解答。 如对于一个制造型企业,下述间题是重要的: ①企业有那些产品、每种产品由那些零部件组成; ②每种零部件的当前库存数量; ⑧零部件供应商及地址; 在图2-1所建立的模型中,对这些问题都能很容易获得解 答,如:实体类产晶回答企业有哪些产品,产品类与零部 件的联系回答了每种产品由哪些零部件组成
建立E-R模型的一个原则 ◼ 建立的E-R模型应该反映所模拟对象的本质(针对某一研 究过程),原研究对象中与研究过程有关的一些特征、过 程都应该从所建立的模型中得到反映并很容易地得到解答。 如对于一个制造型企业,下述问题是重要的: ◼ ① 企业有那些产品、每种产品由那些零部件组成; ◼ ② 每种零部件的当前库存数量; ◼ ③ 零部件供应商及地址; ◼ 在图2-1所建立的模型中,对这些问题都能很容易获得解 答,如:实体类产品回答企业有哪些产品,产品类与零部 件的联系回答了每种产品由哪些零部件组成