Определение ключей-кандидатов по здравому смыслу?
У меня есть следующая таблица:
Book_Name Author Edition Year
DB_fundamentals Navathe 4 2004
DB_fundamentals Elmasri 4 2004
DB_fundamentals Elmasri 5 2007
DB_fundamentals Navathe 5 2007
Без каких-либо знаний я должен определить возможные ключи-кандидаты. Очевидно, это будет {Book_Name, Author, Edition}. Из решений моего профессора это было бы правильно. Но я бы пошел дальше и сказал, что {Book_Name, Author, Year} также будет правильным. Но в связи с этим он сказал: "Мы должны учитывать, что у некоторых книг может быть цикл выпуска, который приводит к появлению нескольких изданий в течение определенного года". Но почему кто-то (из "здравого смысла", как он сказал) должен выпустить две или более книги с одинаковым названием И изданием в одном и том же году (или вообще)?
Что вы, ребята, думаете об этом? Я не понимаю
2 ответа
Книжное издание предположительно однозначно идентифицирует выпускаемую книгу. year
это - предположительно - год выпуска.
Ваша интерпретация была бы правильной, если бы данные представляли "какие книги доставляются с нашего склада". В этом случае издание может быть отправлено в течение нескольких лет.
Профессор явно думает, "какие книжные издания были опубликованы".
Другими словами, не зная цели таблицы, вы не сможете точно указать. Иногда цель "очевидна" из данных, но не обязательно.
Но почему кто-то (из "здравого смысла", как он сказал) должен выпустить 2 или более книг с одинаковым названием И изданием в одном и том же году (или вообще)?
Это не то, что сказал твой профессор. Он сказал, что некоторые книги могут быть опубликованы в нескольких изданиях за один год. Другими словами, year
это атрибут, который зависит (book, author, edition)
: четвертое издание "DB_fundamentals" Навата было опубликовано в 2004 году; пятое издание "DB_fundamentals" Навата также было опубликовано в 2004 году.
Теперь вы можете не думать, что есть смысл публиковать два издания одной и той же книги в одном и том же году. Но, может быть, в четвертом издании содержались какие-то абсолютные вопли относительно применения здравого смысла к моделированию данных, и им нужно было спешить с пятым изданием, прежде чем слишком много студентов запутались?