--- title: 고유성 제약 조건 description: Twenty가 가져오기 중 데이터 고유성을 강제하는 방법. --- import { VimeoEmbed } from '/snippets/vimeo-embed.mdx'; ## 개요 Twenty는 중복 레코드를 방지하고 데이터 무결성을 보장하기 위해 일부 필드에 고유성을 강제합니다. 이러한 제약 조건을 이해하는 것은 성공적인 가져오기에 필수적입니다. ## 기본 고유 필드 | 객체 | 고유 필드 | | ------------- | -------------- | | **사람** | `id`, `email` | | **회사** | `id`, `domain` | | **사용자 지정 개체** | `id`만 (기본값) | `id` 필드는 Twenty의 내부 식별자로, 각 레코드에 대해 자동 생성됩니다. UUID 형식을 사용합니다(예: `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`). ## 사용자 지정 고유 필드 **설정 → 데이터 모델**에서 추가 고유 필드를 정의할 수 있습니다: 1. **설정 → 데이터 모델**로 이동 2. 객체를 선택하세요 3. 필드를 클릭하세요 4. 필드 설정에서 **Unique**를 활성화하세요 ### 사용자 지정 고유 필드의 활용 사례 * **외부 ID**: 다른 시스템의 ID 저장(Salesforce ID, HubSpot ID) * **비즈니스 식별자**: 사번, 고객 코드 * **대체 연락처 정보**: LinkedIn 프로필, 전화번호 필드 이름 `id`는 Twenty의 내부 ID로 예약되어 있습니다. 외부 식별자에는 `externalId` 또는 `legacyId`와 같은 다른 이름을 사용하세요. ## 가져오기 동작 방식 ### 새 레코드 생성 고유 필드 값이 존재하지 않으면 새 레코드가 생성됩니다. ### 기존 레코드 업데이트 고유 필드 값이 기존 레코드와 일치하면 해당 레코드는 새 데이터로 **업데이트**됩니다. 기존 레코드를 **업데이트**하려면 **하나의 고유 필드만** 매칭하는 것을 권장합니다. ### 소프트 삭제된 레코드 **삭제된 레코드도 고유성에 포함됩니다.** 소프트 삭제된 레코드는(Command Menu → See deleted records에서 확인 가능) 고유성 검사에 포함됩니다. 삭제된 레코드와 동일한 고유 값을 가진 레코드를 가져오면, 삭제된 레코드는 새 데이터로 **복원**됩니다. ## 가져오기 중 중복 감지 유효성 검사 단계에서: * 파일 내 중복 항목은 노란색으로 강조 표시됩니다 * 가져오기를 시작하기 전에 UI에서 중복 행을 편집하거나 제거할 수 있습니다 ## 모범 사례 1. 가져오기 전에 파일에서 **중복 항목을 제거**하세요 2. 가져오기 전에 Twenty에서 **기존 레코드가 있는지 확인**하세요 3. 다른 시스템에서 마이그레이션할 때 **외부 ID를 사용**하세요 4. 기존 레코드를 업데이트하려면 **고유 필드를 포함**하세요