
sql server 2005 外键约束 20
书上不是说外键关联的是另一个表的主键如下useabcgocreatetable职工表(职工编号intprimarykeyidentity(1,1),职工号varchar(...
书上不是说外键关联的是另一个表的主键
如下
use abc
go
create table 职工表
(
职工编号 int primary key identity(1,1),
职工号 varchar(50) unique,
仓库号 varchar(50),
工资 int check(工资>=800 and 工资<=2100)
)
go
create table 订单表
(
订单编号 int primary key identity(1,1),
订单号 varchar(50) unique,
职工号 varchar(50) references 职工表(职工号),
订购日期 datetime,
销售日期 int
)
职工号在职工表中不是主键,但是它可以成为订单表的外键 展开
如下
use abc
go
create table 职工表
(
职工编号 int primary key identity(1,1),
职工号 varchar(50) unique,
仓库号 varchar(50),
工资 int check(工资>=800 and 工资<=2100)
)
go
create table 订单表
(
订单编号 int primary key identity(1,1),
订单号 varchar(50) unique,
职工号 varchar(50) references 职工表(职工号),
订购日期 datetime,
销售日期 int
)
职工号在职工表中不是主键,但是它可以成为订单表的外键 展开
3个回答
展开全部
主键可以约束“职工表”中的职工号 是非空且唯一的。
而外键是约束 外键列 订单表中的“职工号” 必须是出现在关联主键列中的值 ,可以重复 也可为空
如果是你上面的这段代码的话 在职工表中的职工号 已经是主键了 而且还是系统自动累计编号的
所以你下面的订单表 的职工号 可以建成外键
而外键是约束 外键列 订单表中的“职工号” 必须是出现在关联主键列中的值 ,可以重复 也可为空
如果是你上面的这段代码的话 在职工表中的职工号 已经是主键了 而且还是系统自动累计编号的
所以你下面的订单表 的职工号 可以建成外键
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询