事实表引用另一个事实表

时间:2016-06-13 20:07:21

标签: mysql star-schema

我对数据库设计很陌生,想问下列方案是否可行。我目前正在尝试设计一个包含名为Asset的实体的数据库。资产实体将具有不同类型的资产,例如笔记本电脑,台式机,软件等。在资产表旁边,还有assetInfo表和相应的资产类型表(例如,桌面,笔记本电脑,软件等)。资产类型表包含有关该资产的信息(ID,型号,购买日期等)。资产表包含有关哪个资产的信息(它是笔记本电脑,是桌面,是软件吗?)和assetInfo表包含资产当前用户的信息(哪个部门和哪个建筑物的雇主) ,房间就放了。)

为了实现这一点,我想出了两个想法。

第一个是资产实体是父类,资产类型是子类,资产和资产类型之间有x个不相交的关系。有些东西告诉我,随着资产类型数量的增加,这将带来很多复杂性。

另一种选择是拥有星型模式。资产是事实表,资产类型可以是维度表。唯一的问题是,当我有另一个名为assetInfo的表时,它应该显示谁在某个位置拥有哪个资产,它需要拥有资产实体的所有主键(如果我错了,请纠正我)。所以我的问题是:是否可以将事实表引用到另一个事实表?

一个例子是:

资产(事实表)

PK:SoftwareID PK:DesktopID PK:LaptopID FK:SoftwareID FK:DesktopID FK:LaptopID

软件

PK:SoftwareID

笔记本

PK:LaptopID

桌面

PK:DesktopID

雇主

PK:EmployerID

PK:DepartmentID

建筑

PK:BuildingID

PK:RoomID

assetinfo的

PK:assetID PK:EmployerID PK:DepartmentID PK:BuildingID PK:RoomID

0 个答案:

没有答案