数据库三种联系 与Hibernate

1.ER图 联系关系模式

数据库中存在三种联系:

  • 1:1
    可以将一端的主键(PK)集成到另一实体而不用建立”联系“,也可以创建 “联系“ 关系模式将双方主键(PK)或者更多添加至”联系”中,但没有必要,试想 两个实体(Entity)都有N项记录,那么总共就是2n条,明明只需要添加一个字段在一个集合中,其数据量只是2.1n甚至更小·,加入联系的话势必变成2n+n=3n 这一结果,但是本质空间复杂度都是O(n)
  • 1:n
    其原则与1:1 一致,但不推荐建立“联系”,试想 两个实体(Entity)都有N项记录,那么总共就是2n条,但其1:n的关系导致添加联系需要添加(假设平均每个对应1的实体需要对映2个对应n的实体,那么联系需要额外建立2n,总共数据是(1+
    2+1 )n条数据,虽然看上去仍然是O(N),但实际上最坏情况是1条对应n个,假设有n条 对应1的实体,n^2 条对应n的实体,那么需要 n^2 +n+n^2 条数据,参考1:1的情况只需要n^2+n+n )
    你这个莫名其妙多出来的n^2 一经推敲就是来考验数据库心态的,

PS:写这一段的初心是觉得构建了一个建立联系关系空间复杂度就攀升到了O(n^2)的情况,以此来说明建立联系的不

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值