• (转)常见数据库设计(1)——字典数据


        在稍大一些的项目中,我们总是需要管理各种各样的类型类型数据(如商品类型、游戏类型。。。)。对于这些类型的管理类似,如果为每
    一种类型都建立一张表去维护(而在项目中,正常出现50种类型),那工作量是可想而之大,并且我们不得不去了解每一个类型表的名字,
    以去关联它。
       因此,我们需要一种数据模型以完成对多种多样类型管理的需求。
    字典表dictionary                
                    
    字段名           类型               是否可空    中文名         描述
    dict_name    varchar(50)      no          字典名字    
    dict_value    int                   no          字典值           固定的,不变的

    字典数据表dictionarydata                
                    
    字段名                 类型              是否可空        中文名               描述
    id                       int                 no                                        自增长
    dict_value           int                 no               dictionary中的值    
    dictdata_name    varchar(50)     no               字典名字    
    dictdata_value     varchar(5)      no               字典值                 固定的,不变的
    isfixed                int                 no               是否固定             0默认为不固定,1固定;固定就不能再去修改了。
            
    说明:dictionary中的dict_value和dictionarydata中的dictdata_value都是添加完不可变的,其它表的类型字段存取的是dictionarydata
    中的dictdata_value,在查询关联时,需要添加dict_value的约束(注:有人习惯存取dictionarydata中的ID,这样在查询时可以少
    加dict_value的约束。但是在系统的升级,或错误删除dictionarydata表时,后果将是空难性的,并且存取dictdata_value主表的类型字段
    简单明了,立即可以知道它是什么类型,所以建议存取dictdata_value)。

    表扩展:对于现有的设计,如果需要类型数据需要简单的树形结构,可以在dictionarydata可添加parent_id;如果需逻辑删除数据时,可以
    添加iscancle;

    最后,在程序中最好再建立两个类dictionary、dictionarydata里面定义整型变量对应于dict_value和dictdata_value值,这样在程序中就
    可以通过代码来引用类型数据。

    Note:本文转自Mike.Jiang,版权归原作者所有!

    原文地址:http://www.cnblogs.com/dataadapter/archive/2012/05/30/2525870.html


           

  • 相关阅读:
    面向对象设计的原则里氏代换原则
    阅读源码的一些错误观念
    gdb的一个bug Internal error: 【pc 0xxxxxxx】 in read in psymtab, but not in symtab
    STL中mem_fun和mem_fun_ref的用法
    每天写出好代码的5个建议
    /dev/null /dev/zero/
    SQL Server 2008 对 TSQL 语言的增强
    JQuery 应用JQuery.groupTable.js(二)
    jquery 实现iframe 自适应高度
    JQuery 应用JQuery.groupTable.js
  • 原文地址:https://www.cnblogs.com/huixch/p/2872828.html
Copyright © 2020-2023  润新知