мой вопрос, кажется, довольно простой, но, к сожалению, я не мог найти удовлетворительного ответа на это.SQL множественность много для многих процесс вставки
Пожалуйста, обратите внимание на следующем примере:
Таблица Author
определить автора, Document
имеет по крайней мере одного автора и таблицы Authors
группу всех авторов, что документ имеет.
Мой вопрос: каждый раз, когда я вставляю документ, мне нужно проверить, существует ли моя группа авторов уже на страницах Авторы.
Каков наилучший способ для этого? Я полагаю, что в первую очередь мне нужно будет проверить, существует ли эта группа, и тогда я должен получить этот идентификатор (если он уже существует) или создать новую запись на Authors
(если группа не существует).
Вопрос:
Является ли это правильный процесс логики, которые должны происходить на столах, который имеет множество многие ко многим?
Как я могу проверить, существует ли группа значений уже на таблице Авторы?
Есть что-то вроде этого select * from Authors where a_id IN(1,2,3)
, но эксклюзивным способом. : S
Любая помощь будет отличной.
Благодаря
да, авторы уже третья таблица, поэтому вы предлагаете для изменения этой таблицы, чтобы иметь внешний ключ документа. Хорошо, но таким образом у меня будут записи авторов * записи документов. Я думал о том, как я могу создать группы авторов и связать их с документом, если он уже существует. Вероятно, это не хорошая оценка, так как мне придется проверить, существует ли эта группа авторов. – ePascoal
причиной того, что один идентификатор для группы авторов будет производительностью, если у вас было так много групп, что ваш запрос станет медленным, но, вероятно, вам это никогда не понадобится, и логика избежать дублированных групп «сложна» и не стоит это на данный момент. Лучше копируйте author_id каждый раз для каждого написанного документа, который слишком усложняет ваш код. – mucio