我想定义很多视图,但是数据库模型正在改变,所以我想到了一些想法/问题:
在MySQL 8中,有什么方法可以创建视图,而FROM并没有对表名进行硬编码,但是表名是变量?
是否可以在FROM后面创建带有硬编码表名但列名可变的视图?
创建一个视图(A)是一个好主意,该视图在FROM之后不针对特定(硬编码)表名,而是另一个视图(B)作为中间转换表,该视图仅从表中选择数据。表(C)并将其返回给视图(A),其中列的别名与第一个视图(A)期望的方式相同。简而言之,第二视图(B)只是充当表名和列名之间(A)<=>(C)之间的翻译器?
我正在考虑这些解决方案的原因是我想为连接到DB的应用程序提供一组表视图。并且它们不应更改,但数据库的整个模型将更改。
我不想触摸作为应用程序界面的访问视图,而是在应用程序界面视图后面定义列和表之间的一些连接。此外,数据库模型还需要其他一些视图来进行通用的计算/报告,但是用于计算/报告的源表数据将随时间而改变(列名,表名)。
我正在使用MySQL 8。
答案 0 :(得分:-1)
如果您的数据结构变化如此频繁,则基于SQL的产品可能不适合您,因为SQL要求对数据结构进行严格的定义。您可能必须考虑使用NoSql解决方案,该解决方案允许数据库架构具有更大的灵活性。但是,即使使用NoSql解决方案,数据结构的更改也会影响应用程序/报告。