前言对于 ToB 业务而言,随着业务的不断壮大,接入的客户逐渐增加,相同页面的差异化的需求越来越多,尤其是在表单层面,小到多一个字段少一个字段这种简单的需求,大到整个页面不变的只剩下一些基础字段。一旦这种差异化需求随着业务量的增长而膨胀起来。代码中的 IF ELSE 越来越多,项目就越来越难以维护。基于这个问题,比较普遍的解决方案要么是项目拆分,要么相同项目的代码分割。 这两种方案都有维护成本
动态表单数据库设计
原创 2013-08-27 15:23:29
4886阅读
需求:能够根据数据库在界面动态显示表单,包括表单类型、名称等,并且必须提供 添加新表单,修改表单等功能。为了满足客户不断的需求变化,有时候需要为某商品增加、修改、删除、属性,这样的话以往的数据库表就很难实现,因为表的字段是定死了 如果你需要增加一个属性的时候 ,就必须修改表,听说这是不允许的~~。所...
转载 2015-03-30 22:10:00
742阅读
2评论
存储结构去业务化参数key/value通常系统参数就是这样,很多配置项也是键值的。例如:分配比例,网站title,某某时间。码表分为两种:1、一种是没有层级的也就是用组就可以表达的。例如:性别,状态。2、一种是有层级的树形的。例如:地域,树形分类。树形有些是无限层级的,有些也就是几层。码表分组:性别组,状态组码表分组编号 名称001 性别002 状态码表值分组编号 码 值 排序001 001001 男 10001 001002 女 20002 002001 冻结 10002 002002 等待 20002 002003 进行 300...
转载 2013-09-26 09:23:00
466阅读
2评论
前言Flowable, Activiti 等开源解决方案所提供的表单引擎是没有业务表单数据持久化的功能(即自动创建表,将表单数据持久化功能),只提供动态表单创建以及渲染功能。目前来看表单引擎服务主要功能如下:动态表单配置以及渲染(主要在于前端实现)表单数据库持久化以下是目前实现业务表单数据持久化的几种方案:以下方案都以请假流程的表单为例,比较简单就请假天数(days)以及请假理由(reason),
数据如何设计分析(学习借鉴)
转载 精选 2016-05-16 20:07:33
768阅读
连接池:对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决我们的问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据
动态表单生成之拖拽生成表单(下)我们的动态表单,最终要实现的效果与Form.io的在线生成表单的效果类似,可以参考它的demo地址:https://codepen.io/travist/full/xVyMjo准备工作首先,我们在过程中会需要用到一个弹出层控件,这里引用KendoUI的Dialogs,使用下面的命令安装: npm i --save @progress/kendo-angular-d
# 实现Java动态表单数据库设计 ## 概述 在本文中,我将向您介绍如何实现Java动态表单数据库设计。我将分步骤指导您完成整个过程,并提供示例代码和注释来帮助您理解每一步的操作。 ## 流程 下面是实现Java动态表单数据库设计的流程图: ```mermaid stateDiagram [*] --> 开始 开始 --> 定义数据模型 定义数据模型 --> 创建数
原创 2024-01-09 12:48:29
465阅读
为什么需要设计数据库        这里我们思考两个问题: 修建茅屋需要设计吗?修建大厦需要设计吗? 结论是:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时,我们需要先设计数据库; 因为,良好的数据库设计能够: q       方便进行数据库应用系统的开发
转载 精选 2010-02-04 16:30:05
985阅读
数据规范化   •         第一范式(1st NF -First  Normal Fromate) –          如果每列都是不可再分的最小数据单元(也称为最小的原子单元),
转载 精选 2010-02-04 16:30:39
696阅读
数据库如何设计,一直以来都是一个仁者见仁智者见智的问题。对于某一种数据库设计,并不能简单的用好与不好来区分。或许真的应了那句话,没有最好,只有最适合。讨论某种数据库设计的时候,应该在某种特定的需求环境下讨论。下面来讨论一下在项目中经常碰到的用户的联系方式储存的问题。我在这里套用之前网络上流行“普通——文艺——二逼”的分类方式来描述我下文中提及的三种数据库设计思路,并且通过查询数据(对数据增删改,
转载 精选 2013-06-17 00:14:17
329阅读
这次的需求是在Mongo的使用中碰到的,但是我觉得把这个需求放进传统的RDBMS中更易于理解。需求是这样的:假设你数据库使用的是Sqlserver,有一张表,500W条数据,你要做一个随机在表中选择一条数据的功能。假设本文所探讨的数据结构如图(聚集索引在Pk上,UserName上加了非聚集索引):你的第一反应大概是:哎呀妈呀忒巧了,正好主键使用的是Int自增的,我只用生成一个随机数,然后找这个随机
转载 精选 2013-06-17 21:44:13
548阅读
其实我一直在准备另一篇博文的基础资料,但是和朋友聊天,他问我最近在做什么,我说在做系统Log模块,并和他交流了一下,于是这篇博客就应运而生。所有数据都可以用如下形式表述:ID,表名,列名,Value。比如说现在有这么一条数据要插入User表:ID(Guid,这里为了方便理解用Int)UsernamePasswordEmail1CrazyJinn123456CrazyJinn@W.C  
转载 精选 2013-06-17 21:40:18
464阅读
本篇文章旨在讨论如何抽象(以用户作为抽象的例子),并提出一些解耦的思路。正文开始首先来需求分析我们的系统有前台和后台,前台用户有:Man,Woman,SuperMan,SpiderMan与IronMan。后台用户为Administrator。前台用户都要填写联系方式与地址,然后SuperMan,SpiderMan与IronMan都有Ability。需求很简单。那么按照这个需求,我们来随手画一个继承
转载 精选 2013-06-17 21:19:10
390阅读
“man/woman应该设计在同一张表中。 用户表大多都设计成一个表。连分 administrator 和 user 都不应该。”我想还是因为我举例太随意,因为博文中Man和Woman只有4个差异属性:HasCar\HasHouse\HasMoney,以及IsBeauty。其实对于这个问题我无力吐槽什么,简单的说说吧:假设为Man用户实现的是一个征婚系统,而Woman用户实现的是一个选美系统。这么
转载 精选 2013-06-17 21:32:56
447阅读
阅读本文约需要5分钟大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下SQL Server游标的使用的相关知识,今天跟大家分享java高级--Java动态代理的原理的知识。参考来源:动态代理的简要说明在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是
文章目录1.设计流程1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计4.数据库物理设计阶段5.数据库实施阶段6.数据库运行和维护阶段2.建表的原则:1.标识当前记录(主键)2.阐释当前记录(各个字段的含义:记录所包含的真正内容)3.从各个维度去对当前的记录进行描述(备注、排序、是否展示...)4.记录下这条记录的创建、修改、更新、删除的相关信息 1.设计流程1.需求分析阶段1:考虑到可能的扩
1.数据库设计 数据库设计是基础,数据库设计的目标是为用户和各种应用系统提供一个基础的信息设施和高效的运行环境。 1.1 数据库设计三个范式 1NF: 所有的域是原子性的 表中的每一列应该是不可拆分的最小单元。最低要求。 2NF: 所有的非主键字段必须与主键相关,不能与部分主键相关(联合主键) 每张表中描述和表示一类数据,多种不同的数据需要拆分到多张表中。 3NF: 所有非主键字段必须与主键直接
我们该如何设计数据库
转载 2023-04-26 01:19:21
80阅读
  • 1
  • 2
  • 3
  • 4
  • 5