13-MySQL面向对象设计:数据表与Java对象对应关系

1.类(对象)在数据库中的体现

对应关系

类定义― ― ―>表定义
类属性― ― ―>表字段(列)
类关系― ― ―>表关系
对 象― ― ―>表记录(行)

备注

Oid(对象 id)― ― ―>与业务无关
在数据库中每一条记录都对应一个唯一的 id;
Id 通常是用来表示记录的唯一性的,通常会使用业务无关的数字类型
字段的个数不会影响数据库的性能,表则越多性能越低。

2.类继承关系对应表

1、为每一个类建一张表。通过父类的 Oid 来体现继承关系。

特点:在子类表中引用父类表的主建作为自己的外建。
优点:方便查询。属性没有冗余。支持多态。
缺点:表多,读写效率低。生成报表比较麻烦。

2、为每一个具体实现类建一个表

特点:父类的属性被分配到每一个子类表中。
优点:报表比较容易
缺点:1)如果父类发生改变会引起所有子了表随之更改。
     2)并且不支持多态。数据有冗余。

3、所有的类在一张表中体现,加一个类型辨别字段

特点:效率高,查询不方便,用于重复字段不多时。
优点:支持多态,生成报表很简单。
缺点:如果任何一个类发生变化,必须改表。字段多,难以维护。

3.类关联关系对应表

1,一对一关联

类关系对应成表时有两种做法

一是引用主键,也就是一方引用另一方的主键既作为外键有作为自身的主键。
二是外键引用,一方引用另一方的主键作为自身的外键,并且自己拥有主键。

2,一对多关联

也就是多端引用一端的主键当作外键,多端自身拥有主键。

3,多对多关系

多对多关系是通过中间表来实现的,中间表引用两表的主键当作联合主键,就可以实现多对多关联。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值