跳至主要內容

关系型数据库设计规则

路漫大约 2 分钟

关系型数据库设计规则

一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
表具有一些特性,这些特性定义了数据在表中如何存储,类似 Java 和 Python 中 “类”的设计

表、记录、字段

  • 表 table
  • 记录 record
  • 字段 file

E-R(entity-relationship,实体-联系)模型中有三个主要概念是:

实体集 class <---> 数据库中的一个表 table

  • 一个实体 instance <---> 数据库中表 table 的一行 row/一条记录 record

属性 attribute <---> 数据库中表 table 的一列 column/一个字段 file

联系集

  • 表的关联关系
    • 一对一
      • 学生表(拆分两个表)
        • 个人信息表(常用)
        • 档案信息表(不常用)
      • 两个建表原则
        • 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一
        • 外键是主键:主表的主键和从表的主键,形成主外键关系
    • 一对多
      • 部门表&员工表\客户表&订单表、分类表&商品表、
        • 主表:部门表
        • 从表:员工表
      • 建表原则
        • 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
    • 多对多
      • 学生信息表-选课信息表(中间表/联系表)-课程信息表
      • 产品表-订单明细表(中间表/联系表)-订单表
      • 用户-用户角色(中间表/联系表)-角色
      • 建表原则
        • 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键
    • 自我引用

ORM 思想 (Object Relational Mapping)体现

  • 数据库中的一个表 <---> Java 或 Python 中的一个类
  • 表中的一条数据 <---> 类中的一个对象(或实体)
  • 表中的一个列 <----> 类中的一个字段、属性(field)