in

¿Cómo puedo definir una clave primaria compuesta en SQL?

apple touch icon@2

Solo para aclarar: una tabla puede tener como máximo una clave primaria. Una clave principal consta de una o más columnas (de esa tabla). Si una clave primaria consta de dos o más columnas, se denomina clave primaria compuesta. Se define de la siguiente manera:

CREATE TABLE voting (
  QuestionID NUMERIC,
  MemberID NUMERIC,
  PRIMARY KEY (QuestionID, MemberID)
);

El par (QuestionID, MemberID) debe ser único para la tabla y ninguno de los valores puede ser NULL. Si realiza una consulta como esta:

SELECT * FROM voting WHERE QuestionID = 7

utilizará el índice de la clave principal. Sin embargo, si haces esto:

SELECT * FROM voting WHERE MemberID = 7

no lo hará porque para usar un índice compuesto es necesario usar todas las claves de la «izquierda». Si un índice está en los campos (A, B, C) y sus criterios están en B y C, entonces ese índice no le sirve para esa consulta. Así que elija entre (QuestionID, MemberID) y (MemberID, QuestionID) lo que sea más apropiado para cómo utilizará la tabla.

Si es necesario, agregue un índice en el otro:

CREATE UNIQUE INDEX idx1 ON voting (MemberID, QuestionID);

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

python pandas

Tutorial de Python Pandas

Lh9UZzzzhkftwhr8wQ4xpf 1200 80

Ubicaciones de Fortnite Trespassers: encuéntrelos y elimínelos