数据库模型

Posted aaron-zhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库模型相关的知识,希望对你有一定的参考价值。

1.实体-联系-模型

  • 实体(Entity)
    • 客观事物在信息世界中称为实体
  • 属性
    • 描述实体或者联系的性质或特征的数据项
  • 联系
    • 反映事物内部或事物之间的关联集合
    • 一对一
    • 一对多
    • 多对多

2.E-R图

  • 也称实体-联系图
  • 提供了实体类型、属性和联系的方法
  • 用来描述现实世界的概念模型
  • 矩形表示实体行,矩形框内写明实体名
  • 椭圆表示实体属性,椭圆内写明实体属性名
  • 菱形表示实体型间的联系,在菱形内写明联系名
  • 一对一1:1
  • 一对多1:m 1:n
  • 多对多m:n

3.关系模型

3.1基本名词

  • 关系
    • 一张二维表
    • 没有重复行、重复列
    • 每个关系都有一个关系名
  • 元组
    • 二维表的每一行在关系中称为元组
    • mysql中,一个元组对应表中一个记录
  • 属性
    • 二维表的每一列在关系中称为属性
    • 每个属性都有一个属性名
    • 属性值则是各个元组属性的取值
    • 属性的取值范围称为域
    • 同一属性只能在相同的域中取值
  • 关键字
    • 关系中能唯一区分、确定不同元组的属性或属性组合
    • 主键
      • 针对一个表来说的
      • 主键修饰的列是唯一的、不能重复、不能为空
      • 一个表中之能有一个主键
    • 外键
      • 针对两个表来说的
      • 加强表之间的联系

3.2关系模式

  • 对关系的描述称为关系模式
  • 格式:(属性名1,属性名2,... ... ,属性名n)

3.3关系的基本特点

  • 关系必须规范化,属性不可再分割
  • 在同一关系中不允许出现相同的属性名
  • 在同一关系中元组和属性的顺序可以任意

3.4关系运算

  • 选择
    • 从关系模式中找出满足给定条件的元组组成新的关系(从行的角度运算)
  • 投影
    • 从关系模式中指定若干属性组成新的关系(从列的角度运算)
  • 连接
    • 从两个关系的笛卡尔积中选取属性间满足一定条件的元组组成新的关系
    • 笛卡尔积:例如A={a, b},B={0, 1, 2},则;两集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}

3.5关系的完整性约束

  • 实体完整性
    • 主属性值(主关系建的值)不能为空值
  • 参照完整性
    • 简单说就是主键和外键的关系
  • 域完整性
    • 限制了某些属性中出现的值
    • 把属性限制在一个有限的集合中

3.6关系模型的规范化

  • 关系模式要满足的条件称为规范化形式,简称范式
  • 目的
    • 消除存储异常
    • 减少数据冗余
    • 保证数据的完整性和存储效率
  • 第一范式(1NF)
    • 所有属性均为简单属性
    • 即每个属性都是不可再分的
    • 无重复的列
  • 第二范式(2NF)
    • 满足第一范式
    • 且每一个非主键字段完全依赖于主键
  • 第三范式(3NF)
    • 满足第二范式
    • 且非主键字段之间不存在依赖关系
    • 从表只能引用主表中的一个列

以上是关于数据库模型的主要内容,如果未能解决你的问题,请参考以下文章

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

如何防止在背面片段导航上再次设置视图模型

如何绕过将数据模型传递给片段参数以避免事务太大异常?

LiveData 没有观察具有共享视图模型的子视图页面片段

Cg入门19:Fragment shader - 片段级模型动态变色