MSSQLServer基础01(数据类型)

数据库设计:范式


现阶段,必须遵守满足3NF
1范式:列的原子性,即列不可再拆分
2范式:表中不能描述多个信息,不能有数据冗余
3范式:引用其它表的主键信息



数据类型的意义:
1>提高效率。(减少空间,提高访问效率,‘1234567’如果用字符串存储占7个字节,如果用整型则占4个字节。);
2>能对数据进行正确的计算1+1,如果是整型则为2,如果为字符串则为11.


分类                                    备注和说明                                        类型                                     说明
二进制数据类型   存储非子符和文本的数据                       image (varbinary(max))可用来存储图像

=======================================================================================

char [ ( n ) ] 
固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。char 的 ISO 同义词为 character。

varchar [ ( n | max ) ] 
可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。varchar 的 ISO 同义词为 char varying 或 character varying。

nchar [ ( n ) ]
n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。nchar 的 ISO 同义词为 national char 和 national character。

nvarchar [ ( n | max ) ]
可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。nvarchar 的 ISO 同义词为 national char varying 和 national character varying。

 

==================================================================================================================

日期和时间日期和时间在单引号内输入Datetime 日期和时间
数字数据该数据仅包含数字,包括正数、负数以及分数

int
smallint整数


float
real近似值数字

=======================================================================================
货币数据类型用于十进制货币值,money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。 
Money


Bit数据类型表示是/否的数据Bit存储布尔数据类型  

 


区分

char与nchar
varchar(10)与nvarchar(10)
varchar(max)与nvarchar(max)
text与ntext
带var和不带var的区别:varchar是可变长度的,char是不可变长度的
根据内容定长度;固定内容长度,如果长度不够则在末尾加空格
建议:定长度时使用char,不定长度再用varchar,因为不定长度在取数据时需要进行计算长度
带n与不带n:带n一个字符占2个字节,不带n一个字符占1个字节,这取决于使用哪种排序规则,如果使用简体中文,则两种类型没有区别,对于pubs库是unicode的,则char就不能正常显示中文了,只有nchar才能正常显示中文
如果存储内容非常大,则使用text或ntext,不过已经过时了,在最新版本中推荐使用varchar(max)或nvarchar(max)

 

posted @ 2016-01-11 19:21  虚-染D  阅读(284)  评论(0编辑  收藏  举报