当前位置: 首页 > news >正文

做软件要尊重事实

"原始数据具有不可删除性,是要忠实、全面的记录历史的"。

"做软件,一定程度上的数据冗余是有必要的,数据要真实、全面、准确、原始、有效"。

以上是米老师对这次讨论的一个中心总结,又是一个上午的会,讨论的是关于软件设计中数据的价值,以及数据该如何处理、存储

这段时间YH收银系统的维护工作,最多的问题便是数据问题,数据的真实可靠问题被提上了桌面,做任何一款商业软件乃至其他类别软件,数据都是十分重要的,数据就是财富,数据就是生命。数据的丢失,意味着财富的流失;数据的错误,也说明软件生命的终结

数据,我们一直不曾过多关注的数据,这次确实让我们为之一振。

现在做软件,很多的都在与数据库(DataBase)打交道,数据就以一定的逻辑关系存储于数据库中。这次有关数据的讨论会,着重说了一下,数据库中级联(更新、删除)、事务、主外键(表关系)。


1.表间级联(删除、更新) ,工具的使用要掌握好尺度、平衡,也就是把握好工具的应用范围,那么使用得当,确保了数据的一致性,但是却也能导致数据变动,进而软件出现数据差异。

2.事务,确保数据操作的完整性。

3.主外键关系,这是由表间级联引起来的一个问题,讨论期间 坤哥给我们看了一个行健数据库系统,我们看了人家是如何灵活处理表之间关系,如何将变动提前设计到数据库中去的。

我们平时设计数据库,都是确定好每个表的主外键,直接将相关联的两个表绑在一起,然而,行健中提出,单独建一个表用来存储相关联表之间的对应关系,进而达到了相关联表之间的解耦

我觉得这样设计,很是巧妙,并且很好的处理了以后可能发生的数据表对应变动。唯一多出的一点,也就是维护数据库的工作量大了一些。

还有一点是比较重要的,如何处理原始数据(类似log一类的数据),如何在设计数据库的时候很好的将原始数据需要的数据元素找全,确保原始数据的有效性、真实性。

这次讨论会,使我重新认识了软件设计中数据的重要性,以及这些重要的原则性约束。其实这些原始数据在以后的数据挖掘中将发挥非常重要的价值,无可替代。

相关文章:

  • java中的值传递
  • CDMA学习笔记(一):历史和基本概况
  • 新学习的开始
  • 位图安全仿真系统
  • get 和 post
  • 图像标注说明系统
  • 几个问题
  • C#中获取当前时间:System.DateTime.Now.ToString()用法
  • 【转】Linux上的free命令详解
  • 【转载】理解 Linux 配置文件
  • 海量空间数据库实施策略-栅格数据 6
  • 7个鲜为人知却超实用的PHP函数
  • ubuntu安装显卡驱动后亮度不能调节问题
  • 恶心的Oracle的if else if...
  • A Traffic Simulation
  • [译] 怎样写一个基础的编译器
  • CentOS7 安装JDK
  • cookie和session
  • express + mock 让前后台并行开发
  • Javascript设计模式学习之Observer(观察者)模式
  • laravel5.5 视图共享数据
  • Vue 动态创建 component
  • 前端相关框架总和
  • 让你的分享飞起来——极光推出社会化分享组件
  • 容器服务kubernetes弹性伸缩高级用法
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • ​VRRP 虚拟路由冗余协议(华为)
  • # Panda3d 碰撞检测系统介绍
  • (07)Hive——窗口函数详解
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (C++20) consteval立即函数
  • (编译到47%失败)to be deleted
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (九)One-Wire总线-DS18B20
  • (离散数学)逻辑连接词
  • (排序详解之 堆排序)
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)u-boot-nand.bin的下载
  • (转)http协议
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .equals()到底是什么意思?
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET开源项目介绍及资源推荐:数据持久层
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @EnableAsync和@Async开始异步任务支持
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [20140403]查询是否产生日志
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [BZOJ] 2044: 三维导弹拦截
  • [C/C++] C/C++中数字与字符串之间的转换
  • [C\C++]读入优化【技巧】
  • [caffe(二)]Python加载训练caffe模型并进行测试1
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [Deep Learning] 神经网络基础