Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 20
lKinGl Va por buen camino
esas exactamente son las tablas que tengo hechas, existen el campo que las relaciona como tu dices, pero lo que tu ves largo son el trato con las horas, que por cierto no creo que me este quedando bien del todo, ya que de la forma como lo llevo hay que alimentar de horas las aulas 1 por 1 pero se da el caso de que hay materias que no tienen 1 hora sino 2 o 3 y hay sino se como hacer.....
__________________
Las cosas o son, o no son...
Responder Con Cita
  #2  
Antiguo 23-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
esas exactamente son las tablas que tengo hechas, existen el campo que las relaciona como tu dices, pero lo que tu ves largo son el trato con las horas, que por cierto no creo que me este quedando bien del todo, ya que de la forma como lo llevo hay que alimentar de horas las aulas 1 por 1 pero se da el caso de que hay materias que no tienen 1 hora sino 2 o 3 y hay sino se como hacer.....
A ver....
¿Quieres decirme que esos son los campos de la tabla horarios? Pues, yo no lo veo conveniente.

Yo lo veo así:

AULAS
------
IDAula
Nombre
....

PROFESORES
------------
IDProfesor
Nombre
...

HORARIOS
----------
IDHorario
AulaID -> FK
ProfesorID -> FK
Fecha (*)
Duracion ---> representa la duración del cursado
....

(*) Este campo Fecha llevará el día (dd/mm/aaaa). Tal vez, si el diseño lo amerita, el campo no deba ser de esta forma. Supuestamente los horarios se establecen para la semana y queda fijo por lo que es posible tener esto:
Código:
DiaSemana - 1 --- * - Horarios - * ---- 1 - Aulas
                          |
                          *
                          |
                          1
                          |
                     Profesores
Entonces el campo Fecha debería ser DiaSemID, y por tanto ser FK a una PK de la tabla DiaSem. Y en este caso:

DiaSemana
----------
IDDiaSemana
Nombre

De este modo se puede tener algo como:
1 - Lunes
2 - Martes
...

¿Se entiende la idea?
Para tener referencia a esas 17 horas, lo que se puede hacer es tener un campo en la tabla Aulas que lleve la cantidad de horas permitidas.

El asunto, como dije antes es una cuestión de programación, armar las SQLs de forma apropiada, y ofrecer los medios necesario de control.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 24-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 20
lKinGl Va por buen camino
ufff men no entiendo nada :S

no se, pienso que seria bueno así, horainicio del dia y horafinal pero como hago si el aula se utiliza de 7:00 a 8:00 y de 8:00 a 9:00 esta desocupada :S

gracias adelantadas
__________________
Las cosas o son, o no son...
Responder Con Cita
  #4  
Antiguo 24-10-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 28
eduarcol Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
ufff men no entiendo nada :S

no se, pienso que seria bueno así, horainicio del dia y horafinal pero como hago si el aula se utiliza de 7:00 a 8:00 y de 8:00 a 9:00 esta desocupada :S

gracias adelantadas
pues mejor que te lo explico delphius no creo que nadie lo haga, leelo de nuevo y fijate en lo que te dice alli esta la solucion
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 24-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola de nuevo, coincidiendo con delphius, es una manera poco elegante y bastante 'trabajosa' de trabajar. Personalmente haria

tabla 'horas':

- id horas (de primary key)
- dia de la semana : string
- materia : string
- aula : string o integer
- inicio : TTime
- profesor : string

de esta tabla, hacer tantos registros por dias de la semana, aulas y horas en activo necesites. Una vez tuvieses esos registros, haciendo una consulta sencilla podrias encontrar las necesarias. Ej, aula 3, miercoles : select * from horas where aula = 3 and dia_semana = 'miercoles' order by inicio, o bien los dias de algebra: select * from horas where materia = 'algebra'. Tu consulta inicial se reduciria a 'select * from horas.db where aula like ' + QuotedStr(ComboBox1.text)+'%' + '''. Que luego necesites ligar aula a una tabla de aulas o bien profesor a una tabla de profesores, ya seria otra historia. Mas o menos es lo mismo que te conto delphius, solo que explicado de manera diferente. saludos y a ver si te sirve.

PD: se suelen llamar a las horas por primera hora, segunda, tercera etc... asi, inicio siendo un entero tambien te serviria y simplificaria. saludos de nuevo.
Responder Con Cita
  #6  
Antiguo 24-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por lKinGl Ver Mensaje
ufff men no entiendo nada :S

no se, pienso que seria bueno así, horainicio del dia y horafinal pero como hago si el aula se utiliza de 7:00 a 8:00 y de 8:00 a 9:00 esta desocupada :S

gracias adelantadas
¿Que es lo que no se me entiende?
Pensé que se entendería bien. De hecho, lo hice lo más breve y simple posible.

¿O será que por ser demasiado breve omití algunas explicaciones escenciales?

lKinGl, ¿Qué es lo que no entiendes de mi diseño? Te lo puedo volver a explicar si es necesario.
Esa duda de las horas de cuando está desocupada u ocupada lo trato con el diseño que he planteado.

Digo, se basa en un principio elemental y básico: Si existen registros asociados a x horas, entonces para todas las 17-x horas restantes significa que el aula está desocupada.

¿Para que guardar información de que está desocupada si puede enterderse y desprenderse de otra información ya almacenada? ¡Estarías duplicando información!

¿Sabes cual es el problema lKinGl?, Encontrar las instrucciones SQL que te permiten desarrollar la programación del sistema.

El diseño que yo elaboré responde a tus requisitos. Como he dicho antes, ahora lo que resta es programación, pensar un poquito. Nada más.

¿Necesitas saber cuántas horas tiene libre un aula x para un dia y? Fácil:
Código SQL [-]
SELECT sum(Duracion) AS SumaHora
FROM Horarios
WHERE (Horarios.AulaID = :pAulaID) AND (Horarios.DiaSemID = :pDiaSemID)

Esa Query la ejecuto en un TQuery, pasandole los parámetros pAulaID y pDiaSemID y después puedo hacer algo como esto:

Código Delphi [-]
horas_ocupadas := MiQuery.FieldByName('SumaHora').AsInteger;
horas_libres := 17 - horas_ocupadas;
ShowMessage('El aula tiene : ' + IntToStr(horas_libres) + ' horas libres');

¿Se entiende la idea?
Si no entiendes te pediría entonces que me indicaras que no entiendes en vez de estar diciendo simplemente que no entiendes.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 24-10-2008 a las 19:28:01. Razón: corrección en la consulta SQL
Responder Con Cita
  #7  
Antiguo 24-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 20
lKinGl Va por buen camino
aja delphius pero tu dices:
xaula tiene xhoras desocupadas verdad?

pero que horas?,por que puede ser q en el aula2 haya, clase el lunes de 7-9 y de 10-12 pero como detectar que el aula esta disponible de 9-10

esa es mi inquietud....

salu2
__________________
Las cosas o son, o no son...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
dbexpress Error: unknown error Code '101' raorre Conexión con bases de datos 3 13-10-2008 07:53:49
Error General Sql Error lock conflict ...deadlock Patricio Varios 1 19-03-2008 14:52:14
error:[Fatal Error] Unit1.pas(7): Unit ZDbcConnection was compiled with a different.. karaoke Conexión con bases de datos 2 19-12-2007 10:22:36
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 17:30:28
consuta dinamicas en report builder lledesma Impresión 5 26-04-2005 11:47:12


La franja horaria es GMT +2. Ahora son las 02:20:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi