数据库表动态列的设计

简介:
在我们设计数据库时,经常会遇到这样的问题,就是表中的某个是不固定的,随着用户需求的变化,该列可能会增加等问题,
就像上图中的灌溉方式:目前可能有三种灌溉方式,
可是以后随着用户的需求增加,又会有新的灌溉方式,如:人工灌溉之类的,
遇到此类问题,通常会有两种解决方案,
一:新建一子表,
该表结构大概如下:
编号   渠灌   喷灌   水车  Class1  Class2 ......
就是在建表时会首先预留几个列,为了以后的扩展用,
这样的方案虽然简单,但是也会体现出下列几种问题,
1:如果以后要新增个人工灌溉,那我们新增的人工灌溉如何与数据库中的列进行绑定?
2:而且建表时会首先预留列也不好控制,到底预留几列才算合适。。。。
二:在增加灌溉方式的时候,要动态的向数据库中 增加字段,(
sql = "alter tableName add columnName type(length)";
那前提得在前台绑定下的,
比如:渠灌是对应数据库表中的哪个字段,喷灌是对应数据库表中的哪个字段等等
如果我们遇到的问题比较简单我们一搬会选择第一种方案,
如果我们遇到的业务比较复杂,我们见意还是选择第二方案,
这样以后我们的维护也会简单的多,


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/04/15/2017254.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
NoSQL Redis 数据安全/隐私保护
挂载配置文件以Docker启动Redis服务
以上步骤提供了一个高效且实用的方式来使用Docker启动并运行带有自定义配置的Redis服务。这些操作可以适用于开发、测试和生产环境,是一种灵活且可扩展的部署方案。通过挂载配置文件和数据卷,您可以轻松地管理和迁移您的Redis实例。
371 9
|
11月前
|
XML NoSQL 大数据
大数据中半结构化数据
【10月更文挑战第18天】
608 4
|
5月前
|
负载均衡 前端开发 Java
SpringCloud调用组件Feign
本文深入探讨微服务Spring体系中的Feign组件。Feign是一个声明式Web服务客户端,支持注解、编码器/解码器,与Spring MVC注解兼容,并集成Eureka、负载均衡等功能。文章详细介绍了SpringCloud整合Feign的步骤,包括依赖引入、客户端启用、接口创建及调用示例。同时,还涵盖了Feign的核心配置,如超时设置、拦截器实现(Basic认证与自定义)和日志级别调整。最后,总结了`@FeignClient`常用属性,帮助开发者更好地理解和使用Feign进行微服务间通信。
464 1
|
算法 安全 Java
MD5 - 加密算法简要介绍与JAVA实现
MD5 - 加密算法简要介绍与JAVA实现
315 1
|
XML JSON Java
经验大分享:SpringCloud之Feign
经验大分享:SpringCloud之Feign
255 0
|
机器学习/深度学习 自动驾驶 搜索推荐
大模型技术的端侧部署
【1月更文挑战第14天】大模型技术的端侧部署
862 4
大模型技术的端侧部署
|
监控 BI
财务智慧:全面解析ERP系统的财务管理模块
财务智慧:全面解析ERP系统的财务管理模块
1719 0
|
消息中间件 存储 NoSQL
消息队列之堆积问题分析
消息队列之堆积问题分析
249 1
|
负载均衡
webclient负载均衡踩坑
webclient负载均衡踩坑
354 0
|
测试技术
TPS、QPS和系统吞吐量的区别和理解
TPS、QPS和系统吞吐量的区别和理解
1681 0