MIS系统中数据字典的两种解决方案

2024-01-13 13:18

本文主要是介绍MIS系统中数据字典的两种解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在信息系统中,很多的信息都是有标准化,所谓标准就是实现定义的一些规范,根据这个规范可以在多个实体之间进行数据的共享,以避免沟通中的歧异问题。

数据字典就是标准化中的一个重要组成部分。

关于数据字典的定义,版本有很多,在不同的场合中可能有不同的含义,这里特指的是:一个属性可能具有的几个值。比如:性别的字典为男、女等等,主要用来进行数据归类(统计)。

数据字典的解决方案有很多种,这里仅讨论其中两种。

一、字典数据本地化方案

在B/S中,就是将所有字典数据都创建为js文件,select、combo组件的option、data就从js中取。

每次更新, 维护字典项时,自动创建或更新对应的字典js文件。然后通知客户端来更新对应的js文件;

Strength:一次加载,重复使用。速度快,服务器压力小;

Weakness:不好维护,不利于代码生成;(或者说生成、使用比较复杂)、字典数据的安全性。

关于js文件的版本控制,可以采用下面的方式:

1、在引入字典script的时候为其增加id属性;

2、在script src中添加参数;

3、每次重新创建js之后,修改这个参数值,这样客户端在加载js时,如果发现参数变化,就相当于不同的js,所以会重新加载;

但是,这样就意味着每次build 字典js之后,都需要更新所有引入这个js的页面文件。

另外,一些场合中,字典项需要根据条件进行过滤。这种方式需要在设计js字典格式时有灵活的定义。

二、服务器端模式

数据字典只存在于服务器端,每次用户请求某个包含字典项的页面,都从服务器端检索,并返回数据。

Strength:

便于维护(字典变化不会影响到客户端的使用,无序影响其他页面文件编码)

灵活(可灵活地定义过滤逻辑)

数据保存在服务器端,安全性相对较好;

Weakness:

每次都需要加载(占用网络带宽和服务器资源);

每次加载造成响应速度不如前者好;

 

为了提高速度,可以将数据字典进行缓存,在数据更新之后更新缓存(需要注意分布式缓存中的数据同步性问题,否则在一些应用中这个问题很Yao Ming)

 

这两种方案都能比较好地解决数据字典的问题,也各有优缺点,需要根据用户的需求进行选择使用。

这篇关于MIS系统中数据字典的两种解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/601593

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决