Restricciones en Access
Publicado por Alfredo (1 intervención) el 11/09/2011 12:24:06
Hola a todos y gracias por vuestro tiempo.
Estoy intentando crear una BDD de ejemplo en Access con equipos de fútbol, partidos...
Para crear la tabla de partidos ejecuto la sentencia:
CREATE TABLE Partido (
fecha date,
eqlocal text,
goleslocal int,
eqvisit text,
golesvisit int,
PRIMARY KEY (fecha, eqlocal),
FOREIGN KEY (eqlocal) REFERENCES Equipo(nombre),
FOREIGN KEY (eqvisit) REFERENCES Equipo(nombre)
);
Funciona perfectamente pero ese diseño permitiría que el visitante y el local fueran el mismo. Para solucionarlo intenté ejecutar la sentencia:
ALTER TABLE Partido
ADD CONSTRAINT CK_localnovisit
CHECK (equipolocal <> equipovisitante);
Y me da fallo. No sé porqué no funciona. Así que pruebo a borrar la tabla y crearla con:
CREATE TABLE Partido (
fecha date,
eqlocal text,
goleslocal int,
eqvisit text,
golesvisit int,
PRIMARY KEY (fecha, eqlocal),
FOREIGN KEY (eqlocal) REFERENCES Equipo(nombre),
FOREIGN KEY (eqvisit) REFERENCES Equipo(nombre),
CONSTRAINT CK_localnovisit CHECK (eqlocal <> eqvisit)
);
Y tampoco. ¿Alguien podría decirme qué me pasa? Por otro lado, ¿alguien sabe como añadir esa restricción con las herramientas visuales que provee Access.
Gracias.
Estoy intentando crear una BDD de ejemplo en Access con equipos de fútbol, partidos...
Para crear la tabla de partidos ejecuto la sentencia:
CREATE TABLE Partido (
fecha date,
eqlocal text,
goleslocal int,
eqvisit text,
golesvisit int,
PRIMARY KEY (fecha, eqlocal),
FOREIGN KEY (eqlocal) REFERENCES Equipo(nombre),
FOREIGN KEY (eqvisit) REFERENCES Equipo(nombre)
);
Funciona perfectamente pero ese diseño permitiría que el visitante y el local fueran el mismo. Para solucionarlo intenté ejecutar la sentencia:
ALTER TABLE Partido
ADD CONSTRAINT CK_localnovisit
CHECK (equipolocal <> equipovisitante);
Y me da fallo. No sé porqué no funciona. Así que pruebo a borrar la tabla y crearla con:
CREATE TABLE Partido (
fecha date,
eqlocal text,
goleslocal int,
eqvisit text,
golesvisit int,
PRIMARY KEY (fecha, eqlocal),
FOREIGN KEY (eqlocal) REFERENCES Equipo(nombre),
FOREIGN KEY (eqvisit) REFERENCES Equipo(nombre),
CONSTRAINT CK_localnovisit CHECK (eqlocal <> eqvisit)
);
Y tampoco. ¿Alguien podría decirme qué me pasa? Por otro lado, ¿alguien sabe como añadir esa restricción con las herramientas visuales que provee Access.
Gracias.
Valora esta pregunta


0