这是我第一次创建数据集市/仓库的尝试,我对如何最好地设计模式有些困惑。该项目的背景:我最初创建了一个关系数据库,该数据库捕获有关我们客户的信息。简化模式如下:
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
从我的阅读中,我知道事实表将包含所有计算出的值(平均薪水,身长等),每个维度都将包含数据(工作或教育程度),但我不了解它们是如何联系在一起的。我的事实表每个客户都会有一行吗?只是一排?
任何帮助都会很棒
谢谢