数据库设计过程(续1)

 

二、      数据库概念模型设计

 

数据库概念模型:

 

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 图

姓名是复合属性,即名字由姓,中间名,名构成;

电话号码是多值属性,即一个客户有多个电话号码;

年龄是导出属性,即年龄可以由生日导出;

  


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

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值