SQL Server 2014中一个外键引用多个主键

2024-01-30

我的数据库中有三个表。

  1. 医疗测试[MedicalTestID PK]
  2. 运动测试【运动测试IDPK】
  3. 一般需求【通用需求ID PK】

Inside GeneralNeedsProcessID需要保留哪些MedicalTestID and SportTestID GUID.

一旦我从任一表中插入现有的 GUID,我就会收到“冲突”错误消息,我相信这意味着给定的 GUID 在另一个表中不存在。

例如:如果我插入 GUIDMedicalTest然后它会告诉我SportTest没有给定的 GUID。

是否可以将多个键引用到一列?


我在这里推荐的设计是表/子表解决方案。这意味着,引入第四个表,Test. The Test表只是将所有不同的测试类型链接在一起的表格。如果您熟悉面向对象编程,请将其视为基本类型。所以本质上,你的ProcessID指着Test然后指向特定测试类型之一(SportsTest、MedicalTest、WhateverTest)。如果您愿意,您还可以添加Type in the Test表可帮助您了解测试类型。这里有一个关键的事情:MedicalTest and SportsTest表,主键(比如MedicalTestID) 也是一个外键,指向TestID in Test。通过这种方式,您可以在您的GeneralNeeds因为引用的是单个表类型,Test. Since Test以及相应的MedicalTest or SportsTest将具有相同的主键,您可以轻松地执行查询所需的联接。

Here is a sample diagram illustrating it:DB Diagram

简单的例子: 假设你有一个MedicalTestID 为 1(让我们暂时忘记 GUID,以便于阅读) 然后你也会有一个记录TestID 为 1。 然后ProcessID1 确实指向Test记录下来,然后您可以加入到MedicalTest record.

如果您仍然感到困惑,请告诉我,我会尝试添加更多细节,但希望这能让您朝着可行的方向前进。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2014中一个外键引用多个主键 的相关文章

  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 从字符串中删除某些字符

    我正在尝试删除某些字符 目前我的输出如下cityname district但我想删除cityname SELECT Ort FROM dbo tblOrtsteileGeo WHERE GKZ 06440004 Output B dinge
  • NVARCHAR 变量在Where 子句中不起作用

    在 SQL Server 我想是 2018 我不知道如何判断 中 我的变量不起作用WHERE的条款NVARCHAR 比较应该返回值 但它什么也没返回 如果我只是手动输入声明的文本 它会突然起作用并返回值 没有任何逻辑原因应该有任何不同 类型
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • SQL Server 错误“隐式转换,因为值的排序规则由于排序规则冲突而无法解析。”

    我在开发存储过程时遇到此错误 无法执行 varchar 值到 varchar 的隐式转换 因为由于排序规则冲突而无法解析该值的排序规则 声明是这样的 Select City COLLATE DATABASE DEFAULT AS Place
  • pymssql 库中的参数绑定是否正确实现?

    我使用 pymsqsql 库从 Python 程序调用极其简单的查询 with self conn cursor as cursor cursor execute select extra id from mytable where id
  • 如何获得一列中的最大数量?

    我一直在尝试找到一个如何获取列中最大数字的示例 我想做的是 找到 TABLE A 中的最大列数 点 列 例如 我想输出这个 MAX 数字
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 什么会阻止 Docker 容器中运行的代码连接到单独服务器上的数据库?

    我有一个在 Ubuntu 14 04 上的 Docker 容器中运行的 NET Core 1 1 应用程序 它无法连接到在单独服务器上运行的 SQL Server 数据库 错误是 未处理的异常 System Data SqlClient S
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • SQL Server 文件操作?

    使用 SQL Server 2005 如何使用 T SQL 将文件读入 SPROC 所以 假设我有一个像这样的 CSV 文件 ID OtherUselessData 1 asdf 2 asdf 3 asdf etc 我基本上想这样做 Sel
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 为什么 ISNUMERIC('.') 返回 1?

    最近我在 SQL Server 中使用 ISNUMERIC 时遇到了一个问题 导致找到了这段代码 SELECT ISNUMERIC 这会返回 1 如 true 所示 难道不应该像 false 一样返回 0 吗 See Numeric 损坏了
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0
  • 根据数据框中的内容从SQL Server删除行

    我在 SQL Server 中有一个名为的库存表dbo inventory其中包含Year Month Material and Stock quantity 我每天都会收到 csv 文件形式的新库存计数 需要将其加载到dbo invent
  • 重建数据库中的所有索引

    我有一个非常大的 SQL Server 2008 R2 数据库 1 5TB 并将在同一个表中的列之间复制一些数据 我被告知该架构有大量索引 并且想知道是否有默认查询或脚本可以重建所有索引 是否也被建议同时更新统计数据 30 个表中的每一个都
  • SQL中如何识别字符串的第一个字符是数字还是字符

    我需要将数据中的第一个字符识别为 SQL Server 中的数字或字符 我对此比较陌生 我不知道从哪里开始 但这是我到目前为止所做的事情 我的数据看起来像这样 TypeDep Transfer From 4Z2 Transfer From
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3

随机推荐

  • async_resolve 中的 boost::asio::ip::tcp::resolver::iterator 的生命周期是多少?

    当我打电话时boost asio ip tcp resolver async resolve 我的处理程序收到一个ip tcp resolver iterator迭代一个或多个ip tcp resolver entries 他们的寿命是多少
  • 位列的唯一约束仅允许 1 个真 (1) 值

    我有这张表 CREATE TABLE tblExample ExampleID int IDENTITY 1 1 NOT NULL WordsAndStuff nvarchar max NOT NULL Active bit NOT NUL
  • 如何使 Django sessionId cookie 安全

    这是我目前的sessionIdcookie属性 设置 Cookie sessionid 3jdpjxgepk49vrnhbabdvju3r80ci581 过期 2018 年 8 月 6 日星期一 12 40 14 GMT 仅 Http 最大
  • 通过显示文本查找带有selenium的元素

    我试图将鼠标悬停在带有硒的菜单栏中的元素上 但很难找到该元素 该元素显示如下 div class mainItem TextToFind div 这种类型有多个元素 因此我需要通过以下方式找到该元素TextToFind 我试过了 drive
  • Bootstrap 4:带有徽标和 2 行的导航栏

    我正在尝试使用 Bootstrap 4 创建一个符合下面原理图的网站标题 我用来实现此目的的代码如下 省略了无关代码 div class navbar div class container yellow div class row div
  • 尝试将 Braintree-Web 集成到 Angular2 中

    我正在尝试在我的 Angular2 应用程序中使用 Braintree SDK braintree web 我真的很感激任何有关如何使其发挥作用的指示 我认为这是因为我没有导入 Braintree web 模块 但我也不知道如何导入 我可以
  • 如何删除 HTML 中字符之间的空格?填充不起作用

    即使我将填充添加为 0px 为什么字母 之前有空格 以红色标记 span style margin 0 padding 0 border 1px solid blue font size 48px span That space is pa
  • 这段代码会删除文件扩展名吗?

    这不是我的代码 我想弄清楚这到底是做什么的 这是一个用 C 语言编写的大型古老系统的一部分 实际上它是 4 年前编写的 但很可能是由 80 年代末程序员心态编写的 部分代码 char DestFile 256 char DestFile2
  • Python3 SMTP ValueError:server_hostname 不能为空字符串或以前导点开头

    import smtplib smtp smtplib SMTP smtp connect smtp gmail com 587 220 b smtp gmail com ESMTP h15 v6sm187291iog 48 gsmtp s
  • @IdClass 使用 JPA 和 Hibernate 生成“实例的标识符已更改”

    对于使用不区分大小写的数据库架构的 JPA 实体模型 当我使用 IdClass 注释时 我始终会收到 实例的标识符已更改 异常 对于具有 字符串 主键的对象 当数据库中存在一种大小写的字符串并且使用仅大小写不同的相同字符串执行查询时 会发生
  • Jquery live() 与 delegate() [重复]

    这个问题在这里已经有答案了 我在这里和网上其他地方读过一些关于两者之间差异的帖子live and delegate 但是我还没有找到我正在寻找的答案 如果这是一个骗局 请告诉我 我知道之间的区别live and delegate就是它liv
  • FTP获取所有文件

    我已使用 PHP 成功连接到 FTP 并且可以使用以下命令查看所有文件 ftp nlist 但是 有没有一种简单的方法可以下载当前目录中的所有这些文件 我找不到任何关于如何执行此操作的示例 Thanks 另一个简单的解决方案是 列出数组中的
  • 有没有办法在 d3 中向饼图添加突出显示?

    我希望我使用了正确的术语 但基本上我试图在 D3 中的饼图顶部创建突出显示 我见过很多添加阴影的东西 但一直无法使其成为高光 因此 我尝试在图表顶部添加弧线并为其添加高斯模糊 但它有两个问题 它不会与图表的其余部分一起过渡 并且突出显示会延
  • OpenStreetMap:从地址获取坐标

    OpenStreetMap 中是否有任何函数可以为您提供地址坐标 就像是 http router project osrm org locate request GetGeocoding nbaddresses 1 outputFormat
  • 在 R 或 ggplot2 中向多图输出添加徽标

    我试图将徽标添加到从 grid arrange 或rangeGrob 派生的输出中 我有以下代码 库 ggplot2 p1 lt ggplot ChickWeight aes x Time y weight colour Diet grou
  • 如何在QT中设计自定义形状的按钮

    I am trying to desing in Qt a sequence of custom buttons with arrow shape but I could not find the way I need something
  • OSX GCC如何指定sfml库源?

    我正在尝试编译一个使用的项目sfml我安装了sfml 2 1通过homebrew像下面这样 unknown542696d2a12b keeperrl kevzettler brew list sfml usr local Cellar sf
  • Rails ActiveRecord:三个表 has_many 通过:关联

    我正在尝试构建一个表来处理某个营销活动已设置为的位置和类别 并具有以下模型关联 class Campaign lt ActiveRecord Base has many campaign category metro bids depend
  • Git 用于 Windows 分页

    每当我执行git log命令无法终止 如果我执行 Ctrl C 它会退出分页环境 但如果我开始输入任何内容 它就会启动git log再次命令 正如已经提到的 git log X会将您的输出限制为最后 X 次提交 Git log 和其他 gi
  • SQL Server 2014中一个外键引用多个主键

    我的数据库中有三个表 医疗测试 MedicalTestID PK 运动测试 运动测试IDPK 一般需求 通用需求ID PK Inside GeneralNeeds有ProcessID需要保留哪些MedicalTestID and Sport