第四章 数据库设计

MySQL数据库

第四章 数据库设计

一、为什么需要设计数据库

1、良好的数据库设计

(1)节省数据的存储空间
(2)能够保证数据的完整性
(3)方便进行数据库应用系统的开发

2、糟糕的数据库设计

(1)数据冗余、存储空间浪费
(2)内存空间浪费
(3)数据更新和插入的异常

二、软件项目开发周期中数据库设计

在这里插入图片描述
(1)需求分析阶段:分析客户的业务和数据处理需求
(2)概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整
(3)详细设计阶段:应用三大范式审核数据库结构
(4)代码编写阶段:物理实现数据库,编码实现应用
(5)软件测试阶段:……
(6)安装部署:……

三、E-R图

在这里插入图片描述
绘制E-R图
在这里插入图片描述

四、三大范式

1、为什么需要数据规范化

在这里插入图片描述

2、不合规范的表设计

(1)信息重复
(2)更新异常
(3)插入异常——无法正确表示信息
(4)删除异常——丢失有效信息

3、第一范式 (1st NF)

确保每列都是不可再分的最小数据单元。
在这里插入图片描述

4、第二范式 (2nd NF)

要求每张表只能描述一件事情,确保每列都与主键相关。
在这里插入图片描述

5、第三范式 (3nd NF)

确保表中各列必须和主键直接相关,不存在传递依赖。
在这里插入图片描述

五、基于角色的权限管理(Role-Based Access Control,RBAC)

又称为角色的访问控制。
1、该权限控制方案,采用了用户和角色关联,而角色和具体的功能管理,这一解决方法。在数据库层面,会采用用户信息表、角色信息表、功能权限信息表和角色功能信息表组成。
2、用户信息表和角色信息表构成了典型的多对一映射关系,但是在复杂的权限中,也有可能一个用户会被分配多个角色,以为就是说用户信息表和角色信息表形成了多对多映射关系,那么在这种情况下,就需要五张表来完成。角色信息表和功能信息表则形成了多对多的映射关系。
3、RBAC中,支持三个著名的安全原则:
(1)最小权限原则
(2)责任分离原则
(3)数据抽象原则
在这里插入图片描述

六、MySQL用户管理

1、为什么需要用户管理

root是超级管理员用户,很容易引发由于误操作所导致的数据不安全问题,怎么办?
在这里插入图片描述

2、创建普通用户

– 创建 MySQL 数据库用户 SQL 语法:
– create user ‘用户名’@‘数据库所在 IP 地址’ [identified by ‘登录密码’]
create user ‘kj210701q’@‘localhost’ identified by ‘kj210701q’;

3、 查看 MySQL 所有的用户信息

use mysql;
– 在数据库 mysql 中的 user 表,存储的就是该 MySQL 数据库的所有用户信息和权限
select * from user;

4、给用户授权
grant select on ewms_db.sys_emp to 'kj210701q'@'localhost';

授予 kj210701q 用户查看和插入 sys_dept 表权限

grant select, insert on ewms_db.sys_dept to 'kj210701q'@'localhost';

– 如果需要授予所有权限,则通过通配符 * 完成

grant select, insert, update, delete, create, drop on ewms_db.* to 'kj210701q'@'localhost';
grant select, insert, update, delete, create, drop, alter on *.* to 'kj210701q'@'localhost';
5、撤销授权
revoke 权限 on 数据库.数据表 from '用户名' @'主机名';
6、删除用户
drop  user '用户名' @'主机名';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值