Sql 部分总结

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值