MySQL 规范(B站34-36集)

85 阅读2分钟

权限管理和备份

我数据库管理工具用的是 tableplus, 看下官网进行操作:docs.tableplus.com/gui-tools/u…

要掌握:

  • 创建新用户
  • 修改指定用户密码
  • 重命名 用户名
  • 用户授权、撤销权限、指定权限范围等
  • 删除用户

在数据库管理工具,可以通过可视化面板去执行上述的操作,但是Linux下只能通过命令行执行。(用到的时候再看命令行)

可以去 mysql 这个数据库里的 user 表,去看用户信息。 -- 这个是mysql创建的数据库

MySQL备份

数据库本质都是存在物理磁盘上的。

掌握:

  • 导出

  • 导入

导出方法:

  • 在数据库管理工具,可以通过可视化面板去执行导出工作 (export) (可以导出数据库、表)

  • 使用命令行导出 mysqldump

导入同理,略。

规范数据库设计

注意:屏蔽使用物理外键

练习题 TODO (35集)

设计数据库的步骤:(比如个人博客系统)

  • 收集信息,分析需求
    • 用户表(用户登录注销,用户个人信息,写博客,创建分类)
    • 分类表(文章分类,谁创建的)
    • 文章表(文章的信息)
    • 友情链接表(友链信息)
  • 标识实体(把需求落地到每个字段)
  • 标记实体之间的关系
    • 写博客:user --> blog
    • 创建分类:user --> category
    • 关注:user --> user
    • 友链:links
    • 评论:user --> user --> blog

你前端每一个位置的信息,肯定是后台对应数据库里的每一个字段。

三大范式(记下来)

reference:www.cnblogs.com/wsg25/p/961…

第一范式(1NF) 原子性:不可再分

第二范式(2NF) 满足第一范式的前提下,每张表只描述一件事情

第三范式(3NF) 满足第一、二范式的前提下,确保数据库表中的每一列数据都和主键直接相关,而不能间接相关


规范性和性能的问题

提高性能:关联查询的表不得超过三站表

故意给某些表增加冗余字段(从多表查询中变为单表查询) 故意增加一些计算列(从大数据量降低为小数据量的查询:索引) ...