Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Elemental Code en 12 Agosto 2012, 01:34 am



Título: Como diseño esta base de datos?
Publicado por: Elemental Code en 12 Agosto 2012, 01:34 am
Hola.

Tengo un trabajo que hacer para una escuela.
La cosa es que quieren usar una base de datos para manejar los horarios
Si bien la base de datos va conectada a un programa VB, y esto es web... es el unico foro de bases de datos que hay  ;-)

Ahora bien, mi problema mayor es este:
Las tablas son por doble partida, unas son horarios por cursos y otras por profesores.
Cada Dia tiene 6 horas por turno, osea 6 a la mañana y 6 a la tarde.

Ahora una tabla de un curso se ve asi:

Código:
 1º "A"
  |Lunes | Martes | Miercoles | Jueves | Viernes |
1 |Matem.| ETC    |  ETC      | ETC    | ETC     |
2 |Prof X|
3 |------|
4 |Lengua|
5 |Prof Z|
6 |      |
   ------
1 |Taller| ETC   |
2 |Prof W|
3 |      |
4 |      |
5 |------|
6 |Gim.  |

Esta incompleto pero se entiende mas o menos.
Marca que materia tiene ese curso, a que hora, que dia y con que prof.

Ahoooora la de un profesor es asi:

Código:
Profesor Robocop
  |Lunes | Martes | Miercoles | Jueves | Viernes |
1 |Matem.| DIA    |  Libre    | ETC    | ETC     |
2 |3º "C"| OCUPADO|
3 |------| POR    |
4 |Fisica| OTRA   |
5 |4º "A"| ESCUELA|
6 |      |        |
   ------
1 |Matem.|        |
2 |5º "D"|
3 |------|
4 |Ocup. |
5 |------|
6 |LIBRE |

Osea, marca que materia tiene a que hora, que dia y con que curso.

Como vuelco esto en tablas de Base de datos?
No logro entender :'(

Se les ocurre como ayudarme?


Título: Re: Como diseño esta base de datos?
Publicado por: ssccaann43 © en 13 Agosto 2012, 22:36 pm
Ok,

Debes crear una tabla para los profesores..

tbl_profesores
Id_profesor
str_nombres_profesor
str_apellidos_profesor


Ejem:

Id_profesor   str_nombres_profesor                 str_apellidos_profesor   
1                              MIGUEL                            NUÑEZ
2                               LEANDRO                          ASCIERTO   


Luego la tabla de las asignaturas o materias

tbl_materias
Id_materias
str_nombre_materia

Id_materias              str_nombre_materia
1                             MATEMATICAS
2                             COMPUTACION


Creas la tabla de cursos o grados.

tbl_curso
Id_curso
str_nombre_curso

Id_curso               str_nombre_curso
1                             4to A
2                             4to B

Una tabla para asignar las materias a los profesores.

tbl_materias_profesores
id_materias_profesores
id_profesor
id_materias

id_materias_profesores             id_profesor          id_materias
1                                                  1                          2
2                                                  2                          1
3                                                  2                          2

Luego indicas en que cursos dan clases estos profesores...

tbl_clases
id_clases
id_materias_profesores
str_dia


id_clases                                id_materias_profesores             str_dia
1                                                  1                                         LUNES
2                                                  2                                         MARTES
3                                                  3                                         MIERCOLES


Bueno quizás un ejemplo sencillo, obviamente debes tener claro el tema de entidad relación, validar que tus tablas estén bien relacionadas y normalizadas.

Solo ha sido un pequeño ejemplo, espero te sirva de guía.

Saludos


Título: Re: Como diseño esta base de datos?
Publicado por: jhonatanAsm en 14 Agosto 2012, 05:43 am
claro, como te indica @ssccaann43 . Utilizas primarys keys por montones =) , y varias relaciones muchos a muchos para históricos, según las reglas del negocio claro está. salu2.


Título: Re: Como diseño esta base de datos?
Publicado por: Elemental Code en 14 Agosto 2012, 22:22 pm
por si importa lo hice con 3 tablas.

Profesores (con datos de profesores)

Cursos + Horarios (con los cursos mas que tienen cada dia a cada hora)

Materias (que contiene que profesor tiene que materia con que curso)

Y esta todo relacionado :P


Andar deberia andar :P


Título: Re: Como diseño esta base de datos?
Publicado por: imoen en 14 Agosto 2012, 22:28 pm
hola


genial ssccaann43 © has planteado la bbdd de forma genial con las primkey, y con tanta tabla , has desglodaso muy bien el problema , me ha gustado mucho, y muy bien las relacciones entre tablas .


un saludo imoen