构建数据模型的 3 个简单步骤 Mendix

跳到主要内容

构建数据模型的 3 个简单步骤 Mendix

在这篇文章中,我们解释了 Mendix 领域模型以及它们如何有助于创建您的应用程序。我们将在整篇文章中使用一个测试用例:产品订购应用程序。客户需要能够下订单,这些订单有多条订单行,每条订单行都与一个产品相关。

我们潜入吧!

什么是数据模型?

许多软件应用程序的基础通常是其数据模型。数据模型定义了应用程序内将使用和交互哪些数据。这些数据要么临时存储在内存中,要么永久存储在数据库等数据存储中。

数据模型 Mendix 使用称为域模型的可视化语言构建。在域模型中,您可以定义以下组件:

  • 实体:这些可以是持久的或非持久的,允许您临时或永久存储数据。持久实体相当于数据库表,它带有唯一的主键(即位置实体或金融交易实体)。
  • Attributes:这些就像数据库表中的列(即某个位置的名称和地址或金融交易的日期和类型)。
  • 协会:这些定义了两个实体之间的关系,就像两个数据库表之间的连接。

当 Mendix 应用程序运行时,运行时会将模型与所选数据库进行比较,并执行所需的所有必要的更新脚本。 Mendix 支持多种数据库类型,包括:

  • PostgreSQL的
  • 微软SQL Server
  • MySQL
  • 神谕
  • HANA 数据库

选择权归你的!

1. 定义你的实体

每当你开始一个新项目时,你需要定义的第一件事就是你的数据结构。你需要考虑构建应用程序需要创建的实体。在这个例子中,我们将构建一个应用程序,允许客户订购几种不同的产品。

对于此应用程序的域模型,您需要有一个客户、一个订单和一个订单行持久化实体。这将使我们能够跟踪客户对哪些产品下了哪些订单。每个持久化实体都会在数据库中生成一个具有唯一键的表。下图展示了我们的四个实体:

2. 添加您的属性

创建实体后,您需要为每个实体添加更多详细信息,这就是属性发挥作用的地方。在我们的示例中,客户可能有一个名称或一个帐户类型,例如 VIP 或普通帐户。产品可能有名称或描述。
当我们填写实体时,应用程序的细节就会实现。返回并添加所需的任何其他属性非常容易。下图说明了属性在我们的四个实体中是如何列出的:

我们添加了姓名和自动生成的订单号,以及下订单的日期。属性相当于表列,具有属性类型和大小,例如字符串、整数、布尔值以及构建应用程序所需的所有典型数据类型。

3. 创建关联

确定了实体及其属性之后,就该确定它们之间的关系了。在此示例中,一个客户可以有多个订单,一个订单可以有多个订单行,并且每个产品可以订购多次。下图表示实体之间的关系。

您将注意到关系是如何通过关联直观地表示出来的。客户与订单的关系是一对多的,如星号所示。为了进一步说明这个例子,我们还可以删除关系之间的行为。

例如,如果客户有订单,我是否应该删除与该客户相关的所有订单(称为级联删除)?或者,如果客户有订单,我们是否应该阻止用户删除订单(称为预防删除)?

双击关联以查看行为以及删除选项的配置方式。删除行为应取决于业务需求。考虑以下问题:当客户有订单时,保留客户是否重要?或者在删除客户时清理数据库并且不产生孤立订单是否更重要?

这些都是向业务用户提出的好问题,有助于制定正确的业务规则。其视觉表示为蓝色(用于预防性删除)或红色(用于级联删除)。

了解使用可能性 Mendix

选择你的语言