SQL Server - tengo error en codigo

   
Vista:

tengo error en codigo

Publicado por Edith (1 intervención) el 11/03/2008 21:54:10
Hola!!
Espero me puedan ayudar.
Tengo un problema con una base de datos en sql server, en lo que es la relacion de muchos a muchos.
La primer tabla "software" contiene 4 campos con su llave primaria licencia, y la segunda "cpu" contiene 14 registros con su llave primaria serie_c
Cuando hago la relacion de mucho a muchos con "software" y "cpu" con el siguiente codigo:

CREATE TABLE software_cpu (
licencia VARCHAR(60),
serie_c VARCHAR(60),
fecha_entrega VARCHAR(20),
PRIMARY KEY(licencia, serie_c),
FOREIGN KEY(licencia) REFERENCES software,
FOREIGN KEY(serie_c) REFERENCES cpu
);

al ejecutarlo muestra el siguiente error:

Servidor: mensaje 1774, nivel 16, estado 1, línea 1
El número de columnas de la lista que hace referencia para la clave principal 'FK__software___serie__5FB337D6' no coincide con los de la clave principal de la tabla a la que se hace referencia, 'cpu'.
Servidor: mensaje 1750, nivel 16, estado 1, línea 1
No se puede crear la restricción. Consulte los errores anteriores.

Nose que error tengo, espero me puedan ayudar. Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tengo error en codigo

Publicado por Isaias (3308 intervenciones) el 13/03/2008 21:31:35
Edith

Si no mal recuerdo en mis clases de MODELADO DE BASES DE DATOS, el resolver la relacion MANY-TO-MANY, se hace creado una tabla (entidad) intermedia que liga a ambas tablas (entidades)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tengo error en codigo

Publicado por Verónica (3 intervenciones) el 14/03/2008 15:52:31
Primero, verifica la relación que esté bien definida: que sea de 'muchos' a muchos'. Luego, la longitud y el tipo de datos de la clave principal de la tabla software sea igual a la clave principal de la tabla a la cual hace referencia. Me parece, que éste, es problema de incompatibilidad de datos.

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar