时间:2018-03-09 03:19:08

标签: sql sql-server

我需要一些关于适当的表结构和关系的输入 在我的桌子之间。 我有以下3个表:

表1

SeqId Version Date
1     V1      03-09-2018

表2

SeqId  TName Type
1      T1    local
1      T2    global

表3

SeqId TName Value Input
1     T1    90    dev
1     T1    80    qa
1     T2    70    prod

这里SeqId将是表1中的主键标识 我不确定我应该在其他表中使用哪些键。我要制作SeqId&表2中的TName,表3 作为外键。

赞赏输入

- 更新

SeqId是唯一的,这就是为什么我想把它作为table1中的主键。 Tname在seq中不是唯一的。

---- ----更新

这是否合适:

表1 SeqId作为身份主键

表2 SeqId作为外键,Tname作为主键(tname是varchar - 可以将其创建为主键)

表3 SeqId作为外键,Tname作为外键,Value(这需要是唯一的)作为主键

1 个答案:

答案 0 :(得分:0)

在正常情况下我会说密钥如下: 对于表1,它是SeqId 对于表2,它是SeqId,TName 对于表3,它是SeqId,TName,Input 但是,当您在数据库系统中为表定义主键或外键时,它会根据业务需求进行操作。基本上,我们通过定义键实际获得的是默认函数,它构建在基础数据库系统中以确保数据唯一和一致。 防爆。当您将SeqId定义为主键时,当您尝试使用相同的SeqId插入新记录时,系统通常会返回错误。 希望信息有所帮助。