You are on page 1of 20

23/10/2016

Modelamiento de Datos:
Normalizacin de Base de Datos
Base de Datos

Objetivos
Identificar los niveles de las formas normales en
modelamiento de datos.
Modelar datos aplicando formas normales.

23/10/2016

Objetivos del Curso

Reconocer la importancia de las bases de datos y sus mltiples aplicaciones.


Manipular la base de datos con sentencias DML.
Identificar y manejar funciones de base de datos.
Analizar y disear el modelo de datos.
Identificar los componentes del ODBC y JDBC para la conexin a Base de Datos.
Identificar los componentes de la arquitectura de la base de datos.
Administrar las estructuras de almacenamiento y manejo de usuarios.

Resultados del Programa

d. Los estudiantes disean y optimizan software con creatividad.

e. Los estudiantes trabajan eficazmente en equipo.

g. Los estudiantes se comunican efectivamente de manera oral, escrita y


grfica.

23/10/2016

Normalizacin de Datos
Modelo de Datos Relacional

Edward Ted Codd 19/08/1923 18/04/1993


Enfoque matemtico Teora de conjuntos.
Relacin (Ri) = {Teora de Conjuntos (aj)}
5

Las Bases de Datos.


Las bases de datos son un repositorio
no necesariamente informtico, puede
ser manual donde se almacena un
conjunto de datos que representan
transacciones, movimientos, procesos
o los estados de una empresa.

Una base de datos debe tener una forma estructurada y lgica


de acceso o una metodologa de ingreso.

En la BD automatizados se tendr programas o aplicativos


para el desarrollo.

23/10/2016

Normalizacin

El proceso de normalizacin de bases de datos consiste


en designar y aplicar una serie de reglas para pasar del
modelo entidad-relacin al modelo relacional (diseo de
base de datos).

Justificacin
Evitar la redundancia de los datos.
Disminuir problemas de actualizacin de los datos en las
tablas.
Proteger la integridad de los datos.

23/10/2016

Normalizacin de un modelo Entidad-Relacin

Entidad-Relacin
Entidad
Relacin

Normalizacin de Datos
Tabla
Columna (clave primaria y
fornea) o campo
Columna o campo
Clave primaria
Clave fornea

Atributos
Clave primaria
Clave fornea

Tipos de dependencia.
Pk

A
B
C

Pk

A
B
C

Funcional
DEPENDENCIAS
Transitiva

23/10/2016

Dependencia Funcional
Es una conexin entre uno o ms atributos. Por ejemplo
el valor DNI tiene una conexin con Apellido o Nombre.
Las dependencias funcionales del sistema se escriben
utilizando una flecha, de la siguiente manera:
-

FechaDeNacimiento

Edad

Resumen de Formas Normales


1. 1FN: elimina los valores (grupos) repetidos.
2. 2FN: asegura dependencias funcionales.
3. 3FN: elimina dependencias transitivas.
Aunque existen la 4FN y 5FN, la mayor parte de bases
de datos requieren llegar solamente hasta la 3FN.
El equivalente a la 3FN es la forma normal de BoyceCodd.

12

23/10/2016

Primera Forma Normal (1FN)


Cannica

13

Definicin de 1FN (CANONICA)


Una tabla est en 1FN si se garantiza la atomicidad de
sus datos y se eliminan los grupos repetidos.
Un valor atmico es aquel que no puede ser
descompuesto en pedazos ms pequeos por el DBMS
(excepto ciertas funciones especiales).
Empleados
ID

Nombre

Edad

Salario

50

500

10

51

400

40

500

23/10/2016

Criterios de aplicacin para la 1FN.


Cada columna debe de tener un nombre nico.
El orden de las filas y columnas no importa.
Cada columna tiene que tener un nico tipo de dato.
Dos filas no pueden contener valores idnticos.
Cada columna tienen que contener un valor nico.
Las columnas no pueden contener grupos repetidos.
Elimnelos.
Cree una tabla independiente para cada conjunto de datos
relacionados.
Identifique cada conjunto de datos relacionados con una clave
principal.

Aplicacin de 1FN
Se desean guardar nombres y nmeros telefnicos de
clientes.

16

23/10/2016

Solucin incorrecta 1
No se puede tener ms de un valor para una columna
correspondiente a una fila.

17

Solucin incorrecta 2
No deberan existir mltiples columnas para un mismo
tipo conceptual de dato.

18

23/10/2016

Solucin incorrecta 3
No se debe registrar ms de un valor por columna.

19

Solucin de 1FN
Se eliminan los grupos repetidos creando otra tabla.

20

10

23/10/2016

Segunda Forma Normal (2FN)

21

Definicin de 2FN
Una tabla est en 2NF si:
-

Est en primera forma normal (1FN).


Dada una clave primaria y cualquier atributo que no sea
parte de la clave primaria, el atributo no clave depende
de toda la clave primaria en vez de solo de una parte de
ella.

22

11

23/10/2016

Criterios a aplicar para la 2FN


Garantice la dependencia funcional de todos los
atributos del modelo:
-

Cree tablas independientes para conjuntos de valores


que se apliquen a varios registros.
Relacione estas tablas con una clave externa.

23

Dependencia Transitiva
Si X Y Z, entonces X Z.
Ejemplo: tenemos que FechaDeNacimiento determina a
Edad y la Edad determina a Conducir, indirectamente
llegar a Conducir a travs de FechaDeNacimiento.

24

12

23/10/2016

Aplicacin de 2FN
Se desea describir las habilidades de los empleados.

PK:
Empleado +
Habilidad

Depende
solamente
de
Empleado.

Solucin de 2FN
Definir tablas independientes:

26

13

23/10/2016

Tercera Forma Normal (3FN)

27

Definicin de 3FN
Una tabla est en 3FN si:
-

Est en la segunda forma normal (2NF).


Ningn atributo no-primario de la tabla es dependiente
transitivamente de una clave primaria.

Un atributo no-primario es un atributo que no pertenece


a ninguna clave candidata.

28

14

23/10/2016

Criterios a aplicar para la 3FN

Elimine las dependencias transitivas.


En otras palabras, los campos que no dependan de la
clave deben ir en su propia tabla.

29

Aplicacin de 3FN

Clave candidata: {Torneo, Ao}


Fecha de nacimiento del ganador depende
{Torneo, Ao} va Ganador.
30

15

23/10/2016

Solucin de 3FN
Se crea una tabla para los atributos dependientes
transitivamente de la clave candidata:

Diseo de BD

NORMALIZACIN
RELACIN

Modelo de Datos
Modelo Relacional

2da FN Implica transitividad


1ra FN (Cannica)
3ra FN

Relaciones
(Teora de conjuntos)

4ta FN + 5FN

Tablas
AT1

AT2

AT3

ATn

REGISTROS

3ra FN: Todo atributo no parte de la llave


primaria, depende completamente de la llave.

16

23/10/2016

Si en una tabla se utiliza la 3ra


FN. Toda la BD est en 3ra FN.

NORMALIZACIN
Llave primaria

Transitividad

1ra FN (Todo en un plano atmico)

Empleados
ID

Nombre

Edad

Salario

50

500

10

20

300

51

510

3ra FN
Todo atributo no parte de
la llave primaria, depende
completamente de la llave.

2da FN (Transitividad)

El salario de un empleado
cambia con la edad, PERO la
cedula de un empleado me
dice su edad y su salario

Empleados

Salario (B)

ID

Nombre

Edad

Edad

Salario

50

50

500

10

20

20

300

51

51

510

Ejemplo.

Que campos poseen redundancia de datos?


Que campos no poseen redundancia de datos?
Que campos originan la redundancia de datos?
Cul es la Primary Key en la Tabla?

cod_alum

nombre

direccin

celular curso

cod_curso carrera

56854

Pablo

Av. Sol 265

562

CAD

RF-0015

Redes

56854

Pablo

Av. Sol 265

562

HTML

RF-0014

Redes

56854

Pablo

Av. Sol 265

562

CS5

RF-0256

Redes

56854

Pablo

Av. Sol 265

562

BD

RF-0902

Redes

56854

Pablo

Av. Sol 265

562

VBA

RF-0758

Redes

58965

Sofa

Calle Lima 263

369

PHP

RF-6215

Redes

17

23/10/2016

Primera Forma Normal


cod_alum

nombre

direccin

56854

Pablo

Av. Sol 265

562

Redes

58965

Sofa

Calle Lima 263

369

Redes

cod_alum

curso

cod_curso

56854

CAD

RF-0015

56854

HTML

RF-0014

56854

CS5

RF-0256

56854

BD

RF-0902

56854

VBA

RF-0758

celular

carrera

Existen
llaves
Primarias
en la Tabla?

Existen dependencia.
No Existe dependencia.

Segunda Forma Normal


La carrera depende del alumno.
cod_alum

nombre

direccin

celular

carrera

56854

Pablo

Av. Sol 265

562

Redes

58965

Sofa

Calle Lima 263

369

Redes
curso

cod_curso

cod_alum cod_curso

CAD

RF-0015

56854

RF-0015

HTML

RF-0014

56854

RF-0014

CS5

RF-0256

56854

RF-0256

BD

RF-0902

56854

RF-0902

VBA

RF-0758

56854

RF-0758

PHP

RF-6215

58965

RF-6215

18

23/10/2016

Tercera Forma Normal


cod_alum

nombre

direccin

celular

Cod_carrera

56854

Pablo

Av. Sol 265

562

9832-C6

58965

Sofa

Calle Lima 263

369

9832-C6

cod_alum cod_curso
56854

RF-0015

56854

RF-0014

56854

RF-0256

56854

RF-0902

56854

RF-0758

58965

RF-6215

cod_carrera

carrera

curso

cod_curso

9832-C6

Redes

CAD

RF-0015

6584-C8

Psicologia

HTML

RF-0014

CS5

RF-0256

BD

RF-0902

VBA

RF-0758

PHP

RF-6215

38

19

23/10/2016

Referencias
Normalizacin de bases de datos (2015/07/15). Wikipedia.
Consultado el 8 de mayo 2015 desde
http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_base
s_de_datos.
Fundamentos de la normalizacin de bases de datos (s.f.).
Microsoft. Consultado el 8 de mayo 2015 desde:
https://support.microsoft.com/en-us/kb/283878/es?wa=wsignin1.0.

FIN DE LA UNIDAD

20

You might also like