Как бы вы исправили существующую базу данных года, в которой используется составной ключ из полей школа и год, которые больше не представляют собой уникальную строку? Одна из этих школ выпускает двухгодичный ежегодник. Должен ли я просто сгенерировать идентификатор и использовать его для первичного ключа?
Составной ключ становится не уникальным
Ответы (1)
Предлагаю добавить поле semester
или term
. Вы можете просто создать суррогатный ключ, но добавление еще одного поля к вашему составному ключу дает вам гибкость для аккуратной обработки кварталов / семестров.
person
Hart CO
schedule
01.03.2016
Последующий вопрос: не нарушит ли добавление поля термина и суррогатного ключа какие-либо правила нормальной формы?
- person Harrison Tran; 01.03.2016
semester
илиterm
. Вы можете просто создать суррогатный ключ, но при составлении отчета у вас не будет хорошего бизнес-правила, чтобы знать, на какие записи ссылаться, без значимого поля термина / семестра. - person Hart CO   schedule 01.03.2016