Mam model danych próbuję przenieść z tabeli SQLite na strukturę modelu danych podstawowych. Moja struktura SQLite ma tabelę stref i tabelę TransitLogs. TransitLog może mieć następujące elementy (w moim schemacie sqlite) start_zone_id end_zone_idDane podstawowe wiele relacji do tego samego podmiotu
Każdy z nich jest obcym kluczem do tabeli stref. Działa to dobrze w SQL. Ale przechodząc na Core Data mam problem ze zrozumieniem, jak to modelować.
Moja pierwsza próba ma mnie posiadające dwie relacje w moim tranzyt Podmiot o relacji startZone i endzone atrybuty tego punktu do Strefy (przepraszam nie był w stanie umieścić zrzut Xcode, ponieważ jest to mój pierwszy post tutaj)
Mam pytanie, jak sobie poradzić z odwrotną relacją dla atrybutów relacji startZone i endZone. Czy ja ich nie potrzebuję? W dokumentacji i książkach, które czytałem na ten temat, najlepiej zawsze stosować odwrotną relację, ale zastanawiam się nad tą szczególną sytuacją, jeśli nie ma ona zastosowania. Czy po prostu modeluję to niepoprawnie w danych podstawowych.
Dzięki za radę.
Mike
Należy zauważyć, że relacje odwrotne, chociaż nie są absolutnie wymagane w sensie kompilacji/składni, są niezbędne, aby umożliwić CoreData aktualizację wielu zestawów, gdy ten jest usuwany. –
Jeśli nigdy nie będziesz potrzebował przejść od stref do TransitLogs, możesz obyć się bez odwrotnej zależności. Nie wydaje się, aby usunięcie TransitLog miałoby jakikolwiek wpływ na jego strefę startową i strefę końcową. Wydaje się więc, że dobrze byłoby pominąć związki odwrotne. Jeśli jednak myślisz, że kiedykolwiek będziesz chciał, powiedz, ile dzienników tranzytowych pochodzi z każdej strefy, możesz teraz dodać relacje odwrotne i oszczędzić sobie później wysiłku migracyjnego. – westsider