Está en la página 1de 28

Periodo: Junio 2020 – Octubre 2020

CONTENIDO A TRATAR:

Relaciones y Normalización

Facultad de Ciencias Informáticas - UTM


Relacionales(SQL) vs No relacionales (NoSQL)

No Relacionales (NoSQL)

VENTAJAS DESVENTAJAS
• La escalabilidad y su carácter descentralizado. Soportan • No todas las bases de datos NoSQL contemplan la
estructuras distribuidas. atomicidad de las instrucciones y la integridad de los
• Suelen ser bases de datos mucho más abiertas y flexibles. datos. Soportan lo que se llama consistencia eventual.
Permiten adaptarse a necesidades de proyectos mucho más • Falta de estandarización. Hay muchas bases de datos
fácilmente que los modelos de Entidad Relación. NoSQL y aún no hay un estándar como sí lo hay en las
• Se pueden hacer cambios de los esquemas sin tener que bases de datos relacionales. Se presume un futuro
parar bases de datos. incierto en estas bases de datos.
• Se pueden ejecutar en máquinas con pocos recursos. • Soporte multiplataforma. Aún quedan muchas mejoras
• Optimización de consultas en base de datos para grandes en algunos sistemas para que soporten sistemas
cantidades de datos. operativos que no sean Linux.
• Suelen tener herramientas de administración no muy
usables o se accede por consola.
Relacionales(SQL) vs No relacionales (NoSQL)
ENTIDADES
La entidad débil es una tabla que no tiene una clave
Se dice que una entidad es fuerte primaria, pero la clave primaria de un conjunto de
si puede existir por sí misma sin entidades débiles está formada por la clave primaria del
que dependa de la existencia de conjunto de entidades fuertes en la que el conjunto de
otra entidad. entidades débiles es dependiente de la existencia, Las
entidades débiles se representan- mediante un doble
rectángulo; es decir, un rectángulo con doble línea
ENTIDADES
ENTIDADES
ENTIDADES
RELACIONES
Los diseños de la base de datos están estrechamente relacionados con las relaciones de la base de datos, la asociación entre dos
columnas en una o más tablas. Los tipos de relaciones no deben confundirse con los tipos de datos en SQL, siendo conceptos
distintos.
Las relaciones se definen sobre la base de columnas de clave coincidentes.
En SQL, estas relaciones se definen utilizando restricciones de clave principal a clave externa.
Se crea un enlace entre dos tablas donde la clave principal de una tabla se asocia con la clave externa de otra tabla utilizando las
relaciones de la base de datos.

Se refiere al número máximo de veces que una instancia en una


entidad se puede relacionar con instancias de otra entidad

Cardinalidad
Cuando preguntamos ¿Cuántos empleados pueden trabajar en un
solo departamento? 
¿en qué departamentos puede trabajar un empleado? estamos
haciendo preguntas con respecto a la cardinalidad de la relación.
RELACIONES
La cardinalidad se muestran a través del estilo de una línea y su extremo, según el estilo
de notación seleccionado.
RELACIONES

MAPEO DE CARDINALIDADES
Las tres clasificaciones son: uno a uno, uno a muchos, y muchos a muchos.
RELACIONES
1 1

Relación de uno a uno (1,1). Se


creará una relación de este tipo si
ambos campos relacionados son
claves principales. En este tipo de
relación, un registro de la tabla uno
sólo puede estar relacionado con un
único registro de la tabla dos y
viceversa. No es muy usada.
RELACIONES

Relación de uno a muchos (1,n). Se


autor publicacion
crea una relación de uno a muchos si
uno de los campos relacionados es
una clave principal. Esta relación es la
más común. Cada registro de una
tabla puede estar enlazado con varios
registros de una segunda tabla, pero
cada registro de la segunda sólo
puede estar enlazado con un único
registro de la primera.
RELACIONES
Relación de muchos a muchos
(n,m). En este caso, ninguno de los campos
relacionados son claves principales. Cada
registro de la primera tabla puede estar
enlazado con varios registros de la segunda y
viceversa. Este tipo de relación implica la
repetición de los campos de cada tabla; esto
es lo que Access pretende evitar. Para
establecer relaciones de este tipo, es
necesario crear una tabla intermedia que
esté relacionada con las dos de uno a varios.
RELACIONES
TALLER
Se desea diseñar una BD, para llevar el control de las películas que los actores han filmado así como también
saber en que estudio la han realizado.

1. Defina los atributos necesario para cada tabla


2. Diseñe los Diagramas ER y Diagrama Relacional con sus respectivas relaciones y cardinalidades
3. Defina las entidades fuertes y débiles
4. Definir tipo y dimensión que tendrán los atributos
5. Definir las claves primarias y foráneas (si existiera)

Pelicula Actor Estudio


Id_peli Id_actor Id_estu
nom_peli nom_actor nom_estu
año_peli apel_actor ciudad
gen_peli sexo
fec_nac
NORMALIZACIÓN
La normalización de bases de datos relacionales toma un
esquema relacional y le aplica un conjunto de técnicas para
producir un nuevo esquema que representa la misma
información pero contiene menos redundancias y evita posibles
anomalías en las inserciones, actualizaciones y borrados.

Simplificación de Datos
NORMALIZACIÓN
• Para almacenar mayor cantidad de datos con menor espacio
¿Para qué? …. • Eliminar redundancia
• Ordenar datos

El valor de una columna debe ser una entidad


atómica, indivisible, excluyendo así las
dificultades que podría conllevar el tratamiento
de un dato formado de varias partes.

1. Todos los atributos, valores almacenados en las columnas, deben ser indivisibles.
1 FN
2. No deben existir grupos de valores repetidos.
NORMALIZACIÓN - PRACTICAS

MATRICULA NOMBRE APELLIDO ASIGNATURA CODASIG CARRERA


1 GABRIEL MEDRANDA BASES DE DATOS 123 TINF
1 GABRIEL MEDRANDA PROG. WEB 234 TINF
1 GABRIEL MEDRANDA CALCULO 237 TINF
2 IRIS ORTIZ BASES DE DATOS 123 TINF

ALUMNO ASIGNATURA
MATRICULA NOMBRE APELLIDO CARRERA MATRICULA ASIGNATURA CODASIG
1 GABRIEL MEDRANDA TINF 1 BASES DE DATOS 123
2 IRIS ORTIZ TINF 1 PROG. WEB 234
1 CALCULO 237
2 BASES DE DATOS 123
NORMALIZACIÓN - PRACTICAS
Además de cumplir con las dos reglas del punto previo, la segunda forma normal añade la
necesidad de que no existan dependencias funcionales parciales. Esto significa que todos los
2 FN valores de las columnas de una fila deben depender de la clave primaria de dicha fila,
entendiendo por clave primaria los valores de todas las columnas que la formen, en caso de
ser más de una.

Las tablas que están ajustadas a la primera forma normal, y además


disponen de una clave primaria formada por una única columna con un
valor indivisible, cumplen ya con la segunda forma normal. Ésta afecta
exclusivamente a las tablas en las que la clave primaria está formada por
los valores de dos o más columnas, debiendo asegurarse, en este caso,
que todas las demás columnas son accesibles a través de la clave
completa y nunca mediante una parte de esa clave.
NORMALIZACIÓN - PRACTICAS
ALUMNO ASIGNATURA
MATRICULA NOMBRE APELLIDO CARRERA MATRICULA ASIGNATURA CODASIG
1 GABRIEL MEDRANDA TINF 1 BASES DE DATOS 123
2 IRIS ORTIZ TINF 1 PROG. WEB 234
1 CALCULO 237
2 BASES DE DATOS 123

ASIGNATURA
MATRICULA CODASIG
CODASIG ASIGNATURA
1 123
123 BASES DE DATOS
1 234
234 PROG. WEB
1 237
237 CALCULO
2 123

LLAVES FORÁNEAS
NORMALIZACIÓN - PRACTICAS

En cuanto a la tercera forma normal, ésta indica que no


deben existir dependencias transitivas entre las columnas
3 FN de una tabla, lo cual significa que las columnas que no
forman parte de la clave primaria deben depender sólo de
la clave, nunca de otra columna no clave.

MATRICULA NOMBRE APELLIDO CARRERA


1 GABRIEL MEDRANDA TINF
2 IRIS ORTIZ TINF

NCARRERA CARRERA
1234 TINF
5678 CIVIL
NORMALIZACIÓN - PRACTICAS
TABLA INICIAL
MATRICULA NOMBRE APELLIDO ASIGNATURA CODASIG CARRERA
1 GABRIEL MEDRANDA BASES DE DATOS 123 TINF
1 GABRIEL MEDRANDA PROG. WEB 234 TINF
1 GABRIEL MEDRANDA CALCULO 237 TINF
2 IRIS ORTIZ BASES DE DATOS 123 TINF

FINALIZADO
MATRICULA NOMBRE APELLIDO NCARRERA MATRICULA CODASIG CODASIG ASIGNATURA
1 GABRIEL MEDRANDA 1234 1 123 123 BASES DE DATOS
2 IRIS ORTIZ 1234 1 234 234 PROG. WEB
1 237 237 CALCULO
NCARRERA CARRERA 2 123
1234 TINF
5678 CIVIL
NORMALIZACIÓN - PRACTICAS
Normalización con un ejemplo simplificado de una base de datos para una pequeña biblioteca.

Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) de sólo tener campos atómicos, pues el nombre del lector es
un campo que puede (y conviene) descomponerse en apellido paterno, apellido materno y nombres.
NORMALIZACIÓN - PRACTICAS
1FN

Como se puede ver, hay cierta redundancia característica de 1FN.


NORMALIZACIÓN - PRACTICAS
La Segunda Forma Normal (2FN) pide que no existan dependencias parciales o dicho de otra manera, todos los atributos no clave
deben depender por completo de la clave primaria. Actualmente en nuestra tabla tenemos varias dependencias parciales si
consideramos como atributo clave el código del libro.
Por ejemplo, el título es completamente identificado por el código del libro, pero el nombre del lector en realidad no tiene
dependencia de este código, por tanto estos datos deben ser trasladados a otra tabla.
La nueva tabla sólo contendrá Se ha creado una tabla para contener los datos del
datos del lector. lector y también crear la columna CodLector para
identificar unívocamente a cada uno. Sin embargo, esta
nueva disposición de la base de datos necesita que
exista otra tabla para mantener la información de qué
libros están prestados a qué lectores.
NORMALIZACIÓN - PRACTICAS
Para la Tercera Forma Normal (3FN) la relación debe estar en 2FN y además los atributos no clave deben ser mutuamente
independientes y dependientes por completo de la clave primaria. También recordemos que se dijo que esto significa que las
columnas en la tabla deben contener solamente información sobre la entidad definida por la clave primaria y, por tanto, las
columnas en la tabla deben contener datos acerca de una sola cosa.
En nuestro ejemplo en 2FN, la primera tabla conserva información acerca del libro, los autores y editoriales, por lo que debemos
crear nuevas tablas para satisfacer los requisitos de 3FN.
NORMALIZACIÓN - PRACTICAS
Aunque se ha creado nuevas tablas para que cada una tenga sólo información acerca de una entidad, también como ven se ha
perdido la información acerca de qué autor ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear
otras tablas que relacionen cada libro con sus autores y editoriales.

Y el resto de las tablas no necesitan


modificación
NORMALIZACIÓN - TALLER
 Considere los datos de la siguiente tabla

Aplicar la normalización respectiva, identificando cada una de ellas y documentarlo

También podría gustarte