Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7409215
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T06:02:56+00:00 2026-05-29T06:02:56+00:00

This is my first attempts at creating a data-mart/warehouse and I am a little

  • 0

This is my first attempts at creating a data-mart/warehouse and I am a little confused on how to best design the schema. A background on the project: I originally created a relational database that captures information about our clients. A simplified schema is as such:

 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;

This is a simplified example. In reality I have several more tables holding thousands of records. When ever I want to run queries on these tables, it can be very time consuming. I seems like creating a data-mart would help. This way, we could run an update to the data mart, which would be time consuming, nightly. Then have the queried data in our DM that would be fast to query. I’m just having a hard time on how to best design the schema. Example question I would like to have answered in the data mart, based on the example tables above, is this:

 % 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

From my reading, I know that the fact table would contain all the calculated values (avg salary, length, etc) and each dimension would contain data (jobs or education) but i dont understand how they are tied together. Would my fact table have a row for each client? Just one row?

Any help would be great

thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T06:02:57+00:00Added an answer on May 29, 2026 at 6:02 am

    This is a difficult problem because it involves demographic summaries of clients.

    You have a Job which appears to be fact-like. It has a duration and a salary which are measures. We know they’re measures because they have proper units.

    Given the Job fact, what are the dimensions of this fact?

    • Client

    • Time started

    Perhaps you know other things about the Job (geography, industry, for example).

    Time is a point-in-time. This is usually a table with dates and all of the various reporting categories that dates fall into: quarters, weeks, fiscal periods, etc., etc.

    Client is an individual; and people don’t make a particularly good dimension. They have a lot of dimensions of their own.

    Choice 1. A “snowflake” schema. Treating Client as a kind of fact with a lot of dimensions, including their own geography and degree and and school and what-not.

    Choice 2. A “demographic” dimension. This is summaries of degree program, GPA range, school name, and the like. This is — effectively — an association between the proper Job Facts and the Clients. A Job belongs to a demographic category. A number of clients also belong to that category.

    Would my fact table have a row for each client? Just one row?

    A fact table has one row for each measurable instance of a fact associated with the various dimensions of that fact.

    A Job fact has two measures: salary, duration and at least to foreign key references to dimensions: start date and demographics. If you have other dimensional attributes of the Job (like geography or industry), these are foreign keys of the job.

    A Client Demographic will be associated with one or more jobs.

    The same would be true for Geography or Industry.

    Because client is a special case, one or more clients will also have FK references to the appropriate client demographic dimension row.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

this is my first attempt at a responsive design so excuse me if this
This is my first attempt at creating a service and incorporating it in my
I'm using Visual Web Developer 2010 Express. This is my first attempt at creating
This is my first attempt at creating a package, so I must be missing
First attempt at a RoR project and following http://guides.rubyonrails.org/getting_started.html#creating-the-blog-application . I've got the Welcome
This is my first attempt at creating a custom instance of a class such
this if my first attempt at using streaming for WCF, and I am struggling
This is my first attempt to create a GUI in MATLAB. I haven't been
Because this is my first attempt at an extension method that seems quite useful
This is pretty strange (admitedly, this is my first attempt with python / sqlite),

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.