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

Dos tablas o una unificada?

Estas en el tema de Dos tablas o una unificada? en el foro de Bases de Datos General en Foros del Web. estoy desarrollando el sitio de una institucion de enseñanza primaria, secundaria y terciaria. Tengo que poner en la base una tabla de las materias de ...
  #1 (permalink)  
Antiguo 04/11/2004, 13:59
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
Dos tablas o una unificada?

estoy desarrollando el sitio de una institucion de enseñanza primaria, secundaria y terciaria. Tengo que poner en la base una tabla de las materias de cada una.
Para organizar en una tabla las materias del primario y del secundario necesito casi los mismo campos y quedaria algo asi:

------------------------------------------------------------
id | id_nivel | anio | orientacion | doble_escolaridad | nombre
------------------------------------------------------------

mientras que para las materias del terciario necesitaria algo asi:

-----------------------------------------------------------------------
id | id_carrera | anio | cuatrimestre | especialidad | tecnicatura | nombre
-----------------------------------------------------------------------

la duda que me surge es ¿me conviene crear dos tablas separadas o hacer una sola unificada en la que para algunas materias usaria algunos campos y para otras otros?

unificando los campos diferentes quedaria algo asi:

------------------------------------------------------------------------------------------
id | id_nivel | id_carrera | anio | cuatrimestre | especialidad | tecnicatura | | orientacion | doble_escolaridad | nombre
------------------------------------------------------------------------------------------


PD: no se tiene algo que ver pero por las dudas aviso que uso Mysql
__________________
oohh... quisiera ser godines!!!
  #2 (permalink)  
Antiguo 05/11/2004, 02:05
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
¿Y por qué no haces una tabla con los campos comunes y otra tabla con los campos no comunes relacionadas con la clave única de la primera tabla?
De esta manera sólo grabas los datos en la segunda tabla cuando estos son necesarios. El hecho de unificar en una única tabla tiene el problema de que tendrás una serie de campos que estarán siempre vacios cuando se cumplen las condiciones de que sea de primaria.
Por otro lado: id_nivel, id_carrera ¿no pueden ser el mismo campo?. No sé que significado tienen, pero se aplicaría el mismo caso que antes: uno de los dos estaría siempre vacío, para eso puedes usar un único campo para ambos casos en los que puede tener un significado diferente según sea primaria o secundaria.

Obviamente, esta es un consejo conociendo sólo una parte de la información.

Un saludo.
  #3 (permalink)  
Antiguo 05/11/2004, 12:33
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
vice gracias por la respuesta...
Lo de crear una tabla con los campos no comunes es casi lo mismo que tener hacer una tabla unificada.. porque si o si cada materia va a usar como minimo uno de esos campos no comunes, por lo tanto tambien en esa tabla va a haber campos vacios.
Con respecto a lo id_nivel y id_carrera: no son lo mismo por que el primero dice de que nivel es la materia (primario, secundario o terciario) y el segundo marca para las materias del terciario de que carrteras son...

Una pregunta: ¿que tan grave es tener esos campos vacios en una tabla que no supera los 500 registros? pregunto tanto en performance como en peso.....
__________________
oohh... quisiera ser godines!!!
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 01:48.