Solo para aclaración: una tabla puede tener como máximo una clave principal. Una clave principal consta de una o más columnas (de esa tabla). Si una clave principal consta de dos o más columnas, se llama clave principal compuesta. Se define como sigue:
CREATE TABLE voting (
QuestionID NUMERIC,
MemberID NUMERIC,
PRIMARY KEY (QuestionID, MemberID)
);
El par (IdPregunta, MemberID), entonces debe ser único para la mesa y ni valor puede ser NULL. Si realiza una consulta como esta:
SELECT * FROM voting WHERE QuestionID = 7
usará el índice de la clave principal. Sin embargo, si hace esto:
SELECT * FROM voting WHERE MemberID = 7
no lo hará porque para usar un índice compuesto es necesario utilizar todas las teclas de la "izquierda". Si un índice está en los campos (A, B, C) y sus criterios están en B y C, ese índice no le sirve para esa consulta. Así que elija entre (Id. De pregunta, Id. De miembro) y (Id. De pregunta, Id. De pregunta) el que sea más apropiado para la forma en que usará la tabla.
Si es necesario, añadir un índice en el otro:
CREATE UNIQUE INDEX idx1 ON voting (MemberID, QuestionID);
"Y el IdPregunta y MemberID serán las claves primarias." (QuestionID, MemberID) será la clave primaria (compuesta) *. Solo hay una clave y consta de dos columnas. – Draemon