假设我有这个 mysql 数据库,数据库中的所有表都相互关联,主键、外键等都已设置。现在是否可以仅从数据库设计中预测应用程序将使用哪些查询?由于数据库确实决定了应用程序的功能,因此从设计中,我们可以预测应用程序中将使用哪些查询,对吧?
如果可能,是否有策略或自动方式来生成可能的查询?
最佳答案
我写了一本关于使用 SQL 和 Excel 分析数据的书,并且在数据库方面工作了很多年。
是的,从数据库结构中,您可以弄清楚表将如何连接在一起。您不会弄清楚用户需要的更难(通常更业务相关)的东西。以下是一些示例:
您可以拥有一个数据库,其中的主表是电话,以及相关信息。从这个数据库中,您可能需要知道一次事件调用的最大数量。或者您可能需要知道某人在一个月内给多少不同的人打电话。
您可以拥有订阅者记录的数据库。您可能需要计算出某人在给定时间后停止的概率。
您可以拥有产品和购买的数据库。您可能需要找出同时出现的三种产品的最常见组合。
您可以拥有信用卡购买的数据库。您可能需要弄清楚谁在距其账单地址超过 50 英里的餐厅消费超过 200 美元。
重点是。数据库不代表“应用程序功能”。数据库代表实体和它们之间的关系,大概在现实世界中。认为您可以查看数据库并知道业务问题是什么的想法是狂妄自大的。
相反,数据库的目的是支持数据,而数据又支持应用程序。应用程序的需求会随着时间而改变。与许多其他数据存储技术不同,数据库的优点在于该技术随着数据的增加而扩展,支持结构的变化,并允许将新的实体和关系添加到系统中,而无需完全重写它。
随着时间的推移和经验的积累,您可能会对重要的事情产生直觉。即使您这样做了,您也会不断对用户的不同需求感到惊讶。
关于php - 基于数据库设计是否可以预测要在应用程序中使用的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856603/