【数据库-入门3】基本概念

一、信息世界中的基本概念

1、实体(Entity)

客观存在并可相互区别的事物称为实体。 实体可以是具体的人、事、物。也可以是抽象的概念或联系。

!note

例如:一个学生、一个部门、一门课、一个职工,等等

2、属性(Attribute)

实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。

!note

例如:一个学生有学号、年龄、院系、入学时间、绩点、宿舍号,等多个属性。

3、码(Key)

唯一标识实体的属性集称为码。

!note

例如:学号是学生的实体码、身份证是人的实体码、员工号是公司员工的实体码。根据码可以唯一确定一个事务。

4、域(Domain)

域是一组具有相同数据的值的集合。属性的取值范围来自某个域。

!note

这个域有点像数学中的值域、定义域,是一个取值范围。比如性别的域为{男,女},学生年龄的域为{整数}。

5、实体型(Entity Type)

具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。

!note

学生(学号、姓名、性别、出生年月、所在院系、入学时间)是一个实体型。

职工(工号、姓名、性别、年龄、所在部门、入职时间、薪水)是一个实体型。

6、实体集(Entity Set)

同一类型实体的集合称为实体集。

!note

例如:全体学生是一个实体集,全体职工是一个实体集。

7、联系(Relationship)

在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部联系和实体(型)之间的联系。

二、两个实体型之间的联系

1、一对一联系(1:1)

如果对于实体集A中的每一个实体,实体集中的B中至多有一个(或者没有)实体与之联系,反之亦然,则称为实体集A与实体集B具有一对一联系,记为1:1。

!note

例如:一个人最多有一个身份证号,一个身份证号最多供一个人使用。

2、一对多联系(1:n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n\\geq0)与之联系,反之对于实体集B中的每一个实体,实体集中至多只有一个实体与之联系,则实体集A与实体集B有着一对多的联系,记为1:n。

!note

例如:一个班级中有多个学生,但是一个学生只能属于一个班级。

3、多对多联系(m:n)

如果对于实体集A中的每一个实体,实体集B中有n个实体(n\\geq0)与之联系,反之对于实体集B中的每一个实体,实体集中有m(m0)与之联系,反之对于实体集B中的每一个实体,实体集中有m(m0)与之联系,反之对于实体集B中的每一个实体,实体集中有m(m\\geq0)个实体与之联系,则实体集A与实体集B有着多对多的联系,记为m:n。

!note

例如:一个老师可以教多个学生,一个学生也可以有多个老师。

注意:多对多联系不能直接在两个实体的表中通过外码关联,必须引入"中间实体"(也叫"关联实体")来转换为两个一对多联系。比如"学生-课程"是m:n,需引入"选课记录"中间实体,将其拆分为"学生-选课记录"(1:n)和"课程-选课记录"(1:n)。

三、两个以上的实体型之间的联系

两个以上的实体型也存在着一对一、一对多、多对多联系。

!note

例如:供应商、项目、零件

一个供应商可以供应多种零件;

每个项目可以使用多个供应商供应的零件;

一种零件可以有多个供应商提供。

三者之间是多对多的。

四、单个实体集内的联系

同一实体集的各实体之间也可以存在一对一,一对多,多对多的联系。

!note

例如:一个学生可以带领其他学生组成学习小组。

相关推荐
阳光九叶草LXGZXJ3 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客4 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy6 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋2017 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_8 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼8 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川9 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路9 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna10 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
第七页独白10 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库