Está en la página 1de 17

MBIO

Bases de datos relacionales

           Slides Bases de datos Relacionales  by Juan Carlos Mantilla Gómez is licensed under a Creative Commons Reconocimiento-
NoComercial-SinObraDerivada 4.0 Internacional License.
ANOMALÍAS EN EL DISEÑO DE BASES DE DATOS
RELACIONALES
En esta sección

1. Anomalías
2. Consideraciones sobre la redundancia de
datos y sus implicaciones
3. Problemas más comunes al diseñar bases de
datos relacionales
1. Inserción de datos
2. Borrado de datos
3. Modificación de datos
Anomalías en el diseño
• Anomalía:
– Defecto de forma o de funcionamiento
– Desviación o discrepancia de una regla o de un uso

• En bases de datos una anomalía es :


• Un problema que se presenta en el manejo
de los datos cuando el diseño de la base no
está NORMALIZADO.
• La Normalización es un proceso que se
aplica por etapas a partir del diseño inicial,
para evitar la aparición de anomalías
Tipos de Anomalías

Redundancia en los datos


– Almacenamiento innecesario de los mismos datos en diferentes lugares
– No equivale a repetición de datos.

Consecuencias:
– Incremento en el trabajo (actualizaciones)
– Pérdida de rendimiento
– Desperdicio de espacio
– Inconsistencias (debidas a la actualización parcial)
Tipos de Anomalías
Anomalía de inserción
– Imposibilidad de adicionar datos en la base de datos, debido a la ausencia de algún
dato principal.

Anomalía de Actualización ( o de modificación)


– Inconsistencias debidas a la actualización
parcial de datos redundantes
Anomalía de borrado
– Pérdidas no intencionadas de datos
originadas al borrar una tupla.

¿SOLUCIÓN? NORMALIZACIÓN
Analicemos este ejemplo
• Una base de datos simple, con información de una librería
Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester U 2005 135.000,00 Dante, V. 3238970908 Dinamarca
2 8632 Basic SQL Prentice Hall 2007 144.000,00 Dante, V. 3238970908 Dinamarca
3 8843 Relational Model Paraninfo 2002 153.000,00 Colbert, F. 3114221638 USA
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6 8436 Advanced SQL Wester U 2008 144.000,00 Dante, V. 3238970908 Dinamarca
7 6032 DB Object Oriented Addison M 2011 81.000,00 Keynes, R. 3116963296 Canada
8 6032 DB Object Oriented Addison M 2011 81.000,00 De los Ríos, T 3229978759 España
9 2477 Open GL from scratch Furman T 2018 162.000,00 Leon, G. 3145017851 Mexico

• Analicemos si tal como esá diseñada la tabla hay Redundancia


• Los datos de un Autor(nombre, tel, país) se repiten por cada libro que tenga publicado
• Cuando un libro tiene más de un autor, sus datos (editorial, año, precio) se repiten

• Dependiendo de la cantidad de registros, esa redundancia trae serios problemas


Anomalía de Inserción
Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester U 2005 135.000,00 Dante, V. 3238970908 Dinamarca
2 8632 Basic SQL Prentice Hall 2007 144.000,00 Dante, V. 3238970908 Dinamarca
3 8843 Relational Model Paraninfo 2002 153.000,00 Colbert, F. 3114221638 USA
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6
7
8436 Advanced SQL
6032 DB Object Oriented
Wester U
Addison M
2008
2011
144.000,00
81.000,00
Dante, V.
Keynes, R.
3238970908
3116963296
Dinamarca
Canada
¿ campo clave
8
9
6032 DB Object Oriented
2477 Open GL from scratch
Addison M
Furman T
2011
2018
81.000,00
162.000,00
De los Ríos, T
Leon, G.
3229978759
3145017851
España
Mexico
?
10 Zuckerberg, M 3223234544 USA

• Si se quisiera insertar en la base de datos la información


de un escritor del cual aun NO se tiene un libro, es
IMPOSIBLE hacerlo, pues el campo clave quedaría vacío

Al campo clave se le llama también clave primaria o llave primaria


Anomalía de Actualización o de modificación
Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester
WesGlobal
U 2005 135.000,00 Dante, Valerie
V. 3238970908 Dinamarca
2 8632 Basic SQL Prentice Hall 2007 144.000,00 Dante, V. 3238970908 Dinamarca
3 8843 Relational Model Paraninfo 2002 153.000,00 Colbert, F. 3114221638 USA
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6 8436 Advanced SQL Wester U 2008 144.000,00 Dante, V. 3238970908 Dinamarca
7 6032 DB Object Oriented Addison M 2011 81.000,00 Keynes, R. 3116963296 Canada
8 6032 DB Object Oriented Addison M 2011 81.000,00 De los Ríos, T 3229978759 España
9 2477 Open GL from scratch Furman T 2018 162.000,00 Leon, G. 3145017851 Mexico

• Si por alguna razón se requiriese modificar un dato como el nombre de la editorial


(por ejemplo, porque la empresa Wester U cambió de nombre WesGlobal). Puede
generarse una inconsistencia en datos.
• Otro ejemplo: Si modifico un dato de un Autor, también ocurre la anomalía y se
produce la inconsistencia.
Anomalía de Borrado o eliminación
Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester U 2005 135.000,00 Dante, V. 3238970908 Dinamarca
2 8632 Basic SQL Prentice Hall 2007 144.000,00 Dante, V. 3238970908 Dinamarca
3 8843 Relational Model Paraninfo 2002 153.000,00 Colbert, F. 3114221638 USA
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6 8436 Advanced SQL Wester U 2008 144.000,00 Dante, V. 3238970908 Dinamarca
7 6032 DB Object Oriented Addison M 2011 81.000,00 Keynes, R. 3116963296 Canada
8 6032 DB Object Oriented Addison M 2011 81.000,00 De los Ríos, T 3229978759 España
9 2477 Open GL from scratch Furman T 2018 162.000,00 Leon, G. 3145017851 Mexico

• Si se decide por ejemplo: eliminar UN LIBRO automáticamente elimino


de la base de datos la información del AUTOR y la información de la
EDITORIAL
Entonces, en nuestro diseño ocurre que:
Redundancia en • Todos Los datos de un autor aparecen completos en la base de
los datos datos, por cada libro que el autor tenga
• Los datos de la editorial se repiten para un mismo libro, si
tiene más de un autor
Anomalía de • NO es posible insertar información de un nuevo autor, a menos
Inserción que se inserte junto con la información de un libro que haya
publicado
Anomalía de • Si se modifica el nombre de la editorial en un libro dado, se
Modificación generará inconsistencia en los demás que tengan la misma
editorial,
Anomalía de • Si se eliminan el registro de un libro, podrían perderse los datos
eliminación de un autor y de una editorial.
Llegamos a un principio básico
Libros Autores Editoriales
Libros Autores editoriales
Cod_Libro Cod_Autor Cod_Editorial
Título_Libro Nombre_Autor Nombre_Editorial
Año tel_Autor
Precio País Autor
Cod_Editorial
Cod_Autor1
Cod_Autor2

Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester U 2005 135.000,00 Dante, V. 3238970908 Dinamarca
2 8632 Basic SQL Prentice Hall 2007 144.000,00 Dante, V. 3238970908 Dinamarca
3 8843 Relational Model Paraninfo 2002 153.000,00 Colbert, F. 3114221638 USA
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6 8436 Advanced SQL Wester U 2008 144.000,00 Dante, V. 3238970908 Dinamarca
7 6032 DB Object Oriented Addison M 2011 81.000,00 Keynes, R. 3116963296 Canada
8 6032 DB Object Oriented Addison M 2011 81.000,00 De los Ríos, T 3229978759 España
9 2477 Open GL from scratch Furman T 2018 162.000,00 Leon, G. 3145017851 Mexico
Nro Reg Cod_libro Titulo_libro Editorial Año Precio Nombre_Autor tel_Autor Pais_Autor
1 4175 Relational Databases Wester U 2005 135.000,00 Dante, V. 3238970908 Dinamarca
2
3
8632 Basic SQL
8843 Relational Model
Prentice Hall
Paraninfo
2007
2002
144.000,00
153.000,00
Dante, V.
Colbert, F.
3238970908
3114221638
Dinamarca
USA
Entonces:
4 5445 Programming in Java McGrawHill 2008 108.000,00 Phillips, M. 3162422710 Francia
5 5445 Programming in Java McGrawHill 2008 108.000,00 Charleston, H. 3248434460 USA
6 8436 Advanced SQL Wester U 2008 144.000,00 Dante, V. 3238970908 Dinamarca
7 6032 DB Object Oriented Addison M 2011 81.000,00 Keynes, R. 3116963296 Canada
8 6032 DB Object Oriented Addison M 2011 81.000,00 De los Ríos, T 3229978759 España
9 2477 Open GL from scratch Furman T 2018 162.000,00 Leon, G. 3145017851 Mexico

Libros
Cod_libro Titulo_libro Año Precio Cod_Editorial Cod_Autor1 Cod_Autor2
1 4175 Relational Databases 2005 135.000,00 E006 A003
2 8632 Basic SQL 2007 144.000,00 E005 A003
3 8843 Relational Model 2002 153.000,00 E004 A002
4 5445 Programming in Java 2008 108.000,00 E003 A007 A001
5 8436 Advanced SQL 2008 144.000,00 E006 A003
6 6032 DB Object Oriented 2011 81.000,00 E001 A005 A004
7 2477 Open GL from scratch 2018 162.000,00 E002 A006

Editoriales Autor
Cod_Editorial Nombre_Editorial Cod_Autor Nombre_Autor tel_Autor País Autor
1 E001 Addison M 1 A001 Charleston, H. 3248434460 USA
2 E002 Furman T 2 A002 Colbert, F. 3114221638 USA
3 E003 McGrawHill 3 A003 Dante, V. 3238970908 Dinamarca
4 E004 Paraninfo 4 A004 De los Ríos, T 3229978759 España
5 E005 Prentice Hall 5 A005 Keynes, R. 3116963296 Canada
6 E006 Wester U 6 A006 Leon, G. 3145017851 Mexico
7 A007 Phillips, M. 3162422710 Francia
Actividad 2. Ejercicios Anomalías y Redundancias

1. Descargue de SAVIO el archivo de nombre


Actividad 2. ejercicios Anomalías y Redundancias.xlsx que se encuentra
adjunto en el enlace correspondiente a la Actividad 2.

2. Resuelva los dos problemas allí propuestos

3. Suba su solución a SAVIO en el enlace correspondiente

4. Posteriormente haremos la retroalimentación colectiva


Actividad 3.
• Se tiene una base de datos que contiene información de un grupo de estudiantes universitarios ,
sus carreras, las materias que están cursando y los profesores que las dictan. (ver archivo
Estudiantes.xlsx en SAVIO Actividad 3. Anomalías y Redundancias)

• La base de datos incluye la siguiente información de los estudiantes:


– Código de identificación del alumno
• Nombre de la materia
– Nombres
• Créditos de la materia
– Apellidos
• Valor de las Tres
– Programa (carrera) en el que está matriculado
calificaciones parciales
– Dirección de residencia • Nombre del profesor
– Nro del teléfono celular • Correo electrónico del
– Fecha de nacimiento profesor
– Información de las materias que está cursando • Nro celular del profesor
Ejercicio
Actividad 3 Anomalías y redundancias
En un documento Word:
1. Identifique todas las REDUNDANCIAS DE DATOS que sean evidentes
2. Identifique todas las posibles Anomalías de Inserción que pueden darse con esta base de datos
3. Identifique todas las posibles Anomalías de actualización que pueden ocurrir con esta base de
datos
4. Identifique todas las posibles anomalías de borrado que pudiesen ocurrir con esta base de datos
5. Sugiera una mejor re-distribución de los datos en entidades separadas para evitar el riesgo de
dichas anomalías. Puede utilizar tantas entidades como considere necesarias, pero debe
documentar el por qué se requieren y especificar para cada una de ellas los campos que la
componen

Debe subir EL documento con sus respuestas, en el enlace correspondiente en SAVIO

También podría gustarte