Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: llAudioslavell en 15 Septiembre 2011, 21:45 pm



Título: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 15 Septiembre 2011, 21:45 pm
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.pnghttp://piczasso.com/i/8z6bw.png)
http://piczasso.com/i/8z6bw.png (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:


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 16 Septiembre 2011, 02:27 am
Aun espero respuestas........ :)


Título: Re: Ayuda modelando una B.D.
Publicado por: 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.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 16 Septiembre 2011, 06:05 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 ^^


Título: Re: Ayuda modelando una B.D.
Publicado por: 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.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 16 Septiembre 2011, 21:01 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 !!!!







Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 16 Septiembre 2011, 21:08 pm
jeje me olvide esto :

http://piczasso.com/i/nv3fh.jpg (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^^



Título: Re: Ayuda modelando una B.D.
Publicado por: fran800m en 17 Septiembre 2011, 01:29 am
Citar
la 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.

Citar
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.

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).

Citar
La 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.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 17 Septiembre 2011, 08:19 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 (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.


Título: Re: Ayuda modelando una B.D.
Publicado por: fran800m en 17 Septiembre 2011, 15:04 pm
Citar
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:

Bien.

Citar
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 ? 

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.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 18 Septiembre 2011, 01:36 am
Bien.

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.

Pues fijate que mi instituto es muy extricto ^^ si un profesor falta 3 veces seguidos, Despedido ! , y el dueño del instituto, que no es el coordinador porsiacaso, contrata rapidamente a otro, teniendo esto claro entonces la Relacion entre Curso : Doscente seria 1:N por la razon que ya mencione que un profesor especializado en un curso podra dictar clases en otro curso.

Bueno ahora tengo otro problema,  estaba viendo la relacion entre Evaluaciones y Cursos y la verdad que no me gusto para nada despues de haverlo analizado, si las evaluaciones son multiples entonces tendria que agregar los campos Nota1 Nota2 Nota3 y mas campos y todo esto estaria pesimo verdad? , bueno llegue a la conclusion de que esta relacion tendre que normalizarla de la siguiente manera:
http://piczasso.com/i/8lb52.JPG (http://piczasso.com/i/8lb52.JPG)
ya que un curso tendra muchas practicas y me parece que de esta manera, el diseño mejora, estas deacuerdo conmigo '? o que opinas....  :laugh: ;-) :rolleyes:



Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 18 Septiembre 2011, 02:00 am
http://piczasso.com/i/8lb52.JPG (http://piczasso.com/i/8lb52.JPG)
Me Olvide explicarte los campos de la tabla Notas_Practicas
-Temas >> aqui se ingresara el tema de la Practica por ejemplo si es del Curso Diseño web y la practica viene sobre el Tema Encabezados <h1></h1> entonces en el campo temas se ingresara "Encabezados en HTML".

-Fecha >> es la fecha de la Practica.
-Notas >> Es la nota de la practica.
-Nombre curso >> es el nombre del curso se refiere a que curso pertenece el tema y las notas.

De esta manera la eh Normalizado esta relacion.
En la Tabla Cursos eh agregado los campos:
-Fecha_Inicio >> fecha en que inicia el curso.
-Fecha_Fin >> Fecha en que el curso finaliza
-Examen Parcial >> este examen parcial es la nota del curso..uhmm para explicarte mejor por ejemplo: Si el curso VB.NET dura 2 meses entonces el examen parcial se
aplicara el ultimo viernes  del 1er mes y el examen final se aplicara el ultimo viernes del segundo mes.
-Examen Final >> bueno ya te explique con el ejemplito de arribita.
estas 2 notas se sumara al promedio de las notas de las practicas de la otra tabla y se hallara el promedio final del curso d el alumno.

si me olvide de explicarte algo mas me avisas ..
espero ansioso tu Opinion ^^ !!!



Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 18 Septiembre 2011, 07:12 am
aqui esta un nuevo modelo

http://piczasso.com/i/aruz8.JPG (http://piczasso.com/i/aruz8.JPG)

las demas tablas que no estan relacionadas es para proximamente relacionarlas... por ahora quiero que observes la normalizacion que hize :) !!  analizalo detalladamente porfavor te lo agradeceria muchisimo  ;-) ..!!

estaba pensando en agregar una tabla en donde contenga las notas de los cursos y una FK del alumno para que se sepa a quien pertenece las notas.....  y tambien estaba pensando en agregarle una tabla horarios bueno comenzare con la tabla horarios pero por ahora me voy a descansar, estoy un poco exausto ^^ !!! espero tu opinion !! ^^  salu2 !!


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 18 Septiembre 2011, 07:15 am
se me olvidaba.... la relacion entre doscentes y cursos uhmmm nose yo la veo verde xD no me late mucho esa relacion... que opinas tu, claro todo en base al argumento que el profesor dictara otros cursos aparte del que esta especializado y que si un profesor tiene mas de 3 faltas seguidas se le despide, no habra otro profesor sustituto.... asi es en mi instituto bueno espero que me entiendas y que analizes con detalle esa relacion.....   ^^  :)


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 18 Septiembre 2011, 19:13 pm
http://piczasso.com/i/z2hyu.JPG
 (http://piczasso.com/i/z2hyu.JPG)

aqui tengo un nuevo modelo, le agregue la tabla Horario y lo Relacione con la tabla Cursos, en la tabla horario iran los siguientes campos:
-Nombre_Curso >> es de echo quesera el nombre del cuerso xD
-Dias >> Los dias que se dictara el curso.
-Hora Inicio >>  aqui se imngresara la hora de iniciio de la clase del curso
-Hora Fin >> aqui la hora en que finaliza el curso.
-Cod_Doscente >> lo relacione con la tabla doscente para que se sepa con quien se tocara los curso o por decirlo mejor quien dictara los cursos.
-aula>> en que aula se dictaran los cursos.

Elimine la Tabla aula que havia por que creo que con un campo Aulas es suficiente a que una tabla para todas las Aulas.

Bueno en el campo hora_inicio y hora_fin siempre sera el mismo ya que en mi instituto cada curso se dicta en 1 dia y las horas de clases son de 6 horas por ejemplo DiseñoWeb se dictan los dias Lunes y Miercoles de 6.00 pm a 10.00 pm , esto es en el horario de Noche, tambien hay un Horario para el turno Mañana,  pero por ahora quiero que analizes la modificacion que hize y  me dees tu opinion, ire avanzando lo demas, aya y te agradeceria si me das alguna idea de como relacionar la tabla alumnos con las Notas_Practicas? o con la tabla Cursos, bueno cual tu lo crees conveniente, espero tu opinion y tus criticas, seguire avanzando... ^^ !!

salu2

____________________________________________


Título: Re: Ayuda modelando una B.D.
Publicado por: fran800m en 19 Septiembre 2011, 11:28 am
Creo que puedes meter Cod_Alumno como FK en Notas_Practicas, sencillamente, y ya sabes que nota sacó quién en qué.

La tabla Horarios y sus relaciones la veo bien, si creas la tabla Aula tampoco estará de sobra, una aula tiene muchos datos: aforo, metros cuadrados, ubicación (primera planta, segunda, etc).

Respecto a la relación entre Cursos y Docentes no le des más vueltas ya que al relacionarlas a través de Horarios queda N:N tanto si lo necesitas como si no.

Yo creo que vas bien.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 20 Septiembre 2011, 06:02 am
conectese porfavor que los dias pasan ....   el 14 de octubre es la exposicion  de mi BD ..... nesecit terminarlo lo mejor posible =) !!


Título: Re: Ayuda modelando una B.D.
Publicado por: fran800m en 20 Septiembre 2011, 16:49 pm
?? Creo que te estás mal acostumbrando. Ningún forero está aquí para hacer nada a nadie. Ya te di una orientación, ¿qué más esperas? Quien tiene que presentar el 14 eres tú, yo tengo mis propios problemas. Dale caña y plantea dudas concretas.


Título: Re: Ayuda modelando una B.D.
Publicado por: llAudioslavell en 20 Septiembre 2011, 19:05 pm
?? Creo que te estás mal acostumbrando. Ningún forero está aquí para hacer nada a nadie. Ya te di una orientación, ¿qué más esperas? Quien tiene que presentar el 14 eres tú, yo tengo mis propios problemas. Dale caña y plantea dudas concretas.


Disculpa hermano..... esa no fue mi intencion....  muchas gracias por ayudarme hasta aqui enserio si no me hubieras ayudado estuviera perdido xD...,.  ya eh entendido la gran importancia de las relaciones, continuare mi BD ami propio criterio  ... muchas gracias hermano ^^ !! eres Grande   ;-) :laugh: :D ::) !!!  pero si tengo otra duda te las posteo Oks?  pero sera cuando ya mi BD estea maz Avanzada........ Mil Gracias nuevamente Brother ^^ !!!!!!!!  que te valla bien  ;-)


Título: Re: Ayuda modelando una B.D.
Publicado por: fran800m en 20 Septiembre 2011, 22:01 pm
Gracias por entenderlo. Si tienes problemas a medida que avanzas coméntalo.