公司前辈要我做一个动态表单数据库设计,思维愚钝,无法下手。后来前辈帮我把表结构画出来了,才茅塞顿开
现在和大家分享一下。
需求:
能够根据数据库在界面动态显示表单,包括表单类型、名称等,并且必须提供 添加新表单,修改表单等功能。
为了满足客户不断的需求变化,有时候需要为某商品增加、修改、删除、属性,这样的话以往的数据库表就很难实现,
因为表的字段是定死了 如果你需要增加一个属性的时候 ,就必须修改表,听说这是不允许的~~。
所以我们要设计一个灵活的数据库 下面以电脑设备为例:
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 感觉表达不是很清楚,。希望大家能看懂,看不懂的地方给我指出来吧
分享到:
相关推荐
总的来说,"JAVA动态表单设计,自定义表单,自定义数据"涉及的技术栈包括Java后端开发、前端界面设计、数据库管理和RESTful API设计。通过以上各模块的协同工作,可以构建出一个高效、易用的动态表单系统,满足不同...
是一个很好的数据库设计源码,大家可以好好研究一下啊
综上所述,本文探讨了在Web开发中采用前后端分离模式的动态表单设计,结合Vue.js和Spring MVC实现前端和后端的功能,利用NoSQL数据库处理动态数据需求,并通过响应式设计确保表单在不同终端上的良好表现。...
动态表单的有效实施离不开合理的数据库设计。数据库中应包含数据字段编码表、参考码表等关键表格,其中数据字段编码表存储了表单字段的基础信息,而参考码表则用于处理字段的多值属性,如“主要用途”字段可能包含...
数据库基础表单设计是数据库应用基础的重要组成部分,涉及到数据库的基础知识、数据库操作程序设计、VF基础知识、表单设计方法等。以下是数据库基础表单设计的详细知识点: 一、数据库基础知识 数据库基础知识是...
【标题】:“学生选课系统课程设计源代码附数据库设计表单” 【正文】: 本学生选课系统是一个基于J2EE技术的Web应用程序,它主要用于实现高校学生的在线选课功能,同时也为教师提供课程管理和学生信息管理等功能...
接下来,创建系统数据库是数据库设计的核心部分。VF支持创建新的数据库或者打开已有的数据库。在创建数据库时,你需要定义数据库的结构,包括数据表的字段、数据类型、主键等。数据库的规范化设计至关重要,可以有效...
数据库设计应考虑到表单结构的灵活性,可能采用NoSQL数据库如MongoDB,或者使用关系型数据库时,使用灵活的JSON字段存储非结构化数据。 在填写表单阶段,前端需要根据获取到的表单结构动态渲染UI。这通常涉及...
在jbpm中,设计动态表单通常包括以下步骤: 1. **定义流程模型**:使用jbpm提供的建模工具,如Eclipse插件或jBPM Workbench,创建符合BPMN 2.0规范的流程模型。 2. **设计表单模板**:创建可配置的表单模板,包括...
【数据库程序设计表单设计与应用】的知识点主要围绕面向对象的概念、Visual FoxPro的基类、表单设计以及事件处理展开。 1. **面向对象的概念** - 对象(Object)是现实世界中实体的抽象,它可以是具体的事物,也...
activiti三种表单的demo实现 运行方式: 1,修改连接的数据库 2,sql文件在resources\sql下 3,访问地址http://localhost:8080/activiti-demo/main/index
在本课程中,“网络课程设计(动态网页设计 Access数据库)”主要涵盖了两个核心主题:动态网页设计和Access数据库的使用。动态网页设计是构建交互式、响应式的网站的关键技术,而Access数据库则是管理和存储数据的...
《政务平台数据库设计》文档详述了省级政务平台数据库的设计原则、概念设计、逻辑设计以及物理设计,旨在构建一个高效、安全、一致的政务信息管理系统。以下是对这些内容的详细解读: 1. **数据库设计原则**: - *...
在IT领域,数据库设计是构建高效、稳定且易于管理信息系统的关键步骤。Access数据库因其易用性和灵活性,在小型到中型企业及个人项目中被广泛应用。在这个"access数据库设计实例"中,我们将聚焦于食谱数据库的设计,...
实验报告“数据库应用系统的表单设计和实现”主要涵盖了数据库管理中的几个关键概念和技术,包括视图设计、视图操作以及用户界面设计。以下是这些知识点的详细解释: 1. **视图设计器**: 视图是数据库中的一个...
数据库设计是系统的核心部分。在概念结构设计阶段,需要明确各实体(如图书、读者、订单等)及其之间的关系。逻辑设计阶段,这些实体被转化为具体的数据库表,包括字段定义、数据类型选择以及表间关联的建立。物理...
"数据库表单设计与应用" 数据库表单设计与应用是指在数据库系统中设计和应用表单的过程。这包括了对对象的概念、表单的设计和应用、控件的使用、事件的处理等方面。 首先,需要了解对对象的概念。对对象是指在客观...
政务平台数据库设计是构建高效、安全且符合标准的政务信息系统的关键环节。在设计省级政务平台数据库时,应遵循一系列原则,以确保数据的质量、一致性和安全性。以下是对这些原则的详细说明: 1. **标准化**:...
总的来说,这个课程设计项目涵盖了前端开发、后端开发、数据库设计与操作、网络安全、版本控制和部署等多个IT领域的知识点,对于提升学生的综合技能有着极大的帮助。通过实践,学生可以更深入地理解这些概念,并为...
公司经常需要制作一些网上报名系统的表单或者问卷调查,如果涉及的字段较少的话,还好应付;... 使用之前必须有设计好的数据库哦. 这样就好办了.懂点ASP的可以DIY了. 关键字:数据库 表单处理代码自动生成工具