一.数据库范式:

1.构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。

范式是符合某一种级别的关系模式的集合。数据库中的关系必须满足一定的要求,即满足不同的范式。

满足最低要求的范式是第一范式。在第一范式的基础上进一步满足更多要求的称为第二范式,其余范式以次类推。一般说来,数据库只需满足第三范式就行了。

2.第一范式(1NF):

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第一范式就是无重复的列。

3.第二范式(2NF):

第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式。第二范式要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。

第二范式就是非主属性非部分依赖于主关键字。

4.第三范式(3NF):

满足第三范式必须先满足第二范式。简而言之,第三范式要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。

第三范式就是属性不依赖于其它非主属性。

二.事务

select * from cangku
begin tran--开始事务
insert into cangku values(10008,'Boxster',5.4,10,1001)--没有错
if @@ERROR>0
begin--每一个执行语句后面写这句话是为了如果上一句有错误,
--下面不管有多少执行语句,都不会执行,直接到tranrollback
goto tranrollback--到最后一个执行语句tranrollback
end
insert into cangku values(10002,'极光',66.50,10,1002)--主键约束
if @@ERROR>0
goto tranrollback
insert into cangku values(10009,'XF',40,10,1003)--没有错
if @@error>0
begin
tranrollback: --需要加上冒号
rollback tran --回滚所有事务中执行过的命令
end
else
begin
commit tran --提交事务(只有真正的走到了commit才是真正的更改数据库的数据)
end

转载于:https://www.cnblogs.com/Fate-rail/p/5005190.html

SQL servere 范式、事务相关推荐

  1. SQL Server-聚焦事务、隔离级别详解(二十九)

    前言 事务一直以来是我最薄弱的环节,也是我打算重新学习SQL Server的出发点,关于SQL Server中事务将分为几节来进行阐述,Always to review the basics. 事务简 ...

  2. SQL Server 为什么事务日志自动增长会降低你的性能

    原文地址:点击打开链接 在这篇文章里,我想详细谈下为什么你要避免事务日志(Transaction Log)上的自动增长操作(Auto Growth operations).很多运行的数据库服务器,对于 ...

  3. SQL Server中事务日志自动增长对性能的影响

    SQL Server中事务日志自动增长对性能的影响 SQL Server中事务日志自动增长对性能的影响(上) SQL Server中事务日志自动增长对性能的影响(下) posted on 2011-0 ...

  4. SQL 2005清除事务日志

    SQL 2005清除事务日志 DUMP TRANSACTION 数据库名称 WITH  NO_LOG BACKUP LOG 数据库名称 WITH NO_LOG DBCC SHRINKDATABASE( ...

  5. SQL语言的事务机制_转摘

    什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作. 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: · 更新客户所购商品的库存信息 · 保存客户付款信息--可能 ...

  6. XenDesktop 5 SQL Server Mirror事务日志比较大的原因分析

    在实施XenDesktop5项目过程中,发现XenDesktop5版本的数据库镜像事务日志很大,在XenDesktop4和XenApp版本中不存在该问题:于是我根据该现象探究XenDesktop5及以 ...

  7. 如何读懂SQL Server的事务日志

    本文将介绍SQL Server的事务日志中记录了哪一些信息,如何来读懂这些事务日志中信息.首先介绍一个微软没有公开的函数fn_dblog,在文章的接下来的部分主要用到这个函数来读取事务日志. fn_d ...

  8. SQL service的事务提交和回滚

    SQL service的事务提交和回滚 //开始事务,并且在事务后面紧跟您需要写的sql语句(我这里写的是一条修改语句) BEGIN TRANUPDATE UCML_Organize SET Pare ...

  9. SQL Server提高事务复制效率优化(二)快照初始化优化

    SQL Server提高事务复制效率优化(二)快照初始化优化 测试数据表量1500w+,使用初始化默认的快照代理参数,复制的三个过程包括快照初始化,订阅初始化和数据修改复制,主要对快照代理.分发代理. ...

最新文章

  1. 阿里飞猪搜索技术的应用与创新
  2. u盘安装Fedora18
  3. STM32串口中断实验总结函数的初始化必须在变量的初始化之后在进行!
  4. STM32F4 HAL库开发 -- 工程模板解读
  5. 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
  6. windows c语言 lapack安装,Windows Scipy安装:找不到Lapack/Blas资源
  7. bochs上网镜像怎么上网_【干货科普】上网慢!经常掉线!怎么办?
  8. 第九十一期:架构设计常用到的10种设计模式,你都知道吗?
  9. 厉害了!90后奥运冠军被北大录取
  10. 查询一个ID出现2种结果的情况
  11. 扑捉和捕捉的区别照相_扑捉和捕捉的区别照相
  12. 关于JAVA匿名内部类,回调,事件模式的一点讨论
  13. A Software Developer’s Reading Plan
  14. python解释器用什么写的_用 Python 从零开始写一个简单的解释器(3)
  15. maven报错:Failure to transfer xxx.jar from xxx was cached in the local repository.
  16. 淘宝x-sign算法demo示例
  17. IntelliJ IDEA双击打不开的解决过程
  18. oracle 11g64 位 安装文件
  19. wifi虚拟服务器怎么设置方法,虚拟路由器如何设置
  20. 调用系统命令,goto again

热门文章

  1. SPSS统计软件学习
  2. webclient使用介绍
  3. 洪涝灾害遥感监测预警终端
  4. C#对word文档的读取
  5. LibGDX游戏引擎-10-游戏地图(TiledMap)
  6. windows 7环境下配置oracle 11g 客户端
  7. 基于python的图书管理系统
  8. 计算机只有网盘没有硬盘,计算机硬盘被占用但是看不到文件的解决方法
  9. 国行Switch Joy-Con手柄-摇杆漂移的官方解决方法(送修)
  10. 网上十大黑客软件大曝光