首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表需要多个标识符。

表需要多个标识符。
EN

Stack Overflow用户
提问于 2013-11-11 02:01:15
回答 2查看 61关注 0票数 3

我绝不是SQL专家,所以我肯定我做错了什么。我在这里读过几个关于需要主键的问题。就我创建这个表的方式而言,我找不到一种真正拥有唯一键的方法。这是一个调查型数据库。我有一个表格,主要的细节,如日期,分流号码,和有关的人。另一个表格是问题的结果,另一个是评论。我会使分流独特,但可以涉及多个人,所以相同的分类号码将被使用不止一次。有关人员也可以不止一次出现。唯一真正独特的事情是把人和分流结合起来。我想要一个自动钥匙,但它没有用。对于调查类型表,使用两个标识符是否是可以接受的做法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 04:20:01

重要部分:

“.可能涉及一个以上的人,因此同一分类号码将不止一次使用。有关人员也可以出现不止一次。”

根据您的评论,这两个字段中的数据,例如:

代码语言:javascript
复制
 Triage  Person
 ------  ------
    1     PersonA
   1     PersonB
 ...
    7     PersonA
   7     PersonB

很好,只要记录在Person字段中的每个人都是唯一可识别的,那么这个分类和person可以制作一个复合密钥。也就是说,如果ea。person value是一个类似于"John“的名字,如果有2个或更多的John回答调查,您可能会有问题。因此,你的人的价值本身必须识别人的独特。假设有分流。是有区别的(即,没有分类编号。表示多个语义相关的分类位置),这两个字段作为复合键将对您有效,前提是您的调查在任何时候都不会创建多个唯一的分诊人员组合。

其他每个表的外键应该是主表的复合键组合,但是如果其他两个表可以合并到主表中,可以考虑它来减少连接负担。例如:如果注释表只在单个字段中存储注释,而不存储更多的注释,那么为什么不将该字段包含在主表中并删除注释表呢?

票数 2
EN

Stack Overflow用户

发布于 2013-11-11 03:55:31

你的问题是相当笼统的,我没有足够的信息给你一个明确的答案,但希望我下面的评论能有所帮助。

使用复合主键(由2列或更多列组成的键)没有问题。它更常用于连接表,例如在多到多的关系中。

您应该考虑的一件事是,如果您还想从其他表引用具有复合主键的表,则必须引用外键中的2列、所有联接等。为主键创建单独的列(例如自动递增号)可能更容易。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19897746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档