Duda con modelamiento

Patricio Rojas O. tronx76 en gmail.com
Mar Ene 10 10:49:31 CLST 2006


Hola Luis,

Algunos comentarios:

On lun, 2006-01-09 at 22:59 -0300, Luis Vega wrote:
> Hola amigos.
> 
> Esoty desarrollando un pequeño sistema y me han surgido unas duda en
> los que se refiere al modelo de datos.
> trabajo con php y mysql en un Debian sarge.
> 
> Tengo 3 tablas:
> alumno (id, nombre, rut, email)
> curso (id, nombre, descripcion)
> profesor (id, nombre, titulo)
> 
Como recomendación, usa prefijos en las tablas y en las columnas, ello
te ayudará:

  a) cuando tengas un sistema de 60 o más tablas a tener la relación de
la tabla maestra con sólo mirar la columna

  b) Usando prefijos puedes crear sistemas de auditoría que te permitan
revisar el prefijo con el tipo de datos

  c) Usando prefijos puedes crear máquinas que crean software, pues al
crear una tabla con el prefijo por ejemplo "nom" o "des", sabras que se
trata de un objeto input (textbox, etc.)

, así por ejemplo:

alm_alumno( alm_nro_rut, alm_nom_alumno, alm_des_email, alm_bol_vigente)

cur_cursos( cur_id_curso, cur_nom_curso, cur_des_curso,
cur_nro_semestre, car_id_carrera, cur_bol_vigente)

pro_profesores( pro_nro_rut, pro_nom_profesor, tit_id_titulo,
pro_bol_vigente)

Ahora para que esté bien normalizada debe estar en tablas todas las
entidades (y no en una tabla varias entidades), por ejemplo:

pro_profesores( pro_nro_rut, pro_nom_profesor, tit_id_titulo,
pro_bol_vigente)

tit_titulos( tit_id_titulo, tit_nom_titulo, tit_bol_vigente)

alc_alumno_cursos( alm_nro_rut, cur_id_curso, alc_nro_semestre_cursa,
alc_nro_nota_final, alc_ind_estado )

car_carreras( car_id_carrera, car_nom_carrera, car_bol_vigente,
dep_id_departamento)

dep_departamentos( dep_id_departamento, dep_nom_departamento,
dep_bol_vigente)


Los datos tienen temporalidad, por eso se crea la columna vigente
(alm_bol_vigente, pro_bol_vigente)

Las claves foraneas se identifican de inmediato según el prefijo inicial
de la columna

El modelo presentado anteriormente se puede ampliar mas, por ejemplo que
se me ocurren en este momento

a) para los profesores agregar la universidad en donde obtuvo el título,
el año, la especialidad.

Saludos.


> los alumnos pueden tener mas de un curso, eso es claro, pero la duda
> es si es necesario crear una cuarta tabla en donde relacionar a los
> alumnos con cada curso que ellos tengan y como validad en una pagina
> php que alumno tiene tal cursos y quien no.
> 
> cuando el alumno inicie sesion, debiera aparecer todos los cursos a
> los que pertence y asi poder entrar a los respectivos contenidos, pero
> no entrar a los demas contenidos aunque sepa la url de ellos. Aqui,
> quizas una validacion en cada pagina se podria usar.
> 
> Gracias a todos por si tiempo. Espero haber sido claro.
> Saludos!
> 
> -- 
> Luis Vega M.
> Linux Registered User #356394
> GnuPG v1.4.1-1 (Debian GNU/Linux)
> PG-ID: C0778DD2 <fodsite AT gmail DOT com>
> http://fodsite.webcindario.com

---
Patricio Rojas O.                          (02) 815 5823   (09) 2839451
http://www.threboll.com             Servicios en Ingeniería Informática



Más información sobre la lista de distribución PHP