权限管理和备份
我数据库管理工具用的是 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) 满足第一、二范式的前提下,确保数据库表中的每一列数据都和主键直接相关,而不能间接相关
规范性和性能的问题
提高性能:关联查询的表不得超过三站表
故意给某些表增加冗余字段(从多表查询中变为单表查询) 故意增加一些计算列(从大数据量降低为小数据量的查询:索引) ...