12.9
实体-关系图是一种用于表示现实世界中的数据和数据之间关系的图形工具。它是一种图形化的方式,能够帮助开发人员和数据库设计者更好地理解数据之间的联系和特性。
E-R图的元素
矩形框:表示实体型。矩形框内写明实体名称;
椭圆图框:表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;
菱形框:表示实体型之间的联系成因,在菱形框内写明联系名,并用“实心线段”分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。
1、实体(Entity)
什么是实体?实体是客观存在的事物。例如用户、商品、订单、供应商等。说直白点!!!你数据库的表名就可以做一个实体对象。一个系统是由很多个实体对象构成的,然后它们之间存在一定的关系和属性。
2、属性(Attribute)
什么是属性?举例子:用户实体拥有属性【id、姓名、年龄、电话、身份证号】、商品实体拥有属性【id、商品名称、商品类型、商品价格、商品图片、商品描述、供应商名称】、订单实体拥有属性【id、订单编号、用户名称、商品名称、下单日期】、供应商实体拥有属性【id、名称、地址、联系电话】。
3、关系(Relationship)
什么是关系?例如用户和商品应该购买关系(一个用户购买多件商品)、订单与商品应该是包含关系(一个订单中包含多件商品)。
4、弱实体
什么是弱实体?如果一个实体依赖于某个实体而存在,那么前者是弱实体,后者为强实体。例如订单实体依赖于商品实体而存在,为什么?因为如果没有商品你能够下订单吗?不可能!所以订单为弱实体,商品为强实体
5、多值属性
什么是多值属性?例如一个用户可能拥有多个电话号码,所以电话号码可以作为多值属性。一个用户只能拥有一个身份证号码,所以身份证号不能作为多值属性。
6、派生属性
什么是派生属性?例如一个用户的年龄我们可以作为派生属性,为什么?因为它可以通过身份证号推导出来。所以需要注意的是能推导出来的属性我们都可以作为派生属性。
7、弱关系
什么是弱关系?弱关系一般是和弱实体一起使用的,只有弱实体才会用到弱关系。
8、概化
什么是概化?说直白点就是分组!!!一个商品类型可能包含图书类、服装类、数码类等。
9、全部概化
什么是全部概化?说直白点也是分组!!!但是!!!一个商品类型只能包含图书类、服装类、数码类。这就是概化与全部概化的区别。
四、为什么使用ER图
1、可视化数据模型
E-R图提供了一种直观的方式来可视化数据模型,使复杂的数据结构变得清晰明了。
2、规范化和优化
E-R图帮助识别数据冗余和不一致,从而指导规范化过程和数据库的优化。
3、明确需求
通过绘制E-R图,开发人员可以更好地理解业务需求,确保数据库的设计符合业务逻辑。