Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2006
yeison Cristman yeison Cristman is offline
Miembro
 
Registrado: jul 2006
Posts: 52
Poder: 18
yeison Cristman Va por buen camino
Red face tablas en sql server demasiadas tablas

!Hola a todos ...... El Dios del Cielo bendiga tu vida....

mi pregunta es yo tengo una base de datos llamada colegio y varias tablas:
ESTUDIANTE
PROFESOR
HORARIO_PRIMERO
HORARIO_SEGUNDO
......
....
....
...
........
HORARIO_3BACHILLER

¿Es necesario tener tantas tablas para hacer un horario de clases que valla desde 1ro de basica hasta 3ro bachillerato? ¿hay una forma mas sencilla?

necesito hacer un horario de clases para cada curso como le hago ....

gracias .....
Jesucristo es el mismo ayer, hoy y siempre....
Responder Con Cita
  #2  
Antiguo 09-08-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por yeison Cristman
¿Es necesario tener tantas tablas para hacer un horario de clases que valla desde 1ro de basica hasta 3ro bachillerato?
Pues seguramente no, si lo diseñas correctamente.
Puesto que TODOS los horarios tienen la misma estructura, está claro que todos deben ir a la misma tabla.

(1) Para cada profesor, curso, franja horaria y día hay un único horario.
(2) Un Curso tiene N alumnos (que tienen el mismo horario)
(**) Tengo dudas de si en un curso puede haber dos horarios diferentes (por esto que se hace ahora de que una misma clase se dividen en dos en una misma hora para cosas diferentes). Si no es así con algo como esto debería valer:

* Tabla Dias
* Tabla Profesores
* Tabla Franjas horaria
* Tabla Cursos
* Tabla de Horarios (foranea a Curso, FranjaHoraria, Profesor, Días).
* Tabla Estudiantes (foranea al curso al que pertenece)

Lo he pensado rápido, es cuestión de darle una vuelta...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-08-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes tener una tabla "horarios" con los campos oportunos para guardar esos horarios, depende de lo que quieras, por ejemplo: Curso, Materia, Horario, etc...

Edito: Veo que Neftali ya te ha respondido mucho mejor que yo.
Responder Con Cita
  #4  
Antiguo 09-08-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Mira yo te aconsejo que hagas el diseño de la Base de Datos y luego hagas un normalizacion de las tablas. con eso vas a poder reducir el numero de tablas y la cantidad de Campos Innesesarios o repeditos en cada tabla.
Y si la estructura esta bien hecha puede que si, TEngas varias tablas pero con la estructura correcta.

por ejemplo. EStudiante y profesor Son personas. entonces deberias tener una tabla personas con

(DNI), Nombre, Apellido, Direccion, Telefono, FechaNac .....

donde DNI Seria tu Clave principal (por lo menos en argentina DNI (Documento nacional de identidad) es unico e irrepetible(salvo que sea trucho pero bueno.))

Un alumo es una persona que asiste a clase como estudiante. por ende la tabla aliumno seria
(DNI),NumeroLegajo.. (aqui depende de la info que quieras puedes tener mas datos, como por ejemplo año o años en curso (si puede cursar mas de un año a la vez)).


Tabla Profesor
(DNI), NumeroLegajo, (CodMaterias),(CodCurso) .....

y asi deberias seguir. dependiendo de la profundidad de lo que quieras hacer la cantidad de tablas. luego para hacer las busquedas deberias relacionar las Tablas por los campos Codigo y con eso tendrias el diseño de la base hecho saludos y espero haberte ayudado un poco
saludos
Responder Con Cita
  #5  
Antiguo 09-08-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Uff... Esto me recuerda a la asginatura de Bases de Datos. Bueno, este problema tiene dos soluciones, la del libro (en forma normal de Boyce-Codd) y las aproximaciones.
La del libro en general suele ser demasiado compleja para una aplicación normal (un colegio de barrio), pero inevitable a ciertos niveles (una univerdad).

Todo depende de lo que tengas que controlar y almacenar. ¿Sólo un horario lectivo? ¿Un control de aulas ocupadas? ¿Algún histórico de asistencia? ¿Necesitas saber quien estubo en cada clase, cuándo y dándo qué materia?...
Responder Con Cita
  #6  
Antiguo 09-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Como dice kuan-yiu, el que tantas tablas hay, depende de que exactamente tienes que controlar. Por ejemplo, las tablas que te propone Neftali están muy bien para empezar (aunque me queda la duda conceptual de franja horaria), pero pueden aumentar si un curso se da en varios horarios, o si un alumno toma varios cursos, o si un curso puede ser dictado pormás de un profesor, en fin, consideraciones que pueden hacer aparecer relaciones n-n que te obliguen a colocar más tablas.

// Saludos
Responder Con Cita
  #7  
Antiguo 09-08-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Cita:
Empezado por kuan-yiu
Uff... Esto me recuerda a la asginatura de Bases de Datos.
Si si, parece eso mismo. Base de Datos y normalizacion.

creo que si debes hacer una base de datos sin saber cual va a ser su crecimiento(o cresimiento, mmm duda), no seria mucho problema Tomarte unas horas y realizar el diseño correcto con su respectiva normalizacion y asi te podras ahorrar una dolor de cabeza.
nunca te olvides del " y ya que estamos la aplicacion puede mostrar esto. y esto." SI estas en tiempo de sieño. aprobechalo y hacelo lo mejor posible.

saludos
Responder Con Cita
  #8  
Antiguo 10-08-2006
yeison Cristman yeison Cristman is offline
Miembro
 
Registrado: jul 2006
Posts: 52
Poder: 18
yeison Cristman Va por buen camino
Red face demasiadas tablas para un horario de clases

!hola a todos el Dios de Abraham, Isaac y Jacob les bendiga mas.

voy a expresarme con bastante claridad...

yo vivo en Republica Dominicana, aqui las escuelas y colegios, voy a decir esto por que tuve la oportunidad de trabajar en las dos instituciones, prosigo diciendo los siguiente....

aqui se da clases de 8:00 am a 12:30 de la tarde, lo que yo quiero capturar es las horas en que se dan las materias, ejemplo. De 8:00 a 8:45 se da matematicas, de 8:45 a 9:25 se da informatica, todo en un lapso de 45 minutos a cada materia se le dedica ese tiempo por dia.

me ha parecido bien la recomendacion de la normalizacion me podria ayudar. de la manera que logre solucionar el problema, aunque se que no esta bien fue esta...

simplemente hice una tabla para 1ro de basica en sql luego en delphi use un dbgrid, use el adoquery y datasource, los campos de la tabla son estos (HORA, LUNES, MARTES,MIERCOLES,JUEVES,VIERNES) de esa manera entro la hora y la materia al dia correspondiente. uno de los problemas esta en que tengo que hacer 13 o 14 tablas para cada curso, y eso es lo que quiero corregir....

Jesucristo es el mismo ayer, hoy y siempre...
Responder Con Cita
  #9  
Antiguo 10-08-2006
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Eso es lo que te intento decir con el tema de la normalizacion. Porque site fijas. las estructuras para cada curso es la misma. solo que varia el curso. asique solo con crearte una tabla cusrsos. que contenga.

CodCusro, Nombre, Turno,CodPreseptor (si tiene un preseptor o como se llame alla)

Vas a tener una estructura mas robusta y mas sencilla.
Y que pasaria si el dia de mañana tienen doble escolaridad u horas extras?
o si una materia se dicta de 8 a 9:15.

Creo que el camino mas sensillo es la normalizacion de los datos y hacer la estructura correcta de la Base de Datos.

Saludos
Responder Con Cita
Respuesta



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
Uso SQL Server, las tablas no se refrescan yeison Cristman SQL 4 09-08-2006 07:07:54
Error al eliminar 3 tablas de b.d. SQL Server Delphiboy Conexión con bases de datos 1 03-09-2005 18:36:49
De tablas en visual foxpro 6 a MS SQL Server Jorge Taveras Tablas planas 2 18-03-2005 04:43:01
Problemas Con Tablas En Sql Server davidgaldo Conexión con bases de datos 2 03-03-2004 08:16:45
Tablas de sistema SQL SERVER fjcg02 SQL 3 29-12-2003 14:07:48


La franja horaria es GMT +2. Ahora son las 13:38:13.


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