Como diseño esta base de datos?

Iniciado por Elemental Code, 12 Agosto 2012, 01:34 AM

0 Miembros y 1 Visitante están viendo este tema.

Elemental Code

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:

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:

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?

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

ssccaann43 ©

#1
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
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

jhonatanAsm

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.
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.

Elemental Code

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

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

imoen

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
Medion Akoya p6624
i-3 370
8 gigas DDR 3 RAM //750 hd 5400
gforce gt425 optimus XDD
Esta es mi casa, mi pueblo , o lo que queda de el aun asi lucharemos ... POR BENALIA....!!

srta imoen