当前位置:  开发笔记 > 编程语言 > 正文

设计一个SQL表并在第一次就把它弄好

如何解决《设计一个SQL表并在第一次就把它弄好》经验,为你挑选了1个好方法。

我目前正在为我公司的问题跟踪器工作,以帮助他们跟踪网络出现的问题.我正在使用C#和SQL.

每个问题都有大约我们需要跟踪的二十件事情(状态,工作损失,创建者,谁在处理它等).我需要将受问题影响的团队列表附加到主要问题表中的每个条目.理想情况下,受影响的团队列表包含某种唯一表实例的链接,仅针对该问题,该实例显示受影响的团队列表以及每个团队实验室受影响的百分比.

所以我的问题是,在问题表的条目和该问题的唯一表之间实现这种"链接"的最佳方式是什么?或者我在想这个问题是错的.



1> Bill Karwin..:

你所描述的被称为"多对多"关系.一个团队可能受到许多问题的影响,同样一个问题可能会影响许多团队.

在SQL数据库设计中,这种关系需要第三个表,其中包含对其他两个表中每个表的引用.例如:

CREATE TABLE teams (
  team_id INTEGER PRIMARY KEY
  -- other attributes
);

CREATE TABLE issues (
  issue_id INTEGER PRIMARY KEY
  -- other attributes
);

CREATE TABLE team_issue (
  issue_id INTEGER NOT NULL,
  team_id INTEGER NOT NULL,
  FOREIGN KEY (issue_id) REFERENCES issues(issue_id),
  FOREIGN KEY (team_id) REFERENCES teams(team_id),
  PRIMARY KEY (issue_id, team_id)
);

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有