Database 如何创建数据集市
这是我第一次尝试创建数据集市/仓库,我对如何最好地设计模式有点困惑。项目背景:我最初创建了一个关系数据库,用于捕获客户的信息。简化模式如下所示:Database 如何创建数据集市,database,database-design,data-warehouse,Database,Database Design,Data Warehouse,这是我第一次尝试创建数据集市/仓库,我对如何最好地设计模式有点困惑。项目背景:我最初创建了一个关系数据库,用于捕获客户的信息。简化模式如下所示: 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:P
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
从我的阅读中,我知道事实表将包含所有计算值(平均工资、长度等),每个维度将包含数据(工作或教育),但我不明白它们是如何联系在一起的。我的事实表是否会为每个客户都有一行?就一排
任何帮助都会很好
谢谢我不认为“数据仓库”是你的灵丹妙药 你应该专注于为什么你的结果是“耗时的” 你问的问题一点也不奇怪 有些事情与。。比如你真的有一个字符串学校名称作为学校的主键吗
也许发布一个实际的模式子集,以及一个您遇到困难的特定查询,然后您就可以获得关于如何改进它们的实际帮助。我不认为“数据仓库”是您的灵丹妙药 你应该专注于为什么你的结果是“耗时的” 你问的问题一点也不奇怪 有些事情与。。比如你真的有一个字符串学校名称作为学校的主键吗
也许发布一个实际的模式子集和一个您遇到困难的特定查询,然后您就可以获得关于如何改进这些查询的实际帮助。这是一个难题,因为它涉及客户的人口统计摘要 你有一份看起来像事实的工作。它有一个持续时间和一个工资,这是衡量标准。我们知道它们是度量单位,因为它们有合适的单位 鉴于工作事实,这一事实的维度是什么
- 客户
- 时间开始了
由于客户是一种特殊情况,一个或多个客户也将对相应的客户人口统计维度行进行FK引用。这是一个难题,因为它涉及客户的人口统计摘要 你有一份看起来像事实的工作。它有一个持续时间和一个工资,这是衡量标准。我们知道它们是度量单位,因为它们有合适的单位 鉴于工作事实,这一事实的维度是什么
- 客户
- 时间开始了