Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/07/2014, 06:05
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: vincular estructura de tablas FOREIGN KEY

Cita:
Iniciado por KenMasters Ver Mensaje
Buen punto, va asi

TABLA VACUNOS => TABLA PADRE
field de identificación "codigo"

' TABLAS HIJAS

TABLA PRODUCCION , se debe vincular por medio de vacunos.codigo a produccion.codigo
TABLA REPRODUCCION, se debe vincular por medio de vacunos.codigo a reproduccion.codigo
TABLA SANIDAD, se debe vincular por medio de vacunos.codigo a sanidad.vacunocod

A SU VEZ, REPRODUCCION TIENE HIJOS
TABLA SERVICIO , se debe vincular por medio de reproduccion.servicio a servicio.servicioid
TABLA DIAG , se debe vincular por medio de reproduccion.diagnostico a diag.diagnosticoid
TABLA PARTO, se debe vincular por medio de reproduccion.parto a parto.partoid
TABLA ABORTO, se debe vincular por medio de reproduccion.aborto a aborto.id
Bueno, @KenMasters, tu ya tienes definido cuál es el esquema de dependencias funcionales de las tablas... ¿Cuál es tu duda?

Repasemos que para que se pueda crear una FK debe cumplirse que:
1) Toda tabla tenga una PK. Y digo toda tabla, no puede faltar ninguna.
2) Toda FK apunta a la PK referida.
3) Las FK deben ser del mismo tipo de dato, mismo rango de representación, y si es una PK compuesta, todos sus campos y en el mismo orden.
4) Si la PK es de caracteres (VARCHAR, CHAR), las FK deben ser de misma collation y charset.
5) Toda FK de una relación mandatoria (obligatoria) debe ser declarada NOT NULL.

Adicionalmente, se puede decir:
- Si se intenta crear una FK en una tabla que ya contiene datos, debe verificarse que los datos existentes cumplan previamente la relación con la tabla referida, ya que si al menos uno de los registros no lo cumple, se generará un error de creación.
- Como extensión propia de MySQL, una FK puede apuntar a una clave UNIQUE. En este caso la clave UNIQUE en la tabla referida puede poseer valor NULL, pero sólo un registro en esas condiciones. En ese caso la FK podrá aceptar valores NULL en sus registros.

Nota Bene: Recordar que NULL no es lo mismo que un caracter vacío...
¿Se cumple en tu caso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)