El documento discute diferentes enfoques para diseñar bases de datos para calificaciones de estudiantes en una escuela. Propone inicialmente un modelo jerárquico y archivos planos, pero estos tienen limitaciones como la dificultad de agregar y buscar datos. Luego, Codd introduce un modelo relacional basado en entidades, atributos y relaciones entre ellas, como estudiantes, materias y calificaciones, el cual supera las limitaciones anteriores y resulta más eficiente y flexible a largo plazo.
2. Un problema varias soluciones Un pequeño colegio desea manejar las calificaciones de sus estudiantes en una base de datos
3. Primera aproximación Una primera solución para este problema puede ser la siguiente Estudiante Materia Calificación
4. Modelo Jerárquico A esta propuesta se le conoció con el nombre de modelo jerárquico y en el caso de este ejemplo podría interpretarse como: Un estudiante ve una materia. En una materia se asignan calificaciones
5. Ampliando el espectro Sin embargo un estudiante no ve una única materia Estudiante Materia Materia Calificación Calificación
6. Un poco más En una materia un estudiante saca más de una calificación Estudiante Materia 2 Materia 1 Calificación 1 Calificación 1 Calificación 2 Calificación 2
7. Hasta llegar al punto En el colegio hay más de un estudiante Estudiante Estudiante Estudiante Estudiante Materia 2 Materia 1 Materia 2 Materia 1 Materia 2 Materia 1 Materia 2 Materia 1 Calificación 1 Calificación 1 Calificación 2 Calificación 2 Calificación 1 Calificación 1 Calificación 2 Calificación 2 Calificación 1 Calificación 1 Calificación 2 Calificación 2 Calificación 1 Calificación 1 Calificación 2 Calificación 2
8. Cómo funcionaría? Para determinar las calificaciones de cada estudiante sería necesario recorrer su “árbol” una y otra vez, tantas como calificaciones tenga, pues estas estructuras se recorren siempre partiendo del nodo superior hacia sus ramas
14. Paso a paso Estudiante Se tiene el valor de la calificación 2 Materia 2 Materia 1 Calificación 1 Calificación 1 Calificación 2 Calificación 2
15. ¿Eficiente? Imagine este proceso por cada calificación que haya sacado un estudiante en una materia. Imagínese que está interesado en calcular el promedio general del estudiante. Tendría que hacer esto mismo por cada materia… ¿Cómo le parece sacar el promedio general de un curso?
16. Segunda propuesta Otra posibilidad sería la de construir un archivo “plano”, en el cual un estudiante pudiera representarse como Código | calificación 1 | calificación 2
17. Ampliando el espectro En caso de que quisiéramos manejar las calificaciones para más de una materia podríamos visualizarlo así: Código | calificación 1 | calificación 2 | calificación 3 | calificación 4 Y estableceríamos una convención como la siguiente: Campo 1: código Campos 2 y 3: calificaciones materia 1 Campos 3 y 4: calificaciones materia 2
18. Y un poco más Al incluir a los demás estudiantes el archivo podría verse de la siguiente forma: Código | calificación 1 | calificación 2 | calificación 3 | calificación 4 Código | calificación 1 | calificación 2 | calificación 3 | calificación 4 Código | calificación 1 | calificación 2 | calificación 3 | calificación 4
19. ¿Cuál es el problema? Esta propuesta de diseño, conocida como “archivos planos” tuvo una gran acogida, de hecho es posible que varios de los sistemas que usted utiliza en la actualidad aún la estén usando (bancos, empresas de telefonía). Sin embargo presenta varios inconvenientes.
20. Debilidades El archivo crece y crece con el tiempo, los sistemas operativos no son tan hábiles manejando archivos grandes, lo que ralentizaría las operaciones de búsqueda. En caso de diligenciar mal un campo se introduciría un error difícil de detectar.
21. Olvido Imagine que en lugar de dos calificaciones en la materia 1 un estudiante sólo obtiene una. Se esperaría que el archivo quedara de la siguiente manera: Código | calificación 1 | | calificación 3 | calificación 4 Sin embargo lo hace así: Código | calificación 1 | calificación 3 | | calificación 4 Aunque parece un error trivial, el estudiante perdería la materia en la que nunca había fallado
22. ¿Qué podemos hacer? Era claro en ese momento de la historia (197X) que las propuestas de diseño con las que se contaba hasta el momento no eran las adecuadas ¿existía una mejor manera?
23. La propuesta de Codd En ese momento el Dr. E.F Codd planteó una nueva posibilidad, una que cambió la forma en la que se diseñan las bases de datos y se constituyó en la piedra angular de muchos de los sistemas de información que se utilizan en la actualidad (40 años después)
24. Entidades y Relaciones Para Codd los alumnos, las materias y las calificaciones del ejemplo presentado pueden representarse como entidades, cada una de las cuales cuenta con atributos que la caracterizan
25. Alumno Entidad Alumno Código Alumno Nombres Alumno Apellidos Alumno Un alumno cuenta con un código, se llama de una manera y ha heredado de sus padres los apellidos Atributos
26. Materia Asimismo la materia cuenta con un código – para uso interno en el colegio – y un nombre Materia Código Materia Nombre Materia
27. ¿Relaciones? Antes de modelar la entidad Calificación es importante hacerse cargo del segundo elemento de la propuesta de Codd: las Relaciones Codd dice que entre la entidad estudiante y la entidad materia existe la siguiente relación: Un estudiante puede ver una o más materias y la misma materia puede ser vista por más de un estudiante
28. Ejemplo Juan está viendo actualmente: matemáticas y física. María también ve física y además ve geografía Tanto Juan como María ven más de una materia (MUCHAS) Matemáticas es cursada por más de un estudiante (MUCHOS)
29. Clase de relación En el caso de la entidad estudiante y la entidad materia, Codd dice que existe una relación de Muchos a Muchos
30. Y ¿qué pasa con las calificaciones? Cómo entidad calificación puede definirse inicialmente de la siguiente manera: Calificación Código calificación (número consecutivo de uso interno) Fecha (¿cuándo se asignó?) Valor (¿cuál fue su valor numérico?)
31. Relaciones en el ejemplo El día 10 de Mayo el profesor de Matemáticas decide calificar un ejercicio en clase Juan obtiene 5 en el ejercicio María 3 Las dos calificaciones son diferentes
32. ¿Lo cual implica? Un estudiante puede tener una o muchas calificaciones, pero una calificación corresponde a un único alumno. La relación en este caso se denomina: Uno a Muchos
33. Es más esfuerzo! En un principio esta propuesta de Codd (conocida como Modelo Relacional) puede parecer mucho más difícil que las dos propuestas presentadas anteriormente y es cierto que requiere un proceso de análisis mayor
34. ¿Pero? Una vez superada la etapa de análisis y diseño, el modelo no sufre de los problemas de sus antecesores, es mucho más eficiente y flexible