В MySQL ... Это может быть не самый лучший пример отношений, которые мне нужны, но это то, что я пытаюсь сделать в своей БД (это очень упрощено из моей полной модели данных).Как смоделировать эти отношения (избегая циклов)?
Предположим, у нас есть таблица, называемая автором, и таблица, называемая книгой.
- 'DB.author': author_id, author_name
- 'DB.book': book_id, book_name, AUTHOR_ID (это выявление отношения)
Теперь, скажем, у нас есть таблица называемый читателем со столбцами для любимого автора и любимой книги. У каждого читателя есть любимый автор, но у всех нет любимой книги. Если у них есть любимая книга, она должна быть написана их любимым автором.
- 'DB.reader': reader_id, reader_name, favorite_author_id, favorite_book_id
Я не могу просто удалить favorite_author_id колонку, потому что favorite_book_id может быть пустым. Можно ли моделировать эти отношения и избегать циклов?