데이터 무결성: 검증 규칙, 이벤트 핸들러, 액세스 규칙 | Mendix

메인 컨텐츠로 가기

데이터 무결성

내 데이터의 무결성을 어떻게 보장할 수 있나요?

Mendix 애플리케이션 데이터의 무결성을 보장하기 위해 다양한 방법을 지원합니다.

  • 자료형 – 유효한 데이터 유형만 저장할 수 있도록 보장합니다.
  • 유효성 검사 규칙 – 데이터가 고유하고 지정되었으며 범위 내에 있는지 확인합니다.
  • 이벤트 핸들러 – 마이크로플로를 사용하여 데이터 검증을 위한 사용자 정의 논리를 제공합니다.
  • 액세스 규칙 – 권한이 있는 사용자만 데이터에 액세스하거나 수정할 수 있도록 합니다.
  • 참조 무결성 – 데이터가 필요한 연관 데이터와 함께 저장되도록 보장합니다.

어떤 데이터 유형을 사용할 수 있습니까? Mendix?

데이터 유형은 속성에 어떤 종류의 데이터를 저장할 수 있는지 정의합니다. 유형은 예를 들어 텍스트 필드에 텍스트만 포함하고 숫자 필드에 숫자만 포함되도록 합니다.

다음 유형을 속성에 사용할 수 있습니다.

  • 자동 번호 – 자동 생성된 숫자
  • 이진 – 바이너리 데이터
  • 부울 – 참 또는 거짓
  • 날짜와 시간 – 시간의 한 지점
  • 소수 – 양수 또는 음수
  • 열거 – 미리 정의된 값 집합의 한 값
  • 해시된 문자열g – 문자열의 해시 값
  • 정수 – 32비트 정수
  •  – 64비트 정수
  •  – 문자, 숫자, 공백 및 기타 문자가 포함된 텍스트

더 자세한 내용은 Attributes 인간을 Mendix 스튜디오 프로 가이드.

어떤 검증 규칙을 사용할 수 있습니까? Mendix?

검증 규칙은 데이터가 준수해야 하는 규칙을 지정합니다. 데이터가 지정된 규칙을 따르지 않으면 데이터를 저장하려고 할 때 오류가 발생합니다.

규칙 유형에 따라 이는 다음에 의해 처리됩니다. Mendix 런타임 또는 데이터베이스.

이벤트 핸들러를 어떻게 사용합니까? Mendix?

이벤트 핸들러는 특정 이벤트 전이나 후에 로직을 실행할 수 있는 기능을 제공합니다. 다음과 같은 많은 사용 사례가 있습니다.

  • 객체 생성 시 기본값 설정 – 새 객체를 초기화하려는 경우(예: 기본값이 상수가 아닌 객체) before-create 이벤트를 사용할 수 있습니다.
  • 감사 추적 유지 – 때때로 데이터에 대한 모든 변경 사항의 추적을 유지해야 하며 사후 이벤트를 사용하면 모든 변경 사항을 감사 추적 개체( 감사 추적 모듈에 Mendix 마켓플레이스는 이와 동일한 기능을 제공합니다)
  • 데이터 변경 사항 검증 – before-events는 데이터 변경 사항을 검증하는 마이크로 흐름을 트리거하는 데 사용할 수 있습니다.

애플리케이션의 모든 엔터티에 이벤트 핸들러를 설정하려면 다음을 사용할 수 있습니다. Mendix Java API. 예를 들어, 모든 엔티티에 대해 before commit 이벤트 리스너를 설정하려면 이 메서드를 사용합니다. Core.getListenersRegistry().registerAfterCommitListener.

속성에 중복 값이 ​​포함되지 않도록 하려면 어떻게 해야 하나요?

고유 검증 규칙을 사용하면 속성이 특정 값을 두 번 이상 포함하지 않도록 할 수 있습니다. 수평적 확장성을 사용하여 애플리케이션을 여러 인스턴스로 실행하거나, 여러 사용자가 동일한 페이지를 사용하여 데이터를 변경하거나, 애플리케이션에서 제공하는 API에 대한 여러 동시 호출이 발생하는 경우에도 고유 검증 규칙을 사용하면 속성이 고유한 값을 유지하도록 할 수 있습니다.

중복 값이 ​​발생하지 않도록 애플리케이션 데이터베이스의 테이블과 열에 고유한 검증 규칙이 자동으로 생성됩니다.

액세스 규칙을 어떻게 구성할 수 있나요?

데이터 무결성의 주요 측면은 누가 어떤 데이터를 변경할 수 있는지와 관련되므로 데이터 권한 부여는 내장 기능입니다. Mendix 플랫폼. 사용자 역할은 해당 역할이 최종 사용자의 데이터로 무엇을 할 수 있는지에 직접적으로 연결될 수 있습니다.

엔터티에서 정의할 수 있는 액세스 권한 측면은 다음과 같습니다.

  • 엔터티를 읽거나 변경할 수 있는 사람
  • 속성을 읽거나 변경할 수 있는 사람은 누구입니까?
  • 엔터티를 생성하거나 삭제할 수 있는 사람

XPath 제약 조건을 사용하여 소위 말하는 것을 정의할 수도 있습니다. 행 수준 보안, 사용자가 볼 수 있는 객체를 정의합니다. 이를 사용하면 고객이 자신의 데이터만 볼 수 있고, 케이스 담당자는 자신의 케이스와 관련된 데이터만 볼 수 있으며, 테넌트는 멀티 테넌트 애플리케이션에서 자신의 테넌트 데이터에만 액세스할 수 있습니다.

참조 무결성은 어떻게 작동합니까? Mendix?

참조 무결성은 삭제 동작 속성을 사용하여 추가됩니다. 삭제 동작은 개체가 삭제될 때 연관된 개체에 어떤 일이 발생해야 하는지 정의합니다. 다음 옵션은 연결의 각 끝에 대해 ​​구성할 수 있습니다.

가치관 기술설명
{엔터티 이름} 개체는 삭제하지만 {다른 엔터티 이름} 개체는 유지 객체가 삭제되어도 연관된 객체는 삭제되지 않습니다.
{엔터티 이름} 개체와 {다른 엔터티 이름} 개체도 삭제합니다. 객체가 삭제되면, 연관된 객체도 삭제됩니다.
{다른 엔터티 이름} 객체가 없는 경우에만 {엔터티 이름} 객체를 삭제합니다. 객체는 다른 객체와 연관되어 있지 않은 경우에만 삭제할 수 있습니다.

다음은 두 가지 예입니다.

  • {엔터티 이름} 개체 삭제, {다른 엔터티 이름} 개체 유지(기본값) – 연관된 항목을 삭제하려는 경우 사용 고객 프로필 때 빠른  삭제되었습니다 :

  • {다른 엔터티 이름} 객체가 없는 경우에만 {엔터티 이름} 객체를 삭제합니다. – 삭제할 수 있도록 하려는 경우 사용됨 빠른  그것이 어떤 것과도 연관되지 않은 경우에만 주문번호:

언어를 선택하세요