Да.Создайте первичный ключ для itemId и userId.
Чтобы сделать это в T-SQL (SQL Server), вы должны использовать что-то вроде:
CREATE TABLE rating (
itemId int NOT NULL
CONSTRAINT fk_rating_item FOREIGN KEY REFERENCES item ( itemId ),
userId int NOT NULL
CONSTRAINT fk_rating_user FOREIGN KEY REFERENCES [user] ( userId ),
thumbsUp int,
thumbsDown int,
CONSTRAINT pk_rating PRIMARY KEY ( itemId, userId )
)
(Предполагается, что ваша таблица элементов 'item ', а ваша таблица пользователей -' user '.)
Я не уверен, почему у вас есть значение для больших и больших пальцев вниз?Если это логическое значение, вам может понадобиться только одно: если thumbs up равен 0, то это в любом случае эффективно thumbs down.
Редактировать: Определение составных ключей
Когда вы создаете первичный ключ для двух столбцов в одной таблице, это означает, что он должен быть уникальным только для обоих значений, то есть он будет учитывать любое количество строк с одинаковым itemId, если каждый userId отличается, и наоборот.наоборот.
Это комбинация двух, которые должны быть уникальными, а не каждая часть ключа в отдельности.