데이터 저장매체
데이터를 어떻게 정의합니까? Mendix?
In Mendix, 도메인 모델을 사용하여 데이터 요구 사항을 정의합니다. 앱 프로젝트의 모든 모듈은 하나 이상의 엔터티로 구성된 자체 도메인 모델을 가질 수 있습니다. 이러한 엔터티는 지속 가능하거나 지속 불가능할 수 있으며 하나 이상의 객체를 포함합니다.

지속 가능한 객체는 데이터베이스에 저장되며 Mendix 자동으로 데이터베이스에 엔터티를 저장하기 위한 테이블을 만듭니다. 모든 객체에 대해 하나의 레코드가 테이블에 삽입됩니다. 비지속성 엔터티는 사용자 세션 기간 동안만 메모리에 존재합니다.
모든 엔터티에 대해 속성과 속성이 보유해야 하는 데이터 유형을 정의할 수 있습니다. 보안 규칙, 누가 어떤 데이터를 볼 수 있는지, 검증 규칙도 정의할 수 있습니다. 검증 규칙은 속성에 허용되는 값을 지정합니다.
애플리케이션을 시작하거나 다시 배포할 때 Mendix 자동으로 데이터베이스 테이블을 생성하여 데이터를 저장합니다. 재배포할 때 앱의 모든 테이블이 필요에 따라 자동으로 변경되고 데이터가 새 테이블 구조로 마이그레이션됩니다.
지속 가능한 객체와 지속 불가능한 객체의 차이점은 무엇입니까?
지속 가능한 객체는 데이터베이스에 저장되므로 세션과 사용자 간에 데이터를 사용할 수 있습니다. 그러나 지속 불가능한 엔터티는 사용자 세션 기간 동안만 메모리에 저장되므로 이러한 엔터티는 사용자 간 또는 사용자 세션 간에 공유될 수 없습니다.
비지속형 엔터티는 대부분 중간 결과를 모두 저장하지 않으려는 계산이나 다양한 통합 수단을 통해 외부 시스템에서 가져온 데이터를 일시적으로 저장하는 데 사용됩니다.
객체 관계 매핑은 어떻게 작동합니까? Mendix?
Mendix 객체 관계 매핑(ORM)은 모델링된 데이터 요구 사항부터 가장 인기 있는 관계형 데이터베이스 시스템을 사용한 기술적 저장 및 검색까지 데이터베이스 관리의 모든 측면을 처리합니다. 주요 목표는 Mendix ORM은 사용자가 테이블을 만들고 수정하거나 데이터에 액세스하고 업데이트하는 방법 등 기술적인 데이터베이스 측면에 대해 생각할 필요성을 없애는 것입니다.
데이터 정의 언어
Mendix ORM은 애플리케이션 배포 시 데이터 정의 언어(DDL) 단계부터 시작하며, 도메인 모델에서 모델링할 때 비즈니스 데이터 요구 사항을 기반으로 올바른 데이터베이스 구조를 자동으로 생성합니다.
생성된 데이터베이스 구조에는 테이블, 데이터 유형, 연결, 관련 제약 조건, 심지어 상속까지 포함됩니다.
애플리케이션을 변경할 때마다 기본 데이터베이스 테이블이 자동으로 업데이트된다는 점에 유의하는 것이 중요합니다. 데이터도 마이그레이션됩니다.
테이블 생성과 데이터 마이그레이션을 모두 처리함으로써 Mendix 플랫폼은 앱을 빠르게 제공하는 데 도움이 됩니다. 데이터베이스 스키마를 직접 관리할 필요가 없습니다. 마찬가지로 중요한 것은 대부분의 마이그레이션(예: 속성 이름 변경 또는 유형 변경)의 경우 Mendix 또한 데이터 마이그레이션을 자동화합니다.
프라이빗 클라우드 환경이나 온프레미스에 배포하는 경우 데이터베이스를 직접 관리할 수 있는 옵션이 있습니다. 이 경우 생성된 SQL을 사용할 수 있습니다. Mendix 시작점으로 삼고, 데이터베이스 관리자에게 전달하여 필요에 따라 데이터베이스가 생성되었는지 확인하세요.
데이터 마이그레이션 단계에서는 한 곳에서 다른 곳으로 데이터를 마이그레이션할 수도 있습니다. Mendix 다양한 데이터베이스 공급업체에서 다른 앱으로 전환할 수 있습니다. 온프레미스에서 클라우드로 또는 한 클라우드에서 다른 클라우드로 마이그레이션하려는 경우 유용할 수 있습니다. 자세한 내용은 다음을 참조하세요. 마이그레이션 방법 Mendix 데이터베이스 인간을 Mendix Studio Pro 사용 방법.

데이터 검색
Mendix 검색할 데이터를 지정하는 다양한 방법을 제공합니다.
- Mendix Studio Pro는 귀하의 질의 요구 사항을 지정하는 시각적 방법을 제공합니다.
- 특정 개체 또는 관련 개체 집합을 검색하려면 XPath 표현식을 사용할 수 있습니다.
- 보고 요구 사항(집계 및 여러 엔터티를 단일 결과 세트로 결합하는 것이 중요한 경우)의 경우 Mendix OQL 쿼리를 제공합니다
내부적으로, 모든 검색은 먼저 XPath로 변환되고, 그다음 OQL로 변환되고, 마지막으로 데이터베이스별 SQL 문으로 변환됩니다.
데이터를 검색할 때, Mendix ORM은 귀하를 위해 다음 단계를 수행합니다.
- XPath 쿼리를 OQL 쿼리로 변환합니다.
- 추가적인 검색 요구 사항(예: 페이지에도 필요한 연관된 개체)이 포함됩니다.
- 엔터티에 정의된 대로 보안 규칙을 적용합니다.
- 엔터티를 기술 데이터베이스 테이블에 매핑합니다.
- 엔터티 속성을 테이블 열에 매핑합니다.
- 필요한 OQL 문을 최적화합니다.
- OQL 문을 데이터베이스별 SQL 문으로 변환합니다.
- 데이터베이스에서 레코드를 검색합니다.
당신이 볼 수 있듯이, Mendix ORM은 사소한 것과는 거리가 먼 여러 가지 성능 최적화를 적용합니다. 애플리케이션 모델 때문에 Mendix 플랫폼은 연관된 데이터베이스 레코드를 한 번에 쿼리하는 것이 더 효율적이라고 판단할 수 있습니다.
데이터 검색
Mendix 검색할 데이터를 지정하는 다양한 방법을 제공합니다.
- 대부분의 경우, Mendix 플랫폼은 페이지에서 사용하는 엔터티를 기반으로 사용자에게 적합한 쿼리를 결정합니다. 예를 들어, 정렬, 필터링, 페이지 매김 기능이 자동으로 적용됩니다.
- Mendix Studio Pro는 쿼리 요구 사항을 지정하는 시각적 방법을 제공합니다. 예를 들어 엔터티를 사용하는 경우 필터를 사용하여 포함할 데이터를 지정할 수 있습니다.
- 특정 객체나 관련 객체 집합을 검색하려면 XPath 표현식을 사용할 수 있습니다.
- 집계 및 조인과 같은 더 복잡한 쿼리 요구 사항은 뷰 엔터티를 통해 처리됩니다. 뷰 엔터티는 페이지, 로직 및 API에서 일반 엔터티와 동일한 방식으로 사용할 수 있지만, 제공해야 하는 데이터를 지정하는 쿼리를 정의할 수 있습니다.
- 보고 요구 사항(집계 및 여러 엔터티를 단일 결과 세트로 결합하는 것이 중요한 경우)의 경우 Mendix OQL 쿼리와 엔터티 보기를 제공합니다.
내부적으로, 모든 검색은 먼저 XPath로 변환되고, 그다음 OQL로 변환되고, 마지막으로 데이터베이스별 SQL 문으로 변환됩니다.
데이터를 검색할 때, Mendix ORM은 귀하를 위해 다음 단계를 수행합니다.
- XPath 쿼리를 OQL 쿼리로 변환합니다.
- 추가 검색 요구 사항(예: 페이지에도 필요한 관련 개체)을 포함합니다.
- 엔터티에 정의된 대로 보안 규칙을 적용합니다.
- 엔터티를 기술 데이터베이스 테이블에 매핑합니다.
- 엔터티 속성을 테이블 열에 매핑합니다.
- 필요한 OQL 문장을 최적화합니다.
- OQL 문을 데이터베이스별 SQL 문으로 변환합니다.
- 데이터베이스에서 레코드를 검색합니다.
당신이 볼 수 있듯이, Mendix ORM은 사소한 것과는 거리가 먼 여러 가지 성능 최적화를 적용합니다. 애플리케이션 모델 때문에 Mendix 플랫폼은 연관된 데이터베이스 레코드를 한 번에 쿼리하는 것이 더 효율적이라고 판단할 수 있습니다.
복잡한 데이터 검색을 어떻게 단순화할 수 있습니까? Mendix?
In Mendix뷰 엔터티를 통한 데이터 검색은 구성 가능합니다. 즉, 여러 개의 간단한 쿼리를 결합하여 복잡한 쿼리를 작성할 수 있습니다. 이는 여러 개의 마이크로플로를 하나의 더 큰 마이크로플로에 결합하여 복잡한 로직을 작성하거나, 여러 개의 스니펫을 결합하여 복잡한 페이지를 작성하는 것과 유사합니다.
뷰 엔티티는 영구 엔티티와 동일한 방식으로 다른 뷰 엔티티에서 데이터를 검색할 수 있습니다. 예를 들어, 한 뷰 엔티티는 현재 테넌트의 모든 주문을 반환하고, 다른 뷰 엔티티는 반환된 객체를 월별 또는 분기별로 집계할 수 있습니다. 이를 통해 작은 구성 요소로 쿼리를 작성할 수 있을 뿐만 아니라 재사용성도 향상됩니다.
예를 들어 페이지의 데이터 그리드 소스로 뷰 엔터티를 사용하는 경우 Mendix 플랫폼은 모든 개별 뷰 엔터티를 단일 데이터베이스 쿼리로 결합하여 데이터베이스가 사용 가능한 모든 통계와 인덱스를 사용하여 실행을 최적화할 수 있도록 합니다.
저장 프로시저를 어떻게 사용할 수 있습니까? Mendix?
저장 프로시저 사용 Mendix 데이터가 어디에 있는지에 따라 달라집니다.
데이터베이스에 저장 프로시저를 사용하려면 Mendix 응용 프로그램을 사용할 수 있습니다 Mendix Java API. 자세한 내용은 다음을 참조하세요. Java API를 사용하는 방법 인간을 Mendix Studio Pro 사용 방법. 그리고 SQL 문을 실행하는 것에 대한 세부 사항은 다음과 같습니다. Mendix JDBC를 사용하는 앱 데이터베이스, 참조 DataStorage executeWithConnection.
외부 데이터베이스를 사용하는 경우 다음을 사용할 수 있습니다. 외부 데이터베이스 커넥터.
저장 프로시저 호출은 기존 레거시 데이터베이스 위에 구축하는 경우 대부분 관련이 있습니다. 이 영역에는 많은 Oracle 관계형 데이터베이스 관리 시스템(RDBMS)이 있습니다. 데이터베이스 커넥터 사용할 수있는 Mendix Marketplace는 PL/SQL 저장 프로시저 및 패키지로 작성된 테이블 API, 참조 커서, 사용자 정의 유형 등 기존 Oracle 데이터베이스에서 자주 볼 수 있는 기능을 지원합니다.
어떻게합니까 Mendix 거래 관리를 담당하시나요?
모든 요청에 대해 Mendix 런타임은 자동으로 새 트랜잭션을 시작합니다. 요청이 성공적으로 완료되면 트랜잭션이 모든 관련 데이터와 함께 커밋됩니다. 오류가 발생하면 모든 데이터 변경 사항이 기본적으로 롤백됩니다. 이 기본 동작을 변경하기 위해 사용자 지정 오류 처리 논리를 제공할 수 있습니다.
다음 마이크로플로에서 사용자 정의 오류 처리기가 정의됩니다. 변화 활동이 실패하면 데이터베이스에 대한 모든 변경 사항이 롤백됩니다. 오류 처리기는 트랜잭션으로 무엇을 할 것인지 정의합니다. 마이크로플로에서 발생한 모든 것을 롤백하거나 문제를 보상하고 계속할 수 있습니다. 이 예에서 로그 메시지가 생성된 후 마이크로플로가 오류로 종료됩니다. 그런 다음 호출하는 마이크로플로가 이를 처리하는 방법을 결정할 수 있습니다.

데이터베이스의 기능 Mendix 지원하다?
A Mendix 애플리케이션은 기본적으로 여러 다른 데이터베이스 서버에 배포될 수 있습니다. 데이터베이스별 코드를 포함하지 않는 한 언제든지 데이터베이스 공급업체를 전환할 수 있습니다.
따라서 Mendix 플랫폼은 다음에 나열된 데이터베이스 서버를 지원합니다. 데이터베이스 섹션 시스템 요구 사항.