数据模型
数据模型是 用于描述的概念性工具的集合,我感觉就和UML差不多吧,就是为了让数据库的定义、设计更规范
比如说:
- 关系模型 : 使用表格结构描述数据,以行和列的形式存储数据,强调 数据之间的关系
- 实体-关系数据模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
- 网络模型
- 结构模型
罗列出来的这些模型里,就对关系模型比较熟悉,其他都挺陌生的
三要素
- 结构 :数据特点的抽象,比如说数据的类型,内容,与其他数据的关系
- 操作 :对特定数据结构的操作
- 约束 :定义了数据之间的关联,限制了数据的变化方式,这是为了保证数据的正确性、一致性等,比如说我可以设定当某个数据发生变化时,另一个数据也要跟着发生变化
关系模型
- 表 :其实就和普通的表格类似,都是行和列的构造,行表示记录,列表示属性,数据库就是由许多相互联系的表组成的
- 属性/列/字段 :表中的每一列被称为属性或字段,用来定义记录的特征
- 元组/行/记录 :就是表中的一行,包含了一行完整的数据记录,涵盖表中的所有属性值
- 关系模式 :定义了表的结构和属性,就和C语言中的结构体类似
- 关系实力 :某一时刻表中所有记录的集合,简单来说就像是快照
- 关系键 :也可以叫做主键,用来标识表中每一行的一个或多个属性的集合,简单来说就是表中的每一行可以通过主键与其他行区分
- 属性域 :属性值预定义的取值范围
实体关系模型(ER)
具体的定义不太清楚,等后面再补上
ER图
- 矩形:实体集
- 椭圆:属性
- 菱形:关系集
- 线:连接属性到实体集以及实体集到关系集