不稳定项目的数据库结构

时间:2015-12-01 17:06:46

标签: database orm database-schema

我有一个拥有以下事件的数据库:

event(id, name, type, startDate, endDate)

该类型是另一个自定义对象(Type(id, name, icon)),它被链接为一对多。

我想添加另一个名为EventDetail的自定义对象,其中包含详细信息,但字段与事件类型不同。

例如,如果我的活动是旅行类型,则字段可以是目的地维基百科的网络链接,照片,但如果活动是工作实习,他们显然会有所不同。

什么样的结构可以处理这种情况?

如果它很重要,我正在使用java for android,一个名为SugarORM的ORM库

最终答案

我最终前往ORM库管理我的数据库。使用Type和EventDetail之间的一对一关系以及Type和Event之间的一对多关系,它现在非常适用。

1 个答案:

答案 0 :(得分:2)

你可以用几种不同的方式......

一种方法是为EventDetail创建一个包含所有type所需字段的全能表,并使用type确定您在该表中读取的字段

另一种方法是,如果你没有很多不同的类型,那就是为每个类型创建一个表格,根据你的查询需要加入每个类型,你需要加入每个类型。基于类型的表(可能使用UNION [ALL],每type一个查询 - 或创建视图)。

根据情况和用途,第三种,可能更理想的是从数据库中消除这种复杂程度。将您的“活动详细信息”存储为CLOBBLOBXMLTYPE等,然后使用type将数据反序列化到客户端的对象。