W
Weste
I am designing a database for a client to track budget data. The labor data
is entered by FTEs (Full Time Equivalent Employees) and the dollars are
calculated by multiplying the appropriate labor rate by FTEs. The labor rate
is based on job role, fiscal year, and month. The client also wants to the
ability for 12-month rolling budgets. I recommended the following table
structures.
Table: LaborBudget
• LaborBudgetID
• ProjectID
• JobRoleID
• ….
Table: LaborBudgetDetails
• LaborBudgetDetailID
• LaborBudgetID
• FiscalYearID
• FTEs
• …..
Table: FiscalYear
• FiscalYearID
• FiscalYear
• FiscalMonthNumber
• …
Table: LaborRates
• LaborRateID
• JobRoleID
• LaborRate
• ….
The client has just completed 2 Access classes and doesn’t agree with my
design.
They want the table design as shown below because it will make coding of the
data entry screen easier.
Table: LaborBudget
• LaborBudgetID
• ProjectID
• JobRoleID
• FiscaYear
• Jan
• Feb
• Mar
• Apr
• May
• Jun
• Jul
• Aug
• Sep
• Oct
• Nov
• Dec
They want the data entry screen to look like the design below.
Project Job Role Jan Feb Mar Apr May Jun Jul Aug Sep
Oct Nov Dec
I explained that this is not a normalized database design and will cause
more problems down the road when building queries, reports, etc. Their
response was – then will have 2 sets of tables – 1 for data entry (the
non-normalized design) and then copy the data to the normalized tables for
reporting. They don’t want the normalized design because a crosstab or
unbound form will need to be used for the data entry screen.
Can anyone provide anything that I can use to help convince them how to
correctly design a database? Thanks for your help.
Weste
is entered by FTEs (Full Time Equivalent Employees) and the dollars are
calculated by multiplying the appropriate labor rate by FTEs. The labor rate
is based on job role, fiscal year, and month. The client also wants to the
ability for 12-month rolling budgets. I recommended the following table
structures.
Table: LaborBudget
• LaborBudgetID
• ProjectID
• JobRoleID
• ….
Table: LaborBudgetDetails
• LaborBudgetDetailID
• LaborBudgetID
• FiscalYearID
• FTEs
• …..
Table: FiscalYear
• FiscalYearID
• FiscalYear
• FiscalMonthNumber
• …
Table: LaborRates
• LaborRateID
• JobRoleID
• LaborRate
• ….
The client has just completed 2 Access classes and doesn’t agree with my
design.
They want the table design as shown below because it will make coding of the
data entry screen easier.
Table: LaborBudget
• LaborBudgetID
• ProjectID
• JobRoleID
• FiscaYear
• Jan
• Feb
• Mar
• Apr
• May
• Jun
• Jul
• Aug
• Sep
• Oct
• Nov
• Dec
They want the data entry screen to look like the design below.
Project Job Role Jan Feb Mar Apr May Jun Jul Aug Sep
Oct Nov Dec
I explained that this is not a normalized database design and will cause
more problems down the road when building queries, reports, etc. Their
response was – then will have 2 sets of tables – 1 for data entry (the
non-normalized design) and then copy the data to the normalized tables for
reporting. They don’t want the normalized design because a crosstab or
unbound form will need to be used for the data entry screen.
Can anyone provide anything that I can use to help convince them how to
correctly design a database? Thanks for your help.
Weste