最近两天在使用pd设计数据库模型的时候遇到了一些问题及知识点,遂做一下总结
1.cardinality问题
在设置实体间的联系基数,也就是cardinality时,以学生——成绩实体为例
我们知道,一个用户对应多科成绩(这里的基数都有包含0,目的是为了使实体之间没有强联系,到时数据库操作不会有违反约束),则有
成绩to用户 为 0,1 ,意思是对于成绩来说,用户不是强制(Mandatory)的,一个成绩对应0到1个用户
用户to成绩 为 0,n ,意思是对于用户来说,成绩不是强制(Mandatory)的,一个用户对应0到n个成绩
当然,如果你的基数cardinality从1开始时,Mandatory也会自动勾选上,这样的话在后面生成的物理模型的外键也会是M,也就是必须对应到某个其它实体,这样就比较不自由了,虽然也有好处,这里就不多说了。
2.一对一问题
在两个实体一对一时,我发现,如果不在联系设置页面声明主导实体,最后生成的物理模型中,这两个实体会各自包含对方的id,我说的这个声明主导实体,也就是 dominant role,以课程——教材为例