- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实体集中每个成员具有的性质。 一个实体由属性集合组成。
第二章
数据建模
2 属性: Attributes
属性域: 每个属性所允许的值的集合; 客户名: 10个字符的字符串集合; 数据库:包括一组实体集,每个实体集中包含一些相同类型的 实体。例如:银行数据库:包含客户和贷款2个实体集。
第二章
数据建模
3 联系。
GU 系(系名=’计算机系’),班(班名=’计科0202’),学生
计算机系
计科0201班 … 张三 李四
计科0202班 … 王五 李定
计教0201班 … 赵山 周英
硬件教研室 … 孙立 钱敏
软件教研室 … 胡恒 丁伟
第二章
数据查询
数据建模
层次模型HIERARCHICAL MODEL
(2)GNP(Get Next within Parent) 在当前记录的双亲下,按层次序列查找下一个满足条件的记录。 例如,查找计科0202班所有学生的记录的查询操作命令如下 GU 系(系名=’计算机系’),班(班名=’计科0202’),学生; /*找到记录王五*/ While not fail do GNP 学生;/*找到当前记录王五的双亲计科0202 班的所有学生记录*/ (3)GN(Get Next) 从当前记录位置开始,按照层次序列,不受同一双亲的限制,查找当 前记录的下一个满足条件的记录。
职工
1
成员
n
家庭情况
第二章 数据建模 E-R模型补充 2. 实体集及其子类(Subclass)的表示
A与B是两个实体集,如果B在具有A所具有的全部属性的 基础上有具有自己的属性,及B是A的一个子集。称B为A的 子类,A为B的超类(借用面向对象的概念),用 is a(属于) 联系。
第二章
数据建模
例如,学生与本科生、研究生的联系:
第二章
2 联系集
数据建模
R 为E1, E2 …. En的联系集,primary_key(E1)表示实体集 E1的主码属性集合, 这样 primary_key(E1) U primary_key(E2) U ……primary_key(En) 描述了R中的一个联系,
或者
primary_key(E1) U primary_key(E2) U…primary_key(En) U {a1,a2,….an}描述了R中的一个联系; 若a1,a2,….an为R 的属性。
不同实体之间的相互关联
第二章
数据建模
3 联系集
同类联系的集合
第二章
数据建模
3 联系集
联系集也可以包含属性
第二章
映射基数
数据建模
通过一个联系集能够同另一实体相联系的实体数目。 (对于2元联系) (1) 一对一联系。如果对于实体集A中的每一个实 体,在实体集B中至多有一个实体与之联系。反之 亦然。称实体集A与B具有一对一联系。
18
1-N?
一位借阅者一次可以借阅多本图书 一本图书一次只能被一位借阅者借阅 在此情况下满足1-N,可以解决“某本 图书当前是否被借出,被谁所借”之类 的问题。
但如果需求涉及“某本书在2008年被哪 些借阅者借过”,1-N能否满足?
19
M-N
通过考虑借阅时间等因素: 一位借阅者可以借阅多本图书 一本图书可以借给多位借阅者
第二章
概念模型
数据建模
现实世界到机器世界的中间层次,常用E-R模型表示。 E-R数据模型(即Entity-Relationship data
model,实体-联系数据模型)是P. Chen(Peter PinShan Chen)于1976年提出的一种语义数据模型。E-R 数据模型不同于传统数据模型,它不是面向实现,而 是面向现实世界。
Many-to-Many
16
实体间的联系与现实世界的语义环境关系 密切。具体判断时,应根据分析语义, 通过上述定义来判断联系的类型。
例如,图书馆借阅管理系统,读者与图书 的联系问题。 1-N ?
17
1-N?
一位借阅者一次可以借阅多本图书 一本图书一次只能被一位借阅者借阅 在此情况下满足1-N,可以解决“某本 图书当前是否被借出,被谁所借”之类 的问题。
层次模型HIERARCHICAL
数据建模
MODEL
第二章
数据建模
层次模型HIERARCHICAL MODEL 数据查询
在层次数据模型中,若要查找一个记录,须从根结点开始,按给定条 件沿一个层次路径查找所需要的记录。 1)GU(Get Unique)
格式:GU<查询条件> 该命令执行的结果是查找出满足条件的第一个条件
第二章 数据建模 1 实体集(Entity sets)
实体:一个存在并区别于其他的对象的事件(物体) 人员、企业、事件、工厂等。
实体集:
具有相同类型及相同属性(性质)的实体的集合。 节假日(……)/ 企业员工(……) /自控研究生( ……. ) 。)
第二章
数据建模
2 属性: Attributes
第二章
层次模型HIERARCHICAL MODEL
数据建模
数据操纵:
(1)数据插入(INSERT) 插入操作可先将插入数据写入系统I/O区,然后指定一个由根记录开 始的插入层次路径,完成数据的插入操作。 (2)数据删除(DELETE) 删除操作是先用查询命令将待删除的记录定位为当前记录,再 DELETE命令完成删除任务。当删除一个记录时,则其所从属的所有子女 记录都被删除。 (3)数据修改(REPLACE) 先用查询语句将要修改的记录定位为当前记录,并将该记录读到I/O 区,在I/O区对数据进行修改,然后用REPLACE命令可将修改后的记录值 写回到数据库中。
1
1
人
夫妻
1
教师
领导
n
自反联系E-R简图
23
第二章 E-R模型补充 1.依赖联系和弱实体集
数据建模
x实体的存在依赖于y实体的存在。
贷款实体(loan)和还款实体(payment)
第二章
数据建模
在人事管理数据库中存放的职 工实体集及其家庭成员实体集,前者 以后者的存在为前提,家庭成员实体 集依赖于职工实体集。这种依赖另一 个实体集的存在而存在的实体集称为 弱实体集,它们与其他实体集间的联 系称为依赖联系。
第二章
层次模型HIERARCHICAL
数据结构:
数据建模
MODEL
层次模型用树形结构来表示各类实体以及实体间的联系
1)有且仅有一个结点没有双亲结点,即为根结点 2)根结点以外的其它结点,有且仅有一个双亲结点 兄弟结点(Twin, Sibling ):同一双亲的子女结点; 叶结点:没有子女的结点;
第二章
第二章
数据模型
数据建模
人们对现实世界的数据特征的抽象。(真实 性.易理解.易实现)要求较真实地模拟现实世界,容 易为人理解,便于在计算机上实现。 两类数据模型: 概念模型 按用户的观点对数据建模 数据模型 按计算机的观点对数据建模
第二章
数据建模
计算机无法直接处理现实事物 需 要将现实事物转化为计算机可以理解的数
A R B
第二章
映射基数
(1) 一对一联系。
数据建模
第二章
数据建模
映射基数 (2) 一对多联系。如果对于实体集A中的每 一个实体,在实体集B中有n(n>=0)个实体与之 相联。反之,实体集B中的每一个实体在实体 集A中至多有一个实体与之联系。称实体集A与 B具有一对多联系。
A R B
第二章
映射基数 (2) 一对多联系。
研究生和本科生除了学生的属性外(继承),还各自 具有自己的属性。
学生
研究生
本科生
第二章 键值(码、Keys)
数据建模
用以区分实体集中的不同实体或联系集中的不同联 系的属性特征。 1 实体集 超码 super key 一个或多个属性集和,可以在一个实体集中唯一标 示一个实体 { social-security } { social-security , Customer-name } { Customer-name , Customer - Street}
据 作用: 1)用来抽象、表示和处理现实世界中数据 和 信息的工具; 2)是对现实世界的模拟 要求:
较真实模拟现实世界 易于理解(人的角度) 易于实现(计算机的角度)
第二章
数据建模
现实世界(认识抽象)信息世界(概念模型) 机器世界(01) Reality information(Data) Computer 某人 (姓名,性别,年龄…) 01010010 概念模型:现实世界的第一层抽象,不涉及信息在计算机中的表示 问题,只把现实转化为信息 实质:是对现实世界抽象后的信息建模,以便向机器世界过渡。 作用: 1)设计人员的有力工具; 2)易于用户理解,便于和用户交流; 3)为下一步数据库设计准备
A 1 A-B-C 1 B C 22 p
自反联系(Roles) 表示同一个实体集两部分实体之间的联系,是一种特殊的二 元联系。这两部分实体之间的联系也可以区分为1:1、1:n 和m:n三种。 例如,在“人”这个实体集中存在夫妻之间的1:1联系;教 师实体集中为了描述领导与被领导关系,可用1:n联系描述;
网状模型Network Model
数据建模
数据结构 一般的有向联通图 实体对应记录 实体间的一对多联系对应
第二章
数据建模
网状模型Network Model 数据结构 1)允许一个以上的结点无双亲; 2)一个结点可有多于一个双亲; 3)两结点有多种联系 数据操纵:查询、插入、删除和修改 完整性约束:依DBMS而定,一般提供一 定的完整性约束
此联系应该具有联系属性,如“借阅流 水号”、“借阅时间”和“归还时间” 等
20
结论
联系类型应由需求,即现实世界的语义 来确定 不同角度的不同用户,看问题可能不同, 造成冲突
21
多元联系 在E-R数据模型中,二元联系这种表示 方法还可推广到多元联系,即参与联系 的实体个数n≥3。例如,三元联系也可 区分1:1:1、1:1:p、1:n:p、m:n:p等联 系。
一的映射关系。
payment的属性: payment_number payment_date payment_amount
Payment : { loan_number , payment _ number}
第二章
弱实体集
数据建模
第二章
数据建模
层次模型HIERARCHICAL MODEL 用树型结构表示实体及实体之间的联系 数的节点是字段(属性)集合——采用方块 链接指针——线条。 基本数据关系为双亲子女关系(Parent-Child Relationship, PCR ) 一对多关系(1:n)
第二章
2 联系集
数据建模
这样primary_key(E1) U primary_key(E2) U…primary_key(En) 构成联系集的一个超码。 对于联系集的主码,由联系集映射基数决定,若多对多, 由实体集的主码共同组成,或者“多”的方的主码 组成。
第二章
弱实体集
数据建模
实体集的属性都不足以形成主码,这样的实体集为弱实体 集。 弱实体集具有存在依赖关系,与依赖实体具有多对
多对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
多对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
实现
数据建模
MODEL
第二章
层次模型HIERARCHICAL
Βιβλιοθήκη Baidu实现
数据建模
MODEL
第二章
层次模型HIERARCHICAL
实现(虚拟记录)
数据建模
MODEL
第二章
第二章
数据建模
1 实体集
候选码:candidate key 最小的超码;既任意真子集都不是超码 { social-security } { Customer-name , Customer - Street} 主码:primary key 被数据库设计者选中,用来在同一实体集中,区分 不同实体的候选码。 { social-security }
第二章
层次模型HIERARCHICAL
一对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
一对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
多对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
多对多映射
数据建模
MODEL
第二章
层次模型HIERARCHICAL
数据建模
第二章 数据建模 (3) 多对多联系。如果对于实体集A中的每一个 实体,在实体集B中有n(n>=0)个实体与之相联。 反之,实体集B中的每一个实体在实体集A中也 有n(n>=0)个实体与之联系。称实体集A与B具 有多对多联系。
A
R
B
映射基数
1-to-1
1-to Many
Many-to-1