性能测试基础---SQL基础
·数据库相关:
·范式:NF。关系型数据库的设计规则。
	范式总计有6种:
	1NF\2NF\3NF\BCNF\4NF\5NF
	·范式的实现是从低到高的,比如说首先要实现的就是1NF,才能继续实现2NF,依次类推。
	·范式的实现,一般来说采取的就是拆表的方法。
	
	·范式越高,实现的成本也就越高。因此在实际生产中,一般来说,只需要达到3NF即可。
	
	·1NF:没有重复的列。
·2NF:没有重复的行。
	·3NF:没有可传递的依赖关系(主从关系)。
		做法就是拆表。
·键:在关系型数据库中,有以下几个特殊的键:
	·超键:是指在数据库中能够唯一标识记录的属性or属性集。
		PS:一般来说,超键都是由数据库本身来生成和管理的。
	·候选键:是指在一个表(集合、关系)中,能够唯一标识记录的属性or属性集。
		一个表中可以有多个。
	·主键:是指在一个表(集合、关系)中,被定义为主键的属性or属性集(候选键)。
		一个表中只能有一个。
·外键:如果表B中的属性(列)M的取值是完全依赖(来源)于表A中的属性(列)N的取值,且属性N是表A的候选键,则称属性M为表B的外键。
	PS:在数据库层面,本身只会去实现超键。对于候选键、主键和外键,都是由用户(DBA)来定义并且告知数据库的。一旦定义,则数据库就会对数据进行检测,确保符合定义的要求。
	    从理论上,表中的任何字段都可以定义为候选键、主键或者外键(符合语法要求)。
	但是,我们平时在使用数据库时,一定要保证定义符合业务要求、符合现实数据的规范。
·约束:数据库是通过约束来实现数据存储的实体完整性和参照完整性的。
	一般来说,约束有以下几种:
	·唯一约束:unique,一旦属性被定义为unique,则表示要唯一。
	·主键约束:primary key,主键本身就表示具有唯一和非空约束,并且会自动添加唯一索引。
	·外键约束:foreign key,定义为外键,符合外键的定义。
		PS:外键和其所引用的键,要求类型和长度保持一致。
·非空约束:not null,表示要求数据非空。
	·检查约束:check,是根据业务数据本身的业务特点,额外添加的数据约束条件。
	enum(枚举).
·视图和索引:
	·视图:view。
		create view 视图名 as select语句。
	作用,是简化查询。查询数据还是取决于原始的select 语句。
	并不能提升查询速度。
	除了物化视图以外。
	物化视图其实就是一张新的实表。
	·索引:index。
		就是目录。
	可以提高查询的效率(速度).
	·explain,用来查看执行计划的。
	可以初步判断sql语句的性能。
                    
                
                
            
        
浙公网安备 33010602011771号