ER图总结

目录

1、概念

2、组成部分

2.1、实体

2.2、属性

2.3、联系

2.4、连线

2.4.1、1对1联系:

2.4.2、1对多联系:

3、步骤:

3.1 验收标准:

4、注意


1、概念

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型

2、组成部分

2.1、实体

实体是ER图中的基本元素之一,表示数据模型中的数据对象。它们通常对应于现实世界中的对象或事件。例如,对于一个学校系统,实体可以包括学生、教师、课程等。每个实体都有自己的实体实例,例如一个特定的学生(如张三)或一门特定的课程(如数学)。实体在ER图中通常用长方形表示,长方形内部标注的是实体名称。

2.2、属性

属性是ER图中的另一个基本元素,用于描述实体的特性。例如,学生实体可以具有属性,如姓名、学号、年级等。属性通常用椭圆形表示,并且椭圆形内部标注的是属性的名称和数据类型。有些属性也可能是唯一标识符,用来唯一标识实体的实例,这样的属性在ER图中会用下划线标注。

2.3、联系

联系是用来描述实体与实体之间的相互关联或依赖关系的。例如,学生和课程之间可能存在“选课”的关系,教师和课程之间可能存在“授课”的关系。联系在ER图中通常用菱形表示,菱形内部标注的是联系的名称。

2.3.1、1对1

1对1联系是指两个实体之间存在一种一对一的关联关系。换句话说,对于实体集A中的每一个实体,实体集B中最多只存在一个实体与之相关联。同样地,对于实体集B中的每一个实体,实体集A中也最多只存在一个实体与之相关联。在ER图中,1对1联系可以通过在两个实体之间画一个箭头来表示,从一个实体指向另一个实体。箭头所在的直线表示联系的类型。例如,在"学生-成绩"关系中,每个学生对应一份成绩单,因此可以使用1对1联系来表示这个关系。

2.3.2、1对多 

1对多联系是指一个实体集中的实体与另一个实体集中的多个实体之间存在关联关系。具体来说,对于实体集A中的每一个实体,实体集B中至少存在一个实体与之相关联;而对于实体集B中的每一个实体,实体集A中最多只存在一个实体与之相关联。在ER图中,1对多联系可以通过在"一"侧的实体上画一个箭头来表示,箭头指向实体集B。例如,在"班级-学生"关系中,一个班级有多名学生,因此可以使用1对多联系来表示这个关系。

2.4、连线

实体与属性之间;实体与联系之间;联系与属性之间用直线相连。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)

3、步骤:

  1. 确定所有的实体集合;
  2. 选择实体集应包含的属性
  3. 确定实体集之间的联系
  4. 确定实体集的主键,用下划线在属性上表明主键的属性组合
  5. 确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型

3.1 验收标准:

  1. 词汇表达准确,实体为名词,联系为动词。
  2. 图形使用是否准确,见上文。
  3. 实体之间的关系正确,如学生与课程之间的关系为多对多。
  4. 实体名称和属性与数据库中的表名和字段对应。实体为数据库中表的名字,属性为数据库中的字段。

4、注意

  • 1、数据库命名要规范,只能使用半角英文字母、数字、下划线作为数据库表和列的名称。
  • 2、数据库包含的数据表过多,可以分几张er图来展现。
  • 3、如果实体过多,可将属性和实体分开画。
  • 4、当有多对多关系并且产生第三张表的时候,直接将新表的字段放在菱形关系的上面
03-08
### ER的概念 ER即实体-关系(Entity-Relationship Diagram),是一种用于表示数据之间关系的形化工具。通过这种表能够清晰地展示数据库中的各个实体及其相互之间的关联方式[^1]。 ### 如何创建ER #### 定义实体 实体是指现实世界中存在的对象,在ER中通常表现为矩形框内的名称。每一个实体代表一类事物,比如学生、课程等。这些实体最终会映射到关系型数据库里的表格,而每个实体实例则对应于表内的一行记录[^3]。 #### 描述属性 对于每一个实体来说,都需要为其指定若干个描述性的特征——也就是所谓的“属性”。属性被列在椭圆形状里并连接至所属实体。例如,“姓名”、“年龄”可能是“学生”这个实体所具有的两个不同属性;它们将在实际的关系数据库中作为相应表中的字段存在。 #### 建立联系 为了表达多个实体间存在的交互作用或依赖关系,还需要引入第三种基本元素:“联系”,它由菱形符号来标记,并附带说明两者间的具体联系方式(一对一、一对多或多对多)。这有助于理解各实体是如何共同工作的以及怎样存储其关联的数据项。 ```mermaid erDiagram CUSTOMER }|--o{ ORDER : places ORDER ||--|{ LINE_ITEM : contains CUSTOMER { id INT PK name VARCHAR(50) } ORDER { id INT PK date DATE } LINE_ITEM { id INT PK product_id INT FK quantity INT } ``` 上述Mermaid语法绘制了一个简单的ER案例,展示了客户(CUSTOMER)与订单(ORDER)之间的一对多关系,还有订单明细(LINE_ITEM)同订单之间也存在着类似的关联模式。 ### 数据库设计过程中的应用时机 除了专门针对新系统的开发阶段外,在现有应用程序维护期间同样适合构建ERD。当面临需求变更或是性能优化挑战时,重新审视现有的ER可以帮助识别潜在改进点,从而指导后续调整工作[^2]。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丸子还是团子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值