Я смотрю на и чувствую, что знаю, что происходит, пока не вижу "PlayersIn
" и "Foliage
". Листва является атрибутом с двойной линией, потому что это multivalued
. Что это значит? Как это выглядит в реальном запросе к базе данных? Я не знаю, на что указывает пунктирная линия "PlayersIn
". Не могли бы вы объяснить, что это означает и когда это полезно? Что это значит, как выглядит запрос, почему он важен и т. д.?
dia: в нотации Чена, что такое atts с точками и для чего нужны многозначные atts?
Ответы (1)
*Важное примечание: ссылки содержат java, но это веб-сайты с расширением .ca, поэтому, скорее всего, они безопасны.
Foliage
является многозначным, и я до сих пор не уверен, зачем кому-то это делать. Я прочитал документацию, здесь, по нотации Чена, в которой говорится: «Возможно, вы захотите сохранить степени в поле с несколькими значениями, чтобы показать, что кто-то имеет более одной степени, например, степень бакалавра и степень магистра». Я не понимаю, почему внешний ключ для типов степеней не используется с таблицей зависимостей, employeeID x degreeID
? Может быть, потому что менее запутанно иметь только одну таблицу? Что касается «листвы», я подумал: «Может быть, есть много видов листвы, и это неважно для людей. Может быть, быстрее использовать поле с несколькими значениями, потому что соединения не нужны».
Что касается желтого атрибута, обведенного точками, то это derived attribute
. . Производные атрибуты — это атрибуты, которые можно получить путем анализа других атрибутов. Иногда производные атрибуты перечислены для удобства человека. Я не уверен, что это только вопрос элегантности, или это может как-то ускорить код.