常见数据库设计(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值,这样在程序中就
可以通过代码来引用类型数据。
转载于:https://www.cnblogs.com/dataadapter/archive/2012/05/30/2525870.html
常见数据库设计(1)——字典数据相关推荐
- mysql中的字典项是啥_常见数据库设计(1)——字典数据
在稍大一些的项目中,我们总是需要管理各种各样的类型类型数据(如商品类型.游戏类型...).对于这些类型的管理类似,如果为每 一种类型都建立一张表去维护(而在项目中,正常出现50种类型),那工作量是可想 ...
- mysql常见数据库设计_MySQL数据库常用架构设计
Mysql三种存储引擎 MySQL提供了两种存储引擎:MyISAM和 InnoDB,MySQL4和5使用默认的MyISAM存储引擎.从MySQL5.5开始,MySQL已将默认存储引擎从MyISAM更改 ...
- python读取erp的数据库_【ERP系统设计】【数据库设计】对数据表重命名和读取建表的SQL语句...
今天做了一个小Model,就是把另一数据库中的表复制到目标数据库中,但是复制到目标数据库中的表中的记录为空 思路: 1 读取建表的SQL语句 2 通过jdbc执行 3 对新建表进行重新命名 精要: 1 ...
- mysql状态表 历史记录设计表_常见数据库设计(2)——历史数据问题之单记录变更...
在各种应用软件中,客户总是希望看到自己操作关键业务的历史数据(更或者是将来的历史数据,如本年计划明年的商品价格),并且要跟踪变化来源于哪一个版本.历史记录,如果我们按某次修改时,需要新增的记录条件的角 ...
- mysql常见数据库设计_常见数据库设计
误区1:int后面的长度与存储长度无关,仅仅是显示长度. mysql手册中这个长度/值用"M"来表示的. 细心的朋友应该有注意到过mysql手册上有这么一句话: M指示最大显示宽 ...
- MySQL 学习笔记(14)— 数据库设计流程、实体关系图、第一范式、第二范式、第三范式、外键使用
本文参考:https://gitbook.cn/gitchat/column/undefined/topic/5db92c12a9c3a53bc3800f0c 1. 数据库设计流程 数据库设计是对数据 ...
- 数据库设计之数据字典的使用与设计
如何使用数据字典 文章目录 如何使用数据字典 使用场景 : 解决方案 : 简单解决: 企业级理解: 数据字典是什么: 使用数据字典的优点: 使用场景 : 在平时开发的过程中,特别是在遇到表单时候,我们 ...
- 第6章 SQL Server数据库设计
6.1. 概述 数据库设计是指对于给定的一个应用环境,构造最优的数据库模式,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求). 可以将数据库设计理解成三个要素:应用环境.数据库模式 ...
- 最新springboot选题推荐-应急物资仓库管理系统(mysql)-JAVA.VUE【数据库设计、论文、毕设源码、开题报告】
摘 要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化.信息化建设迈进.以前相关行业对于常规应急物资信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理 ...
最新文章
- php 开发百度聚合,php利用百度javascript API实现导航
- 第二百七十五节,MySQL数据库安装和介绍
- python programming training(一):最大回文子字符串
- 【MySql】mysql-5.7.20-winx64安装配置
- Asp.Net Core2.0 基于QuartzNet任务管理系统
- java super.getclass_详解java中this.getClass()和super.getClass()的实例
- 当你不能回答别人的提问时怎么办
- 避重就轻:Intel的垄断抗辩
- 博弈论-第一章 概述
- MyBatis 安装下载 及入门案例
- centos7(命令行版)安装teamviewer记录
- puppeteer-recorder
- 微信小程序文件云存储-上传下载删除功能
- pads单位切换的快捷键_PADS常用快捷键和一些技巧
- 教程:使用tensorflow-slim训练自己数据的图像分类器
- 微软 Build 2016年开发者大会发布多项功能升级
- php正则表达式判断三个数字相等相同|判断豹子
- 小汇总|想学机器学习吗?带坑的那种
- android edittext限制字节_EditText输入字数限制的三个方法
- C/C++编程学习 - 第7周 ④ 鸡尾酒疗法
热门文章
- zeppelin的安装与使用
- SpringMVC 基于注解的Controller详解
- VC/MFC列表CListCtrl类的LVCOLUMN和LVITEM详解
- Python数据库访问之SQLite3、Mysql
- MFC的框架程序分析3
- c#子线程中打开系统文件操作对话框
- IOS15.0的适配
- 软件质量模型 测试设计方法,质量模型-可靠性测试
- eclipse下如何打开被关闭的项目_如何在Windows 10中打开和关闭平板电脑模式
- 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)