《T-SQL编程入门经典》读书笔记

关于列的数据类型:

      sqlserver处理数字的效率比字符高得多,应尽量选择使用数字做为数据类型;

      decimal是精确数字型,float是近似数字型(包含double,float(53)

      char是定长的,varchar变长的(varchar嘛,顾名思义),都最多存8000个字符(别跟C中的char混了),不过varchar(MAX)可突破这个限制,能存最多2GB存储空间的字符。char适合数据处理,而varchar适合存储。如果数据都接近所定义的长度,就用char喽,如果数据参差不齐,就用varchar.

      textvarchar相似,都是变长的,text相当于varchar(MAX),不同是text是引用类型的,varchar是值类型的

      ncharnvarcharntextcharvarchartext的区别是:全角与半角的区别(前者每字符占两个字节,后者点一个字节),若是存英文就用后者,要是存中文等非英文用前者(我自己想的,貌似都成吧)。前者的最大长度是后者的一半

     imagebinary的区别就跟textchar的区别似的。image是引用类型的,binary是值类型的。image用于保存图像、二进制文件和二进制对象(序列化)。imagevarchar(MAX)类型的功能一样

     对于字符串而言,NULL和空字符串("")是不一样的。空字符串是经过定义的。而NULL是未经定义的

 

关系:

     关系有如下几种:1对0或1对多、1对1或1对多、1对1、多对多(为什么这么分?不是有交集吗?)

     要使用三个表才能构成多对多,因为多对多的约束是不可强制的(还是不明白

事务:是一组受控制的独立的数据修改操作,要么都成功,要么都失败。比如转账事务,这个事务需要进行两个修改操作,一个是对储蓄账户,一个是对支票账户,两个修改操作互相独立。要么都成功,要么都失败,否则就会出错。

 

锁:

    锁是对连接和事务而言的。

   

    

     

你可能感兴趣的:(《T-SQL编程入门经典》读书笔记)