`
yelifei94
  • 浏览: 30692 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

动态表单数据库设计

阅读更多

公司前辈要我做一个动态表单数据库设计,思维愚钝,无法下手。后来前辈帮我把表结构画出来了,才茅塞顿开

现在和大家分享一下。

 

 

需求:

能够根据数据库在界面动态显示表单,包括表单类型、名称等,并且必须提供 添加新表单,修改表单等功能。

 

 

为了满足客户不断的需求变化,有时候需要为某商品增加、修改、删除、属性,这样的话以往的数据库表就很难实现,

因为表的字段是定死了 如果你需要增加一个属性的时候 ,就必须修改表,听说这是不允许的~~。

 

所以我们要设计一个灵活的数据库 下面以电脑设备为例:

pc 现有属性 name cpu ram disk 现在我们要为pc添加一个 mainboard 属性。

 

既然必须提供增加表单,那么我们创建表的时候就不能以cpu ram disk 为PC表的列名, 能够修改的话只能是值

所以应该建立以个属性表 来保存这些值

 

 create table y_property(
 proid varchar2(16) primary key,
 proname varchar2(64),--属性名称
 htmltype varchar2(64),--界面类型
 isneed  number --是否必填 
 )

 

proid proname htmltype isneed 
p001 型号 text 0
p002 cpu text 0
p003 ram select 0
p004 disk select 0

 

 

 

然后要建立以个表来保存这些电脑属性的值

 

 create table y_provalues(
 proid varchar2(32)  , --属性id
 entity varchar2(32) , --实例id
 provalue varchar2(1024) ,--属性值
 constraints pro_fk_proid foreign key (proid) references  y_property(proid),
 constraints provalues_pk primary key (proid,entity) 
 )

 

proid entity provalue
p001 e001 联想扬天V45
p002 e001 AMD5200
p003 e001 金士顿
p004 e001 wd500g
p001 e002 HP450
p002 e002 INTEL458
p003 e002 黑金刚
p004 e002 wd320g

 

其实也可以这样理解: 

y_property 这个表就是一个类

 

y_provalues 这个表就是 y_property 这个类的实例。entity属性就是实例编号,就是一个实际存在的产品编号。

 

另外我们还可以在这个基础上面拓展其他的表使其功能更为丰富,

如 电脑档次表、cpu表(这样的话我们就可以y_provalues中的provalue  与其他表关联,在界面就可以提供下拉列表显示,选择)

 

 这样下来的话就能对电脑商品添加属性了。

接下来的任务就是做一个工程实现界面的动态表单了

 

第一次写技术blog 感觉表达不是很清楚,。希望大家能看懂,看不懂的地方给我指出来吧

2
3
分享到:
评论
3 楼 superlittlefish 2011-09-05  
设计完成之后,产生的表单提交的时候 insert 是怎么实现的 ?
2 楼 仅此而已 2011-05-12  
嗯 ! 学习了。 很有用啊 这样设计表。
1 楼 白云飞 2011-05-12  
动态建表,改表也是可以的。我们现在就这样做了。不过系统实现就行

相关推荐

    JAVA动态表单设计,自定义表单,自定义数据

    总的来说,"JAVA动态表单设计,自定义表单,自定义数据"涉及的技术栈包括Java后端开发、前端界面设计、数据库管理和RESTful API设计。通过以上各模块的协同工作,可以构建出一个高效、易用的动态表单系统,满足不同...

    一个数据库设计表单

    是一个很好的数据库设计源码,大家可以好好研究一下啊

    前后端分离的终端自适应动态表单设计1

    综上所述,本文探讨了在Web开发中采用前后端分离模式的动态表单设计,结合Vue.js和Spring MVC实现前端和后端的功能,利用NoSQL数据库处理动态数据需求,并通过响应式设计确保表单在不同终端上的良好表现。...

    基于SSH框架的动态表单设计与实现

    动态表单的有效实施离不开合理的数据库设计。数据库中应包含数据字段编码表、参考码表等关键表格,其中数据字段编码表存储了表单字段的基础信息,而参考码表则用于处理字段的多值属性,如“主要用途”字段可能包含...

    数据库基础表单设计.pptx

    数据库基础表单设计是数据库应用基础的重要组成部分,涉及到数据库的基础知识、数据库操作程序设计、VF基础知识、表单设计方法等。以下是数据库基础表单设计的详细知识点: 一、数据库基础知识 数据库基础知识是...

    学生选课系统课程设计源代码附数据库设计表单

    【标题】:“学生选课系统课程设计源代码附数据库设计表单” 【正文】: 本学生选课系统是一个基于J2EE技术的Web应用程序,它主要用于实现高校学生的在线选课功能,同时也为教师提供课程管理和学生信息管理等功能...

    数据库课程设计(包括如何创建表单,创建系统数据库,连编,还有一个完好的应用程序,很好用的)

    接下来,创建系统数据库是数据库设计的核心部分。VF支持创建新的数据库或者打开已有的数据库。在创建数据库时,你需要定义数据库的结构,包括数据表的字段、数据类型、主键等。数据库的规范化设计至关重要,可以有效...

    动态表单的简单实现

    数据库设计应考虑到表单结构的灵活性,可能采用NoSQL数据库如MongoDB,或者使用关系型数据库时,使用灵活的JSON字段存储非结构化数据。 在填写表单阶段,前端需要根据获取到的表单结构动态渲染UI。这通常涉及...

    工作流动态表单设计图(jbpm)

    在jbpm中,设计动态表单通常包括以下步骤: 1. **定义流程模型**:使用jbpm提供的建模工具,如Eclipse插件或jBPM Workbench,创建符合BPMN 2.0规范的流程模型。 2. **设计表单模板**:创建可配置的表单模板,包括...

    数据库程序设计表单设计与应用PPT学习教案.pptx

    【数据库程序设计表单设计与应用】的知识点主要围绕面向对象的概念、Visual FoxPro的基类、表单设计以及事件处理展开。 1. **面向对象的概念** - 对象(Object)是现实世界中实体的抽象,它可以是具体的事物,也...

    activiti工作流动态表单,外置表单,普通表单demo

    activiti三种表单的demo实现 运行方式: 1,修改连接的数据库 2,sql文件在resources\sql下 3,访问地址http://localhost:8080/activiti-demo/main/index

    网络课程设计(动态网页设计 access数据库)

    在本课程中,“网络课程设计(动态网页设计 Access数据库)”主要涵盖了两个核心主题:动态网页设计和Access数据库的使用。动态网页设计是构建交互式、响应式的网站的关键技术,而Access数据库则是管理和存储数据的...

    政务平台数据库设计.doc

    《政务平台数据库设计》文档详述了省级政务平台数据库的设计原则、概念设计、逻辑设计以及物理设计,旨在构建一个高效、安全、一致的政务信息管理系统。以下是对这些内容的详细解读: 1. **数据库设计原则**: - *...

    数据库课程设计@数据库课程设计

    本文将详细介绍一个基于数据库设计的学院网站的构建过程,包括项目目标、数据库和E-R图设计、页面设计、软件设计及编程、项目总结等方面的内容。 ### 项目目标 本项目的主要目标是构建一个功能齐全的学院网站,该...

    access数据库设计实例

    在IT领域,数据库设计是构建高效、稳定且易于管理信息系统的关键步骤。Access数据库因其易用性和灵活性,在小型到中型企业及个人项目中被广泛应用。在这个"access数据库设计实例"中,我们将聚焦于食谱数据库的设计,...

    数据库实验报告--应用系统的表单设计和实现

    实验报告“数据库应用系统的表单设计和实现”主要涵盖了数据库管理中的几个关键概念和技术,包括视图设计、视图操作以及用户界面设计。以下是这些知识点的详细解释: 1. **视图设计器**: 视图是数据库中的一个...

    数据库表单设计与应用.ppt

    "数据库表单设计与应用" 数据库表单设计与应用是指在数据库系统中设计和应用表单的过程。这包括了对对象的概念、表单的设计和应用、控件的使用、事件的处理等方面。 首先,需要了解对对象的概念。对对象是指在客观...

    政务平台数据库设计.pdf

    政务平台数据库设计是构建高效、安全且符合标准的政务信息系统的关键环节。在设计省级政务平台数据库时,应遵循一系列原则,以确保数据的质量、一致性和安全性。以下是对这些原则的详细说明: 1. **标准化**:...

    数据库课程设计-前端+后端实现用户登录等一系列操作(源码)

    总的来说,这个课程设计项目涵盖了前端开发、后端开发、数据库设计与操作、网络安全、版本控制和部署等多个IT领域的知识点,对于提升学生的综合技能有着极大的帮助。通过实践,学生可以更深入地理解这些概念,并为...

    数据库 表单处理代码自动生成工具

    公司经常需要制作一些网上报名系统的表单或者问卷调查,如果涉及的字段较少的话,还好应付;... 使用之前必须有设计好的数据库哦. 这样就好办了.懂点ASP的可以DIY了. 关键字:数据库 表单处理代码自动生成工具

Global site tag (gtag.js) - Google Analytics