修改数据库表的列名以适应我的应用程序的技术限制?

Flu*_*ngo 3 database-design

我在一家公司工作,该公司处理由 3rd 方提供的巨大(比如说数百 GB)数据库。此外,我必须从公司用来加载和可视化数据的软件(即应用程序)中创建数据库连接。

问题

数据库的列名字符长度为 32+,但软件应用程序仅支持最多 31 的列名长度。因此无法加载包含列的这些表,我无法真正使用数据库。

问题

我应该在每次需要时接触数据库并缩短列名(用于更新等),还是应该推动公司使用支持更长列名的软件?

一方面,我认为触摸原始数据非常丑陋,另一方面,公司已经购买的应用程序许可证非常昂贵,仅切换软件可能不是那么受欢迎的举动......

还是视具体情况而定?受影响的列数或软件价格是否与我必须做出的决定有任何关联?

或者有更好的解决方案吗?

Joh*_*ner 10

在表格顶部构建视图。每个 RDBMS 都应该具有此功能,因为 VIEWS 是SQL 标准的一部分。视图将允许您随意调用列,而无需更改您所说的提供数据库的第 3 方提供的底层结构。视图还可以让您灵活地根据自己的喜好标准化名称甚至数据类型。最后,如果您从第 3 方获得可以轻松加载到当前结构中的其他数据,这将最大限度地减少未来 ETL 过程所需的任何返工。