Ayuda modelando una B.D.

Iniciado por llAudioslavell, 15 Septiembre 2011, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

llAudioslavell

Hola a todos ^^ !! bueno estoy en un proyecto para mi instituto en la que debo hacer un Sistema para ellos, eh comenzado con la BD y eh echo un modelo de mi imaginacion


http://piczasso.com/i/8z6bw.png

se que esta mal, lo hize recien ayer en la noche  :D ........ pero quisiera que me orienten  un poco sobre esto y que me ayuden solo con el modelo.....

Mis tablas son:

-Secretaria > Todos los datos de la(s) secretarias
-Recibo de Pago > Pago que se efectua cuando el alumno  o persona externa se matricula.
-Detalle de Pago > Los detalles del pago efectuado cuando se matricula.
-Ficha de Matricula > La persona a matricularse lo Rellena dando su informacion personal  y la carrera que estudiara.
-Persona Externa > Es el alumno antes de matricularse.
-Alumno > Es la persona externa despues de matricularse, osea , ya es parte de Instituto.
-Calificacion > Se entrega al finalizar cada ciclo con todas las notas de los cursos.
-Especialidad > Son las carreras profesionales que estudiara el alumno.
-Ciclo > Son los ciclos del Alumno.
-Cursos > Son los cursos que lleva el alumno en cada ciclo.
-Carnet > Es la identificacion del Alumno.
-Horario > Aqui se ingresara los horarios de los cursos del alumno dependiendo del ciclo en que se encuentre.
-Aulas > Son las aulas en donde el alumno estudiara, se le asignara cuando se matricula.
-Doscentes > Son los profesores que enseñaran a los alumnos, estan especializados en un curso especifico ejemplo: Programacion, Diseño Web.
-Coordinador > Es la persona que gestiona el Instituto, el es el unico que tiene acceso a las fichas de matriculas.
-Instituto >  ya saven jeje =)

Bueno estas son las descripciones de mis tablas espero sus ayudas....... Muchas gracias de ante mano espero sus respuestas lo mas pronto posible ya que en 1 mes es la exposicion del proyecto, tengo que avanzar  a full =) !!!  :rolleyes:

llAudioslavell


fran800m

Hola amigo, la imagen se ve fatal, deberías subir otra con las correcciones que hayas hecho.

Por otro lado no creo que se deba hacer a nadie "deberes de clase", así que solo te haré observaciones y lo razonamos juntos.

Estoy confuso respecto para qué es el sistema porque se habla de instituto, ciclos y carreras.

Recibo de pago y Detalle de pago - ¿Si tienen relación 1 a 1 no deberían ser una sola tabla?
Persona externa - No entiendo su razón de ser
Calificación - Falta una tabla de materias, ¿no?
Cursos - No vale así entre Alumno y curso la relación es N a N, ¿a qué te suena?

He visto más cosas, pon una imagen mejor del modelo de datos, contéstame y seguimos.

llAudioslavell

Cita de: fran800m en 16 Septiembre 2011, 03:30 AM
Hola amigo, la imagen se ve fatal, deberías subir otra con las correcciones que hayas hecho.

Por otro lado no creo que se deba hacer a nadie "deberes de clase", así que solo te haré observaciones y lo razonamos juntos.

Estoy confuso respecto para qué es el sistema porque se habla de instituto, ciclos y carreras.

Recibo de pago y Detalle de pago - ¿Si tienen relación 1 a 1 no deberían ser una sola tabla?
Persona externa - No entiendo su razón de ser
Calificación - Falta una tabla de materias, ¿no?
Cursos - No vale así entre Alumno y curso la relación es N a N, ¿a qué te suena?

He visto más cosas, pon una imagen mejor del modelo de datos, contéstame y seguimos.


Ok hermano lo siento  por el mal post ^^ !! mira esta  bd es para un sistema de matriculas....
sobre la tabla persona_externa es la persona que se matriculara en el instituto quien llenara sus datos en la ficha de matricula...

sobre  la tabla detalle de pagos .. mmm si creo que tiens razon, es por eso que hize este post para que me ayudaran...  y te agradezco por empezar a ayudarme....siento tantos errores lo hize lo mas pronto en 1 mes es la presentacion de mi proyecto y nesecito ayuda.... espero mucho la tuya ^^

fran800m

Supongo que no eres de España, así que te comento: En en España los institutos se da educación secundaria y/o formacion profesional, que son los ciclos.

Pero o estas haciendo secundaria o estás haciendo FP, por eso me chirria un poco todo ésto. Además hablas de carreras y no sé qué pinta una carrera universitaria en una matricula de instituto.

Es importante conocer el sistema de información para el que se quiere hacer una aplicación informática, de lo contraria sería como si a un pintor le piden que haga un retrato pero no le dejan ver a la persona a retratar.

Espero el nuevo modelo de datos.

llAudioslavell

Cita de: fran800m en 16 Septiembre 2011, 13:22 PM
Supongo que no eres de España, así que te comento: En en España los institutos se da educación secundaria y/o formacion profesional, que son los ciclos.

Pero o estas haciendo secundaria o estás haciendo FP, por eso me chirria un poco todo ésto. Además hablas de carreras y no sé qué pinta una carrera universitaria en una matricula de instituto.

Es importante conocer el sistema de información para el que se quiere hacer una aplicación informática, de lo contraria sería como si a un pintor le piden que haga un retrato pero no le dejan ver a la persona a retratar.

Espero el nuevo modelo de datos.



Soy de Peru mi estimado....  aqui, que es obvio, la educacion es muy distinta al de tu pais, bueno este sistema es para mi Instuto, que cuenta con carreras profesionales de Computacion - Informatica, Enfermeria , Farmacia e Idiomas.

eh ido remodelando mi BD y decidi en hacerlo por partes para no confundirme mucho, la explicacion del avanze de mi BD:

El alumno pertenecera a una Especialidad(Carrera Profesional), cualquier carrera esta comprendida por ciclos, esta es la duracion de estudio, una carrera profesional esta comprendido por 6 ciclos,  cada ciclo tiene diferentes cursos y estos seran aplicados por los Doscentes( Profesores ) quienes se especializaran en un determinado Curso ejemplo: Diseño web, Programacion en VB.NET etc, los cursos se realizaran en una determinada aula, por ejemplo Para la especialidad de Enfermeria tendra sus aulas propias y lo mismo para Computacion y para las otras carreras profesionales, los doscentes aplicaran tambien evaluaciones a los alumnos sobre los cursos.

la relacion de Alumnos con Especialidad es de N:1 por que  multiples alumnos podran pertenecer a una especialidad.
La relacion de Especialidad con Ciclo es de 1:N por que cada especialidad estara comprendido por muchos ciclos en este caso son 6 ciclos.
La relacion de Ciclo con Cursos es de 1:N porque en cada ciclo se llevaran muchos cursos por ejemplo en el 1er ciclo se lleva matematica, metodos de investigacion, etc.
detalle de cursos lo agregue para especificar aqui todos los cursos, aqui utilize la regla de normalizacion
La relacion de Cursos a Doscentes es de 1:1 por que los profesores estan especializados en un solo curso ejemplo: Profesor de Analizis de BD dictara el curso de Analizis y diseño de BD ( aqui en mi diagrama creo que lo relacione mal pero en si la relacion deve ser de 1:1).
La relacion de Cursos a Aulas es de N:1 por que muchos cursos se podran dictar en 1 aula.
La relacion de Doscentes a Evaluaciones es de 1:N por que un doscente o profesor, podra aplicar muchas evaluaciones a los alumnos.
La relacion de Alumnos a Evaluaciones sera de 1:N por que un alumno sera evaluado muchas veces.
La relacion de Evaluaciones a Cursos sera de N:1 por que un curso tendra muchas evaluaciones.


Bueno hasta ahora esto fue lo que avanze en lo que respecta a la Mitad de mi BD, la otra mitad sera sobre el proceso de matricula y comenzare a hacerlo apartir de mañana pero primero quiero acabar esta parte al 100%, una aclaracion, las tablas aun no contienen sus atributos completos, solo los eh puesto los que se me han acordado despues ya los completare los atribulos completos para las tablas, espero tu ayuda hermano ^^ !!! Gracias !!!!






llAudioslavell

jeje me olvide esto :

http://piczasso.com/i/nv3fh.jpg

la mitad del modelo de mi bd. vuelvo a decir que esta bd es para un sistema de matriculas para un Instituto y solo esta es la mitad de la bd, la otra mitad sera con respecto al proceso de matriculas pero por ahora solo quiero terminar esta parte.... espero que me comprendas^^


fran800m

Citarla relacion de Alumnos con Especialidad es de N:1 por que  multiples alumnos podran pertenecer a una especialidad.

Supongo que aquí no tienes en cuenta que se pueda cambiar de Especialidad. No sé cómo funciona vuestro sistema educativo. De todas formas en el modelo de datos lo tienes al revés: Tienes Cod_Alumno como clave foránea en Especialidad y debes tener la clave primaria de Especialidad en Alumno. Usa siempre como clave primaria tipos enteros, cuando tengas que cruzar tablas será más eficiente comparar enteros que cadenas.

CitarLa relacion de Ciclo con Cursos es de 1:N porque en cada ciclo se llevaran muchos cursos por ejemplo en el 1er ciclo se lleva matematica, metodos de investigacion, etc.

En el momento en que un solo curso se imparta en más de 1 ciclo tendrás que duplicar el registro del curso cambiando solo la clave foránea (también tienes puesta la FK al revés).

CitarLa relacion de Cursos a Doscentes es de 1:1 por que los profesores estan especializados en un solo curso

Si de verdad es 1:1 sobra la tabla Docentes, se pueden meter sus datos en Curso. Imagino que un curso tendrá varios profesores, es decir no habrá un solo especialista en Oracle, por lo que Curso - Docente será 1:N
De hecho en el modelo de datos lo tienes bien.

llAudioslavell

Cita de: fran800m en 17 Septiembre 2011, 01:29 AM
Supongo que aquí no tienes en cuenta que se pueda cambiar de Especialidad. No sé cómo funciona vuestro sistema educativo. De todas formas en el modelo de datos lo tienes al revés: Tienes Cod_Alumno como clave foránea en Especialidad y debes tener la clave primaria de Especialidad en Alumno. Usa siempre como clave primaria tipos enteros, cuando tengas que cruzar tablas será más eficiente comparar enteros que cadenas.

En el momento en que un solo curso se imparta en más de 1 ciclo tendrás que duplicar el registro del curso cambiando solo la clave foránea (también tienes puesta la FK al revés).

Si de verdad es 1:1 sobra la tabla Docentes, se pueden meter sus datos en Curso. Imagino que un curso tendrá varios profesores, es decir no habrá un solo especialista en Oracle, por lo que Curso - Docente será 1:N
De hecho en el modelo de datos lo tienes bien.



Gracias por andarme ayudando hermano, te digo enserio muchisimas gracias  :laugh: ;-)


bueno estuve pensando en que si talves le puedo agregar una tabla mas para hacer una mejor relacion entre Alumnos, Especialidad y ciclo me explico mejor:
si por ejemplo acabado el sistema se quiera ver la informacion de estudio de un alumno me refiero a que carrera profesional pertenece y en que ciclo esta, pienso que talves deberia ir una tabla mas llamada FichaEstudio_Alumno que se identificara con un codigo, bueno el nombre lo puedo cambiar no necesariamente deve ser FichaEstudio_Alumno, en esta tabla ira el codigo del alumno, el nombre del alumno, la especialidad del alumno y en que ciclo esta y talves deva ir mas atributos pero bueno solo puse estos como ejemplo, esta tabla serviria mucho como por ejemplo cuando un padre quiera ver la informacion de su Hijo que esta estudiando en el instituto, bueno es solo una idea la estuve analizando y la quiero compartir contigo haber que piensas de esto, el modelo quedaria algo asi:

http://piczasso.com/i/3za8i.JPG

talves la relacion estea mal echa, solo quiero que captes mi idea y si esta mal ps te agradeceria mucho que me corrigieras, talves mi idea te hace pensar otra mejor idea... espero tu respuesta ^^ !

aya y con lo respecto a la tabla doscentes con la tabla cursos, estaba pensando y lo ideal sera que fuera de 1:N por que un profesor tambien podra aplicar otras areas por ejemplo profesor de Analisis de Base de Datos sera el mismo que dicte Diseño y Modelamiento de Base de Datos, como tambien podra dictar curso de Introduccion a Sistemas, entonces la Relacion de Profesores a Cursos seria de 1:N .. que opinas tu ?  :rolleyes:

y con la tabla cursos, mmm nose no me late mucho........ si tengo otra idea te aviso ^^ !!!

nuevamente miles de gracias por ayudarme hermano, enserio muchisimas gracias.

fran800m

Citarbueno estuve pensando en que si talves le puedo agregar una tabla mas para hacer una mejor relacion entre Alumnos, Especialidad y ciclo me explico mejor:
si por ejemplo acabado el sistema se quiera ver la informacion de estudio de un alumno me refiero a que carrera profesional pertenece y en que ciclo esta, pienso que talves deberia ir una tabla mas llamada FichaEstudio_Alumno que se identificara con un codigo, bueno el nombre lo puedo cambiar no necesariamente deve ser FichaEstudio_Alumno, en esta tabla ira el codigo del alumno, el nombre del alumno, la especialidad del alumno y en que ciclo esta y talves deva ir mas atributos pero bueno solo puse estos como ejemplo, esta tabla serviria mucho como por ejemplo cuando un padre quiera ver la informacion de su Hijo que esta estudiando en el instituto, bueno es solo una idea la estuve analizando y la quiero compartir contigo haber que piensas de esto, el modelo quedaria algo asi:

Bien.

Citaraya y con lo respecto a la tabla doscentes con la tabla cursos, estaba pensando y lo ideal sera que fuera de 1:N por que un profesor tambien podra aplicar otras areas por ejemplo profesor de Analisis de Base de Datos sera el mismo que dicte Diseño y Modelamiento de Base de Datos, como tambien podra dictar curso de Introduccion a Sistemas, entonces la Relacion de Profesores a Cursos seria de 1:N .. que opinas tu ? 

Si realmente hay un solo profesor por curso me parece bien, pero te planteo, ¿de verdad es así?
Supongamos (Dios no lo quiera) que un profesor tiene un accidente o enfermedad y se lleva 4 meses sin dar clase, ¿realmente no se daría clase porque ningún otro profesor está cualificado para sustituirle aunque sea temporalmente?

Si la respuesta es no (que debería) la relación Curso : Docente es N:N y debes crear una tabla intermedia CursoDocente donde haces la relación. Si quieres y te parece correcto puedes añadir un atributo booleano Especialista, para diferenciar los cursos en los que un profesor es especialista o experto de los que tienen conocimientos para dar clase en caso de emergencia, pero son especialistas en otro curso.