从oracle产品的表结构思考数据库表的设计理念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013703363/article/details/81258415

  2018年新年伊始,因为缺少技术挑战,我从上家公司离开,来到一家做华为产品的公司。华为里面的产品后台的数据库用的就是oracle。

  在工作中,我发现基本上oracle设计的表中都会有这些字段:attribute1~15,global_attribute1~15,以及creation_date,created_by,last_updated_by,last_updated_time等。那么,为什么oracle要在每个表都设计这些字段呢?里面究竟有什么实际用途呢?

  通过一段时间的工作,我发现attribute1~15这15个字段可以用来作业务扩展的字段存储,因为业务是在不停的变化发展的,不管多么严密的表都可能会无法适应业务的变化,那么这些预留的扩展字段就可以用来实现业务的变化了,而不需要频繁的变化表结构。那么global_attribute1~15,这个跟attribute1~15这个有什么区别呢?它也是预留字段,不过他是在具有通用的,系统性的业务变化时使用,不单单是涉及到一张表的变化。

  另外,creation_date,created_by,last_updated_by,last_updated_time这些字段就是利于后期对生产环境的问题追踪,以及对用户数据的业务分析了。通过创建时间,修改时间,修改人,可以分析数据与业务逻辑的关系,也可以分析问题是进行了如何的变化,以及变化的时间节点。等等。

猜你喜欢

转载自blog.csdn.net/u013703363/article/details/81258415
今日推荐