数据字典及其使用

原创 2015年11月01日 00:33:11

1      数据字典

1.1     什么是数据字典

将如下这些具有相同类型的配置项,配置到系统的数据字典表中,方便系统维护,由超级管理员统一在后台进行数据字典维护,如果用户需求要增加变更配置项,只需要修改数据字典表记录即可,不需要修改代码。

 

1.2     数据字典需求

相同类型的配置项:

在系统中创建一个张记录数据字典类型  数据字典类型表记录数据的类型(例如用户状态)

创建一张表记录数据字典明细:(例如用户状态为正常  暂停)

数据字典明细表

 

将上边变化灵活的配置项叫做:“普通配置项

将上边固定的配置项(每个配置顶都有一个代码):“业务代码

 

1.3     数据字典表结构

字典类型表DICTTYPE:

记录数据字典类型

 

字典明细表DICTINFO:

记录数据字典明细

   

 

字典明表中如何存储普通配置项和业务代码。

 

普通配置项存储:

普通配置项名称存储在DICTINFO表中info字段

普通配置项对应的类型id存储在DICTINFO表中TYPECODE

查询普通配置顶:

 

业务代码存储:

业务代码对应的名称存储在DICTINFO表中info字段

业务代码对应的类型id存储在DICTINFO表中TYPECODE

业务代码存储在DICTINFO表中DICTCODE(是和普通配置顶的区别)


业务代码查询:

 

 

1.4     数据字典使用

 

1、在页面上的下拉框中显示业务代码或普通配置

比如:在系统用户查询页面,查询条件就是用户类型,用户类型不能在jsp上硬编码,需要在action方法中取出用户类型所有配置项,在jsp页面动态遍历。

 

2、在查询业务表需要关联查询出业务代码对应的名称

在查询业务表时,根据业务代码,关联查询出代码对应的名称。

关联查询字典明细时指定业务代码和类型id


3、在查询业务表需要关联查询出普通配置项所对应的名称

关联查询字典明细时指定明细表的主键

 


1.5     小结

普通配置项:对业务数据进行简单的归类,这些归类受用户要求变化较灵活,将这些配置项作普通配置项配置数据字典表。

 

业务代码:系统运行所必须的,在系统设计时定义的固定代码,这些代码可能需要在程序代码进行硬编码。

1.6     数据字典在系统中应用

 

1.6.1          用户查询页面用户类型下拉框

 

用户类型:属于业务代码

获取用户类型下所有明细:

从数据字典明细表查询,根据typecode查询


Action:

修改用户查询页面方法,调用systemConfigService查询用户类型信息,将用户类型列表信息传入页面。

   // 用户查询页面

   @RequestMapping("/queryuser")

   public String queryuser(Modelmodel) throwsException {

      // 将页面所需的数据取出传入页面

      List<Dictinfo>groupList =systemConfigService.findDictinfoByType("s01");

     

      model.addAttribute("groupList",groupList);

      return "/base/user/queryuser";

   }

 

页面:

将用户类型下拉框值,改成遍历groupList列表。

<TD class="left">用户类型:</TD>

                <td><select name="sysuserCustom.groupid">

                      <option value="">请选择</option>

                      <!-- <option value="1">卫生局</option>

                      <optionvalue="2">卫生院</option>

                      <optionvalue="3">卫生室</option>

                      <optionvalue="4">供货商</option>

                      <optionvalue="0">系统管理员</option> -->

                      <c:forEach items='${groupList}' var="dictinfo">

                      <option value="${dictinfo.dictcode}">${dictinfo.info}</option>

                      </c:forEach>                  

                </select>

                </TD>

1.6.2          用户查询列表中用户类型列

 

Dao:

修改用户查询列表mapper,添加一列需要关联用户类型的代码查询代码对应的名称。

 

页面:

修改datagrid的列定义,

{

      field : 'groupname',//对应json中的key

      title : '用户类型',

      width : 120,

      /* formatter : function(value, row,index) {//通过此方法格式化显示内容,value表示从json中取出该单元格的值,row表示这一行的数据,是一个对象,index:行的序号

         if(value =='1'){

            return "卫生局";

         }else if(value =='2'){

            return "卫生院";

         }else if(value =='3'){

            return "卫生室";

         }else if(value =='4'){

            return "供货商";

         }else if(value =='0'){

            return "系统管理员";

         }

      } */

   }

普通配置项下拉框

查询出普通配置项列表,

页面中下拉框遍历list(option的value是${dictinfo.id})

 

<c:forEach items="${list}" var="dictinfo">

                      <option value="${dictinfo.id }">${dictinfo.info}</option>

</c:forEach>

 

版权声明:本文为博主编写文章,未经博主允许转载,转载请注明出处。

数据字典的设计

  本文讲解一般数据库系统中经常使用的字典的设计:字典表(Dictionary) 字段名 ...
  • longronglin
  • longronglin
  • 2007年03月16日 16:50
  • 42354

数据字典

数据字典   数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种...
  • rongwenbin
  • rongwenbin
  • 2015年07月27日 16:11
  • 2281

读书笔记--InnoDB数据字典

在InnoDB中,系统表实际上是看不到的,不像Oracle那样可以方便地通过一个查询语句就能得到其中的内容。因为MySQL是一个插件式的数据库管理系统。它的结构分为两层,分别是Server层和存储引擎...
  • liuhanran
  • liuhanran
  • 2017年06月10日 08:48
  • 526

J2EE项目数据字典设计

这里的数据字典并非是数据库的数据字典,而是在项目编码过程中涉及到一些类似字典查询的操作。 需求: 在项目开发中,一些变量需要在多个地方使用,但这些变量的值是在某一范围内,且每...
  • wklken
  • wklken
  • 2011年05月07日 22:46
  • 72528

数据字典的介绍

数据字典的介绍 本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。然后列出一些附例。 数据字典系统表,保存在system表空间中。 ...
  • maoweiting19910402
  • maoweiting19910402
  • 2012年06月16日 11:09
  • 1966

C++利用MSQL API连接和操作数据库

1.C++连接和操作MySQL的方式在Windows平台,我们可以使用ADO、ODBC或者MySQL API进行连接和操作。ADO (ActiveX Data Objects,ActiveX数据对象)...
  • K346K346
  • K346K346
  • 2016年06月12日 22:53
  • 10944

使用ODBC API访问数据库

最近工作需要,研究了一下ODBC API,并对它进行了简单的封装,下面介绍一下:假设有一个数据库表为:CREATE TABLE `testTable` (                       ...
  • stavck
  • stavck
  • 2006年02月14日 18:12
  • 4698

oracle常用数据字典和SQL语句总结

一、Oracle数据字典   数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中...
  • u014057054
  • u014057054
  • 2016年08月18日 17:19
  • 10535

数据字典的主要作用是什么?

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。 数据字典(Data dictionary)是一种用户可以访...
  • u012881904
  • u012881904
  • 2016年05月21日 10:52
  • 17097

数据库字典表设计

数据库字典表设计 村长大神 发表于2年前     在稍大一些的项目中,我们总是需要管理各种各样的类型类型数据(如商品...
  • Sky786905664
  • Sky786905664
  • 2016年09月26日 21:25
  • 4780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据字典及其使用
举报原因:
原因补充:

(最多只允许输入30个字)