小编Joh*_*ohn的帖子

SQL中具有总参与约束的多对多关系的实现

我应该如何在 SQL 中实现以下实体关系图中描述的场景?

具有总参与约束的多对多关系

如图所示,每个A实体类型出现都必须与至少一个 B对应项(由双连接线表示)相关,反之亦然。我知道我应该创建以下三个表:

    CREATE TABLE A
    (
        a INT NOT NULL,
        CONSTRAINT A_PK PRIMARY KEY (a)
    );

    CREATE TABLE B
    (
        b INT NOT NULL,
        CONSTRAINT B_PK PRIMARY KEY (b)
    );

    CREATE TABLE R
    (
        a INT NOT NULL,
        b INT NOT NULL,
        CONSTRAINT R_PK      PRIMARY KEY (a, b),
        CONSTRAINT R_to_A_FK FOREIGN KEY (a)
            REFERENCES A (a),
        CONSTRAINT R_to_B_FK FOREIGN KEY (b)
            REFERENCES B (b)
    );
Run Code Online (Sandbox Code Playgroud)

但是,如何实现总参与约束(即,强制执行其中之一的每个 …

erd database-design

17
推荐指数
2
解决办法
1万
查看次数

完全外连接产生的关系的键

完全外连接产生的关系的键是什么?如果没有key,怎么说关系代数在它的算子下是封闭的,每个算子的结果也是一个关系?

join relational-theory

5
推荐指数
1
解决办法
142
查看次数

标签 统计

database-design ×1

erd ×1

join ×1

relational-theory ×1