2013-04-30 4 views
1

사용자가 제목이있는 문서를 만들고 저자를 지정할 수있는 응용 프로그램이 있습니다. 새로운 개체를 목록에서 가져올 때 중복 된 개체가 내 핵심 데이터 데이터베이스에 입력되는 것을 방지하려고합니다. 나는 Apples documentation에있는 제안을 따르려고합니다. 이는 가져올 모든 개체를로드 한 다음 해당 개체가 이미 있는지 확인하기 위해 데이터베이스를 쿼리 한 다음 적절하게 복제본을 처리합니다. 그들의 예에서 그들은 하나의 속성을 질의합니다 :핵심 데이터 중복 개체 처리

[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(employeeID IN %@)", employeeIDs]]; 

필자의 경우 두 가지 속성, 즉 제목과 저자가 고유 한 개체를 정의합니다. 그래서 나는 단순히 사용할 수 없습니다 :

[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(title IN %@) AND (author IN %@)", titleList, authorList]]; 

나는 일련의 또는 명령문을 사용할 수 있지만 비효율적 인 것으로 알고 있습니다.

올바른 제목 - 저자와 함께 개체를 효율적으로 얻는 방법에 대한 아이디어는 무엇입니까?

+0

기술적으로 데이터베이스에는 저자 엔티티와 문서 엔티티가 있습니다. 저자 목록은 고유하지만 문서 제목도 고유해야합니다. – Jbryson

답변

0

2 개의 엔티티가 필요합니다. 문서 및 저자. 문서에는 제목 속성과 작성자와의 관계가 있습니다. 그렇다면 수입시 2 단계가 필요하지만 그렇게 나쁘지는 않습니다.

먼저 모든 새로운 작성자를 가져 와서 이미 존재하는 작성자를 확인할 수 있습니다.

그런 다음 기존 문서를 제외하고 작성자와 관계를 작성하여 새 문서를 처리하십시오.

나는이 상황에서 이보다 더 영리해질 필요가 없다고 생각합니다. 단지 복잡하게 만들 것입니다.

+0

현재 필자는 작성자와 문서를위한 두 개의 엔티티가 있습니다. 그러나 특정 저자에 대한 문서가 있는지 여부를 확인하는 방법에는 여전히 문제가 있습니다. 필자가시를 저자별로 검증 할 수 있다고 생각하지만, 나는 하나의 쿼리로 모두 그것을하기를 희망했다. 필자는 아마도 저자 이름과 문서 제목의 다른 (일시적인) 속성을 만들 생각이었습니다. 그런 다음 그 속성에 대해 질의 할 수 있습니다. – Jbryson

+0

먼저 SQL 문제가 더 많아 보입니다. 해당 데이터를 검색하는 방법을 파악한 다음 핵심 데이터의 컨텍스트에서 해당 SQL을 적용하는 방법 SQL 포럼에서 먼저 질문하고 결과를 다시 가져 오십시오. – bandejapaisa

관련 문제