我最近被某家 X 公司聘为唯一的 IT 专家,我的任务是修复他们的应用程序,在我看来,最好的开始方式是了解数据库。
他们当前的数据库是一个 MySQL 数据库,有 186 个表(请注意,有些表是空的,天知道为什么)。应用程序通过 MS Access 数据库接口与数据库进行通信。(我问自己为什么开发人员也这样做)
问题是,我如何开始处理这个大型无证数据库?是的,它没有记录,因为应用程序的开发人员不愿意给我一个 ERD 或数据字典或任何关于数据库的信息来让我的生活更轻松。您建议如何进行这种危险的努力,以了解相当大的数据库的每一个角落和缝隙?
链接的答案自下而上解决问题,首先是数据库。由于您的职责包括应用程序和数据库,因此我倾向于从应用程序开始自上而下地进行攻击。
通过咨询用户群,将注意力集中在了解应用程序最常用的功能上。通过分析/日志工具跟踪这些功能的数据库交互,以便您可以识别关键表和过程。
这样,您的早期工作就被限制在“重要的东西”上,而不是浪费时间记录可能很少或从未使用过的表和查询。