Diferentes AproximacionesAl diseño de Bases de Datos
Un problema varias solucionesUn pequeño colegio desea manejar las calificaciones de sus estudiantes en una base de datos
Primera aproximaciónUna primera solución para este problema puede ser la siguienteEstudianteMateriaCalificación
Modelo JerárquicoA 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
Ampliando el espectroSin embargo un estudiante no ve una única materiaEstudianteMateriaMateriaCalificaciónCalificación
Un poco másEn una materia un estudiante saca más de una calificaciónEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Hasta llegar al puntoEn el colegio hay más de un estudianteEstudianteEstudianteEstudianteEstudianteMateria 2Materia 1Materia 2Materia 1Materia 2Materia 1Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2
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
Paso a pasoEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Paso a pasoEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Paso a pasoEstudianteSe tiene el valor de la calificación 1Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Y una vez masEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Paso a pasoEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
Paso a pasoEstudianteSe tiene el valor de la calificación 2Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
¿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?
Segunda propuestaOtra posibilidad sería la de construir un archivo “plano”, en el cual un estudiante pudiera representarse comoCódigo | calificación 1 | calificación 2
Ampliando el espectroEn 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 4Y estableceríamos una convención como la siguiente:Campo 1: códigoCampos 2 y 3: calificaciones materia 1Campos 3 y 4: calificaciones materia 2
Y un poco másAl 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 4Código | calificación 1 | calificación 2 | calificación 3 | calificación 4Código | calificación 1 | calificación 2 | calificación 3 | calificación 4
¿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.
DebilidadesEl 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.
OlvidoImagine 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 4Sin embargo lo hace así:Código | calificación 1 | calificación 3 | | calificación 4Aunque parece un error trivial, el estudiante perdería la materia en la que nunca había fallado
¿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?
La propuesta de CoddEn 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)
Entidades y RelacionesPara 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
AlumnoEntidad AlumnoCódigo AlumnoNombres AlumnoApellidos AlumnoUn alumno cuenta con un código, se llama de una manera y ha heredado de sus padres los apellidosAtributos
MateriaAsimismo la materia cuenta con un código – para uso interno en el colegio – y un nombreMateriaCódigo MateriaNombre Materia
¿Relaciones?Antes de modelar la entidad Calificación es importante hacerse cargo del segundo elemento de la propuesta de Codd: las RelacionesCodd 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
EjemploJuan está viendo actualmente: matemáticas y física. María también ve física y además ve geografíaTanto Juan como María ven más de una materia (MUCHAS)Matemáticas es cursada por más de un estudiante (MUCHOS)
Clase de relaciónEn el caso de la entidad estudiante y la entidad materia, Codd dice que existe una relación de Muchos a Muchos
Y ¿qué pasa con las calificaciones?Cómo entidad calificación puede definirse inicialmente de la siguiente manera:CalificaciónCódigo calificación (número consecutivo de uso interno)Fecha (¿cuándo se asignó?)Valor (¿cuál fue su valor numérico?)
Relaciones en el ejemploEl día 10 de Mayo el profesor de Matemáticas decide calificar un ejercicio en claseJuan obtiene 5 en el ejercicioMaría 3Las dos calificaciones son diferentes
¿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
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
¿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
Bibliografía

¿Por qué Relacional?

  • 1.
  • 2.
    Un problema variassolucionesUn pequeño colegio desea manejar las calificaciones de sus estudiantes en una base de datos
  • 3.
    Primera aproximaciónUna primerasolución para este problema puede ser la siguienteEstudianteMateriaCalificación
  • 4.
    Modelo JerárquicoA estapropuesta 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 espectroSinembargo un estudiante no ve una única materiaEstudianteMateriaMateriaCalificaciónCalificación
  • 6.
    Un poco másEnuna materia un estudiante saca más de una calificaciónEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 7.
    Hasta llegar alpuntoEn el colegio hay más de un estudianteEstudianteEstudianteEstudianteEstudianteMateria 2Materia 1Materia 2Materia 1Materia 2Materia 1Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2Calificación 1Calificación 1Calificación 2Calificación 2
  • 8.
    Cómo funcionaría?Para determinarlas 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
  • 9.
    Paso a pasoEstudianteMateria2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 10.
    Paso a pasoEstudianteMateria2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 11.
    Paso a pasoEstudianteSetiene el valor de la calificación 1Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 12.
    Y una vezmasEstudianteMateria 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 13.
    Paso a pasoEstudianteMateria2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 14.
    Paso a pasoEstudianteSetiene el valor de la calificación 2Materia 2Materia 1Calificación 1Calificación 1Calificación 2Calificación 2
  • 15.
    ¿Eficiente?Imagine este procesopor 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 propuestaOtra posibilidadsería la de construir un archivo “plano”, en el cual un estudiante pudiera representarse comoCódigo | calificación 1 | calificación 2
  • 17.
    Ampliando el espectroEncaso 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 4Y estableceríamos una convención como la siguiente:Campo 1: códigoCampos 2 y 3: calificaciones materia 1Campos 3 y 4: calificaciones materia 2
  • 18.
    Y un pocomásAl 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 4Código | calificación 1 | calificación 2 | calificación 3 | calificación 4Código | calificación 1 | calificación 2 | calificación 3 | calificación 4
  • 19.
    ¿Cuál es elproblema?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.
    DebilidadesEl archivo crecey 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.
    OlvidoImagine que enlugar 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 4Sin embargo lo hace así:Código | calificación 1 | calificación 3 | | calificación 4Aunque parece un error trivial, el estudiante perdería la materia en la que nunca había fallado
  • 22.
    ¿Qué podemos hacer?Eraclaro 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 deCoddEn 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 RelacionesParaCodd 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.
    AlumnoEntidad AlumnoCódigo AlumnoNombresAlumnoApellidos AlumnoUn alumno cuenta con un código, se llama de una manera y ha heredado de sus padres los apellidosAtributos
  • 26.
    MateriaAsimismo la materiacuenta con un código – para uso interno en el colegio – y un nombreMateriaCódigo MateriaNombre Materia
  • 27.
    ¿Relaciones?Antes de modelarla entidad Calificación es importante hacerse cargo del segundo elemento de la propuesta de Codd: las RelacionesCodd 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.
    EjemploJuan está viendoactualmente: matemáticas y física. María también ve física y además ve geografíaTanto 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ónEnel caso de la entidad estudiante y la entidad materia, Codd dice que existe una relación de Muchos a Muchos
  • 30.
    Y ¿qué pasacon las calificaciones?Cómo entidad calificación puede definirse inicialmente de la siguiente manera:CalificaciónCó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 elejemploEl día 10 de Mayo el profesor de Matemáticas decide calificar un ejercicio en claseJuan obtiene 5 en el ejercicioMaría 3Las dos calificaciones son diferentes
  • 32.
    ¿Lo cual implica?Unestudiante 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!Enun 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 superadala etapa de análisis y diseño, el modelo no sufre de los problemas de sus antecesores, es mucho más eficiente y flexible
  • 35.