小编ara*_*ash的帖子

如何在数据库中建模面向对象的设计?

假设我们有三个概念如下:

概念(attribute1,attribute2,..)

A(a,b,c,d)

B(a,b,c,d,e)

C(a,b,c,d,f)

在数据库中为这三个概念建模有三种选择:

1)按原样对它们进行建模

表{column1,column2,...}

A {id,a,b,c,d}

B {id,a,b,c,d,e}

C {id,a,b,c,d,f}

Con:存在数据冗余.

2)在一个表中建模

A {id,object_type,a,b,c,d,e,f}

Con:对于某些概念,某些字段仍为空.

3)使用表之间的关系

一个{parent_id,a,b,c,d}

B {id,parent_id,e}

C {id,parent_id,f}

Con:增加查询复杂性以连接表.

你会用哪种方法?你有其他解决方案吗?你认为第三种方法的性能较差吗?

mysql database data-modeling object-oriented-analysis object-oriented-database

0
推荐指数
1
解决办法
538
查看次数