项目使用SqlServer2008数据库服务器,但是现在还没有安装这个版本服务器,所以先在较低版本服务器建立数据库。其它过程都正常,这里遇到了几个新的知识点。
Bigint:sqlServer中的整形分为tinyint、smallint、int和bigint四种。他们范围为0-255、-32768到32767、-2^31到2^31-1、-2^63到2^63-1,也就是说,他们的容量分别为1、2、4、8个字节。通常用bigint来表示身份证这种较大的数,而且好处在于搜索速度快。
Nvchar:nchar是固定长度unicode字串,nvchar是可变长度长度字串,这两者都是1到4000。如果列数据长度相差不大,建议用nchar,否则建议使用nvchar,需要注意4000定义长度,只能存2000个字串。Char为固定长度unicode字串,varchar为可变长度非unicode字串,长度使用情况参考nchar和nvchar。这四个字串的区别就在于变长定长和是否unicode字符格式,unicode字符格式常用来支持多语言等情况。
Char | 定长 | 非unicode |
Varchar | 变长 | 非unicode |
Nchar | 定长 | unicode |
Nvchar | 变长 | unicode |
check:为属性列建立约束。约束表达式为列名关系 值的形式,如 id >=2and id<=1000,id in (‘3’,’4’,’5’)等形式,写到数据库客户端定义列中即可。Uniqe:唯一约束的建立如同check建立的过程。在定义主键外键关系时,主键在前,外键在后,要弄清这个关系。
数据库在设计之前,首先定义好各种字段名和表关系,尤其要严格控制好主键和外键的格式、类型一致,保持字段命名风格、单词词性一致。