从痴迷数据库SQL语句逐渐走进面向对象化(系统的核心以处理对象为主、淡化数据库概念)

简介:
几年前写信息管理系统都要设计很多很多表,每个表都是自己建立的,然后喜欢用高
  性能、高超的SQL语句搞定很多复杂的商业逻辑问题,那SQL语句又长又复杂,一般人
  还读不懂,但是代码很少、性能很高,其实软件公司里并不是人人都是高手,这样的
  SQL语句其他人也不好仿造也没能力维护,他们也无法按你的思路搞定复杂的逻辑,很
  容易变成无法入手,对项目也帮不上大忙的状态。
  
  这几年,由于建设的信息系统也多了,往往需要在几个系统之间进行集成,例如,你
  的用户表不在你的数据库里,你的角色数据在另外的XML文件里,你无法写一个SQL语
  句,里面又有从角色XML数据里读取的数据又有另外一个系统或服务里读取过来的数据,
  这时往往需要你的系统的健壮性更强大、更灵活、能够快速按实际需要改进。
  
  虽然就这么小小的变化,但对于有多年积累的系统来讲,完全按照这个需求去改进,
  还真不容易,我曾经花费3-4个月时间,把系统从面向数据库表,完全修改为面向对象
  的理念,这个真的是一个痛苦的挣扎过程,因为需要很多环节都需要进行彻底的改变,
  会有放弃改进的念头,但是我还是坚持下来,把整个系统都翻天覆地的改进了。
  
  经过一番痛苦的改进过程,又维护了一段时间,新系统也渐渐的稳定下来了,经过这
  几年的实战,现在的系统真的是有明显的改进,系统里很少见到复杂的SQL语句,都是
  由很简单的语句,读取到这些对象,然后通过C#程序处理对象与对象之间的逻辑关系,
  很少写超级复杂的SQL语句了,每个处理步骤都很简单,把一个复杂的过程分解成了若
  干个简单的处理过程,思路也清晰,条理性也强了很多,多种数据库的移植也变得很轻
  松了。
  
  现在数据表里的任何一个表都可以删除掉,把数据放在XML文件里或者从其他数据库里
  读取、甚至从其他服务程序里读取,因为系统是基于对象的核心处理,而不是基于数据
  库表、SQL语句的处理思想,这样就很容易与其他系统进行整合及不依赖与某个数据库
  系统了,数据也不用重复存取,减少了冗余。
  
  每个进步都是经过反反复复的对比,推敲后才形成的,我感觉这次的改进,在编程架构
  的身心高度都有明显的提高,特意写下来,分享给大家。
  
  简单的讲:信息系统中的数据未必都在数据库里,甚至SQL语句不能读取到表,系统的
  某部分数据可能在XML里,也可能在TXT文件里,若你手上有个成熟的系统,想改进,
  你就能体会工作量有多大,若是没有历史包袱,那是很容易接纳这个思想。
  
  数据库技术出身的开发人员,很容易犯跟我类似的错误,系统里到处是高超的SQL语句,
  若你已犯了跟我一样的错误,要记得面向对象化了,别当老顽固哦,大型软件项目开发
  时确面向对象化是比面向数据库SQL优点多多、好处多多,不得不承认啊。
  
  按这个理念,管理系统未必就是有什么什么数据库,不是非要建立那些表,也可以从
  以后的系统里读取,对已有的系统进行集成就可以了。
  
   
  
  搞技术的人不能没有自己的信念、自己的追求,但是不能拒绝提高,对的有道理的应该积极接纳。

  提高是点点滴滴积累的,不可能一步到位的,每天一点点进步,每年会有明显的进步。



本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/26/1917189.html,如需转载请自行联系原作者

目录
相关文章
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
782 1
|
11月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1190 79
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
254 0
|
9月前
|
安全 关系型数据库 数据管理
阿里云数据库:构建高性能与安全的数据管理系统
阿里云数据库提供RDS、PolarDB、Tair等核心产品,具备高可用、弹性扩展、安全合规及智能运维等技术优势,广泛应用于电商、游戏、金融等行业,助力企业高效管理数据,提升业务连续性与竞争力。
|
11月前
|
SQL 监控 安全
数据库安全审计系统
Next-DBM数据库审计系统助力企业解决数据安全难题,提供统一身份管理、全方位监控、智能风险识别、完整审计追溯及精细化权限管控,有效防范数据泄露与内部威胁,保障企业核心资产安全,满足合规要求,提升运维效率。
|
SQL 存储 关系型数据库
第一篇:数据库基础与概念
这篇文档面向数据库初学者,系统介绍了数据库的基础概念、类型、管理工具及实践方法。内容涵盖数据库定义、应用场景(如电商、银行系统)、数据库管理系统(DBMS)的功能与常见系统(MySQL、PostgreSQL等),以及关系型与非关系型数据库的区别。同时,文章详细解析了基本术语(表、记录、字段、主键、外键)和ER图设计,并提供了实践建议,包括创建简单数据库、学习SQL语言、使用管理工具等。最后推荐了学习资源和书籍,鼓励读者通过实际项目巩固知识,逐步掌握数据库的核心技能。
1661 11
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
305 10
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
579 17
|
存储 监控 数据挖掘
消防行业如何借助时序数据库 TDengine 打造高效的数据监控与分析系统
本篇文章来自“2024,我想和 TDengine 谈谈”征文活动的优秀投稿,深入探讨了如何在消防行业中运用 TDengine 进行业务建模。文章重点介绍了如何通过 TDengine 的超级表、标签设计和高效查询功能,有效管理消防监控系统中的时序数据。作者详细阐述了实时监控、报警系统以及历史数据分析在消防行业中的应用,展示了 TDengine 在数据压缩、保留策略和分布式架构下的强大优势。
430 0

热门文章

最新文章