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

Como Validar Materias con sus correlativas

Estas en el tema de Como Validar Materias con sus correlativas en el foro de Bases de Datos General en Foros del Web. Hola saludos para todos. Espero que alguien pueda darme una mano, por que soy medio nuevo con esto Basicamente estoy perdido en como armar las ...
  #1 (permalink)  
Antiguo 07/09/2009, 23:57
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Como Validar Materias con sus correlativas

Hola saludos para todos.
Espero que alguien pueda darme una mano, por que soy medio nuevo con esto
Basicamente estoy perdido en como armar las tablas para que un alumno pueda autogestionar sus inscripciones.
Lo que necesito:
El usuario seleccione un año en que se va anotar y el sistema muestre las materias de ese año que pueden anotarse por que no poseen correlativas, las materias que posen correlativas pero el alumno ya aprobo sus correspondientes correlativas y las materias de años anteriores que no aprobó y debe recursar.
Mi planteo
A modo de ejemplo voy a quitar algunos campos como carrera, legajo y demás para hacerlo mas legible a lo que busco.
4 Tablas:

Materias ( id_materia, nombre, curso)
Correlativas (id_correlativa, id_materia,correlativa01...(hasta 4))
Notas (id_nota, id_materia, Estado - estado no existe, tengo las 4 notas + la nota final, pero vamos suponer que si es = a 3 aprobo si = a 2 la tiene firmada en la libreta pero la tiene que rendir y si es = 1 debera recursarla)

Y por ultimo tengo la tabla donde voy a guaradar las inscripciones.
Inscripciones (id_isncripcion, id_legajo, id_materaia)

De por si no creo que haya planteado muy bien la logica de las tablas, pero eso es lo que se me ocurrió.

Lo que no se es como hacer una consulta que me haga todo ese control (suponiedo que esten bien esas tablas)
Estas son las consultas que se me ocurren, pero con ninguna hago nada, necestio armar una buena sola consulta

Puedo abrir las materias que curso = a lo que me selecciona el usuario (pero no sabria como controlar si le corresponde anotarse)

puedo controlar si una (con varias no sabria hacerlo) correlativa esta aprobada de este modo

SELECT * From correlativas INNER JOIN notas ON correlativas.correlativa01 = notas.id_materia Where estado <> 1.

Bueno yo me estoy formando a los palasos, asi que sepan entender si cometi por ahi alguna barrabasada, hace dias que no puedo contra esto, espero que alguien me pueda orientar.
Saludos!
  #2 (permalink)  
Antiguo 11/09/2009, 22:03
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Como Validar Materias con sus correlativas

Hola
Que son las coo-relativas para ti?
me parece que podrías explicar un poco mejor tu tarea para ver si se da alguna solución, saludos
  #3 (permalink)  
Antiguo 13/09/2009, 12:49
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como Validar Materias con sus correlativas

Hola, disculpame no me di cuenta, pense que se iba a enteder a lo que me refiero con materias correlativas.
Con que una materia tenga Correlativa quiero decir que es necesario tenerla aprobada antes para poder anotarse o rendirla.
Ej: No se podra cursar Matematica II hasta no haber aprobado su correlativa "Matematica I".
Gracias por responder, espero que puedas ayudarme
  #4 (permalink)  
Antiguo 13/09/2009, 16:38
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Como Validar Materias con sus correlativas

Hola, pues esta bastante interesante lo que tienes que hacer y de hecho se cruza con algo
que estoy haciendo con un amigo pero que lo tenemos más enfocado hacia la parte estudiantil que
a la parte operativa de la institución

Bueno, no se que es eso de los legajos, nomenclatura argentina no conozco mucho (digo argentina por tu pais según el perfil que tienes en forosdelweb) !!!

Pero yo plantearía algo así:

carreras
idcarrera
nombre

estudiantes
idestudiante
nombre

estudiantescarreras
idestudiantecarrera
idestudiante
idcarrera

materias
idmateria
nombre

materiascorrelativas
idmateriacorrelativa
idmateria
idcorrelativa

estudiantesmaterias
idestudiantesmaterias
idestudiantecarrera
idmateria

notas
idnota
idestudiantesmateria
nota1
nota2
nota3
nota4
notafinal

Como funcionaria lo que tengo?
Bueno, pues tienes la tabla de las carreras que ofrecen (lo enfoque a una universidad) pero esto se podría
cambiar a cursos o bueno, como sea

La tabla estudiantes donde guardas lo que a ellos se refiere

La tabla estudiantescarreras, esta es de las primeras interesantes pues va a guardar
el id de la carrera y del estudiante (esto pensando en que un estudiante se pueda
inscribir a una o varias carreras)

Tendriamos también la tabla materias en donde estarian todas las materias

Vienen luego 2 tablas interesantes

materiascorrelativas y estudiantesmaterias

materiascorrelativas tendra el idmateria y el idcorrelativa , donde ambos son ids de materias,
pero el primero (idmateria) es el id de matematicas1 por ej y el segundo (idcorrelativa) es el de matematicas2,
esto nos dira que matematicas1 tiene una correlativa que es matematicas2, si hubiera matematicas3, esta como yo
lo veo es coorelativa tanto de matematicas1 como de matematicas2 , y asi por tantas ocurrencias como haya, por ende
en esta tabla repetiriamos tantos registros como coorelativas necesitemos para cada materia

estudiantesmaterias nos dira por medio del idestudiantecarrera que lo toma de la tabla estudiantescarrera
cual carrera y cual estudiante es al que le vamos a asignar materias, y idmateria es cada materia que
tenga asignada (por ende aqui estaran todas las materias que tiene un alumno en una carrera en tantos
registros como se necesiten)

finalmente tengo una tabla notas donde tomo el idestudiantemateria de la tabla estudiantesmaterias,
para saber a que materia de la carrera que esta haciendo el estudiante debo asignarle notas, y pues
manejo por cada estudiantemateria un registro donde guardo las notas y la notafinal

Enredado??? si, tal vez un poco, pero pues yo lo dividiría así por cuestiones de modelamiento
de bd, obviamente si se quiere hacer mas complejo se le pueden asignar tablas de profesores, aulas, etc,
tanto como queramos

Repito, es bastante interesante pero igual un proyecto de estos bien hechos conlleva bastante análisis,
paciencia y tiempo de parte de todos los involucrados, pero si es todo para ya como suele serlo.... pues
no queda mas que hacerse camino y despues sobre la marcha tapar los huecos que se vayan encontrando...
Suerte en tu proyecto entonces
Saludos
  #5 (permalink)  
Antiguo 13/09/2009, 18:05
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Como Validar Materias con sus correlativas

Muchas gracias por responderme, disculpa por las palabras en argentino pero no se como decirlas de una forma mejor.

por suerte tengo planteadas muy muy similar las tablas a como vos las planteaste, excepto la de correlativas que la habia planteado mal (agrege campos correlativa01 .. hasta 04)
las demas son identicas salvo que tengo mas tablas por ejemplo plan de estudios (ya que pasados unos años, pueden modificar las materias de una carrera) el proyecto es mucho mas complejo por ahora tengo 21 tablas (profesores,horarios,etc) las cuales obvie por que queria enfocarme solo en el control de las materias correlativas.

Por mala suerte sigo teniendo la duda del control, lo que no se como hacer es la consulta en esas tablas.
SELECT Nombre_materia From ¿materia? Where "las materias sean del curso seleccionado y materias que recursar del curso anterior, se fije si las materias tiene correlativas o no y si tienen que controle la nota para ver si estan aprobadas."
Bueno espero que me hayas entendido (y no haber puesto algo en argentino) y puedas darme una mano.
yo no manejo bien los Inner Join cross join.. o sub consultas, me imagino que abra que hacer algo de eso, estoy enredado con esa consulta, espero que me puedas orientar


PD: El legajo, es el identificador unico que le dan al alumno cuando se inscribe.
  #6 (permalink)  
Antiguo 13/09/2009, 22:19
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Como Validar Materias con sus correlativas

Hola
Tranquilo, no problem

Pues intenta con esto

Código sql:
Ver original
  1. SELECT nombre
  2. FROM materias
  3. INNER  JOIN correlativas ON materias.id_materia = correlativas.id_materia
  4. INNER  JOIN notas ON correlativas.correlativa01 = notas.id_materia
  5. WHERE estado <>1
  6. LIMIT 0 , 30
Esto con el modelo que tu tienes inicialmente
Para el mio, bueno, habria que hacerle modificaciones pero pues funcionaria similar
Nos cuentas
saludos
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 17:55.