Flask-sqlalchemy(一)

1. 什么是数据库?

  • 数据库就是有组织的存储应用程序数据,然后查询检索指定需要的那部分。

2. 数据库分类?

2-1. SQL数据库:

  • 关系数据库将数据保存在表中来模拟应用程序中不同的实体。eg: student, teacher
  • 一个表有一个固定数量的列和一个可变的行数。列定义了数据表所代表的实体的属性。eg: student(id, name, age, tel…..)
    表有种特殊列称作主键,它持有一个惟一的标识符为表中存储的每一行。
  • 表也可以有外键,用于引用其他表的主键。这些行之间的连接称作关系,也是关系数据库模型的基础。

2-2. 案例

  • 案例:

    • roles表存储了一组所有可能的用户角色,每一个都被定义为唯一id值——也是表的主键。
    • users表包含一组用户,同样每一个都有唯一id值。
  • 表结构如下:

    • 用户角色数据库表
      这里写图片描述

    • 用户数据库表
      这里写图片描述

# users表中的role_id列是一个引用role表中id列的外键,以这种方式确立分配给每个用户的角色。
users: id username, password, role_id
(一对多的关系)

3. 关系型数据库优势:

  • 关系数据库存储数据高效且避免重复。重命名用户角色在这个数据库中会变得异常简单,因为角色名保存在单独的地方。当roles表中的角色名发生改变,所有用户持有的role_id引用的角色会立即看到这些变化。

4. 关系型数据库缺点:

  • 将数据拆分到多个表中则会变得更加复杂。生成一组用户及其角色会产生一个小问题,因为用户和用户角色需要从两张表中读,且只有连接后才能一起出现。当需要的时候关系数据库引擎会提供支持来执行两个表的连接操作。

猜你喜欢

转载自blog.csdn.net/gf_lvah/article/details/81053476
今日推荐