Scott_Hall
Registered User.
- Local time
- Yesterday, 21:33
- Joined
- Mar 27, 2017
- Messages
- 50
OK I’m dying here.
I’ve built and rebuilt these tables in my database over and over trying to find the best/correct way to do so. Someone somewhere must have done this before, but I’ve gotten so deep into it that I can’t see it clearly any longer.
My team is doing project management on projects that scale from very simple - $5000 and three days of work - to complex…$1.5m and two years of work. When budgeting for these projects the data requirements need to scale in complexity. A small project should not require the scrutiny and data entry that a major project requires. Pretty straightforward.
Base Tables:
tblProjects – the main table
tblBudgets – one Project to many Budgets…uses FK from Projects table
tblStatus - source of Status list
tblPhase - source of Phase list
tblActivity - source of Activity list
A budget hierarchy consists of
Each level is one to many with the level above it. A Phase can have many activities but an Activity is in just one Phase, etc.
As far as scaling a budget, a simple project may not actually have specific Activities called out, but may end at the Phase (or Status) level.
Where things have gotten complex was trying to manage the additional data. Each level of the budget (Status,Phase,Activity) could have dollars or Start/End dates associated with them, but the values must roll up correctly. If a Phase has four Activities each worth $25 the Phase should equal $100. Dates also shouldn’t break their boundaries. If an Activity is scheduled outside the Phase date above it the Phase should move to the extant. This really goes beyond just a two dates and a dollar figure, as each line has numerous items…systems impacted, PO number, funding released, etc.
So is the budget line item data best flattened into one table that has all the values of Status, Phase, Activity, or three hierarchal tables using FKs? One table is convenient for management and keeping the secondary data fields consistent, but the hierarchy was more intuitive / similar to the visualized data structure…though data consistency was hard.
In the flat data effort I had a tblBudgetData table. In the multiple table approach I had tblBudgetStatus, tblBudgetPhase, tblBudgetActivity. I’m not sure how to move. Each time I think I’ve had it I’ve run into an issue two weeks later about pulling data out or keeping consistent secondary values like money. I think I’m so deep into it that I’m likely overthinking it, but I really need to settle into a reliable structure and move on.
Attaching a quick example database that might clarify my ramble.
Thanks for any help you can offer,
Scott
I’ve built and rebuilt these tables in my database over and over trying to find the best/correct way to do so. Someone somewhere must have done this before, but I’ve gotten so deep into it that I can’t see it clearly any longer.
My team is doing project management on projects that scale from very simple - $5000 and three days of work - to complex…$1.5m and two years of work. When budgeting for these projects the data requirements need to scale in complexity. A small project should not require the scrutiny and data entry that a major project requires. Pretty straightforward.
Base Tables:
tblProjects – the main table
tblBudgets – one Project to many Budgets…uses FK from Projects table
tblStatus - source of Status list
tblPhase - source of Phase list
tblActivity - source of Activity list
A budget hierarchy consists of
Status
Phase
Activity
Each level is one to many with the level above it. A Phase can have many activities but an Activity is in just one Phase, etc.
As far as scaling a budget, a simple project may not actually have specific Activities called out, but may end at the Phase (or Status) level.
Where things have gotten complex was trying to manage the additional data. Each level of the budget (Status,Phase,Activity) could have dollars or Start/End dates associated with them, but the values must roll up correctly. If a Phase has four Activities each worth $25 the Phase should equal $100. Dates also shouldn’t break their boundaries. If an Activity is scheduled outside the Phase date above it the Phase should move to the extant. This really goes beyond just a two dates and a dollar figure, as each line has numerous items…systems impacted, PO number, funding released, etc.
So is the budget line item data best flattened into one table that has all the values of Status, Phase, Activity, or three hierarchal tables using FKs? One table is convenient for management and keeping the secondary data fields consistent, but the hierarchy was more intuitive / similar to the visualized data structure…though data consistency was hard.
In the flat data effort I had a tblBudgetData table. In the multiple table approach I had tblBudgetStatus, tblBudgetPhase, tblBudgetActivity. I’m not sure how to move. Each time I think I’ve had it I’ve run into an issue two weeks later about pulling data out or keeping consistent secondary values like money. I think I’m so deep into it that I’m likely overthinking it, but I really need to settle into a reliable structure and move on.
Attaching a quick example database that might clarify my ramble.
Thanks for any help you can offer,
Scott