zoukankan      html  css  js  c++  java
  • SQL Server 高级应用(周六讲座)

    数据库完整性高级约束的应用

    数据完整性,约束
    数据完整性:数据库中存储 的数据是可靠的、准确的、能够正确反应实际情况
    1、数据库中要求保持数据的完整性。
    2、数据库中存在不正确、不准确的数据就认为数据库“失去了完整性”。
    3、数据库“失去了完整性”引起的原因,大多是处于设计引起的。
    4、保证数据完整性的方法,使用约束

    约束:SQL Server用来强制数据完整性的机制(方法)
    1、约束目的:保证数据库中数据的质量,即保证数据完整性。
    2、约束和数据完整性的比较
    3、如何使用约束:SQL server 创建表的过程是规定数据列的属性的过程,也是实是数据完整性约束的过程。
    创建表:创建约束=强制数据的完整性
    创建表的过程,就是创建约束。

    域完整性 == 列完整性
    not NULL
    DEFAULT
    CHECK
    实体完整性:就是有重复的记录
    Identity,GUID
    PRIMARY KEY
    UNIQUE
    引用完整性:约束方法;外键约束
    FOREIGN KEY
    CHECK
    自定义完整性:
    缺点:麻烦写代码
    优点:灵活
    方法:规则,存储过程,触发器

    ************************************

    事务目标
    事务的概念

    事务的分类
    1、自动提交事务
    是SQL Server的默认模式,每条单独的T=SQL语句都是一个事务,如果成功执行则自动提交:如果错误则自动回滚,不需要显示地写出事务的开始和结束的标志。
    2、显式事务
    用begin tran[saction]明确指定事务的开始,
    以commit 或 rollback 语句显式结束,这是最常用的事务类型,
    例1:
        begin tran
        update authors set an_lname ='a' where au_id ='172-32-1176'
        commit tran      
        --rollback tran
    3、隐性事务
    用set implicit transactions on将隐性事务模式设置为打开,在前一个事务完成时新事务隐式启动,每个事务仍以commit或rollback语句显式结束。
    例2:
        create table q(q1 int primary key, q2 char(3)
        set implicit_transcations on
     on     insert into q values (1,'aaa')
        insert into q values (2,'bbb')
        commit transaction
        insert into q values (3,'ccc')
        select * from q
        commit transaction
        set implicit_transactions off;

    如何创建事务
    T-SQL定义事务语句有L
    1、开始事务:BEGIN TRAN[SACTION]
    2、提交事务:COMMIT TRAN[SACTION]
    3、回滚事务:ROLLBACK TRAN[SACTION]
    判顿某条语句执行是否出错:
    1、使用全局变量@@ERROR
    @@ERROR只能判断当前一条T-sql语句只想是否有错
    为了判但事务中所有T-SQL语句是否有错,我们需要对错误进行累计:
        如:SET @errorSum =@errorSum+@@error
  • 相关阅读:
    异常、中断、陷阱
    BigDecimal
    事务
    jsp的九大内置对象
    timer和ScheduledThreadPoolExecutor
    关于Python的导入覆盖解决办法
    RTTI
    Golang不会自动把slice转换成interface{}类型的slice
    Python中下划线的5种含义
    Python如何合并两个字典
  • 原文地址:https://www.cnblogs.com/itgmhujia/p/1269270.html
Copyright © 2011-2022 走看看