1. Relaciones entre
bases de datos.
En
una base de datos relacionales, las relaciones son asociaciones entre las
tablas que se crean utilizando claves únicas que permiten establecer concordancia y
relación entre las entidades o tablas además de que evita la redundancia de
datos guardados en tablas y permitir la consulta de datos de forma eficaz y
crear informes.
2. Tipos de relaciones existentes entre
bases de datos
A la
hora de manejar bases de datos es importante saber qué tipos de relaciones pueden
presentarse entre dos tablas, estas relaciones se dividen en tres tipos:
2.1. Relaciones de uno a uno: En una
relación uno a uno, una fila de la tabla A no puede tener más de una fila
coincidente en la tabla B y viceversa. Se crea una relación uno a uno si ambas
columnas relacionadas son claves principales o tienen restricciones únicas.
Este tipo de relación no es común porque la mayoría de información que está
relacionada de esta manera estaría en una tabla.
2.2. Relaciones de uno a muchos: En una
relación de uno a muchos, un registro de una tabla se puede asociar a uno o
varios registros de otra tabla, por ejemplo, de la tabla clientes, cada cliente
puede tener varios pedidos de ventas.
En este ejemplo, el capo de clave principal de la tabla clientes, ID de clientes, se ha diseñado para contener valores únicos. El capo de clave externa de la tabla Pedidos, ID de cliente, se ha diseñado para permitir varias instancias del mismo valor. Esta relación devuelve registros relacionados cuando el valor de campo ID de cliente de la tabla Pedidos es el mismo que el valor del campo ID de cliente de la tabla Clientes.
2.3. Relaciones de muchos a uno: Como
las relaciones son bidireccionales, además de las relaciones uno a muchos
también hay relaciones de muchos a uno, una relación de muchos a uno hace
referencia a una tabla o entidad que contiene valores y hace referencia a otra
tabla o entidad que tiene valores exclusivos. Las relaciones de muchos a uno
con frecuencia son impuestas por las relaciones de clave foránea y clave
primaria, y generalmente las relaciones se establecen entre las tablas de
hechos y las entidades o tablas de dimensiones y entre los niveles de una
jerarquía.
Por
ejemplo, suponga que decide enviar un paquete de mercancía de muestra para todas
las personas de la tabla [EMPLEADOS].
Usted añade una tabla [Tarifa_Postal] que
contiene los códigos postales y la tarifa postal para cada código postal. El
uso de esta estructura le permite imprimir las etiquetas para cada persona,
incluyendo el valor de enviar el paquete.
El
campo Codigo_Postal de la tabla [CODIGOS_POSTALES] es la llave primaria,
así que en esta relación, la tabla [Tarifa_Postal]
es la tabla Uno. El campo Codigo_Postal
en la tabla [EMPRESAS] es la llave
foránea para esta relación: en este caso, puede tener valores duplicados para
empresas que están en una misma área. La tabla [EMPRESAS] es entonces la tabla Muchos para la relación con la
tabla [CODIGOS_POSTALES].
2.4. Relaciones de muchos a muchos: Una
relación de muchos a muchos, una fila de la tabla A puede tener muchas filas
coincidentes en la tabla B y viceversa. Esta relación se crea definiendo una
tercera tabla denominada tabla de conexión. La clave principal de la tabla
conexión consta de las claves extranjeras de la tabla A y de la B. Por ejemplo,
la tabla “Authors” y la tabla “Titles” tienen una relación de muchos a muchos
que se define mediante una relación de uno o varios de cada uno de estas tablas
a la tabla “TitleAuthors”. La clave principal de la tabla “TitleAuthors” es la
combinación de la columna au_ID (la clave principal de la tabla “Authors”) y la clumna title_ID (la clave principal de
la tabla “Titles”).
3. Normalización de datos en una base de
datos: La normalización de datos tiene como propósito organizar los datos
de una base de datos, tomando en cuenta la creación de tablas y las reglas que
se usan para definir las relación, estas reglas se diseñan para proteger los
datos, y para que la base de datos sea flexible con el fin de eliminar
redundancia y dependencia de incoherencias.
3.1. Importancia y utilidad: La
normalización obtiene gran importancia y tienen utilidad a la hora de
administrar los datos presentes en tablas de una base de datos estas son:
3.1.1. Evitar redundancia de datos.
3.1.2. Disminuir problemas a la hora de
actualizar los datos en tablas.
3.1.3. Proteger la integridad de los
datos.
3.1.4. Facilitar el acceso e
interpretación de los datos.
3.1.5. Reducir el tiempo y complejidad
de revisión de las bases de datos.
3.1.6. Optimizar el almacenamiento.
3.1.7. Prevenir el borrado indeseado de
datos.
3.2. Niveles de normalización: Para
normalizar una base de datos existen principalmente 3 reglas, las cuales se
deben cumplir para evitar la redundancia en las tablas. A estas reglas se les
conoce como “forma normal” que va desde la 1 a la 3 (FN1, FN2, FN3).
3.2.1. Primera Forma Normal (FN1): La
primera forma normal significa que los datos están en un formato de entidad, lo
que significa que se han cumplido las siguientes condiciones:
a. Eliminar grupos repetidos en tablas individuales.
b. Crear una tabla independiente para cada conjunto de datos
relacionados.
c. Identificar cada conjunto de datos relacionados con la clave
principal.
3.2.2. Segunda Forma Normal (FN2): La
segunda forma normal asegura que cada atributo describe la entidad, crear
tablas separadas para el conjunto de valores y los registros múltiples, estas
tablas se deben relacionar con una clave externa. Esto significa:
a. Crear tablas
independientes para conjuntos de valores que se apliquen a varios registros.
b. Relacionar estas tablas con una clave externa.
3.2.3. Tercera forma normal (FN3): La
tercera forma normal comprueba las dependencias transitivas, eliminando campos
que no dependen de las claves principales, Esto es simplemente:
a. Eliminar los campos que no dependan de la clave.
3.3. Ejemplo de normalización y aplicación
de FN1, FN2, FN3:
Se
presenta una tabla no normalizada, que contiene estudiantes, Tutor, Habitación
y las Clases 1, 2 y 3. Se aplicara la FN1, FN2, FN3.
a. FN1: Al aplicarle la primera forma
normal eliminamos los grupos repetidos, quedándonos con una sola columna de
clases repitiendo los datos del estudiante, tutor y habitación y ahora no
tenemos grupos repetidos porque aplicamos la primera forma normal (FN1).
b. FN2: Al pasar a la segunda forma
normal vamos a eliminar los datos redundantes, y para lograrlo vamos a crear
dos tablas. Una tabla se llamara Estudiantes donde eliminaremos los
datos redundantes quedándonos con los datos únicos (Estudiante, Tutor y
Habitación) y en una segunda tabla que llamaremos Registro para el número de
estudiante y las clases que llevara en el ejemplo el estudiante 1606 y 2602
llevara cada uno tres clases. El contenido de la (FN1) Primera Forma Normal que
estaba en una tabla ha sido divido en dos tablas para eliminar los datos
redundantes e introducirlo a la (FN2) Segunda Forma Normal.
c. FN3: La tercera forma normal
comprueba las dependencias transitivas, eliminando campos que no dependen
de la clave principal. Para pasar a la tercera forma normal tenemos que
eliminar los campos de No Dependen de la Clave y para lograrlo dividimos la
tabla estudiante en dos tablas y creamos la tabla Facultad donde trasladaremos
la columna habitación que No Depende de la Clave que es la columna estudiante,
el nombre del tutor será el enlace con la tabla estudiante aunque también
podría ser la columna estudiante.
Fuentes por pregunta:
https://doc.4d.com/4Dv16/4D/16.6/Tipos-de-relaciones.300-4460802.es.html
3. https://ed.team/blog/normalizacion-de-bases-de-datos
http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-datos/
No hay comentarios.:
Publicar un comentario