Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在一对一关系中,两个子集表与外键共享来自另一个表的相同主键_Database_Relationship_Relational - Fatal编程技术网

Database 在一对一关系中,两个子集表与外键共享来自另一个表的相同主键

Database 在一对一关系中,两个子集表与外键共享来自另一个表的相同主键,database,relationship,relational,Database,Relationship,Relational,我一直在到处寻找我的问题,但我找不到答案。 (这里的所有内容都是一个例子) 我有一张产品表 产品(父表) idProduct(PK)\uuuuuuuuuu\ProdName\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 1 Top Gun 5.95 Movie 2 Great expectatio

我一直在到处寻找我的问题,但我找不到答案。 (这里的所有内容都是一个例子) 我有一张产品表

产品(父表)

idProduct(PK)\uuuuuuuuuu\ProdName\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    1             Top Gun          5.95         Movie
    2        Great expectations    12.45        Book
    3            Fifa 2013         14.99        Game
    4              Ghost           6.75         Movie
    1               3               Sports           XBOX 360
电影(儿童表1)

idMovie(PK)\uuuuuuuuidProduct(FK)\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    1               1               93             Action
    2               4               87             Drama
书籍(儿童表2)

idBook(主键)\uuuuuuuuiProduct(FK)\uuuuuuuuuiAuthor(FK)\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    1               2               43                500
游戏(儿童表3)

idGame(PK)\uuuuuuuuuidProduct(FK)\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    1             Top Gun          5.95         Movie
    2        Great expectations    12.45        Book
    3            Fifa 2013         14.99        Game
    4              Ghost           6.75         Movie
    1               3               Sports           XBOX 360
问题是,我希望在产品表和子表之间建立一对一的关系。 因此,如果来自PRODUCTSidProduct上的主键作为外键位于子表上,则该值不会在同一个表或其他两个表上重复(作为一对一,但使用多个表)。 我使用MySQL WorkBench作为RDBMS,我必须指定哪些规则才能做到这一点

谢谢你的帮助


对不起,我的英语不是我的母语。

您可以将子表中的外键作为主键,这样您就可以解决子表中的一对多问题

关于跨子表,在插入记录之前,也许可以使用
触发器
检查PK是否存在于其他位置