Está en la página 1de 33

CLASE 6

¿Qué veremos hoy?

– Clase 06: Normalización (I)


• Modelo Relacional
• Primera Forma Normal
MODELO RELACIONAL

Empezaremos
tratando el tema
Modelo Relacional
MODELO RELACIONAL

¿Quién introdujo el ¿Hubo cambios significativos?


¿Qué es Modelo
modelo relacional y en No tardó en consolidarse como un nuevo
relacional?
que año? paradigma en los modelos de base de
datos.
• Es un modelo bastante potente • EDGAR FRANK CODD en el
• Simple de utilizar. año 1970.
• Elemento principal de este
modelo es la relación.
• Podemos decir que una base de
datos relacional está compuesta Ya que; en aquellos momentos, el
por un conjunto de relaciones enfoque existente para la estructura
de las bases de datos era utilizar
punteros físicos (direcciones de
disco) para relacionar registros de
distintos archivos.
MODELO RELACIONAL

“Se propone un modelo relacional de datos como una base para


proteger a los usuarios de sistemas de datos formateados de los
cambios que potencialmente pueden alterar la representación de los
datos, causados por el crecimiento del banco de datos y por los cambios
en los caminos de acceso”.
MODELO RELACIONAL

Campo, atributo, columna

Registro, fila, tupla


MODELO RELACIONAL

• Es la estructura básica del modelo relacional. Se representan


Relación utilizando tablas.

• Son las propiedades de la relación. Se representan mediante


Atributo columnas en las tablas.

• Conjunto de valores sobre los que se define el tipo de un atributo.


Dominio

• ocurrencia de la relación. Se representa mediante filas dentro de


Tupla las tablas.
MODELO RELACIONAL

Debemos tener claro, las siguientes consideraciones:

4. Cada valor
dentro de la
1. No debe 3. El orden de
2. El orden de relación (cada
haber dos filas las columnas
las filas no es valor de un
(tuplas) no es
significativo atributo) es un
iguales. significativo.
dato atómico
(o elemental).
MODELO RELACIONAL en Tablas
MODELO RELACIONAL

M.R. PROVEEDOR - PRODUCTO


MODELO RELACIONAL: Demostración con datos

TABLA: PROVEEDORES TABLA: PRODUCTOS

TABLA:
DETALLE_PROVEPROD
MODELO RELACIONAL - Ventajas

La información se
maneja en forma
de tablas, lo que
Favorece la constituye una
normalización por manera familiar de
ser más representarla.
Garantiza la comprensible y
integridad aplicable.
referencial, así, al
Provee eliminar un registro
herramientas que elimina todos los
garantizan evitar la registros
duplicidad de relacionados
registros dependientes.
MODELO RELACIONAL -¿Qué operaciones podemos realizar?

ELIMINACIÓN
de datos
MODIFICACIÓN
de datos
CREACIÓN
de datos
MODELO RELACIONAL

Ejemplo: CREACIÓN

1. Creación:
Añadir un producto P007. Se agrega la nueva ocurrencia en la tabla
PRODUCTOS: Es posible hacerlo aunque ningún proveedor lo suministre.
MODELO RELACIONAL

Ejemplo: MODIFICACIÓN

2. Modificación:
Cambiar el precio del producto P006 sin necesidad de
búsquedas adicionales ni posibilidad de inconsistencias.

1 2

Sin actualizar Actualizado


MODELO RELACIONAL
Ejemplo: ELIMINACIÓN

3. Eliminación:
Supresión del Proveedor PR001 y su detalle, sin perder los productos
P001, P002, P003, P004, P004, P005, P006.
TABLA: DETALLE_PROVEPROD
TABLA: PROVEEDORES

Detalle

TABLA: PRODUCTOS
MODELO RELACIONAL

ELIMINACIÓN: Resultado
3. Eliminación:
Supresión del Proveedor PR001 y su detalle, sin perder los productos
P001, P002, P003, P004, P004, P005, P006.

TABLA: PROVEEDORES TABLA: DETALLE_PROVEPROD

TABLA: PRODUCTOS
NORMALIZACIÓN

Continuamos con el
tema
Normalización
NORMALIZACIÓN
¿QUÉ ES UNA NORMALIZACIÓN?

Es una regla para obtener estructuras de datos eficientes que eviten las anomalías
de actualización.

Es el proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas
tras el paso del modelo E-R (entidad-relación) al modelo relacional.

Es el concepto que ha introducido Edgar Frank Codd pensando, para aplicarse a


sistemas relacionales.

Es la expresión formal del modo de realizar un buen diseño.


NORMALIZACIÓN
¿CUÁLES SON LAS FASES?

Quinta Forma
Normal (5FN)
Cuarta Forma Formas
Normal (4FN)
Forma
Normal de
Tercera Boyce-Codd
Forma (FNBC)
Segunda Normal (3FN)
Forma
Primera Normal (2FN)
Forma
Normal (1FN)
NORMALIZACIÓN

¿CUÁLES SON LOS OBJETIVOS PRINCIPALES?

Tener
almacenado Eliminar Eliminar
Datos
con el menor datos errores
ordenados
espacio repetidos lógicos
posible
NORMALIZACIÓN

¿QUÉ DEBEMOS TENER EN CUENTA ANTES DE NORMALIZAR?

CONOCER.

¿QUÉ ES?

DATOS ATÓMICOS DATOS NO ATÓMICOS


NORMALIZACIÓN

Se le llama así cuando el campo de cada


registro no posee partes más pequeñas a las
que se pueda acceder; es decir solo tiene una
ocurrencia, por ejemplo:
DATOS
ATÓMICOS

Datos atómicos
NORMALIZACIÓN

Se le llama así cuando el campo de cada registro tiene más de


una ocurrencia, por ejemplo:
DATOS NO
ATÓMICOS
NORMALIZACIÓN
¿QUÉ DEBEMOS TENER EN CUENTA ANTES DE NORMALIZAR?

1. Eliminar las columnas


calculadas.
2. Agregar columnas (código)
3. No tomar en cuenta para
normalizar los datos que se
repiten(encabezado, pie de
página, logos etc.) en los
documentos
NORMALIZACIÓN – Ejemplo Hoja de pedido
NORMALIZACIÓN: CASO DESARROLLADO

CASO:
Diseño de la base de datos para la automatización del control de pedido de productos.
Se cuenta con el siguiente documento para solicitar los productos:
NORMALIZACIÓN
Una relación está en la 1ra. forma normal si:

• La tabla contiene una clave primaria


• La tabla no contiene atributos nulos.
• Sus tuplas (filas) contienen valores atómicos, es decir, no
contienen valores que a su vez sean conjuntos.
• Lo que significa, que debemos eliminar los atributos
Primera Forma repetidos o grupos de atributos.
Normal (1FN)

En resumen: El contenido de una columna debe contener un solo


concepto.
NORMALIZACIÓN: CASO DESARROLLADO

Paso 1
Atributo Descripción 1FN
 Se efectúa un listado de Datos: NUM_PED Número de pedido.
FEC_PED Fecha en que se realizó el pedido.
NOM_CLI Nombre del cliente solicitante.
DIR_CLI Dirección del cliente.
NUM_PRO Número o código del producto.
DES_PRO Descripción del producto solicitado en pedido.

 Indicando la clave. PUNI_PRO


CANT_PED
Precio unitario del producto.
Cantidad de productos solicitados en el pedido.
TOT_PED Importe por cada producto solicitado.
RELACIÓN RESULTANTE IMP_PED Importe total a pagar por todos los productos pedidos.

PEDIDO (NUM_PED, FEC_PED, NUM_ CLI, NOM_ CLI, DIR_ CLI,


NUM_PRO, DES_PRO, PUNI_PRO,
29
CANT_PED, TOT_PED, IMP_PED)
NORMALIZACIÓN: CASO DESARROLLADO

Atributo Descripción
Paso 2 NUM_PED Número de pedido.
FEC_PED Fecha en que se realizó el pedido.
NOM_CLI Nombre del cliente solicitante.
DIR_CLI
NUM_PRO
Dirección del cliente.
Número o código del producto.
1FN
DES_PRO Descripción del producto solicitado en pedido.
PUNI_PRO Precio unitario del producto.
CANT_PED Cantidad de productos solicitados en el pedido.
TOT_PED Importe por cada producto solicitado.
IMP_PED Importe total a pagar por todos los productos pedidos.

 Se verifica si existen grupos repetidos:

 Si no existen grupos repetidos, la relación está


en 1FN, de lo contrario:
NORMALIZACIÓN: CASO DESARROLLADO

Se eliminan los grupos repetidos, creándose dos relaciones:

 Una relación para los campos que sean únicos; es decir, se dejan en la
relación original sólo los atributos que no son repetitivos: 1FN

PEDIDO (NUM_PED, FEC_PED, NUM_ CLI, NOM_ CLI, DIR_ CLI)

 Una relación para los grupos repetitivos; es decir, se extraen en una


nueva relación los atributos repetitivos, además de la llave primaria de
la relación original: Llave Compuesta

Paso 3 PED-PROD(NUM_PED,NUM_PROD,DES_PRO,PUNI_PRO,
CANT_PED,TOT_PED)

 Determinación de la llave de cada relación.


¿Qué consideraciones debo tener cuando haya terminado la primera forma
normal?

Terminando la 1FN ahora se presentan los siguientes problemas:

1. Creación: La información sobre un nuevo producto no se puede 1FN


insertar, si no hay un pedido que lo incluya.

2. Eliminación: Supresión de una línea de pedido que sea la única que


pida un producto, implica perder la información del producto.

3. Modificación: Por cada línea de pedido en la que se solicite


determinado producto se tiene una ocurrencia en PED-PROD, que
repite la información sobre éste. Si cambia algún atributo del
producto, entonces es necesario hacer muchas actualizaciones.
SOLUCIÓN: 2FN
ENRIQUE MANCILLA RAMIREZ
DOCENTE: SQL SERVER

¡Gracias!
¿Alguna consulta?

También podría gustarte