Sql 部分总结

it2024-11-07  5

文章目录

SQL总结字符串函数返回唯一不同的值 三大范式第一范式(1FN)第二范式(2FN)第三范式(3FN)四、反范式化 视图:降低查询复杂度 视图的具体用法:保存一句查询语句 索引:索引的好处:索引的坏处:要不要用?索引种类:唯一索引主键索引聚集索引非聚集索引复合索引全文检索 什么时候需要自己建立索引 事务:用途:启动事务Begin tran提交事务Commit tran回滚事务Rollback tran存储过程方法存储过程的返回数据需要select语句支持

SQL总结

字符串函数

charindex 寻找一个指定字符串在另一个字符串的指定位置

返回唯一不同的值

关键字 Distinct

三大范式

第一范式(1FN)

字段不可分;

原子性。 字段不可再分,否则就不是关系数据库;;

第二范式(2FN)

有主键,非主键字段要依赖主键;

唯一性 。一个表只说明一个事物;

2NF对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即不存在部分依赖;

第三范式(3FN)

非主键字段不能相互依赖。

每列都与主键有直接关系,不存在传递依赖。

3NF是对字段的冗余性,要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖;

数据冗余:有重复值;

更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况 。

四、反范式化

一般说来,数据库只需满足第三范式(3NF)就行了。

没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余,达到以空间换时间的目的。

视图:

降低查询复杂度

视图的具体用法:

保存一句查询语句

语法:

Create view v_视图名

As

保存的语句

Select * from v_视图1

索引:

索引的好处:

​ 降低了检索数据所需要的时间,加快了检索数据的性能

索引的坏处:

​ 加大了存储的成本(开销)

​ 降低了增删改处理数据的性能(变慢)

要不要用?

​ 提升了用户体验(检索数据的体验)

​ 提升了90%以上的操作空间。

索引种类:

唯一索引

a.创建唯一约束的时候生成的索引

主键索引

a.创建主键时生成的索引(聚集)

聚集索引

a.聚集索引的数据本身是有序的, b.一张表只能有一个聚集索引

非聚集索引

a.非聚集索引可以有多个(表的列数上限)

复合索引

全文检索

什么时候需要自己建立索引

a.频繁查询条件时某个非主键且非唯一的列 b.查询时性能较低(数据过大)(1000W级别的数据) i.分库分表

事务:

用途:

当某个功能需要同时执行增,删,改,至少2条语句时

启动事务Begin tran

提交事务Commit tran

回滚事务Rollback tran

存储过程方法

语法: Create proc up_moveMoney –参数列表

As Begin –方法体 End

存储过程的返回数据需要select语句支持

(一个存储过程可以select多个结果) 存储过程的return value 指的是错误号,只能返回整数 Output 输出参数 --》C# out关键字

最新回复(0)