权限管理
sql命令操作:
用户表:mysql.sql
作用:对这张表进行增删改查
-- 创建用户 CREATE USER 用户名 IDENTIFIED by '密码'
CREATE USER xyr IDENTIFIED by '123456'
-- 修改密码 (修改当前用户密码)、
SET PASSWORD = PASSWORD ('111111')
-- 重命名
RENAME USER xyr TO XYR
-- 用户授权 ALL PRIVILEGES授予全部的权限 库.表
GRANT ALL PRIVILEGES ON *.* TO XYR
-- 查看权限
SHOW GRANTS FOR XYR
MySQL备份
作用:保证重要的数据不丢失,数据转移
方式:
直接拷贝物理文件(data文件)
在可视化工具中手动导出
使用命令行用 mysqldump命令行导出
C:\Users\XYR>mysqldump -hlocalhost -uroot -p123456 school student >D:/a.sql
导入:
source d:/a.sql
规范数据库设计
糟糕的数据库设计:
数据冗余,浪费空间
数据库插入删除都会很麻烦
程序的性能差
良好的数据库设计:
节省内存空间
保证数据库的完整性
方便开发系统
方法:
分析需求:分析业务和需要出理的数据库的需求
概要设计:设计关系图 E-R图
步骤:
收集信息,分析需求
标识实体(把需求落地到每个字段)
标识实体之间的关系
创建表belike:
三大范式
为什么需要数据规范化?
不然会导致:信息重复,更新异常,插入异常,删除异常
第一范式(1NF)
要求数据库表的每一列都是不可分割的原子序列
如家庭信息表包含了人口和地址,应该将这两项分开
第二范式(2NF)
前提:满足第一范式
非主键字段必须完全依赖于主键字段,不能只依赖于部分主键字段
每张表只描述一个事情
第三范式(3NF)
非主键字段不能依赖于其他非主键字段