앱의 동적 데이터(Dynamic Data) 구조를 시각적으로 표현하는 것이다.
- 여기에서 저장할 수 있는 정보, 해당 정보에 적용되는 규칙 및 모든 관련 방법을 선택한다.
- Domain Model에 새 엔터티 또는 속성을 추가하는 것을 도메인 모델 확장이라고 한다.
- Domain Model의 구조는 데이터베이스의 모양을 결정한다.
- 각 엔터티는 데이터베이스의 테이블이 되고, 각 Attributes는 열이 된다.
- 데이터베이스의 저장하는 모든 Objects는 테이블의 행이 된다.
- ID Column은 Attribute가 아니라, 모든 Object는 nuique identifier(ID)가 필요하며, Mendix에서 자동으로 부여한다.
- 도메인 모델을 원하는 만큼 변경할 수 있으며, 앱을 다시 publish하면 동기화된다.
- entities와 attributes의 이름을 변경해도 자동으로 적용한다.
이름에 둘 이상의 단어가 포함된 엔터티 또는 속성을 생성할 때 CamelCase를 사용한다.
공백이나 밑줄을 사용하지 않고 각각의 새 단어를 대문자로 시작한다. (ex. EmailAddress)
braces(중괄호) 안에 있는 단어는 데이터베이스 안의 값으로 대체된다.
이것은 데이터베이스에 저장된 다른 값들에 의하여 다른 행으로 보여질 수 있다는 것이다.
- One-to-Many Assosication (1 - *)
가장 흔히 사용되는 assocation이다. 예를들면 플레이어와 팀 사이의 관계이다. 한 명의 플레이어는 하나의 특정 팀에 속하고, 팀은 여러 플레이어들을 가질 수 있다.
- One-to-One Assosication (1 - 1)
일대일 연결은 두 개체가 동시에 다른 개체가 아닌 서로에게만 연결될 수 있는 연결이다.
예를들면 팀과 경기장 간의 관계에 표시된다. 팀에는 홈 경기장 하나만 있을 수 있고, 경기장에는 홈 팀이 하나만 있을 수 있다.
- Reference Set( - ), many-to-many ( - )
다대다 관계이다. 축구의 경우 한 리그는 여러 팀이 참여하지만, 한 팀이 여러 리그에 참여할 수 있다.