FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.... |
#2
|
||||
|
||||
Cita:
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. |
#3
|
||||
|
||||
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.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
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 |
#5
|
||||
|
||||
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?... |
#6
|
||||
|
||||
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 |
#7
|
||||
|
||||
Cita:
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 |
#8
|
|||
|
|||
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... |
#9
|
||||
|
||||
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 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Uso SQL Server, las tablas no se refrescan | yeison Cristman | SQL | 4 | 09-08-2006 08:07:54 |
Error al eliminar 3 tablas de b.d. SQL Server | Delphiboy | Conexión con bases de datos | 1 | 03-09-2005 19:36:49 |
De tablas en visual foxpro 6 a MS SQL Server | Jorge Taveras | Tablas planas | 2 | 18-03-2005 05:43:01 |
Problemas Con Tablas En Sql Server | davidgaldo | Conexión con bases de datos | 2 | 03-03-2004 09:16:45 |
Tablas de sistema SQL SERVER | fjcg02 | SQL | 3 | 29-12-2003 15:07:48 |
|