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. 关系型数据库缺点:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值