mysql – 使用视图作为数据库中模块之间的数据接口

我正在研究Mysql中直接小型数据库的数据库布局.

我们希望模块化这个系统,以便为我们将要进行的不同实现提供更多的灵活性.现在,我们的想法是在数据库中有一个模块(简单的一组表,它们之间有约束)通过视图将其数据传递给下一个模块.通过这种方式,一个模块中的更改不会影响其他模块,因为我们可以在视图中确保任何时候都存在正确的数据,尽管表的基础结构可能不同.

处理数据库的App的结构同样是模块化的.

这件事有时会完成吗?
在技​​术方面,据我所知,观点不能有主键 – 我如何才能获得这样的观点?
还应该考虑哪些其他问题?

最佳答案

Is this something that is sometimes done?

是的,视图通常用于将数据模型中的事物隔离开来.

On a technical side, as I understand views can’t have primary keys – how would I then address such a view?

MySQL不支持物化视图.非物化视图只是准备好的SQL语句 – 它们在数据模型中不存在,并且性能最终基于底层表和查询优化上存在的内容.

也就是说,不建议使用分层视图(创建从另一个视图中选择的视图) – 它很脆弱,并且由于有人希望简化优于查询优化,因此性能会降低.

点赞