Questions and considerations to ask client for designing a database Questions and considerations to ask client for designing a database database database

Questions and considerations to ask client for designing a database


Some other specifics besides what has already been said:

  • Do you have any Regulatoryrequirements for data access andstorage (Sarbanes-Oxley and HIPAAcome to mind)
  • Do you need to be able to auditrecord changes
  • What internal controls do you needreflected in the database
  • What business rules must be followedunder what circumstances
  • How large to you expect the data toget - the larger the data storeexpected the more critical to designwith performance in mind from thestart
  • How flexible do you want the systemto be (do you want to be able to addcolumns on the fly? OR add businessrules) Be careful with this one, makesure the client understands thatflexibilty often comes at the cost ofperformance.
  • Do you need a separate data warehousefor reporting?
  • How do you need the data populated?Will it come from an application,multiple applications, data importsor a combination?
  • What databases do you currently havelicense for? Do you want to havethis application use it?
  • Will different groups of users needdifferent accesses?
  • How is the process currently beinghandled, can we have access to thatdatabase or see the current processin action. Observe, for a minimum ofone day, the client using the currentsystem. Take extensive notes, you will learn many things no one will think to tell you.
  • Do you need to migrate data from theold system


i would start with:

  • Please explain your business to me.
  • Which processes are you looking toautomate or improve?
  • Do you have any reports you need togenerate?
  • Do you need inputs to any othersystems?


  • use cases (google for that, it does not need to be drawings, text is fine)
  • inputs
  • outputs
  • static data
  • historical data

From there you derive the info you need to store, you apply 4th NF, and go !Good luck ! 8-))