2012-12-03 47 views
-1

我需要一些帮助来启动跟踪器官捐献者的新维度模型(星型模式)。我们有一个OLTP数据库,其中包含一个引用表(死亡术语),其中包含(性别,种族,年龄,死亡日期等)和相关查询表,例如日期,时间,种族,医院,器官类型,捐赠器官信息等。一些转诊成为器官捐献者。我明白,大部分查找表将成为维度表,但想知道我是否应该有2个事实表 - factReferralInfo和factOrganDonors或只有1个事实表来跟踪所有内容。我们可能会有诸如“转诊总次数”,“全部肾脏捐献者”等查询。器官捐赠的星型图设计

想过之后,我想我需要一个具有每个死亡转诊属性的维度dimReferral。我认为我很困惑,因为我读过你应该没有维度表与事实表相同的范围。也许在事实表中,我为每个捐献的器官都有一排,例如肾脏,胰腺,肺等。

回答

1

听起来像转诊可以捐献多个器官。这将是推荐和捐赠之间的一对多关系。正因为如此,我认为捐赠应该是你的事实表的颗粒,转介将是一个维度。以下粗略草图是我将如何开始接近它:

Rough sketch of donation as fact table

+0

谢谢。你是对的。我后来在想,推介应该是一个维度。我们有很多关于无捐赠转诊分析的报告(转诊有许多属性,如适合医疗,同意信息等)。那么这个明星设计是否适合这些查询呢?因为我们接到了每一次死亡的呼叫,这是一个事件,为什么转诊表是我们ER设计中的主要表格。另外,由于我们有组织捐助者有不同的措施,我想我们可以有2个事实表 - 符合尺寸的组织形式和组织形式。我在这个想法中是正确的? – cyberdog

+0

由于器官和组织具有不同的度量(以及可能不同的维度属性),因此您可能会有Fact_Organ_Donations,Fact_Tissue_Donations,Dim_Organs和Dim_Tissues。为了对没有捐献的转诊人员进行更复杂的分析,例如“哪些转诊捐献了器官X但不是组织Y?”那么你将需要一个额外的特殊类型的事实表,通常被称为[覆盖无事实事实表](http://www.kimballgroup.com/1996/09/02/factless-fact-tables/)。 – ajw0100

+0

感谢您的信息。 – cyberdog