asp.net mvc3标识和事物

1:标识关系,父表中的列是引用子表部分或全部的主键


2:非表示关系:父表中的列并不属于子表中的主键


 


1建立索引


原型:


CREATE INDEX index_name
ON table_name (column_name)
eg:


create index test_index on test1 (name);


 


 


要提高查询速度,一般:


1.不需要删除的字段,建主键;有可能要被删除的字段,建索引。


2不管对什么字段建的什么索引,该字段只有放在where条件中使用时,索引才生效,假如放到not in或者其他条件中,索引无效。


3建立索引的速度高于建立主键的速度<在大数据中>


 


 一、创建外键约束:


外键的作用,主要有两个:
    一个是让数据库自己通过外键来保证数据的完整性和一致性
    一个就是能够增加ER图的可读性
    有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.他们觉得这样很麻烦
其实这正式外键在强制你保证数据的完整性和一致性.这是好事儿.
1、创建表时建外键约束:


    CREATE TABLE[tb]
    (
       id1 int CONSTRAINT fk_1 FOREIGN KEY REFERENCES  ta(id),
       name1 varchar(1)
    )
2、在已有表上创建约束 
alter table [表明] 
 add CONSTRAINT ["约束名"]   FOREIGN    KEY ("当前表")  REFERENCES 【表明(列)】 
 


二:建立事物
1理解事物
.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。事物也是同步的。 
①原子性(Atomicity):事务中的所有元素作为一个整体提交或回滚,事务的个元素是不可分的,事务是一个完整操作。 
②一致性(Consistemcy):事物完成时,数据必须是一致的,也就是说,和事物开始之前,数据存储中的数据处于一致状态。保证数据的无损。 
③隔离性(Isolation):对数据进行修改的多个事务是彼此隔离的。这表明事务必须是独立的,不应该以任何方式以来于或影响其他事务。 
④持久性(Durability):事务完成之后,它对于系统的影响是永久的,该修改即使出现系统故障也将一直保留,真实的修改了数据库  
2 ex:
DECLARE @sumError int
set @sumError=0
SAVE TRAN A--建立一个保存点A,也就是说我们在事物提交失败的时候可以有选择的回到保存点A
BEGIN TRANSACTION
    update bank set balance=balance-1000 where bid='001';
    set @sumError = @sumError +@@Error
    update bank set balance=balance+1000 where bid='002';
    set @sumError = @sumError +@@Error
    
    IF(@sumError = 0)
        BEGIN
            COMMIT TRANSACTION   --提交事物
        END
    ELSE
        BEGIN
            ROLLBACK TRANSACTION  --回滚事物
         --回到保存点A  ROLLBACK TRANSACTION A
        END 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值