二、 数据库概念模型设计
数据库概念模型:
(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换。
<1>.实体-关系(E-R)模型
1.1几个基本概念
实体集
l 数据库可被建模为:
n 实体集合
n 实体间联系.
l 实体是客观存在的对象并且与其他对象可区分.例如: 特定的人, 公司, 事件, 植物
l 实体具有属性。例如: 人具有姓名和地址
l 实体集是相同类型的实体的集合,他们具有相同的性质.例如: 所有人的集合, 所有公司的集合
属性
l 实体用一个属性集合来表示, 即实体集中所有成员都具有的描述性特性.
例如:
customer = (customer-id, customer-name, customer-street, customer-city)
loan = (loan-number, amount)
l 域 – 属性允许取值的集合
l 属性种类:
n 简单属性与复合属性.
复合属性举例:
n 单值属性与多值属性
E.g. 多值属性: phone-numbers
n 导出属性可由其他属性计算得到
E.g. 给定出生日期可计算出年龄
联系集

举例:客户和贷款帐户之间的联系集
联系集也可具有属性.
例如, 实体集“客户”和“帐号”之间的“存款”联系集可具有属性“存款时间”
联系集的度
l 参加联系的实体集的个数.
l 涉及两个实体集的联系集称为二元的.
l 联系集可以涉及多于两个的实体集.
–E.g. 假设银行职员可以在多个分行承担工作, 且在不同分行有不同工作. 则在实体集 employee, job 和 branch 之间有一个三元联系集
l 多于两个实体集之间的联系较少见, 数据库系统中的联系集一般多为二元的.
映射基数
l 表达可与一个实体通过联系集进行关联的其他实体的个数.
l 描述二元联系集最有用.
l 二元联系集的映射基数只能是以下情况:
n 一对一
n 一对多
n 多对一
n 多对多
举例:
l (a):一对一。 映射是实体与实体之间的关系,不是实体与属性。比如“一个人只有一个姓名”,是实体与属性。而“一个人只有一个合法配偶”,则是男人实体集和女人实体集之间的映射。在一个实体集中有一部分实体没参与映射,也叫一对一映射。比如不是所有的男人或女人已婚。
l (b):一对多。比如班级跟学生的映射。
l 注意:A中的某些元素可能未被映射到B中的任何元素。
l (a):多对一。
l (b):多对多。
l 注意: A 和 B 中的某些元素可能未被映射到另一集合中的任何元素
l 区分实体之间的映射数跟映射的属性数的区别。
映射基数影响 ER 设计
如果每个账户只能有一个客户,可将 access-date 作为 account 的属性而不是联系的属性
从account 到customer 的联系是多对一的, 或等价地, customer 到 account 是一对多的

1.2 E-R图

l 矩形表示实体集
l 菱形表示联系集
l 直线连接实体集及其属性,实体集与联系集
l 椭圆表示属性
l 双椭圆表示多值属性
l 虚线椭圆表示导出属性
l 下划线表示主键属性 (见后)
E-R图联系的几种表示方式

带有复合属性,多值属性和导出属性的E-R 图
姓名是复合属性,即名字由姓,中间名,名构成;
电话号码是多值属性,即一个客户有多个电话号码;
年龄是导出属性,即年龄可以由生日导出;

带有属性的联系集(存款带有存款日期)
7265

被折叠的 条评论
为什么被折叠?



