Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

duda con primary key

Estas en el tema de duda con primary key en el foro de Mysql en Foros del Web. Hola comunidad de nuevo por aca con dudillas por ejemplo tengo 4 tablas .... Código: escuela id_escuela //primary key nombre id_empleado (FK)(IE) //solo un profesor ...
  #1 (permalink)  
Antiguo 08/04/2008, 09:15
Avatar de SidP  
Fecha de Ingreso: febrero-2006
Ubicación: /etc/php.ini
Mensajes: 129
Antigüedad: 18 años, 2 meses
Puntos: 2
duda con primary key

Hola comunidad de nuevo por aca con dudillas
por ejemplo tengo 4 tablas ....
Código:
escuela
id_escuela      //primary key
nombre
id_empleado (FK)(IE)  //solo un profesor puede ser decano

departamento
id_departamento  //primary key
nombre
id_escuela
id_empleado //solo profesor puede ser jefe de dpto(FK)(IE)


empleado
id_empleado   //primary key
usuario
nombre

docente
categoria
depto     //departamento al que pertenece
id_empleado (FK)  //un docente es un empleado mas de la escuela(fk)
...el problema es que si le pongo una llave primaria al docente a la hora de crear los datos no es algo logico porque para crear una escuela ya tengo que tener creado a al docente...y para crear al docente tengo que tener creado al departamento..y sin escuela no hay depto.....yo podria dejar una tabla sin llave primaria por ejemplo la docente que se referencia con empleados por (FK)..no creo que sea algo bueno no?
no se si entienden el enrredillo que he armado..espero me den alguna idea

Gracias de antemano
  #2 (permalink)  
Antiguo 09/04/2008, 12:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: duda con primary key

Te estas confundiendo entre primary key y FK.

Puedes tener todas las primery key no te impediran hacer nada.

Encuanto a las FK te permiten el nulo, excepto que hayas definido not nul, un FK aseguara que el valor que contenga es nulo o esta en la tabla a la que haga referencia.

Con esta definición no tienes ningun problema para crear la escuela sin decano y cuando tengas al decano en su tabla podras poner su id en la tabla escuela.

La primary key de docente deberia ser compuesta id_empleado, id_departamento (no depto) con lo que te aseguras que un empleado no puede estar trabajando dos veces en el mismo departamento, si eso fuera posible luego haria una PK con los tres campos para evitar que encima de trabajar dos veces en el mismo departamento no lo haga con la misma categoria.

Quim
  #3 (permalink)  
Antiguo 09/04/2008, 16:01
Avatar de SidP  
Fecha de Ingreso: febrero-2006
Ubicación: /etc/php.ini
Mensajes: 129
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: duda con primary key

gracias quim por responer...
si exactamente como lo dices....pude conseguirme un buen libro de BD escrito por C.J.Date..muy bueno por cierto...donde explican estas relaciones....al final me quede como bien dices....
Código:
docente
categoria
depto  (FK)(IE)
id_empleado (FK)
Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.