这一篇用来做课程前期数据库概念的记录,不会有sql语句。
数据模型
数据模型是现实世界数据特征的抽象,是现实世界的模拟。
数据模型分为两类:
- 概念模型:按用户观点来对数据和信息建模,用于数据库设计,也称为信息模型。
- 逻辑模型和物理模型:
-
- 逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现
-
- 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存储方法,在磁盘或磁带上的存储方式和存取方法
概念模型
用途:
- 概念模型用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据库设计人员和用户支架内进行交流的语言。
该图是用于表示概念模型的E-R图,其中方框代表模型的实体,椭圆代表实体的属性,菱形代表实体间的联系。
实体
客观存在并可相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念或联系。
属性
实体所具有的的某一特性称为属性。实体有若干个属性值来刻画(实体不能只有一个属性)。
码(key)
能唯一标识实体的最小属性租称为码,又叫做关键字、键。
关键字可以包含一个属性,也可同时包含多可属性——实体需要多个属性才能唯一标识。
实体可以有一个码,也可同时有多个吗——最小的属性组不止一种。
实体型
用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
在通常情况下,实体型也称为实体,他们俩区别不大
实体集
同型实体的集合
-----------------------------------------------------------
看到这如果不能分清实体、实体型、实体集可以这样想:一个班级里有小明、小红、小刚三明学生,小明是一个实体,小明和他的一堆属性(姓名,学号等)是一个实体型,小明、小红、小刚加起来是一个实体集。
不看也行:
我们之所以说实体和实体型区别不大,是因为“小明是一个实体”其实是“这名学生是一个实体”,“小明”是这名学生的一个属性,在excel表格中这名学生是其中一行,这一行又包含着这名学生的属性信息,所以这一行也是实体集,即:在excel表格(数据库表)中,一行是一个实体/实体型,整个表是实体集。
-----------------------------------------------------------
联系
事物内部的联系:实体内部的联系。
事物之间的联系:实体之间的联系,实体集之间的联系。
联系可以看做一个实体
实体之间的联系:
-
一对一联系(1:1):
身份证:一个人只有一张,每一张只能一个人用。 -
一对多联系(1:n):
手机号:一个人可以有多个,一个手机号只能一个人用,可以没有手机号,可以手机号没人用。 -
多对多联系(m:n):
共享单车:爱咋用咋用,可以不用,可以没人骑。
实体集之间的联系:
实体集的一对一联系没有意义:因为一对一说明一个实体集包含另一个实体集
-
一对多联系:
在一组实体集中,只要有一组实体集满足以下条件:其他实体集每一个实体,最多和这个实体集中的一个实体相联系,就称为一对多。
各班级学生名单+优秀学生名单 -
多对多关系:
数据集之间两两成多对多关系。
供货商–项目–零件
实体内部的联系:
-
一对多联系:
某一学生是全班学生的班长,
一个学生只有一个班长。 -
一对一联系:
一个学生只有一个同桌,
一个学生只能是另外一个学生的同桌。 -
多对多联系:
同班同学中,
一个学生有许多同乡,
一个学生可以是其他许多学生的同桌。
来源:CSDN
作者:聪明的王二狗
链接:https://blog.csdn.net/w_xy999/article/details/104648774