エンティティとデータベースの理解 | Mendix

メインコンテンツへスキップ

エンティティとデータベースを理解する

エンティティとデータベースを理解する

これはHelloの続きです Mendix シリーズでは、 Mendix 開発に携わり、できるだけ早く知識のギャップを埋めるようにしてください。このシリーズのパート 4 では、エンティティとドメイン モデルについて詳しく説明します。さあ、始めましょう!

ドメインモデルとは何ですか?

In Mendix ドメイン モデルでデータベースをモデル化します。これは、ERD またはエンティティ関係図に似ています。ただし、アプリをコンパイルすると、その図に基づいてモデル化された機能データベースも作成されます。 Mendix 組み込みのデータベース オプションがありますが、IBM DB2、Microsoft SQL Server、MySQL、Oracle、PostgreSQL もサポートされます。

その Mendix ドキュメントではドメイン モデルについて次のように述べています。 「ドメインモデルは、アプリケーションで使用される情報(またはデータ)を抽象的に記述するモデルです。アプリケーションのアーキテクチャの中心となるものです。 モジュール 「そのモジュールで使用されるデータを記述する独自のドメイン モデルがあります。アプリ内のすべてのモジュールは、アプリ内のすべてのドメイン モデルのデータを使用できます。」

もし混乱してしまったら、自分の言葉で簡単に説明してみます。ドメイン モデルとは、エンティティのコレクションと、それらの相互関係を視覚的に表現したものです。

エンティティは、従来の SQL のテーブルに相当します。

エンティティには属性 (フィールドと考えることができます) があり、文字列、int、日時などのプリミティブ型があります。エンティティは、1 対 1、1 対 *、または * 対 * のいずれかで相互に関連付けることができます。

詳しく知りたい方は Mendix 基礎となるデータベースをモデルと同期させておくには、こちらをチェックしてください ビデオ ここでは、これがどのように機能するかについて詳しく説明します。

一般化を理解する

エンティティを一般化として作成することで、エンティティが親からプロパティを継承するようにすることもできます。一般化により、子に親のすべてのプロパティが与えられ、フロー内またはページで使用するときにエンティティを一般化にキャストできます。これは、他の従来のコーディング方法で使用される継承と非常によく似ています。

3つの異なるタイプのエンティティ

私の意見では、エンティティの最も素晴らしい点は、次の 3 つの異なるタイプがあることです。 しつこいです 青いです 非永続はオレンジ色、リモート エンティティは紫色です。

永続エンティティ データベースにコミットしたり、データベースから取得したりできます。 非永続エンティティ ブラウザのメモリ内に存在し、ユーザーのセッションが期限切れになると消去されます。これらは関連付けを介してのみ取得でき、データベースにコミットすることはできません。そのため、統合や計算に使用するために一時的にデータを保存するのに最適です。エンティティがとることができる最終的な形式は、 リモートエンティティこれは、 Mendix DataHubはオープンなメタデータカタログです。これにより、Odata通信を使用してアプリ間でデータを共有し、データを送受信できます。

DataHub を使用して、1 つのアプリから既存のテーブルを公開し、自分または会社が作成した他のアプリでそのデータを使用することができます。

エンティティを扱うときは、アプリのデータへのアクセスを制御するため、セキュリティが常に重要であることを忘れないでください。ドメイン モデルで任意のエンティティを右クリックしてプロパティを開き、アクセス タブに移動して、データを作成、編集、および表示できるユーザーを構成します。

最終的な考え

新しいことを試したり、データ構造を変更したりすることを恐れないでください。単純な変更でパフォーマンスが大幅に向上することがあります。 実行する前に必ずアプリのデータをバックアップし、壊れた場合にロールバックできるようにしてください。

詳しくは アカデミー ドメイン モデルと DataHub の学習パスを探します。

言語を選択してください