用户创建及权限部分

 1 create user Cra2iTeT identified by '123456'-- 创建用户
 2 
 3 alter user 'Cra2iTeT'@'%' identified by '123456'-- 修改密码
 4 
 5 rename user Cra2iTeT to Cra2iTeT112-- 重命名
 6 
 7 grant all privileges on *.* to Cra2iTeT-- 赋予最高权限,低于root,不能给其他用户授权
 8 
 9 show grants for Cra2iTeT;
10 show grants for root@localhost;
11 
12 revoke all privileges on *.* from Cra2iTeT-- 撤销权限
13 
14 drop user Cra2iTeT-- 删除用户

MySQL备份

  • 直接拷贝物理文件

  • 在SQLyog这种可视化工具中手动导出

  • 使用命令行导出(mysqldump)

 

设计数据库的步骤

  • 收集信息,分析需求

    • 用户表

    • 分类表

    • 友联表

    • ...
  • 标识实体(把需求落地)

 

三大范式

  • 第一范式:要求数据库表的每一列都是不可分割的原子数据项

  • 第二范式:在第一范式的基础上,非码属性必须完全依赖于候选码(在第一范式的基础上消除非主属性对主码的部分函数依赖),第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)

  • 第三范式:在第二范式的基础上,任何非主属性不依赖于其他非主属性(在第二范式基础上消除传递依赖),第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关

注:阿里编码规范要求关联查询的表不能超过三张

在性能和规范性相冲突时,优先考虑性能,适当程度考虑规范性;可以给某些表增加一些冗余的字段(从多表查询变为单表查询),故意增加一些计算列(从大数据量降为小数据量的查询:索引)