- 浏览: 37167 次
最新评论
扩展表的实质就是用数据表的形式来存储和表现数据表。一般的数据表有行(数据)有列(结构),而扩展表的功能就是存储列和行。也就是说,根据扩展表里的内容,我们可以搭建出若干张数据表。从外观上看,用户只是在对一些很基础的数据表进行增删改的操作。而实际上,我们是把用户对表的定义、对表结构的修改、对表内数据的修改都做到扩展表中。这样做的用处是,在一些数据库表的格式已经定义完毕后,如果需求变更(比如要添加列,但又不好直接显示),则不需要改变原表的结构,只需要在扩展表中定义需要扩展的部分的结构就可以了。而且,对于扩展表所存储的数据表而言,由于其结构(列)也是作为一条条数据行所存储的,结构的变更很灵活和方便。
要做扩展表,要存储的内容包括对应的实际数据模块、扩展表的栏位(列)、扩展部分的数据(行)等。首先来看扩展表的主表:
OID: 唯一标识(PK)
INF_CODE: 模块代码
INF_URL: URL地址
INF_STATUS:状态
INF_DESC: 描述
OID是GUID标识符。模块代码是标识对应的数据模块。URL地址是用来显示时使用的,标识目标地址。INF_STATUS标识该模块的扩展表是否使用。INF_DESC用来描述该模块的信息。
接下来,就要存储数据表的结构(列)了。这是扩展栏位表:
OID: 唯一标识
FLD_INFOID: 扩展表标识 (FK)
FLD_CODE: 栏位编码
FLD_NAME: 栏位名称
FLD_SEQN: 栏位顺序
FLD_DATATYPE:栏位数据类型
FLD_STATUS:栏位状态
FLD_DESC: 栏位描述
栏位编码相当于数据库中的列名,而栏位名称则相当于数据库中数据显示出来时列要显示的名称。栏位编码的作用是,如果名称改变,仍然可以找到这一列,而不用大动干戈的修改程序(谁让需求总是比女孩的心情变得还快呢^_^)
栏位的顺序是指该扩展表显示时各栏位的显示顺序。栏位的数据类型只限定成字符串(string)、数值(decimal)、下拉选择(dropdown)、日期(datetime)四种。下拉选择是允许用户(开发员)自定义该栏位可以允许的选项。在往该列添加数据时,将以下拉框的形式展现。
既然定义了下拉选择类型,我们就应该允许用户的自定义下拉值。因此,扩展表的第三张表就是存储下拉选择时的可选值的选择值表:
OID: 唯一标识
OPT_FLDOID: 扩展栏位标识(FK)
OPT_VALUE: 索引值
OPT_KEY: 索引键
OPT_DEFAULT:是否为默认选择
OPT_STATUS: 状态
OPT_DESC: 描述
这张表的内容也是一目了然的。扩展栏位表和选择值表合起来,我们就有了一个关于数据表结构(列)的完整轮廓。接下来,我们需要存储数据表的数据了。
存储数据行要关联的信息是扩展表的模块和关联该行数据的原始行标识。也即,对应CPU的扩展信息,不仅要关联到CPU这个模块上,还要关联到CPU表中的一条具体的数据上。因此,具体的数据行标识的扩展信息表设计成这样:
OID: 唯一标识
REC_INFOOID:扩展表标识(FK)
REC_OBJOID: 对象标识
REC_STATUS:状态
REC_DESC: 描述
扩展表标识是用来标记对应的模块,而对象标识就是关联到该模块的具体某一条数据上。两者合起来,我们可以确定在哪里和如何在原始数据的地方显示这条扩展信息的内容。
最后,我们还需要一份扩展信息明细表,用来存储真正的扩展表的所要存的数据。这份明细表如下:
OID: 唯一标识
RCD_RECORDOID:扩展信息标识(FK)
RCD_FLDOID: 扩展栏位标识(FK)
RCD_RECODE: 扩展值
通过如上的五张表,我们成功的建立了一个扩展表的结构。通过这个扩展表,我们可以自定义数据表的结构和数据。以表的形式存储表,这就是扩展表的意义和特别之处。
发表评论
-
入职第一天
2004-07-12 20:20 554很喧闹的一天新人训。当然,可以说是激情四射,或者说是嘈杂无聊。 ... -
迎接部门训
2004-07-13 18:07 511今天开始迎接部门的专业训了,C#、SQL Server、数据库 ... -
生活的颜色
2004-07-14 18:57 575一个诚实的裁判就这样慷慨赴义了,很多很多黑暗中的裁判们却还好端 ... -
历史的沉思
2004-07-16 12:43 639很久以前的一篇文章, ... -
选择的未来
2004-07-17 15:11 491先提一个问题:做一个技术员,技术能力重要还是业务知识重要?再提 ... -
统一的困惑
2004-07-19 20:45 532RUP(Rational统一过程)的基本开发方式是迭代。需求迭 ... -
开发的效率
2004-07-21 17:44 529面对多人协同开发的分层系统,有两种开发方式:其一、一人负责一到 ... -
模型或模式
2004-07-22 23:27 645不论是吵吵嚷嚷的软件工程、XP建模,还是死灰复燃的MDA、一心 ... -
对象的效率
2004-07-28 21:22 537面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也 ... -
泪写的文章
2004-07-29 20:20 512今天我又哭了。一个月前,我还觉得哭于我是很遥远的事情。甚至,我 ... -
期待的精彩
2004-07-31 11:08 534好久好久没有看到国足这么酣畅的胜利了,好久好久没有体会到看球的 ... -
转载的文章
2004-08-01 10:50 502今天转载一篇吧,记录一段可笑的过往。 别了,Dr.Dobb's ... -
TDD 心得
2004-08-03 16:19 788一直觉得,近年来,真正有意义的技术或者思想只有两个:Refac ... -
近期的任务
2004-08-06 12:54 5781、Test Driven Development2、Java ... -
上海印象一
2004-08-09 22:28 567车一进入上海,扑面而来的就是一片一片的高楼,黑压压地便压了过来 ... -
上海印象二
2004-08-10 21:19 522上海当然是天堂,但也是仅对一部分人一部分地区。对大多数人大部分 ... -
转载的文章
2004-08-13 23:38 453O/R Mapping中的继承~ http://www.cnb ... -
生日的祝福
2004-08-15 10:49 710今天是agate的生日。尽管这句话已经被用得很俗,不过我还是想 ... -
等爱的狐狸
2004-08-27 18:16 567“对我来说,你还只是一个小男孩,就像其他千万个小男孩一样。我不 ... -
飞翔的寓言
2004-08-30 20:58 514我才发现梦想与现实间的差别逆着风让自己体验每一个感觉就像是寓言 ...
相关推荐
本文将深入探讨如何为数据库表设计可扩展的字段,以便在未来的需求变化或业务扩展时能够轻松应对。 首先,我们应当遵循数据库设计的基本原则——范式理论。第一范式(1NF)要求每个字段都具有原子性,即字段值不可...
可以通过在数据库中新建表来扩展数据存储,或者移除不再需要的表以保持数据库的整洁。访问其他数据库则允许跨数据库的数据集成和交互。 总的来说,设计数据库是一个综合性的任务,涵盖了需求分析、表结构设计、关系...
原数据库表包含了流程定义、用户信息、组信息、历史记录等,而扩展表则用于存放BPM系统的各种扩展属性,以保证系统的灵活性和扩展性。 接下来是具体表的介绍: 1. 二进制数据表(act_ge_bytearray)存储了流程定义...
数据库表设计是数据库设计的重要组成部分,对于构建高效、可靠、可扩展的数据库系统至关重要。在本文中,我们将对数据库表设计的基本概念、设计原则、设计步骤和设计技术进行详细的介绍,并从实践角度出发,探讨...
在IT行业中,数据库表设计是构建高效、安全和可扩展的应用程序的基础。在这个场景中,我们关注的是"数据库表设计",特别是与"权限表结构"相关的知识。这个主题涉及如何构建一个完整的权限控制体系,从控制功能菜单到...
总之,"全国行政区域省市区代码 MySQL多表设计+数据"是一种高效、可扩展的数据库设计方法,对于处理涉及中国行政区域信息的系统非常实用。它利用了MySQL的关系型数据库特性,确保了数据的准确性和一致性,为开发人员...
在介绍基于FPGA技术的数字电压表设计的知识点时,首先需要明确几个核心概念及其相互之间的关系。FPGA(Field-Programmable Gate Array)是一种可以通过编程实现数字逻辑电路设计的集成电路。数字电压表是一种能够将...
为了满足这些需求,需要对数据库进行详细的设计和规划,包括数据库的物理结构设计、表设计、表之间的关联设计、存储过程设计和触发器设计等。 数据库设计的主要目标是满足系统的数据存储和管理需求,确保数据的完整...
数据库表设计是构建高效、稳定、可扩展的信息系统的基础,尤其在C06阶段,这一环节显得尤为重要。本文将深入探讨数据库表设计的关键知识点,包括数据规范化、关系模型、索引优化、表关联以及设计原则。 首先,数据...
本实验主要讲述仪表电压、电流量程的扩展原理和方法,通过实验,掌握了直流电压表、电流表扩展量程的原理和设计方法,并学会了校验仪表的方法。 实验目的: 1. 掌握直流电压表、电流表扩展量程的原理和设计方法。 ...
权限管理设计方案是为了设计一套具有较强可扩展性的用户认证管理系统,需要建立用户、角色和权限等数据库表,并且建立之间的关系。本设计方案的主要内容包括用户认证管理设计、角色设计、权限设计、用户与角色的关系...
数据库表设计是构建高效、稳定、可扩展的信息系统的基础,其重要性不言而喻。以下将详细讨论在设计数据库表时的一些关键经验和原则。 首先,让我们关注使用GUID(全局唯一标识符)作为主键。主键是数据库表中识别每...
总结来说,基于RBAC的权限管理数据库表设计涵盖了角色、权限、用户、角色-权限关联、用户-角色关联等多个核心组件,通过这些组件的组合,可以构建出一个强大且易于维护的权限管理体系。在实际应用中,还可以根据业务...
总的来说,这篇论文提供了一个实用的数字电压表设计实例,展示了AT89S52单片机和AD0809在电子测量设备中的应用,以及如何通过扩展功能增强系统的实用性和安全性。这对于学习和实践自动化仪表设计的学生来说,是一份...
最后,考虑到实际应用中的复杂性,可能需要扩展表结构以适应更多的需求,如增加区县信息、添加经纬度等。如果需要处理更复杂的地理信息,可能需要引入GIS(Geographic Information System)功能,这将涉及到如...
综上所述,基于单片机的高精度直流电流表设计是一个融合了电子电路、信号处理、单片机编程和硬件设计的综合性项目。通过合理选择和配置各个模块,实现了对微小直流电流的精确测量,满足了高精度和多量程的需求。
在实际开发中,权限系统的数据库设计是至关重要的一步,它决定了权限管理的复杂度和系统的扩展性。良好的权限设计能够简化权限分配,降低维护成本,提高用户体验,同时也是保障系统安全的基础。
Apache HBase是一个开源的非关系型分布式数据库,它是Google Bigtable的开源实现。HBase特别适合于需要快速...通过对HBase表设计原则的深入理解和应用,可以构建出高效、可扩展、且能够处理大数据量的存储解决方案。
【简易数字电压表设计概述】 简易数字电压表是一种常见的电子测量设备,用于精确测量电压值。本设计专注于0~5CV(毫伏)范围内的8路输入电压,并且具有4位LED数码管显示功能,既能轮流显示各路电压,也能单路选择...