还是之前的整合优惠活动的项目所总结的经验。
问题:
传统的web服务,都是通过数据库实现增、删、改、查,model层的javabean,一般都会和数据库某个表一一对应。但这个项目中,我无法通过数据库的查询,实现筛选我想要的数据。
比如一个优惠活动,他有N类限制条件,如酒店名称、入住日期是星期几、刷的信用卡是哪个银行组织,用户是那个等级的,等等。
好吧,这样看还不是很麻烦。当项目进行到一半,发现需求变了,一个优惠活动,有多个收益项目,积分、折扣、代泊车、送电影票,每个收益的限制未必相同。
于是我就坐蜡了。
解决办法:
穷则变,变则通。当我决定不使用数据库的查询时,整个世界豁然开朗。
因为数据量并不大,才几百个,所以我觉得第1期版本直接用代码做查询(后期可以考虑搜索引擎)
设计类图(简介版):
这里,活动信息,收益限制类信息,都可分表保存,在生成活动时从数据库提取数据,生成限制类(内部有判断规则)
结论:
类似依赖倒置原则。Java类的设计,要优先于数据库表的设计,数据库只是为系统提供服务,而不应该成为限制系统设计的障碍。
这段经历,对我在技术上没什么提升,带在分析解决问题的思路上敲了一记警钟。我以前太习惯于传统的web后端开发,在思想上太过于依赖工具。
相关推荐
数据库模型是数据库设计的核心组成部分,它为数据组织和存储提供了理论框架。在数据库领域,主要存在三种模型:概念模型、逻辑模型和物理模型,每种模型都有其独特的用途和特点。 1. 概念模型(Conceptual Model)...
1. 数据库模式设计:在关系模型中,模式是数据库的逻辑结构,包括表(关系)、字段(属性)和键(用于唯一标识记录)。设计良好的模式可以有效避免数据冗余,提高查询效率,并保证数据的一致性。 2. 关系操作:关系...
数据模型和关系数据库系统是数据库技术的核心组成部分,它们在数据管理中扮演着至关重要的角色。数据模型是描述现实世界数据特征的一种方式,是数据库管理系统(DBMS)实现的基础。本讲主要涉及了数据库系统的特点、...
它可以协助开发者和DBA们进行概念数据模型(CDM)、逻辑数据模型(LDM)和物理数据模型(PDM)的创建。这些模型分别对应了从业务需求到实际数据库结构的不同抽象层级。 使用Navicat Data Modeler,用户可以通过图形...
在SqlServer2008R2中,数据库关系图是存在系统表[sysdiagrams]之中的,但是SqlServer2008R2数据库下的“任务——导出数据”却不能将其导出到.sql文件中。为了解决这个问题,我们可以使用以下方法将数据库关系图导出...
数据模型是描述数据结构和数据间关系的方法,是构建数据库的基础。 首先,我们来看数据这一概念。数据是描述客观事物的符号记录,可以是文字、图像、声音等各种形式。在50年代中期以前,数据管理主要依靠人工,数据...
实体联系数据模型的优点是能够描述实体之间的关系和联系,能够帮助数据库设计者更好地理解实体之间的关系和联系。缺点是需要考虑实体之间的约束和限制,可能会增加设计的复杂性。 7. 实体联系数据模型的发展方向 ...
在数据库理论中,主要存在三种基本的数据模型:层次模型、网状模型和关系模型。然而,现代数据库系统,包括Oracle,大多数采用关系模型,因为它的概念简单、直观,并且易于理解和操作。 1. **关系模型**:这是最...
数据模型是现实世界的抽象,用于描述数据的结构、关系和行为,而数据库系统结构则是实现这些模型的技术手段。 首先,我们要理解数据的基本概念。数据是描述现实世界实体特征或属性的符号记录,具有一定的格式和意义...
数据库应用技术:数据库的数据模型 数据库应用技术是指使用数据库来存储、管理和分析数据的技术。数据库的数据模型是数据库设计中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。...
此外,一些人通过对比关系模型和其他数据模型,如网状模型,来强调关系模型的价值。然而,所有这些数据模型都可以用基本的数据结构来表示,而且它们的复杂性并不能涵盖数据结构的所有信息。数据模型的流行,部分原因...
关系数据模型是其中的一种,它包括实体、属性和关系三要素。 三、数据库系统的结构 数据库系统的结构可以分为三级模式结构和软件体系结构。三级模式结构包括外模式、概念模式和内模式三个部分。外模式是对数据库的...
实体-关系模型是数据建模的基础,它通过定义实体、关系和属性来描述数据模型。ER模型有助于理解数据间的联系,支持高效的数据建模。 - **主键约束**:确保每个实体有一个唯一的标识符。 - **外键约束**:定义实体...
数据库设计的最后一步是将ER模型转换为逻辑数据模型,通常是关系模型,因为大多数数据库系统如MySQL、Oracle、SQL Server等都是基于关系模型的。这个过程涉及实体转化为表,关系转化为连接操作,属性转化为列,以及...
通过学习“第02章 数据模型 数据库SQL”,不仅可以理解数据模型的基本原理,还能掌握SQL语言的使用技巧,这对于任何涉及数据处理和分析的工作都至关重要。因此,无论你是开发者、分析师还是数据库管理员,深入理解...
综上所述,第三章的关系数据模型涵盖了数据库设计的基本元素,包括数据结构、操作和约束,这些都是理解和操作数据库系统的关键。通过思维导图的方式,学习者可以更好地组织和记忆这些概念,从而更有效地掌握数据库...
【数据库物理模型设计】是数据库设计过程中的一个重要环节,它关注如何在实际的存储系统中实现逻辑数据模型,以优化性能、存储效率和数据管理。在这个过程中,设计者需要考虑硬件特性、数据库管理系统(DBMS)的功能...
这些模型文件通常为XML格式,比如`entityengine.xml`,它们定义了数据库表的字段、类型、约束等,并且可以通过Ofbiz的数据导入导出工具进行数据迁移和备份。开发者可以根据需要修改这些模型,以适应特定的业务需求或...