同一主键实例下的多个外键实例

时间:2015-11-17 11:02:04

标签: sql sqlite foreign-keys

提前抱歉,我很难将问题变成真实的话。我想我可能从根本上误解了外键是如何工作的。我的问题如下:

我是否能够调用多个外键,这些外键全部来自同一个表,位于SQL或数据库中另一个表中的特定主键下?例如,我可能有3个表:diagnosis_codes(PK = diag_code),诊断(PK = diag_id,FK = diag_code(引用诊断_codes))和遭遇(PK = encounterId,FK = diag_id(参考诊断))。我想知道我是否可以让我的诊断表以外键的形式接受尽可能多的(diag_code)s(例如diag_id:1可以在其中包含diag_code 1,2,4,6,12,13和diag_id :2下面可能有diag_code 1,2,3。

我的目标是猜测是在一个表中有一个代码列表,并且有一个辅助表,每个实例(或每个主键实例)可以接受任意数量的这些代码,这样第三个表就可以干净地引用一个组项目为1个id。

现在,我的表格看起来像是:

    DROP TABLE IF EXISTS diagnosis_code;
    CREATE TABLE diagnosis_code (
        diag_code INTEGER PRIMARY KEY autoincrement,
    );


    DROP TABLE IF EXISTS Diagnosis;
    CREATE TABLE diagnosis (
        diag_id INTEGER PRIMARY KEY autoincrement,
        diag_code INTEGER,
        FOREIGN KEY (diag_code) REFERENCES diagnosis_code(diag_code)
    );

我想知道,如果设置这样,我可以接受每个diag_id多个diag_codes,如果没有,是否有办法说每个诊断可以接受多个诊断代码。

非常感谢您对此问题的任何帮助。

0 个答案:

没有答案