我一直在到处寻找我的问题,但我找不到答案。(这里的所有内容都是一个例子)我有一张产品表。。。
PRODUCTS(父表)
idProduct(PK)_____ProdName____产品_价格____产品类型
1 Top Gun 5.95 Movie
2 Great expectations 12.45 Book
3 Fifa 2013 14.99 Game
4 Ghost 6.75 Movie
MOVIES(子表1)
idMovie(PK)____ idProduct(FK)____ Mov_Lenght___ Mov_Category
1 1 93 Action
2 4 87 Drama
BOOKS(儿童桌2)
idBook(PK)____ idProduct(FK)____ idAuthor(FK
1 2 43 500
GAMES(儿童桌3)
idGame(PK)____ idProduct(FK)____游戏类别___游戏控制台
1 3 Sports XBOX 360
问题是我想要PRODUCTS表和Children表之间的一对一关系。因此,如果PRODUCTS的idProduct上的主键作为外键在子表上,则该值不会在同一个表或其他两个表上重复(作为一对一,但有多个表)。我使用MySQL WorkBench作为RDBMS,我必须指定什么规则才能实现这一点。
感谢的帮助
对不起,我的英语不是我的母语。
您可以将子表中的外键作为主键,这样您就可以用子表解决一对多问题。
关于跨子表,在插入记录之前,也许可以使用triggers
检查PK是否存在于其他地方。