【发布时间】:2012-02-02 16:35:46
【问题描述】:
这是我第一次尝试创建数据集市/仓库,我对如何最好地设计架构有点困惑。项目背景:我最初创建了一个关系数据库,用于捕获有关我们客户的信息。一个简化的架构是这样的:
ClientTbl:
ID:PK;
FName:String;
LName:String;
ClientEDU(one to many)
ID:PK;
ClientID:FK;
SchoolName:String;
Degree:String;
GPA:String;
ClientJobs(One to many)
ID:PK;
ClientID:FK;
OrganizationName:string;
Industry:String;
StartDate:Date;
EndDate:Date;
Salary:double;
CityLocation: String;
这是一个简化的示例。实际上,我还有几张表可以容纳数千条记录。当我想对这些表运行查询时,可能会非常耗时。我似乎创建一个数据集市会有所帮助。这样,我们可以每晚对数据集市进行更新,这将非常耗时。然后将查询的数据放在我们的 DM 中,这样可以快速查询。我只是在如何最好地设计架构上遇到困难。根据上面的示例表,我想在数据集市中回答的示例问题是这样的:
% of clients that attend each school in our db
% that have each degree in our db
Avg salary of client
Avg length of stay at a job
% of clients that worked in each city, that is found in the db
根据我的阅读,我知道事实表将包含所有计算值(平均工资、长度等),并且每个维度都将包含数据(工作或教育),但我不明白它们是如何联系在一起的。我的事实表会为每个客户提供一行吗?只有一排?
任何帮助都会很棒
谢谢
【问题讨论】:
-
跑——不要走路——去书店买 Ralph Kimball 的数据仓库工具包。数据仓库有很多内容,这里的简短答案是不够的。
-
是的,其实我前几天才买的。但事实上,我需要一个速成课程。这个项目很快就要到期了,我没有太多时间阅读它lol
-
“我没有太多时间阅读它”。那你就完蛋了。这并不简单。没有通往数据仓库的皇家之路。速成课程只会导致崩溃。干杯。
标签: database database-design data-warehouse