1.第一范式:数据库的字段是单一属性,不可再分
不能是复合属性,如果存在,应该拆分为多个属性
不能是多值属性,如果存在,应该建立一个实体,而让此属性与其存在1对多的关系)
不能是重复属性
2.第二范式:任何非关键字段不能部分依赖任一侯选关键字(即必须完全依赖)
表中必须存在侯选关键字,即每一行不同于其他任一行,是惟一区分的
任何非关键字段不能依赖于侯选关键字的一部分
3.第三范式:任何非关键字段不能传递依赖任一侯选关键字
非关键字字段必须直接依赖任一侯选关
1.第一范式:数据库的字段是单一属性,不可再分
不能是复合属性,如果存在,应该拆分为多个属性
不能是多值属性,如果存在,应该建立一个实体,而让此属性与其存在1对多的关系)
不能是重复属性
2.第二范式:任何非关键字段不能部分依赖任一侯选关键字(即必须完全依赖)
表中必须存在侯选关键字,即每一行不同于其他任一行,是惟一区分的
任何非关键字段不能依赖于侯选关键字的一部分
3.第三范式:任何非关键字段不能传递依赖任一侯选关键字
非关键字字段必须直接依赖任一侯选关
#!/bin/bash #备份文件存储位置 file=./mysql_grants.sql mysql_host=127.0.0.1 mysql_port=3306 mysql_user=root mysql_pass=admin #忽略的用户,比如root,这里是sql里面的where,根据自己情况修改 ignore_user="where User<>'root'" expgrants() { umask 177 connstr="-h${mysql_
数据库运行时间久了,会产生大量碎片,从而影响数据库速度。
于是想弄个脚本每天整理下所有数据库表碎片。于是写了这个脚本,使用很方便,只要在脚本里面设置好主机、帐号和密码即可。
可以添加到计划任务每天执行一次即可。
Crontab参考:
00 02 * * * php /server/scripts/mysql/optimise_all_table.php>>/var/log/mysql_optimise_all_table.log 2>&1
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方
创建mysql用户
情形一:创建本地用户即密码
create user 'james' @ 'localhost' IDENTIFIED by '111';
--james为用户名,localhost为指定的主机(任意的主机请使用%),111为密码
情形二:创建某台机器的用户
create user '
最近网站出现 User 数据库名称 has already more than 'max_user_connections' active connections 的报错,网站瘫痪。有必要研究下这个问题。
max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足。解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cn