1) Невозможно ответить на этот вопрос без требований проекта. Слабый означает, что сущность не может быть идентифицирована только по ее атрибутам. Я согласен с тем, что издатель, вероятно, слаб, поскольку ни имя, ни количество_книг_опубликовано, ни любая их комбинация не могут быть уникальными.
2) Добавление BookISBN к издателю было бы неправильным. Отношение «один ко многим» происходит в другом направлении; т. е. издатель издает много книг — это подтверждается атрибутом number_of_books_published издательства (что, возможно, не обязательно, поскольку вы всегда можете вычислить это значение).
Теоретически (я не знаю, так ли это на самом деле (я никогда этого не видел)), учебник может быть опубликован (вероятнее всего, напечатан) более чем одним издателем, поэтому наличие первичного ключа издателя в учебнике сделает учебник сильная сущность. Я считаю это маловероятным, поэтому лучшим решением является таблица отношений, то есть PublisherBook, которая содержит первичные ключи издателя и учебника, таким образом, издатель может публиковать много книг, И книга может быть опубликована многими издателями (что может играть более важную роль по сравнению с время говорят, что одно издательство прекращает свою деятельность, а книга не издается другим издательством). В этой модели у вас есть возможность вести «историю», не говоря уже об обновлении PublisherId в таблице учебника и потере предыдущего издателя.
person
Michael Humelsine
schedule
05.02.2015