日期:2014-05-16  浏览次数:20554 次

亮剑SqlServer----数据库表外键设置

      我们在建立数据库的时候,需要为每张表指定一个主键,所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。所以数据库在设计时,主键起到了很重要的作用。

常见的数据库主键选取方式有:

  • 自动增长字段
  • 手动增长字段
  • UniqueIdentifier
  • “COMB(Combine)”类型

 外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。


详细例子:

     创建来年各个简单的表:Author表和Detail表

Sql语句如下:

create table Author
(
id int identity(1,1) primary key not null,
name varchar(50)
)

create table Detail
(
idint identity(1,1) primary key not null,
author_id      int,

        detail            varchar(50)
)

--添加外键约束语法注释:alter table 表名 add constraint 约束名 foreign key (引用外键列名) references 外键表(外键列)

可视化的操作方法:

  table->选中表->design->选中需要设置外键的字段->选择“关系”->选择"添加"->在表和列规范处选择右边省略号(见图一)->再选择相应关系(见图二)。

如图:<