数据库表动态列的设计

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


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/04/15/2017254.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 关系型数据库 数据库
什么是数据库表结构
什么是数据库表结构
|
5天前
|
存储 SQL 数据管理
平台设计-固定表结构与可自定义表结构
整个平台的表结构分为两种:固定的和可自定义的。
|
4月前
|
SQL 定位技术 数据库
数据库基础(三):完整性约束、索引、视图
数据库基础(三):完整性约束、索引、视图
|
10月前
|
SQL Java 关系型数据库
数据库表主键类型设计踩坑记录
数据库表主键类型设计踩坑记录
60 0
|
SQL 算法 关系型数据库
(四)mybatisPlus中表的三种主键和列的两种映关系,使用“雪花算法“提供分布式主键使用方案
😄看本博客之前,建议先看 1️⃣Mybatis-plus(MP)中CRUD操作保姆级笔记 2️⃣mybatisPlus实现ActiveRecord(AR)操作笔记 3️⃣mybatisPlus自定义Sql语句 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
221 0
(四)mybatisPlus中表的三种主键和列的两种映关系,使用“雪花算法“提供分布式主键使用方案
|
存储 关系型数据库 MySQL
MySQL数据库约束与表的设计
本文主要介绍MySQL数据库中一些常用的约束,以及表的设计方法。
109 0
MySQL数据库约束与表的设计
|
存储 SQL Java
Mysql数据库表字段设计优化(状态列)
初始状态码(java int 32 long 64),int 可以表示31种(除去0000),long可以表示63种(除去0000),当然不可能将0000赋值给初始状态,一般来讲,选择int还是long是根据具体业务需求来决定的。
394 0
Mysql数据库表字段设计优化(状态列)
|
消息中间件 数据库 数据安全/隐私保护
数据库表结构介绍|学习笔记
快速学习数据库表结构介绍
151 0
数据库表结构介绍|学习笔记
|
关系型数据库 MySQL 索引
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)
416 0
MySQL - 电商网站开发数据表结构设计(表结构,表关系,索引,时间戳)