什么是一对一、一对多、多对多?什么是E-R图及如何绘制E-R图?什么是关系模式及怎样把E-R图转换成关系模式

文章介绍了数据库设计中的三种基本关系类型:一对一、一对多和多对多,并通过实例解释了它们的含义。接着,详细阐述了E-R图(实体-联系图)的概念,包括实体、属性和联系的表示方法。最后,探讨了如何将E-R图转换为关系模式,并给出了不同关系类型在转换中的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是一对一、一对多、多对多?

一对一、一对多、多对多是数据库实体间的3种关系

一对一:

  • 一个人只有一个身份证号,一个身份证号也只能标识一个人

  • 一个人只有一个面部生物信息,一个面部生物信息也只能是一个人的

一对多:

  • 张三只属于高三一班,但高三一班有30个学生

  • 南京市只能属于江苏省,但江苏省有13个市

多对多:

  • 小明可以选语文、数学、英语等课程,语文课也可以被小王、小李、小赵等学生选择

  • 联华超市可以销售乐事薯片,可以卖上好佳薯片,也可以卖其他品牌的薯片,同时乐事薯片也可以被大润发销售,也可以被家乐福等超市销售


二、什么是E-R图?如何绘制E-R图

E-R图即实体-联系图,E表示Entity,R代表Relationship,表示实体类型、属性和联系,是用来描述现实世界的概念模型,例如张三、量子力学等。

E-R图包含实体、属性和联系,其中实体表示可以相互区分的事物,可以是人可以是物,也可以是抽象的概念;属性表示实体的某个特性,例如张三的姓名、薯片的品牌等;联系表示实体之间或者实体内部之间的关联。

通常用矩形框表示实体,如果是弱实体,则在矩形外面再加个矩形,椭圆形框表示属性,菱形框表示联系,用直线将实体与联系、实体与属性、联系与属性相连,并将实体间的关系标注在连线上(1:1,1:N,M:N)。

例如:

一家公司下设多个部门,每个部门安排一个负责人,每个负责人分管各自部门的职工。


三、什么是关系模式?怎样把E-R图转换成关系模式?

关系模式是对关系的描述,它可以形式化地表示为: R(U,D,dom,F),一般简记为:R(U),例如学生(学号,姓名,性别),其中学生是关系名,学号、姓名、性别为属性。

  • R:关系名

  • U:属性名集合

  • D:属性所来自的域

  • dom:属性向域的映象集合

  • F:属性间数据的依赖关系集合

关系模式对应的就是数据库的表结构,例如:

学生(学号,姓名,性别)

课程(课程号,课程名)

选修(学号,课程号,成绩)

E-R可以转换为关系模式,例如:

1:1关系的E-R图:

医生(医生编号,所属科室)

病人(姓名,年龄,病号)

负责(医生编号,病号)

这个E-R图中的联系负责,一对一关系中联系可以合并到任意实体,例如可以将负责这一组合并到病人

医生(医生编号,所属科室)

病人(姓名,年龄,病号,医生编号)

也可以将负责这一组合并到医生

医生(医生编号,所属科室,病号)

病人(姓名,年龄,病号)

1:n关系的E-R图:

公司(统一社会信用代码,营业执照,法人)

部门(部门代码,部门名称)

设置(统一社会信用代码,部门代码)

这个E-R图中的联系设置,一对多关系中联系可以合并到多的一方实体:

公司(统一社会信用代码,营业执照,法人)

部门(部门代码,部门名称,统一社会信用代码)

m:n关系的E-R图:

学生(学号,姓名,年龄)

课程(课程编号,课程名称)

选择(学号,课程编号)

多对多关系中,联系不能合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值