我的问题是如何从 SQL-DDL 模式中知道关系是一对一、多对多还是一对多?
谢谢,
一对一关系在两端都有一个主键或唯一约束。
一对多关系将仅在两端之一上具有主键或唯一约束。
多对多关系将具有第三个表,该表具有与其他两个表的非唯一外键。(它们一起构成该表的主键。)
仅当您具有关联实体的外键时
1:x..y
x 为 0 或 1,y 为 1 到 N 的关系实现 N:N 的链接表将有两个这样的关系
这可以在您可以从内置或第 3 方工具生成的数据库图表中看到。例子:
您不能直接从架构中读取它。但是,如果您假设架构作者在实现参照完整性方面非常彻底,您可以进行一些推断。例如:
注意:如果外键指向唯一约束而不是主键,也可以进行相同的推论。