一、 主键(PrimaryKey)

  1. 主键是数据行的唯一标识。不能重复,不可为空,主键建议选择一般不会修改的列!

  2. 主键的作用:保证表中的每条数据的唯一性。

  3. 主键的分类:

a) 逻辑主键:选择无实际意义的自动标号或GuId列为主键(建议使用)。

b) 业务主键:使用过程中有实际意义的列作为主键

  1. 组合主键(复合主键):同时选择多列作为一个主键(一般不建议使用)

  2. 选择主键的策略(选什么样的列作为主键):

a) 主键,建议选择那些一般不会被修改的列。

b) 选择单列,不要选择多列(不用组合主键)

c) 选择简单列(整数列(自动编号))

二、 外键(ForeignKey)

wps_clip_image-12691

  1. 两张表都有主键。商品表的主键是,商品Id。厂家表的主键是,厂家Id。但是,在商品表中需要引用厂家表。所以在商品表中增加一列,这一列是用来引用厂家表的主键(厂家Id)的。所以在商品表中增加的这列就叫外键。商品表就叫外键表,厂家表叫主键表。

wps_clip_image-8441

wps_clip_image-16538

wps_clip_image-11307

三、 常见的数据类型

  1. Varchar和char有什么区别:

Varchar是可变长度,最多可以存储十个字节,如果实际存储的长度不足十个字节,则会动态按照实际的长度。【节省空间】

char(10)是固定长度,表示数据库中存储的时候战十个空间,超过十个就报错,不够十个就会用空格补全

  1. Nchar(10)和char(10)的区别:

a) Char用来存储数据的时候,英文占一个字节,中文占2个字节。Char或者varchar的小括号中的最大长度可以写8000

b) Nchar来存储数据的时候无论存储的是中文还是英文么个字符占两个字节z可以存储10个字符或10个汉字。最大可以写4000

  1. 不建议使用text与ntext,推荐使用varchar(max)与nvarchar(max)

 

郝喜路

http://www.cnblogs.com/haoxilu/