代表sqlite中的多对多关系

时间:2016-04-21 19:21:28

标签: sqlite data-modeling

我想在关系模型中代表多对多关系,我有一些疑问。

CREATE TABLE TipoDeSeguro
(
    tipoSeguro TEXT NOT NULL,
    tipoDeSeguroID INTEGER NOT NULL PRIMARY KEY
)
;

CREATE TABLE Cobertura
(
    nome TEXT NOT NULL,
    coberturaID INTEGER NOT NULL PRIMARY KEY
)
;

这些是我想要使用多对多关系加入的表格。

CREATE TABLE JoinTipoDeSeguroToCobertura
(
    coberturaID INTEGER,
    tipoDeSeguroID INTEGER
)
;

这是我的联络表。这两个元组都是PRIMARY KEYS吗?他们是否应该参考他们的主要班级?

祝你好运

1 个答案:

答案 0 :(得分:3)

如果需要,它们应该是外键和not null

CREATE TABLE JoinTipoDeSeguroToCobertura
(
    coberturaID INTEGER not null,
    tipoDeSeguroID INTEGER not null,

    foreign key(coberturaID) references Cobertura(coberturaID),
    foreign key(tipoDeSeguroID) references TipoDeSeguro(tipoDeSeguroID)
);