第一天学习MySql(4)-MySql用户权限、三大范式
2017-03-12 14:50
337 查看
4.MySql入门-MySql用户权限、三大范式
4.1创建新用户
先使用root用户登录create user newUser identified by '123456';//创建一个没有任何权限的用户
其中密码123456会用md5加密
如果需要修改密码,可以使用如下语句
UPDATE USER SET PASSWORD=PASSWORD('123') WHERE USER='newUser';
注意:修改密码、创建用户或者修改权限操作后,要执行
flush privileges刷新权限相关表,或者手动重启MYSQL服务,否则拒绝访问。
4.2给新创建的用户分配权限
//*.*的位置放入的是对哪个裤,哪个表进行权限分配,*.*表示对于所有库,所有表。 GRANT all privileges ON *.* TO 'newUser'@'localhost' IDENTIFIED BY '123456';//分配所有权限,可以在本地访问mysql grant all privileges on *.* to testuser@"%" identified by "123456" ; //分配所有权限,可以远程访问mysql GRANT SELECT ON *.* TO 'newUser'@'localhost' IDENTIFIED BY '123456'; //分配查看权限,可以本地访问mysql GRANT DELETE ON *.* TO 'newUser'@'localhost' IDENTIFIED BY '123456'; //分配删除权限,可以本地访问mysql GRANT INSERT ON *.* TO 'newUser'@'localhost' IDENTIFIED BY '123456'; //分配插入权限,可以本地访问mysql GRANT UPDATE ON *.* TO 'newUser'@'localhost' IDENTIFIED BY '123456'; //分配修改权限,可以本地访问mysql
4.3回收权限
revoke select on *.* from newUser; //回收查看权限 //回收其他权限可以参考上部分
4.4三大范式
4.4.1第一范式(1NF)无重复的列:
也就是要求表内每个字段都是独立并且不可以再分割的单元。如定义一个学生表:grade(成绩下)的数据内容为77/88/66
显示是不符合第一范式的。
正确的定义方法是:将grade分割成 english math chinese
4.4.2第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ]
在满足第一范式的基础上,要求表的除主键以外的字段都和主键有依赖关系的。如员工表:员工编号 员工姓名 员工所属部门 员工部门主要工作 订单名称 订单奖金 -显然不符合第二范式
例如,当一个新订单到来的时候,没有员工空闲去接受订单,那么我们便没有表可以存放数据。
或者是当员工更新订单的时候,那么旧订单会面临丢失的困境,或者是我们需要修改订单名称的时候,只能一个个员工去更新,显然是不合理的。
正确的处理方法:
员工表:员工编号 员工姓名 所属部门名称 部门主要工作
订单表:订单编号 订单名称
订单关系:员工编号 订单编号 订单奖金
4.4.3第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]
在满足第二范式的条件下,表的除主键外的字段都只能和主键有直接决定的依赖关系。员工表:员工编号 员工姓名 所属部门名称 部门主要工作
订单表:订单编号 订单名称
订单关系:员工编号 订单编号 订单奖金
员工表满足2NF,但是却不满足3NF。
因为员工表中存在传递函数依赖,会产生数据冗余,从来带来一系列的问题。
更正方法:
员工表:员工编号 员工姓名 部门编号
订单表:订单编号 订单名称
订单关系:员工编号 订单编号 订单奖金
部门表: 部门编号 部门名称 部门主要工作
相关文章推荐
- MYSQL用户权限管理学习笔记
- 【Mysql学习】mysql 用户管理和权限设置
- <liunx 学习> mysql 中新建用户和用户权限
- MySQL学习之:用户管理(添加用户,删除用户,添加权限,查看权限,密码等)
- [置顶] 【mysql 用户权限管理】mysql 权限管理学习
- 马哥学习笔记十七——MySQL之用户和权限管理
- MYSQL用户权限管理学习笔记
- MySQL学习总结----用户管理+权限管理
- MYSQL用户权限管理学习笔记
- mysql学习之三大范式
- MySQL学习系列之创建用户并分配权限(二)
- mysql学习笔记(7-DCL命令用户账号及权限管理)
- MySQL中用户及权限管理学习
- MySQL学习笔记之二十一 用户的权限
- mysql 赋给用户权限 grant all privileges on
- MySql学习笔记(登录、增加用户、密码更改)
- MYSQL里给用户加权限
- mysql的用户与权限
- 向MySQL增加新用户权限
- ORACLE学习--有关用户及权限的控制