MySQL 询问客户设计数据库的问题和注意事项

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2914822/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 16:08:43  来源:igfitidea点击:

Questions and considerations to ask client for designing a database

databasedatabase-designmysqldatabase-security

提问by Julia

so as title says, I would like to hear your advices what are the most important questions to consider and ask end-users before designing databasefor their application. We are to make database-oriented app, with special attenion to pay on db security(access control, encryption, integrity, backups)... Database will also keep some personal information about people, which is considered sensitive by law regulations, so security must be good.

正如标题所说,我想听听您的建议,在为他们的应用程序设计数据库之前,需要考虑和询问最终用户的最重要问题是什么。我们要做一个面向数据库的app,特别注意db的安全(访问控制、加密、完整性、备份)...一定很好。

I worked on school projects with databases, but this is first time working "in real world", where this db security has real implications.

我曾参与过使用数据库的学校项目,但这是第一次在“现实世界”中工作,这种数据库安全性具有实际意义。

So I found some advices and questions to ask on internet, but here I always get best ones. All help appreciated! Thank you!

所以我在互联网上找到了一些建议和问题,但在这里我总是得到最好的。所有帮助表示赞赏!谢谢!

回答by HLGEM

Some other specifics besides what has already been said:

除了已经说过的内容之外,还有一些其他细节:

  • Do you have any Regulatory requirements for data access and storage (Sarbanes-Oxley and HIPAA come to mind)
  • Do you need to be able to audit record changes
  • What internal controls do you need reflected in the database
  • What business rules must be followed under what circumstances
  • How large to you expect the data to get - the larger the data store expected the more critical to design with performance in mind from the start
  • How flexible do you want the system to be (do you want to be able to add columns on the fly? OR add business rules) Be careful with this one, make sure the client understands that flexibilty often comes at the cost of performance.
  • Do you need a separate data warehouse for reporting?
  • How do you need the data populated? Will it come from an application, multiple applications, data imports or a combination?
  • What databases do you currently have license for? Do you want to have this application use it?
  • Will different groups of users need different accesses?
  • How is the process currently being handled, can we have access to that database or see the current process in action. Observe, for a minimum of one day, the client using the current system. Take extensive notes, you will learn many things no one will think to tell you.
  • Do you need to migrate data from the old system
  • 您对数据访问和存储有任何监管要求吗(想到 Sarbanes-Oxley 和 HIPAA)
  • 您是否需要能够审核记录更改
  • 您需要在数据库中反映哪些内部控制
  • 什么情况下必须遵守什么业务规则
  • 您希望数据有多大 - 数据存储预期越大,从一开始就考虑到性能的设计就越重要
  • 您希望系统具有多大的灵活性(您是否希望能够即时添加列?或添加业务规则) 小心这一点,确保客户了解灵活性通常是以牺牲性能为代价的。
  • 您是否需要单独的数据仓库来进行报告?
  • 您需要如何填充数据?它来自一个应用程序、多个应用程序、数据导入还是组合?
  • 您目前拥有哪些数据库的许可证?你想让这个应用程序使用它吗?
  • 不同的用户组是否需要不同的访问权限?
  • 当前进程如何处理,我们能否访问该数据库或查看当前进程的运行情况。观察使用当前系统的客户端至少一天。做大量笔记,你会学到很多没人想告诉你的东西。
  • 是否需要从旧系统迁移数据

回答by Randy

i would start with:

我会从:

  • Please explain your business to me.
  • Which processes are you looking to automate or improve?
  • Do you have any reports you need to generate?
  • Do you need inputs to any other systems?
  • 请向我解释您的业务。
  • 您希望自动化或改进哪些流程?
  • 您有任何需要生成的报告吗?
  • 您需要输入到任何其他系统吗?

回答by Patrick Honorez

  • 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-))

从那里你得到你需要存储的信息,你应用第四个 NF,然后去!祝你好运 !8-))