相关疑难解决方法(0)

数据库设计:同一张表的两个一对多关系

我必须模拟一种情况,我有一个表 Chequing_Account(其中包含预算、iban 编号和帐户的其他详细信息),该表必须与两个不同的表 Person 和 Corporation 相关,这两个表都可以有 0、1 或多个支票帐户。

换句话说我有两个1对多关系,同一张表支票账户

我想听听尊重规范化要求的这个问题的解决方案。我听到的大多数解决方案是:

1) 找到一个 Person 和 Corporation 都属于的公共实体,并在它和 Chequing_Account 表之间创建一个链接表,这在我的情况下是不可能的,即使我想解决一般问题而不是这个特定实例。

2) 创建两个链接表 PersonToChequingAccount 和 CorporationToChequingAccount,它们将两个实体与支票账户相关联。但是我不希望两个人有同一个支票账户,也不希望一个自然人和一个公司共享一个支票账户!看到这张图片

http://i41.tinypic.com/35i6kbk.png

3) 在 Chequing Account 中创建两个指向 Corporation 和 Natural Person 的外键,但是我会因此强制一个人和一个公司可以拥有多个支票账户,但是我必须手动确保每个 ChequingAccount 行不是两个关系都指向公司和自然人,因为支票账户要么属于公司,要么属于自然人。看到这张图片

http://i40.tinypic.com/1rpv9z.png

这个问题还有其他更清洁的解决方案吗?

database-design

21
推荐指数
1
解决办法
3万
查看次数

模拟每个音乐艺术家都是一个团体或独奏者的场景

我必须为涉及音乐艺术家描述的业务环境设计实体关系图 (ERD) ,我将在下面详细说明。

场景描述

  • 一个艺术家有一个名称,且必须要么 一个独奏演员(但不能同时)。

  • 一个小组由一名或多名独舞者组成,并有若干成员(应根据组成该独奏者人数计算)。

  • 一个独奏演员可能是一个会员众多的群体或无的集团,并可以播放一个或多个仪器

如何构建一个 ERD 来表示这种场景?我对它的“或”部分感到困惑。

erd database-design database-diagrams subtypes many-to-many

13
推荐指数
1
解决办法
6809
查看次数

具有相同内容的关系表,自定义解决方案

假设我正在构建一个应用程序,可以在其中添加FOO的评论。通常我会有这样的东西:

foo和表foo_comments,其中foo_comments包含idfoo_id和其他列。

目前,这是我在应用程序中使用评论的唯一方式。我确实收到了某人的留言,如果他们将来更新应用程序并且他们也想为BAR添加评论,我应该从现在开始添加一些自定义内容,即使我现在不需要它。所以有人建议我添加这样的东西

注释(一般用途),其中包含一个type列(其中 type 可以是表示引用的表的 int:foo、bar 或其他内容)和一个type_id列,其中包含来自行的 id主表。

那么这是一个好的做法吗?我是否应该构建这样的东西,仅仅因为应用程序将来可以更改?或者我只是将其与foo_comments表一起保存,然后如果应用程序将为BAR表添加注释,我也会创建一个bar_comments表。

database-design application-design design-pattern

3
推荐指数
1
解决办法
390
查看次数