Está en la página 1de 31

Base de datos y programación visual

CURSO: BASE DE DATOS Y PROGRAMACIÓN VISUAL

Docente: Ing. Joseph Ballon Alvarez

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Normalización de

Datos

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Temas

Concepto de Normalización

Formas Normales

Caso de aplicación

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Concepto:

La normalización es un proceso que pretende conseguir tablas con una

estructura óptima y eficaz. El proceso

de normalización está basado en

lograr la independencia de los datos

respecto a las aplicaciones que los

usan. Evita la redundancia de datos.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Normalización

Valida y mejora el diseño lógico que satisface ciertas restricciones, la cual evita la

duplicación innecesaria de datos .

Proceso de descomposición de relaciones con anomalías para producir relaciones bien

estructuradas y más pequeñas.

No siempre provoca el mejor rendimiento en los RDBMS.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Relaciones bien estructuradas

Contiene mínima redundancia y permite que

los usuarios añadan, eliminen y actualicen

registros (filas) sin causar inconsistencias.

La meta es evitar anomalías

Anomalías de inserción: la adición de nuevas

a crear datos

filas

obliga

a

los

usuarios

duplicados.

Anomalías de eliminación: puede causar la pérdida de datos que deben ser requeridos para

otras filas futuras.

Anomalías de modificación: los datos cambiados obligan a cambiar otros causados por la duplicación.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Base de datos y programación visual Docente: Ing. Joseph Ballon Alvarez

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Claves y Dependencia Funcional

El valor de un atributo A ( determinante )

determina el valor de otro atributo B A B

Clave Candidata:

Unico identificador. Una de las claves que llega ha convertirse en la clave primaria.

Ej. Tanto el codigo de empleado como DNI ambas son

claves candidatas de la entidad Empleado.

Cada campo no clave es funcionalmente dependiente de cada clave candidata.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Normalización

RUC 30001 Nro 1240001

RUC 30001 Nro 1240001 RUC Dirección Razón Social Teléfono Cod Artículo Descripción Artículo Cant Prec.Unit

RUC

Dirección

Razón Social Teléfono

Cod Artículo Descripción Artículo Cant Prec.Unit Prec.Tot.
Cod Artículo
Descripción Artículo
Cant
Prec.Unit
Prec.Tot.

Fecha

/

/

Total Factura

Razón Social Teléfono Cod Artículo Descripción Artículo Cant Prec.Unit Prec.Tot. Fecha / / Total Factura

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Atributos de la Entidad

Nro Factura

RUC Cliente

Razón Social

Dirección

Total

Fecha

Cod Artículo

Descripción Artículo

Cant

Prec.Unit

Prec.Tot.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Primera Forma Normal

Eliminar

atributos

repetitivos).

multivaluados

(grupos

Cada atributo debe ser atómico.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Primera Forma Normal 1FN Grupos Repetitivos y valores atómicos

RUC 30001

Nro 1240001

RUC: 0000125 Razón Social: LIBRERIA PAZ

Dirección: Arica 325. Lince Telefono: 553432

Fecha 20/08/2007

Total Factura

2250.00

Cod Artículo Descripción Artículo Cant Prec.Unit Prec.Tot. 010 Lapicero Azul punta fina 100 2.50 250.00
Cod Artículo
Descripción Artículo
Cant
Prec.Unit
Prec.Tot.
010
Lapicero Azul punta fina
100
2.50
250.00
753
Cuaderno rayado A4
200
10.00
2000.00
2.50 250.00 753 Cuaderno rayado A4 200 10.00 2000.00 Documento Factura visto en una única Tabla

Documento Factura visto en una única Tabla

Nro_Factura RUC_Cliente Razón_Social Direccion_Cliente Total Fecha Cod_Articulo Desc_Articulo Cant Prec_Unitario
Nro_Factura
RUC_Cliente
Razón_Social
Direccion_Cliente
Total
Fecha
Cod_Articulo
Desc_Articulo
Cant
Prec_Unitario
Prec_Total

1240001

0000125 LIBRERIA PAZ

Arica 325. Lince

2250 20/08/2007

010 Lapicero Azul punta fina

100 2.5

250

1240001

0000125 LIBRERIA PAZ

Arica 325. Lince

2250 20/08/2007

753 Cuaderno rayado A4

200

10

2000

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Resultados de la Primera Forma Normal

Grupo No Repetitivo

Nro Factura

RUC Cliente

Razón Social

Dirección

Total

Fecha

Nro_Factura RUC_Cliente Razón Social Direccion_Cliente Total Fecha 1240001 0000125 LIBRERIA PAZ Arica 325. Lince
Nro_Factura
RUC_Cliente
Razón Social
Direccion_Cliente
Total
Fecha
1240001
0000125
LIBRERIA PAZ
Arica 325. Lince
2250
20/08/2007

Grupo Repetitivo

Nro Factura

Cod Artículo

Descripción Artículo

Cant

Prec.Unit

Prec.Tot.

Cod_Articulo 010 753 Desc_Articulo Cant Prec_Unitario Prec_Total Lapicero Azul punta fina 100 2.5

Cod_Articulo

010

753

Desc_Articulo

Cant

Prec_Unitario

Prec_Total

Lapicero Azul punta fina

100

2.5

250

Cuaderno rayado A4

200

10

2000

Prec_Unitario Prec_Total Lapicero Azul punta fina 100 2.5 250 Cuaderno rayado A4 200 10 2000
Prec_Unitario Prec_Total Lapicero Azul punta fina 100 2.5 250 Cuaderno rayado A4 200 10 2000
Prec_Unitario Prec_Total Lapicero Azul punta fina 100 2.5 250 Cuaderno rayado A4 200 10 2000
Prec_Unitario Prec_Total Lapicero Azul punta fina 100 2.5 250 Cuaderno rayado A4 200 10 2000

Nro_Factura

1240001

1240001

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Segunda Forma Normal

Dependencias Funcionales

Cada atributo no

clave

debe

estar

determinado por toda la clave y no parte de

esta.

funcionales

parciales.

Separar

dependencias

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Segunda Forma Normal Dependencias Funcionales

Grupo No Repetitivo

Nro Factura

RUC Cliente

Razón Social

Dirección

Total

Fecha

Dependencias Parciales

Dirección Total Fecha Dependencias Parciales Grupo Repetitivo Nro Factura Cod Artículo

Grupo Repetitivo

Total Fecha Dependencias Parciales Grupo Repetitivo Nro Factura Cod Artículo Descripción Artículo

Nro Factura

Cod Artículo

Descripción Artículo

Cant

Prec.Unit

Prec.Tot.

Descripción Artículo Cant Prec.Unit Prec.Tot. Dependencias Totales Docente: Ing. Joseph Ballon Alvarez

Dependencias Totales

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Resultados de la Segunda Forma Normal

Nro Factura

RUC Cliente

Razón Social

Dirección

Total

Fecha

Nro_Factura RUC_Cliente Razón Social Direccion_Cliente Total Fecha 1240001 0000125 LIBRERIA PAZ Arica 325. Lince
Nro_Factura
RUC_Cliente
Razón Social
Direccion_Cliente
Total
Fecha
1240001
0000125
LIBRERIA PAZ
Arica 325. Lince
2250
20/08/2007

Nro Factura

Cod Artículo

Cant

Prec.Tot.

Nro_Factura Cod_Articulo Cant Prec_Total 1240001 010 100 250 1240001 753 200 2000
Nro_Factura
Cod_Articulo
Cant
Prec_Total
1240001
010
100
250
1240001
753
200
2000

Cod Artículo

Descripción Artículo

Prec.Unit

Cod_Articulo Desc_Articulo Prec_Unitario 010 Lapicero Azul punta fina 2.5 753 Cuaderno rayado A4 10
Cod_Articulo
Desc_Articulo
Prec_Unitario
010
Lapicero Azul punta fina
2.5
753
Cuaderno rayado A4
10

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Tercera Forma Normal

Dependencias Transitivas

Un

determina

funcionalmente un segundo, el cual determina

a un tercero.

atributo

clave

no

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Tercera Forma Normal

Dependencias Transitivas

Dependencias Transitivas

Normal Dependencias Transitivas Dependencias Transitivas Nro Factura RUC Cliente Razón Social Dirección Total Fecha
Normal Dependencias Transitivas Dependencias Transitivas Nro Factura RUC Cliente Razón Social Dirección Total Fecha

Nro Factura

RUC Cliente

Razón Social

Dirección

Total

Fecha

Nro Factura

Cod Artículo

Cant

Prec.Tot.

Cod Artículo

Descripción Artículo

Prec.Unit

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Resultados de la Tercera Forma Normal

CLIENTE

RUC Cliente

Razón Social

Dirección

RUC_Cliente Razón Social Direccion_Cliente 0000125 LIBRERIA PAZ Arica 325. Lince
RUC_Cliente
Razón Social
Direccion_Cliente
0000125
LIBRERIA PAZ
Arica 325. Lince

DETALLE_FACTURA

ARTICULO

FACTURA

Nro Factura

RUC Cliente

Total

Fecha

Nro_Factura RUC_Cliente Total Fecha 1240001 0000125 2250 20/08/2007
Nro_Factura
RUC_Cliente
Total
Fecha
1240001
0000125
2250
20/08/2007

Nro Factura

Cod Artículo

Cant

Prec.Tot.

Nro_Factura Cod_Articulo Cant Prec_Total 1240001 010 100 250 1240001 753 200 2000
Nro_Factura
Cod_Articulo
Cant
Prec_Total
1240001
010
100
250
1240001
753
200
2000

Cod Artículo

Descripción Artículo

Prec.Unit

Cod_Articulo

Desc_Articulo

Prec_Unitario

010

Lapicero Azul punta fina

2.5

753

Cuaderno rayado A4

10

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Diagrama Entidad Relación

Base de datos y programación visual Diagrama Entidad Relación Docente: Ing. Joseph Ballon Alvarez

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Forma Normal Boyce-Codd

Una relación esta en la Forma Normal Boyce-

Codd si y solo si cada atributo determinante en una relación es una llave candidata.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Forma Normal de Boyce-Codd

Supuesto:

Cada Producto tiene un único Vendedor

Cliente

Cliente

Cliente
Cliente

Cliente_Producto

Cod Cliente

Cod Vendedor

Cod Producto Ultimo Precio Venta

Cod Cliente Cod Vendedor Cod Producto Ultimo Precio Venta Vendedor Producto Docente: Ing. Joseph Ballon Alvarez
Vendedor

Vendedor

Vendedor
Vendedor
Cod Cliente Cod Vendedor Cod Producto Ultimo Precio Venta Vendedor Producto Docente: Ing. Joseph Ballon Alvarez

Producto

Cod Cliente Cod Vendedor Cod Producto Ultimo Precio Venta Vendedor Producto Docente: Ing. Joseph Ballon Alvarez

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Forma Normal de Boyce-Codd

Cod Producto y el Ultimo Precio Venta son dependientes de la llave primaria.

Existe una segunda dependencia del Cod Producto al Cod Vendedor, derivada de la exclusividad que tiene cada Vendedor

sobre el Producto.

Por lo tanto el Cod Producto es un atributo determinante capaz de ser parte de la llave primaria, pero ponerlo conjuntamente con el Cod de Vendedor seria redundante.

Cod Cliente

Cod Vendedor

Cod Producto

Ultimo Precio Venta

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Forma Normal de Boyce-Codd

Propuesta de solución

Intercambiar los atributos Cod Vendedor por Cod Producto, quedando la relación pendiente de pasar

por la Segunda Forma Normal.

Cod Cliente

Cod Producto

Cod Vendedor

Ultimo Precio Venta

Cod Cliente Cod Producto Cod Vendedor Ultimo Precio Venta Dependencia Parcial Docente: Ing. Joseph Ballon Alvarez

Dependencia Parcial

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Forma Normal de Boyce-Codd

Aplicando la Segunda Forma Normal se obtiene

Cod Cliente

Cod Producto

Ultimo Precio Venta

Cod Producto

Cod Vendedor

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Cuarta Forma Normal

Se aplica a partir de la Forma Normal de Boyce-Codd y no contiene dependencias multivaluadas.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Cuarta Forma Normal

Dependencias Multivaluadas son:

Dependencias que existen cuando hay por lo menos 3 atributos A, B, C

B -> A,

C -> A, pero

B es independiente de C.

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Cuarta Forma Normal

Curso (A)

Profesor (B)

Texto (C)

García

Arce

Pérez

Drucker

Peters

Administración

Finanzas

Méndez

Jones

Chang

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Cuarta Forma Normal

Desarrollo

Curso (A)

Profesor (B)

Texto (C)

Administración

García

Drucker

Administración

García

Peters

Administración

Arce

Drucker

Administración

Arce

Peters

Administración

Pérez

Drucker

Administración

Pérez

Peters

Finanzas

Méndez

Jones

Finanzas

Méndez

Chang

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Cuarta Forma Normal

Profesor

Curso (A)

Profesor (B)

Administración

García

Administración

Arce

Administración

Pérez

Finanzas

Méndez

Texto

Curso (A)

Texto (C)

Administración

Drucker

Administración

Peters

Finanzas

Jones

Finanzas

Chang

Docente: Ing. Joseph Ballon Alvarez

Base de datos y programación visual

Quinta Forma Normal

Una Tabla esta en Quinta Forma Normal (5FN) o Forma

Normal de Proyección-Unión si está en 4FN y las únicas dependencias que existen son las dependencias de unión de una Tabla con sus proyecciones relacionándose

entre las distintas proyecciones mediante la clave

primaria o cualquier clave alterna. La 5FN se emplea cuando en una misma Tabla tenemos mucha información

redundante, con pocos atributos o cuando una Tabla posee una gran cantidad de atributos y se hace por ello

inmanejable.

Docente: Ing. Joseph Ballon Alvarez