第六章概念数据库设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下页
F24b
F24b1 实体关联约束:这是联系型和它所关联的实体型之间的约束,有两 种实体关联约束,即全域关联约束和部分关联约束。 [定义]设A是联系型R所关联的一个实体型, 若规定A的各实体必须出现在R的某个联系实例中, 则称这种规定为实体型A关于联系型R的全域约束。 若规定A的实体可以不出现在任何联系实例中, 则称这种规定为实体型A关于联系型R的部分约束。 例如,在大学数据库中, 若规定每位教师必属于某个系,则这种规定就是 教师实体型关于联系型(T_D1)的全域关联约束。 由于并非所有教师都是主任,故这情况就是 教师实体型关于联系型(T_D2)的部分关联约束。 1:1约束 实体对应约束 1:n约束 m:n约束 联系型的结构约束 全域关联约束 实体关联约束 部分关联约束
F25 五. 弱实体 应用领域中有些实体型没有普通意义的键,我们称之为弱实体型, 它的实体称为弱实体。不同的弱实体可以有完全相同的属性值。 识别弱实体的方法是关联另一个普通的实体型(称为识别实体型)。 在弱实体型中挑选这样的属性子集, 使得可以和识别实体型的键结合成弱实体型的键, 弱实体型的这个属性子集称为部分键。 设联系型R关联弱实体型A和对应的识别实体型, 则称R为A的识别联系型。为了能识别每个弱实体, 识别联系型R对于弱实体型A必须具有全域关联约束。 一个弱实体型可以具有多个识别实体型和识别联系型, 这意味着弱实体可以有多种识别方法。 识 父亲 (身份证号,姓名) 识别实体型B 别 部分键 全域关联约束 联 孩子 (父身份证号,姓名,性别,生日) 系 弱实体型A 型 标识孩子的一个方法:孩子姓名-父亲身份证号
F32 二. 演绎和归纳的性质
1 两种定义演绎的方法: 1)由属性谓词定义的演绎 2)用户定义的演绎 2.演绎和归纳的约束条件 1)重迭性约束 2)完全性约束
3.多层演绎与共享子类
F32a
1 两种定义演绎的方法: 1)由属性谓词定义的演绎 这类演绎方法通过超类属性上的某一个谓词来说明每个 实体所属的子类。例如在超类教师设置属性‘所属学科’, 即可把教师分为文、理、外三个种类。 2)用户定义的演绎 即上述方法之外的演绎。 超类实体所属的子类由用户逐个说明。
1.联系型和联系实例 2.联系型的结构约束 3.联系型的属性
1.联系型和联系实例 [定义]实体型A和实体型B之间的联系型R定义为RAB , 称A、B为联系型R所关联的实体型。 联系型R的元素(a,b)称为联系型R的实例, 它取自AB集合,即aA,bB ,选取方法由应用领域决定, a、b称为联系实例(a,b)所关联的实体。 例如:教研室和系之间的联系型B_T ={(j,d)|教研室j属于系d} 学生和系之间的联系型 S_D ={(s,d)|学生s属于系d} 教师和系之间的联系型1:T_D1={(t,d)|教师t属于系d} 教师和系之间的联系型2:T_D2={(t,d)|教师t是系d的主任} 学生、教师和课程之间的联系型: S_T_C={(s,t,c)|学生s选修教师t讲授的课程c} 联系型所关联的实体型数目称为阶。 实体之间的联系既可以如上例那样使用联系型定义, 也可以通过实体属性的取值来表示,例如, 在教研室的属性‘所属系’取值即可实现教研室和系的联系。 类似地可把上述定义推广为多个实体型之间的联系型。
F1
F2
第二节
实体联系模型
实体联系模型(简称ER模型)产生于1976年。这个模型使 用实体、联系和属性三个基本概念直接描述现实世界。 实体联系图是表示ER模型的图形工具,简称ER图。它 是概念数据库设计的重要工具。
一.实体和属性 二.实体型、键属性和属性的值域 三. 数据库实例 四.实体间的联系 五. 弱实体 六.实体联系图
n B
A m R
n B
1:1联系型 大学数据库的ER图
1:n联系型
m:n联系型
接下页
F26a
大学数百度文库库的ER图
学校 邮政 市 区
信箱
单位 课程 所属系
编号 名称 学时数 所属系 编号 姓名 所属系 年级
编号 课程
姓名 T_S_C
性别
地址 教师
编号
T_D 教研室 名称 电话 学生 S_D 编号 系名 系 地点 BD 系主任 所属系
F3 第三节 扩展的实体联系模型
扩展的实体联系模型就是实体联系模型的扩充,即 在实体联系模型的基础上,增加了一些新概念,如 子类、超类、演绎、归纳、范畴、层性层次等。 下面分小节讨论这些概念。 一. 子类、超类、演绎和归纳 二. 演绎和归纳的性质 三. 范畴、EER图
一. 子类、超类、演绎和归纳 把实体型R的实体按需要划分为几个子集合R1,、R2、. , 这个过程称为演绎。R称为(演绎)超类,各Ri都是实体型,称为 (演绎)子类。子类除继承超类的所有属性之外,还附加用于区别 其它子类的特殊属性。不要求超类成员必须属于某个子类。 一个实体型可按不同需要进行多种不同的演绎,即不同的分类。 归纳是演绎的逆过程。把多个实体型Ri的共同属性抽取出来, 形成一个实体型,这就是(归纳)超类。 演绎和归纳都是联系型。分别称为演绎联系型和归纳联系型. [例]由教师实体型按专业 [例]由三个实体型归纳 演绎出三个子类 出超类‘运输工具’ 文科教师 火车 运 子 子 输 超 理科教师 教 超 d 飞机 d 类 类 工 类 师类 外语教师 演绎 汽车 归纳 具 单线表示超类实体 双线表示超类实 不必属于某子类 体必属于某子类 F31
一. 实体和属性 实体是客观世界中各种事物的抽象,如教师、学生、课程等。 属性是实体的一组特征,如教师实体的属性是姓名,证号,课程等。 属性可按结构性质分类为: 简单属性:不可分割的简单数据项,如姓名、性别和学号等。 复合属性:由若干个简单属性按层次结构组成, 例如,地址(省,市,区,街,号) 属性可按赋值唯一性分类为: 单值属性:一个实体的单值属性仅取一值,如编号,有效期等; 多值属性:一个实体的多值属性可取多值,如学历(年份,学位) 导出属性:这是一种特殊属性,其值可由其它某些属性的值导出。 例如:年龄可由出生日期和现在日期导出, 销售额可由销售价和销售量计算得出。 学历
F24a
2.联系型的结构约束(实体对应约束和实体关联约束) 实体对应约束:这是联系型所关联的各实体型之间的约束,有三种 实体对应约束即1对1约束、1对多约束、多对多约束。 [定义]设A和B是联系型R所关联的实体型, 若aA,唯一的bB与之关联,则称R是1对1联系型,记为1:1联系. 若aA,有n(0)个bB与之关联;bB,有m(1)个aA与之关联, 则称R是一对多联系型,记为1:n联系; 若aA,有n(0)个bB与之关联;bB,有m(0)个aA与之关联, 则称R是多对多联系型,记为m:n联系。 例如,若假定大学数据库还有主任实体型, 规定一个系只有一个主任,一个主任只负责一个系工作。 于是系实体型和主任实体型存在1:1联系; 由于一个系有多个教研室,而一个教研室只属于一个系, 故教研室实体型和系实体型之间的联系型B_T是1:n联系; 若规定一门课由多个教师讲授,而一个教师可讲授多门课, 则课程实体型和教师实体型之间存在一个m:n联系。
F26
六.实体联系图 实体联系图是表示ER模型的图形工具,简称ER图。 ER图用来表示实体型和联系型。 下边列出表示实体联系模型各种成分的ER图素。 实体型 弱实体型 A R 联系型 识别联系型 B 属性 导出属性 多值属性 复合属性 键属性
联系型R对于实体型B 具有全域关联约束 A 1 R 1 B A 1 R
三.数据库实例 该实例称为‘大学数据库’, 本页介绍组成它的五个实体型。 有几点说明: 1.大学由多个系组成,每个系有系 名、编号和主任,有多个地点。 系名和编号都是唯一的。 2.系有多个教研室,每个教研室有 名称、编号、所属系和地点。 编号是唯一的。
F23
3.每个教师有姓名、性别、编 号、地址、课程、所属系。 编号是唯一的。 4.每个学生有姓名、性别、编 号、所属系和年级。编号是 唯一的。 5.每门课程有名称、编号、所 属系、学时数。编号唯一。
多值 属性
F21
姓名 证号
任课
宿舍
复合 属性
房号
教师 一个实体例子
栋号
F22 二.实体型、键属性和属性的值域 实体型是具相同属性集的实体的集合, 由名字和一组属性来定义。 实体型的定义称为实体模式, 它描述了一组实体的公共结构。 实体型表示的实体集合中任何一个实体 称为该实体型的实例。 ER模型中的实体型用某个属性子集(称为键)区别实体, 如果键包含的属性只有一个,则称之为简单键, 否则称之为复合键。 键是实体型的一个重要完整性约束, 规定了不同实体有不同的键。 简单属性的取值范围叫做值域, 例如年龄的值域可取为1..150.
第一节 概述 概念数据库设计的两个任务及其目标: 1.事务设计: 根据需求分析阶段提出的数据库操作任务, 作出数据库事务的高级说明,其目标是: 在概念级定义事务的功能,说明事务的输入输出 信息和基本功能,支持各种事务的运行。 2.模式设计: 根据需求分析阶段识别的数据项和预测改变,使用 高级数据模型,建立概念数据库模式,其目标是: (1)准确描述信息模式,支持用户应用; (2)易理解,易转换为逻辑数据库模式。 概念数据库模式独立于DBMS,不能直接用于数据库实现。 这种做法的好处是: 1.不受特定DBMS局限,彻底地理解和描述应用领域, 有利于开发人员正确地和全面地理解应用领域。 2.不受逻辑设计、物理设计改变,甚至DBMS改变的影响。 3.由于使用图形描述方式直观易懂,故有利于开发者和用户的交流。 实体联系模型(ER)或其加强模型(EER)是广泛使用的高级数据模型.
F32b例 演绎归纳约束条件的例子 完全 重 性 单线表示部分约束:超类 迭性 实体不必属于某子类 文科教师 子正 类交 子 教超 d 不 约 类 理科教师 师类 相束 外语教师 交, 允许有教师不属于文理外三科 双线表示全域约束:超类 每个实体必属于某子类 运 子 输 超 d 类 飞机 工 类 汽车 具 运输工具仅火车飞机和汽车
F24c
3.联系型的属性 联系型可以具有属性,例如,为了表示教师讲授课程的周学时数, 在教师实体型和课程实体型之间的联系型 T_C={(t,c)|教师t讲授课程c}中设置一个属性周学时。
联系型的属性怎样设置呢? 若联系型是1:n类型,则可以把该属性设置在所关联的n方实体型中。 若联系型是1:1类型,则设置在两个实体型当中任一个均可以。 例如,联系型S_D={(s,d)|学生s属于系d}属于n:1类型, 因系向学生提供宿舍,故宿舍房号是联系型的属性, 可将此属性设置在n方实体型即学生实体型内。 注意,若把联系型属性设置在1方实体型内, 则会成为多值属性,给以后的许多处理带来麻烦。
数据库实例(大学数据库)的五个实体型 多值属性 编号 名称 属性集合 复合属性 1 系 系名,编号,地点,主任 下划线表示键 2 教研室 名称,编号,电话,所属系 3 教师 姓名,性别,编号,所属系,课程,地址, 4 学生 姓名,性别,编号,所属系,年级 5 课程 名称,编号,时数,所属系
F24 四.实体间的联系 在一个数据库中,不同实体型的实体之间可能存在着联系。 例如,大学数据库中教研室实体型的每个实体,即每个教 研室,必和系实体型的某个实体,即系,存在‘某教研室属 于某系’的联系。又如,学生实体型的实体(即学生)、教师 实体型的实体(即教师)以及课程实体型的实体(课程)存在 着‘某学生选修某教师讲授的某课程’的联系。 实体间的联系是根据需求分析的结果决定的。
F32b 2.演绎和归纳的约束条件 重 正交约束:规定子类交集为空。 迭 例如火车、飞机和汽车三个子类是互相独立的。 性 约 相交演绎:规定子类可以相交。 例如某课程既是一系课程又是二系课程。 束 完 全域约束:规定超类实体必属某子类。 全 例如归纳超类运输工具必属于火车 、飞机或汽车。 性 约 部分约束:规定超类实体不必属于某子类。 例如某教师都不属于文科、理科、外语科。 束 例子
相关文档
最新文档