Можно ли создать внешний ключ, если оба поля не уникальны?
У меня есть 2 таблицы базы данных ниже, я думаю о создании:
Таблица вопросов:
QuestionId(PK) QuestionNo QuestionContent SessionId (FK)
11 1 Question1 3
12 2 Question2 3
13 3 Question3 3
Image_Question
ImageId (PK) SessionId (Fk) QuestionNo (FK)
1 3 1
2 3 2
Из-за того, как я настроил загрузку изображений, пользователь может загружать изображения в вопрос до того, как вопрос будет отправлен в БД, поэтому единственным способом определить, к какому вопросу относится изображение в моем html, было использовать QuestionNo в html для знать, какой вопрос загружен файл изображения, так как QuestionId не вводится, пока страница не будет отправлена.
У меня вопрос, возможно ли иметь 2 неуникальных поля в качестве внешних ключей?
Также, если я просто устанавливаю SessionId как (FK) сам по себе, и если QuestionNo разрешает (FK), то это задается самостоятельно, так как у меня несколько сессий с одинаковыми значениями.QuestionNo
, если я нажму наQuestionNo
выше, он может отображать строки для того жеQuestionNo
во всех сессиях, которые содержат это.QuestionNo
Мой другой вопрос будет как совмещатьSessionId
а такжеQuestionNo
(FK), так что если я ищу подQuestionNo
ищет этоQuestionNo
в соответствующемSessionId
? Если я нажму наSessionId
затем он отображает детали для этогоSessionId
так что все в порядке.