Я уже прочитал другие вопросы, такие как эти:
Можно ли иметь внешний ключ в качестве первичного ключа?
Первичный и внешний ключ вв то же время
Однако мне кажется, что ответы сильно различаются, и ответ на вопрос, может ли быть нормально иметь ключи как первичные, так и внешние, зависит от конкретной базы данных и целитаблицы, содержащей ключи.
Это было сделано в рамках экзаменационного проекта, и я должен либо иметь возможность объяснить свой дизайн базы данных, либо придумать что-то еще для своей презентации.
Мои вопросы:
Как бы вы лучше всего обосновали таблицу selected_answers в моей БД?то есть имеет ли смысл?
Все еще находится в 3-й нормальной форме?
Могу ли я сделать его другим и простым, выполняя ту же самую цельи функции текущей таблицы?
Это моя текущая реляционная модель:
Реляционная модель
Это мой текущий скрипт таблиц SQL:
таблицы SQL
Идея состоит в том, чтобы создать базу данных, которая может хранить данные «аудита» о фирме, которая хочет проверять, насколько хорошо они соответствуют GDPR.Это было задание для экзамена.
Причина, по которой я "выбрал ответы", заключается в том, что я могу сравнить выбранные ответы пользователей с задаваемыми вопросами.
Ключи являются первичными ивнешние ключи таковы, что числа «уникальны», но все еще ссылаются на таблицу аудита и вопросов.
Предполагается, что база данных также может хранить каждый аудит и ответы на него индивидуально.
Для некоторыхДля большего контекста я заполнил свои таблицы «тестовыми данными», чтобы я мог использовать хранимые триггеры, процедуры и функцию.
Тестовые данные 1
Тестовые данные 2
Все вопросы предварительно заданы как question_ID 1 - 12, и все ответыanswer_ID 1-5.Таким образом, эти цифры, безусловно, будут повторяться, но для целей хранения проверок и ответов на них.
Это конечный результат, который вычисляет база данных: название компании и регистрационный номер (CVR - датский), время аудита(обновляется через сохраненный триггер), средний балл ответов и «уровень соответствия» на основе среднего балла.
Окончательный результат
Я надеюсь, что у меня естьпредоставил достаточно информации, чтобы вы могли мне помочь :-), если вам также нужно просмотреть хранимые процедуры, функции и триггеры, скажите мне, и я их загрузю.