![]() |
Duda con una relación Saludos foro: Tengo una duda en una relación, resulta que tengo una tabla que se llama USUARIOS y otra que se llama CONTACTOS, en la tabla USUARIOS estan los usuarios que se registran en un sitio y en la Tabla CONTACTOS estan los contactos de los usuarios. Abajo pongo una imagen de como tengo mis tablas http://fotosenergizer.com/images/tablas.jpg Ok, el problema es que en la tabla CONTACTOS no puedo poner un campo como llave ya que el campo NICK_USU se puede repetir y el campo NICk_CONTACTO también se puede repetir ya que un contacto puede ser contacto (valga la redundancia) de dos usuarios distitntos. Y al querer hacer la relacion (en SQL Server 2005) me marca el sig. error: "The columns in table "USUARIOS" do not match an existing primary key or UNIQUE constraint" De antemano muchas gracias. |
Re: Duda con una relación Kire. Puedes hacerlo de dos maneras: a) A la tabla Contactos le agregas un campo más llamado ID (y será la llave primaria)y creas un constraint UNIQUE formados por los campos NICK_USU y NICK_CONTACTO, esto último con la finalidad de evitar que existan combinaciones repetidas. b) Sólo crear un constraint UNIQUE formados por los campos NICK_USU y NICK_CONTACTO, esto con la finalidad de evitar que existan combinaciones repetidas. Los constraints UNIQUE, son como PK y permiten crear constraints del tipo Foreign Key. Yo me inclinaria más por la primera (a) ya que la tabla donde esta el FK solo se incluye el campo ID ( el nuevo), en cambio con la opción b para crear un Fk necesito incluir los dos campos para poder crear la relación. Pero esto depende más de todo el entorno. Espero haber sido claro. Saludos y suerte!! |
Re: Duda con una relación Muchas gracias por la ayuda daniel00, pero apenas me inicio a utilizar en el SQL SERVER 2005 y no se como realizar la constraint, me podrias explicar como se realiza |
Re: Duda con una relación Kire. El contraint al que me refiero es crear un indice del tipo unique, y lo puedes crear de la siguiente manera: Código: CREATE UNIQUE INDEX IX_CONTACTOSCita:
Hay muchos tipos de constraints es un tema muy extenso, y no es exclusivo de SQL Server 2005, se usa en las versiones anteriores de SQL Server. Además de otros Administradores de Base de Datos Oracle, MySQL, etc, etc. Seguramente en la instalación de tu SQL Server hay mucha ayuda acerca de esto. Saludos y suerte!! |
Re: Duda con una relación Muchas gracias daniel00, me referia a como crear el index tipo unique en el ambiente garcfico (Microsoft SQL Server Management Studio) ya que a penas lo implemente y no estoy muy familiarizado, es decir que mas o menos me guiaras en donde lo puedo crear mediante ambiente grafico o como lo puedo crear a nivel de código; ya que no encuentro por donde. :'( |
| La zona horaria es GMT -6. Ahora son las 22:24. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.