MySQL-权限管理+备份+范式

网友投稿 694 2022-05-29

权限管理

SQL操作命令

# 创建用户 # oracle:create user 用户名 identified by 密码 default tablespace 表空间表; CREATE USER xxx IDENTIFIED BY '123'; # 修改密码(当前用户) SET PASSWORD = PASSWORD('1234'); # Mysql8修改密码命令 ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码"; # 修改密码(指定当前用户) SET PASSWORD FOR xxx = PASSWORD('1234'); # 重命名 RENAME USER 原来名字 To 新名字 RENAME USER xxx To xxx2; # 用户授权 ALL PRIVILEGES 全部的权限, 库,表 # *.* 所有表 ,可以改为指定表 # 除了 给别人授权 GRANT ALL PRIVILEGES ON *.* To xxx2; # 可以给别人授权 GRANT ALL PRIVILEGES ON *.* To xxx2 WITH GRANT OPTION; # 查询权限 SHOW GRANT FOR xxx2; SHOW GRANT FOR root@localhost; # 撤销权限 REVOKE 哪些权限 在哪个库撤销,给谁撤销 REVOKE ALL PRIVILEGES ON *.* FROM xxx2; # 删除用户 DROP USER xxx2;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

备份

# CMD命令行备份 # mysqlump -h主机 -uroot用户名 -p密码 库名 表名1 表名2 表名3 > 物理磁盘位置/文件名.sql mysqlump -hlocalhost -uroot -p123456 school student > D:/a.sql # mssql -u用户名 -p密码 库名 < 备份文件 # 登录 mysql> use school: mysql> source D:/a.sql

1

2

3

4

5

6

7

8

9

规范数据库设计

设计数据库

分析需求:分析业务和需要处理的数据库的需求

概要设计:设计关系图E-R图

个人博客步骤:

收集信息,分析需求

用户表(用户登录注销,用户个人信息,写博客,创建分类)

粉丝表(被关注人的ID,关乎人的ID)

分类表(文章分类,谁创建的)

MySQL-权限管理+备份+范式

评论表(所属文章,评论人ID,内容,时间,回复人ID)

友链表(友链信息,网站链接,排序)

自定义表(系统信息,关键的字,主字段) key:value

标识实体(把需求落地到每一个字段)

标识视图之间的关系

写博客:user–>blog

创建分类:user–>category

关注:user–>user

友链:links

评论:user–>user–>blog

依赖

函数依赖与码

若X->Y,即由X能确定Y,或者说一个已知的X能确定一个唯一的Y,则称Y依赖于Y(跟初中的函数定义一致)。

一个学生只能属于一个学院,即知道学号X,就能确定对应的学院代码Y,所以学院代码Y依赖于学号X。

设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

举个例子:通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。

比如(学号,姓名)->(系主任),显然,只需(学号,姓名)里的学号就能确定系主任!因此:(系主任)部分函数依赖于(学号,姓名)

设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

举个例子:通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB。

比如(学号,课程号)->某科成绩,显然,因为一个学号一般有多个课程的成绩,即一个所以要查某科的成绩,需要同时知道学号和课程号。即:(某科成绩)完全函数依赖于(学号,课程号)。

设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

举个例子:通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A。

系主任函数依赖于系,系函数依赖于学号,因此系主任传递依赖于学号。

主码中的属性叫做主属性,其他属性叫做非主属性。

比如:(学号,姓名,性别)中,学号为主码(主键),因此学号为主属性,姓名和性别是非主属性。

三大范式

为什么需要数据规范化:信息重复,更新异常,插入异常(无法正常显示信息),删除异常(丢失有效信息)

原子性:保证每一列数据不可分。数据的一个字段里存在两个值。

前提:满足第一范式。第二范式:消除各个非主属性的部分函数依赖

一张表只描述一件事情。

前提:满足第一,二范式。

第三范式需要确保数据表中的每一列数据都要和主键直接相关,不能间接相关。传递函数依赖

规范和性能

关联查询的表不得超过三张表。

考虑到商业化需求和目标,数据库性能更加重要,考虑规范性

故意添加一些冗余的字段,将多表查询变为单表查询(根据订单表里面的商品id,再通过商品id查询商品表。但为了性能可以直接在订单表里面放商品所有信息)

估计添加一些计算列(大数据量降为小数据量的查询:索引)

MySQL 统一身份认证服务 IAM

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hubble:“百万原生代码+混合交易分析”的利器!
下一篇:版本与功能双升级,华为云DAS让运维更简单高效
相关文章