Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
smth
177 / 46 / 6
Регистрация: 23.06.2011
Сообщений: 247
#1

CoreData: из-за связи между таблицами нельзя добавить проверку на уникальность поля - Программирование iOS

31.05.2016, 21:12. Просмотров 638. Ответов 0

Добрый день!
До прошлой недели я всячески избегал работы с Core Data, но момент настал. Почитал мануалы на apple, raywenderlich, tutsplus итд, сижу, играюсь.. И доигрался до такой проблемы:
Предположим, есть 2 таблицы:
Employees {
id:String, уникальный
fullName:String
},
Departments {
name:String, уникальный
}

Связаны они так:
Departments <--optional---------------inverse------------non_optional-->>Employees
то есть, у Department может быть 0 и больше Employees, а вот у Employee должен быть один и только один Department. Inverse relation использую для того, чтобы избежать проблем с целостностью данных (примеров, чем грозит неиспользование, достаточно).

Схема вплоне логичная с точки зрения MySql, например, но Core Data странно ругается:
error: Misconfigured Entity: Entity Department cannot have uniqueness constraints and to-one mandatory inverse relationship Employee.department
То есть, он говорит, что если я хочу использовать обязательную связь один-ко-многим с инверсией (как это по русски-то?), то таблица Departments не может иметь уникальных полей. И правда, удаляю проверку на уникальность у Departments.name - все отлично. Также предлагается несколько костылей: убрать инверсию (что грозит проблемами с целостностью), сделать связь Employees->Departments необязательной, убрать проверку уникальности и делать это в коде.. Но это все костыли, я хочу понять, может, я где-то ошибся, так как нигде не находил "официальных" текстов насчет подобных ограничений? Если же они реально есть - то прошу дать на них ссылку, чтобы я мог ознакомиться, что можно делать, а что нельзя.

Добавлено через 3 часа 55 минут
Прошу прощения, я неправильно стрелку нарисовал, а отредактировать уже не могу. Связь выглядит так:
Departments <--non_optional---------------inverse------------optional-->>Employees
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2016, 21:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос CoreData: из-за связи между таблицами нельзя добавить проверку на уникальность поля (Программирование iOS):

Наладить связи между практически одинаковыми таблицами таблицами - MS Access
Помогите пожалуйста со следующей затыкой. Выбираю &quot;Схема данных&quot;. Там открыты три таблицы. Одна материнская (откуда идет номер модели)...

Перенос данных между таблицами + проверка на Уникальность - SQL Server
Есть 2 таблицы, table1(A,B,C,D,E) и table2(T,A,D,E,G,C,B,O,M) Нужно перенести все данные из таблицы table1 в table2 при учете того что в...

Связи между таблицами - C#
Знающие ребята, подскажите пожалуйста, правильно ли я связал следующие таблицы? Или же эти связи в sql server management бесполезны?...

Связи между таблицами - SQL Server
Объясните пжл на каком-нибудь жизненном примере что означают связи: 1:1, 1:M, M:M Вроде что-то понятно, но общей картины так и не...

Связи между таблицами - MySQL
Здравствуйте, помогите со связями между таблицами работаю в mysql 5.5 command line client вот у меня есть две таблички mysql&gt;...

Связи между таблицами - Firebird/InterBase
Здравствуйте! Я создала таблицы и целостность между ними удалила. Теперь надо написать триггер или процедуру хранимую, чтобы при добавлении...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2016, 21:12
Привет! Вот еще темы с ответами:

Связи между таблицами - MS Access
Помогите определить связи между таблицами.

Связи между таблицами - MS Access
Всем доброй ночи. Скажите пожалуйста, можно ли между двумя таблицами сделать две связи к разным ячейкам? Если да то как, если нет то...

MS Access Связи между таблицами - Delphi БД
Имеется две таблицы связанные друг с другом. В acceses связь работает, а вот в dbgrid в столбце ингредиенты вместо названия продукта...

Связи между таблицами - MySQL
помогите пожалуйста! не могу никак связать таблицы в mysql workbench, все время да будет какая нибудь ошибка


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru