У меня есть две таблицы, которые связаны друг с другом через отношение один ко многим.
проблема в том, что у ссылочной таблицы также есть внешний ключ второй таблицы!
Я знаю, что это сбивает с толку, поэтому я покажу вам простой дизайн моей базы данных:
Авторы
AuthorId Name DefaultBookId (FK)
-------- ------- -------------
1 John 1
2 Mike 3
3 Mig 5
Книга
BookId Title AuthorId (FK)
-------- ------- -------------
1 TitleInfo1 1
2 TitleInfo2 3
3 TitleInfo3 2
4 TitleInfo4 1
5 TitleInfo5 3
6 TitleInfo6 3
7 TitleInfo7 1
Конечно, я должен сделать AuthorId
в таблице книг внешним ключом, и это нормальный случай, но теперь мне нужно установить книгу по умолчанию для каждого автора, поэтому я определю внешний ключ для нового столбца (DefaultBookId)
для указания книги по умолчанию для каждого писателя.
Теперь обе таблицы зависят друг от друга, поэтому я не могу удалить какой-либо элемент, если не удалю связь между ними, и он не считает, что это правильно!
Есть идеи о том, является ли этот дизайн ошибочным или нет, и что я могу с этим поделать?