Está en la página 1de 49

Universidad Tecnológica Nacional

Facultad Regional Córdoba


Departamento Ingeniería en Sistemas de Información
Cátedra Gestión de Datos

Normalización

Erika Fernández
Roberto Muñoz
Cátedra Gestión de Datos 1
Luis Damiano
Conocimientos Previos

 Base de Datos
 Base de Datos Relacionales
 Modelo Relacional
 Modelo Relacional Conceptos:
◦ Relación
◦ Claves: Candidata, Primaria y Foránea
Continuar

Cátedra Gestión de Datos 2


Base de Datos
 Una base de datos es una forma de almacenamiento
persistente, sostenido en el concepto de sistematización
de los datos que se almacenan. Siendo estos de un mismo
origen (entorno) y representando una determinada
realidad, la cual tiene un limite de entendimiento
preestablecido en su diseño.
 Los datos pueden o no estar almacenados en formato
digital y con un sistema informático.
◦ Almacenamiento Digital: Implica un sistema que organiza la información
dentro de un medio de almacenamiento computarizado, utilizando Motores
de base de datos (DBMS) tales como SqlServer, Oracle, DB2, MySql, etc.
◦ Almacenamiento no Digital: Organización de información que está sujeta a
una sistematización que no implica la utilización de medios informáticos,
tales como: Biblioteca Pública, Ficheros de historias clínicas de consultorios
médicos. Estos ejemplos pueden coexistir en la actualidad con algún medio
de acceso digital a la ubicación del elemento almacenado, libro, ficha médica.
Continuar

Cátedra Gestión de Datos 3


Base de Datos Relacional
 Una base de datos relacional es un tipo especial de
base de datos, cuyo funcionamiento y diseño
responden a las premisas del “modelo relacional”
 Es una base de datos que está soportada en formato
digital dentro de una computadora.
 Los motores de base de datos más conocidos
actualmente que utilizan el modelo relacional son:
SqlServer, Oracle, DB2, MySql, etc.
 Un motor de base de datos relacional (RDBMS), es el
software que administra una base de datos relacional.

Continuar

Cátedra Gestión de Datos 4


Modelo Relacional
 El modelo relacional presenta vistas tabulares (filas y
columnas) de los datos almacenados.
 Para diseñar un modelo de datos relacional se utiliza
una serie de normas o reglas.
 Esta normas se denominan “Formas Normales” y son
las que establecen el fundamento teórico de la
“Normalización”

Continuar

Cátedra Gestión de Datos 5


Conceptos
 El modelo relacional esta basado en una estructura
denominada “Relación”.
 La Relación tiene una estructura similar a una tabla
bidimensional, sólo que con mayor nivel de
abstracción.
 La tabla está compuesta por filas y columnas y la
relación por tuplas y atributos.
 La Relación cumple con un conjunto de restricciones
que la diferencian de una tabla común.
 Las restricciones a las que está sometida una relación:
◦ Las relaciones poseen un nombre propio irrepetible en el modelo al que
pertenecen.
◦ Los atributos dentro de una relación tiene también nombre propio
irrepetible.
◦ Los atributos no tiene un orden especifico dentro de la relación.
◦ Las tuplas son conjuntos únicos. Una tupla representa un único
conjunto de valores. Continuar
◦ Las tuplas no tienen ningún orden especifico .

Cátedra Gestión de Datos 6


Claves
 La forma para poder individualizar y ubicar inequívocamente una
tupla es la clave primaria. Por lo tanto, la clave primaria en una
forma de localización de una tupla.
 La clave primaria es el atributo, o conjunto de estos, que permite
una individualización, es decir la localización de una tupla dentro
del espectro de posible tuplas de una relación.
 El valor de la clave primaria debe ser único en toda la vida de la
relación.
 Si en la relación se observan distintas estructuras que permiten
planificar más de una clave primaria, entonces éstas se denominan
claves candidatas y sólo una de ellas será clave primaria.
 Entonces una clave primaria es también una clave candidata.
 En una relación de múltiples claves candidatas, sólo uno de ellas
se llamará clave primaria y las demás alternas.

Continuar

Cátedra Gestión de Datos 7


Claves (continuación)
 Los atributos que participan de la clave primaria no pueden causar
incertidumbre y por ello siempre toman valores ciertos.
 Una restricción de integridad es que los valores que componen la
clave primaria no pueden ser valores nulos.
 Nulo, significa que ese atributo para la tupla en cuestión es
desconocido. Nulo no es cero “0” para una atributo que pertenece
a un dominio de tipo numérico, ni tampoco espacios en blanco
para un atributo que pertenece a un dominio alfanumérico.
Simplemente nulo es la inexistencia de un valor posible.
 La clave primaria se simboliza con la sigla PK

Continuar

Cátedra Gestión de Datos 8


Claves (continuación)
 Clave Foránea es una estructura que permite asociar dos
relaciones.
 Esta asociación se produce entre la relación donde se declara la
clave foránea y la relación que posee la clave primaria.
 Si se declara una clave foránea en una relación “A” que se relaciona
con otra relación “B”, la clave primaria estructuralmente debe ser
igual a la clave foránea de “A”, para poder establecer la
vinculación.
 La clave foránea en una relación se declara sobre la totalidad de
los atributos de la clave primaria de otra relación.
 La clave foránea al no ser un elemento de individualización de la
relación puede repetirse ilimitadamente.
 La clave foránea también admite valor nulo. Esto trae como
consecuencia que la tupla que posee valor nulo no se encuentra
vinculada con la relación hacia la cual apunta la clave foránea. Esta
situación puede ser revertida en cualquier momento.

Continuar

Cátedra Gestión de Datos 9


Normalización
Introducción:
Cuando trabajamos sobre la normalización de un modelo para
resolver un problema estamos realizando un análisis de la lógica
funcional de este.
Esta acción de entender un problema nos hace identificar datos
con características y propiedades que dan origen y establecen los
atributos. Muchos de estos se encuentran ligados entre si con
determinada dependencia de funcionamiento.
Los atributos (datos) responden a una mecánica interna de
funcionalidad que podríamos definir como procesos internos.
Estos procesos dan el estado de asociación y dependencia de los
atributos y generan cierta definición de cómo se asocian estos
entre sí. Las colecciones de atributos asociados semánticamente
con un fin común nos permite individualizar las “Entidades” que
conforman la estructura lógica.
La aplicación de las formas normales nos permite que el
entendimiento que estamos realizando del problema, se
represente en un modelo “Normalizado” de solución.
Continuar

Cátedra Gestión de Datos 10


Normalización - Terminología

 Entidad
 Atributo
 Instancia
 Dominio

Continuar

Cátedra Gestión de Datos 11


Normalización - Entidad
 Se denomina Entidad al contenedor de una colección de atributos
que se encuentran fuertemente relacionados entre si por una
interpretación semántica que determina a la entidad misma.
 Por ejemplo si se encuentra observando una problemática que
involucra personas, terminará infiriendo que debe asociar todas
las características o atributos de las personas en una entidad que
las represente.

 Una entidad comparte los mismo principios de definición que una


relación, pero sólo en el diseño de la estructura sin hacer énfasis
en sus características físicas y de almacenamiento.

Continuar

Cátedra Gestión de Datos 12


Normalización - Atributo

 Se denomina Atributo a cada componente de una entidad que


califica y establece una propiedad dentro de la misma.
 En una entidad los atributos tiene un nombre único y no poseen
un orden específico.
específico

Continuar

Cátedra Gestión de Datos 13


Normalización - Instancia

 Es denominada Instancia a una ocurrencia de valores; al conjunto


de valores que conforma un mismo grupo.
 Una instancia dentro de una entidad encuentra correspondencia
con una tupla dentro de la relación.
 Las instancias son combinación ordenada de valores irrepetibles.
Una instancia de valores tiene una única posibilidad de existir
dentro de la entidad.
 Las instancias no tiene orden.

Continuar

Cátedra Gestión de Datos 14


Normalización - Dominio
 El dominio en el diseño lógico es la caracterización conceptual del
atributo. Es la definición de lo que queremos que represente ese
atributo al que le estamos asignado el dominio.
 Esta definición esta ligada al nombre propio del atributo y no al
tipo de dato del mismo. Esto será motivo de análisis en una
instancia posterior del modelo, en el diseño físico. Por ello se
recomienda establecer un nombre de atributo suficientemente
representativo del dominio al que se quiere asignar, para que esto
sea suficiente para su encasillamiento.
 Por ejemplo si para una entidad personas establecemos un
atributo de nombre fecha, su contenido puede ser amplio, puede
contener la fecha de nacimiento, de defunción, fecha ingreso o
casamiento, o cualquier otra fecha que se le pueda atribuir a la
persona. Pero si el atributo se denomina “fecha_nacimiento” en él
sólo se podrá almacenar este concepto.

Continuar

Cátedra Gestión de Datos 15


Normalización – Formas Normales
 Las formas normales son reglas a utilizar en el diseño de una base
de datos y son el sustento conceptual de la normalización.
 Actualmente se encuentran definidas cinco formas normales
mencionadas por su orden, más una especialización de la tercera
forma normal denominada “Forma normal Boyce-Codd”.
 Las formas normales se basan en los siguientes conceptos:
◦ Dependencia funcional (DF) y Dependencia Funcional Completa
(DFC).
◦ Dependencia multivaluada (DMV).
◦ Dependencia de reunión.

Continuar

Cátedra Gestión de Datos 16


Normalización – Dependencia Funcional
 Sean a y b atributos de una misma relación T, se dice que b es
funcionalmente dependiente de a si para el mismo valor de a tiene
asociado un único valor de b, o lo que es lo mismo, en todas las
tuplas de T en las que el atributo a toma el mismo valor v1, el
atributo b toma también un mismo valor v2.v2
 La dependencia funcional se denota T.a → T.b o bien simplemente
a → b.
 Los atributos a y b pueden ser simples o compuestos (formados
por la agregación de varios atributos). Los atributos
funcionalmente dependientes pueden o no formar parte de la
clave primaria de la tabla, de una clave candidata o de una clave
foránea de otra tabla.
 Claramente a → b no implica b → a. Pueden repetirse los valores
del atributo b para distintos valores de a.

Continuar

Cátedra Gestión de Datos


17
Normalización – Dependencia Funcional (Ejemplo)

Sucur y Número Fecha Id nombre total


Factura cliente cliente

01-100 01/03/08 01 José Paz 55

01-100 01/03/08 01 José Paz 55

01-2101 02/03/09 02 Juan Otto 40

01-5102 03/03/10 10 Ana Vega 60

a b
Consideremos el ejemplo de una tabla que contiene datos de Facturas.
Podemos observar claramente que el atributo “nombre cliente” depende
funcionalmente del “Id cliente”. a → b.
Continuar

Cátedra Gestión de Datos


18
Normalización – Dependencia Funcional Completa

 Dada una relación T, sean x y z atributos compuestos


pertenecientes a T. Se dice que z depende fincionalmente de x de
“forma completa”, si z depende de x y no depende de ningún
subconjunto de x.
 La dependencia funcional se representa como z => x.
 Si z es un atributo simple y z → x entonces la dependencia
funcional es con seguridad completa.

Continuar

Cátedra Gestión de Datos


19
Normalización – Dependencia Multivaluada

 En una relación T con los atributos a, b y c existe una dependencia


multivaludada de b con respecto a si los posibles valores de b para
un par de valores de a y c dependen únicamente del valor de a.

 Características destacadas:
1) Debemos observar que para cada atributo de la Relación hay una
evidente repetición de valores, que nos hace pensar en
redundancia de datos.
2) La relación debe tener por lo menos tres atributos.
3) Debe observarse que dos de los atributos son independientes
entres si funcionalmente.
4) El tercer atributo establece una dependencia funcional con los
otros dos.

Continuar

Cátedra Gestión de Datos


20
Normalización – Dependencia de Reunión

Una relación R satisface la dependencia de reunión (DR)


*(A, B, . . . . , Z)
Sí y solo sí R se puede construir con la reunión de sus proyecciones A,
B, . . . ., Z siendo A, B, . . . ., Z subconjuntos de atributos de R.

Características:

 La cantidad de atributos de la entidad es tres o superior a tres.


 Todos los atributos de la relación componen la clave primaria.
 No debe haber dependencia funcional entre ninguno de sus
atributos y tampoco dependencias multivaluadas no triviales.
 La entidad se encuentra en 4FN.

Continuar

Cátedra Gestión de Datos


21
Normalización – Formas Normales
 El concepto de Dependencia Funcional brinda la base conceptual
para las formas normales que van de la primera a la tercera y
también Boyce-Codd.

 Dependencia Multivaluada sólo actúa en cuarta forma normal.

 Dependencia de Reunión en quinta forma normal.

 Si bien las formas normales son seis, los casos mas comunes de
normalización se suscitan en el rango que va de la primera forma
normal hasta Boyce-Codd.

 Las nomenclaturas para mencionar esta formas son: 1FN, 2FN,


3FN, FNBC, 4FN y 5FN. También puede observar la nomenclatura
de las letras “FN” como “NF”, esto de la nomenclatura en idioma
ingles.
Continuar

Cátedra Gestión de Datos 22


Normalización – 1FN
Definición
Una relación se encuentra en primera forma normal, sí y solo sí, todos
los dominios simples subyacentes de los atributos contienen
valores atómicos y monovalentes.
Dominios simples de los atributos: se refiere a que todos los atributos
que componen una entidad tienen un único dominio y por ello este
es simple. Los atributos se encuentran reducidos conceptualmente
a la mínima definición de dominio y por ello su expresión no
resiste mayor división.
Si el dominio es simple como mencionamos, sus valores serán atómicos.
La expresión de atómico no significa que el contenido no pueda ser
compuesto, por ejemplo el nombre de una persona (“María José”),
sino que el domino nombre no está integrado a otro domino como
el apellido.
Monovalentes: está referido a que la información se representa una única
vez dentro del modelo. Entonces se deben arbitrar proyecciones
(descomposiciones) de entidades suficientes, para que la
información sea reflejada una sola vez.
Continuar

Cátedra Gestión de Datos 23


Normalización – 1FN
Explicación desde la práctica
Observe la siguiente planilla de datos, con un resumen de ventas de una
librería que procesa todos sus datos desde una planilla de cálculos
del tipo Excel .

Sucur y Fecha Id nombre Id forma pago Id Nombre Precio cantidad total


Número cliente cliente pago artículo artículo unitario
Factura
01-100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55

01-100 01/03/08 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55

01-2101 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40

01-5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60

01-5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60

Tomaremos esta tabla y la procesaremos para que se


transforme en N relaciones que cumplan con 1FN Continuar

Cátedra Gestión de Datos 24


Normalización – 1FN
Comencemos con los dominios
Sucur y
SucurFecha
Sucur
Número y Número
Id nombre Id
forma pago
Id Nombre Precio
cantidad total
cliente cliente pago artículo artículo unitario
Número Factura
Factura
Factura
01-100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55
01 100
01-10001/03/08
01-100 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55
01 100
02-100 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40
01-100
02 100
01-5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60
02-100
01 5102
01-5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60
01-5102
01 5102
01-5102 sePara
Primero debelogar
observar
que la los dominios
columna de los atributos
“Sucursal y Númeroy
detectar aquellos
Factura” que
poseano son dominios
dominio simple simples
se debe dividir la Una
AsíObserve
debieran quedar conformadas las
que el dominio de la columna “Sucursal y nuevas dos columnas.
Clic
columna misma
para en dos columnas.
la “Sucursal” y por
otra Unaelpara
dospara
la sucursal
“Número Factura”y otra
Número de Factura” está compuesto valores. …
para
Este dominio el Número
evidentemente no esde Factura
simple. Los dos
valores son la sucursal y el número de factura
correspondiente. Continuar
Clic

Cátedra Gestión de Datos 25
Normalización – 1FN
Dominios simples conseguidos
Sucur Número Id nombre Id Id Nombre Precio
Sucur Número
Factura Fecha forma pago cantidad total
cliente cliente pago artículo artículo unitario
Factura
01 100
100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55

01 100
100 01/03/08 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55

02 100
100 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40

01 5102
5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60

01 5102
5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60

Ahora
Todavía debiéramos
Ya tenemosno puede
la tablaser
fijar
denominada
con nuestra
dominiosatención
“relación”
simplesen elpues
concepto
siguede
sin
“atributos
respetar algunas
monovalente”
restricciones necesarias para serlo.
Esta
Otra fue
forma
la acción
de expresarlo,
que realizamos
sería evitar
paralos
que“grupos
la tablarepetitivos”,
tuviera todospara
sus
que dominios
la información
simples.
se encuentre
La divisiónexpresada
de una columna
una solaenvez.
dos.
Clic Continuar


Cátedra Gestión de Datos
26
Normalización – 1FN
Dominios
Continuemos
simples
con grupos
conseguidos
repetitivos
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente cliente pago forma pago artículo artículo unitario cantidad total
01 100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55

01 100 01/03/08 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55

02 100 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40

01 5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60

01 5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60

Observe que para las facturas 100 y 5102 se repiten datos. Esto es
porque en ambos casos hay dos artículos detallados.

Continuar

Cátedra Gestión de Datos


27
Normalización – 1FN
Continuemos con grupos repetitivos
Nombr
Número Id nombre Id Id e Precio
Sucur Factura Fecha cliente cliente pago forma pago artículo artículo unitario cantidad total
01 100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55

01 100 01/03/08 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55

02 100 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40

01 5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60

01 5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60

Observe que para las facturas 100 y 5102 se repiten datos. Esto es
porque en ambos casos hay dos artículos detallados.
Esto valores repetidos, no respetan la definición de monovalentes, se
debe operar algún cambio para que los valores se presente una sola
vez. Continuar
Las columnas que contiene valores repetidos son las
resaltadas con fondo amarillo y negrita.
Cátedra Gestión de Datos
28
Normalización – 1FN
Continuemos con grupos repetitivos
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente cliente pago forma pago artículo artículo unitario cantidad total
01 100 01/03/08 01 José Paz 1 Cuenta Corr 1 Goma 2,5 10 55

01 100 01/03/08 01 José Paz 1 Cuenta Corr 2 Lápiz 1 30 55

02 100 02/03/09 02 Juan Otto 2 Contado 3 Regla 4 10 40

01 5102 03/03/10 10 Ana Vega 3 Cheque 1 Goma 4,5 10 60

01 5102 03/03/10 10 Ana Vega 3 Cheque 2 Lápiz 1,5 10 60

Los datos que repiten se individualizan con recuadro rojo.


Los datos que no repiten con recuadro verde.
La acción que se debe aplicar es la separación de las columnas
que contiene el grupo repetitivo en una tabla y las columnas
Continuar
que no contiene grupo repetitivo en otra tabla.

Cátedra Gestión de Datos


29
Normalización – 1FN
Continuemos con grupos repetitivos
Tabla Factura
Factura Tabla Detalle
Detalle Factura
Factura
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente cliente pago forma pago total artículo artículo unitario cantidad
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 1 Goma 2,5 10

01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 2 Lápiz 1 30

02 100 02/03/09 02 Juan Otto 2 Contado 40 3 Regla 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 1 Goma 4,5 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 2 Lápiz 1,5 10

Así quedaría la tabla que contiene los grupo Esta sería la tabla que
repetitivos contiene los datos no
repetitivos
Ahora tenemos dos tablas, debiéremos nombrarlas para poder
individualizarlas una de otra.
Cuando las mencionemos simplemente diremos “Factura” Continuar
o “Detalle Factura”
Cátedra Gestión de Datos
30
Normalización – 1FN
Continuemos con grupos repetitivos
Factura Detalle Factura
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente cliente pago forma pago total artículo artículo unitario cantidad
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 1 Goma 2,5 10

01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 2 Lápiz 1 30

02 100 02/03/09 02 Juan Otto 2 Contado 40 3 Regla 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 1 Goma 4,5 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 2 Lápiz 1,5 10

Observe que tenemos dos tablas, pero no queda establecido en


Detalle Factura ¿Qué detalle corresponde para cada Factura?
También, siguen duplicados las filas en la tabla Factura.
La forma que tenemos para relacionar Detalle Factura con Factura
es estableciendo una clave foránea en Detalle Factura Continuar
que apunte a Factura.

Cátedra Gestión de Datos


31
Normalización – 1FN
Continuemos con grupos repetitivos
Factura Detalle Factura
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente cliente pago forma pago total artículo artículo unitario cantidad
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 1 Goma 2,5 10

01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 2 Lápiz 1 30

02 100 02/03/09 02 Juan Otto 2 Contado 40 3 Regla 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 1 Goma 4,5 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 2 Lápiz 1,5 10

Par crear la FK en Detalle de Factura, primero debemos tener decla-


rada una clave primaria en Factura. Y para ello, en Factura no debe
haber filas duplicadas.
Eliminemos las filas duplicadas de Factura, para poder declarar la PK
Continuar

Cátedra Gestión de Datos


32
Normalización – 1FN
Ya sin grupos repetitivos, PK Factura
Factura Detalle Factura
Número
Número Id nombre Id Id Nombre Precio
Sucur Factura Fecha cliente
Sucur Factura cliente pago forma pago total artículo artículo unitario cantidad
0101 100
100 01/03/08
100 01 José Paz 1 Cuenta Corr 55 1 Goma 2,5 10

0202 100
100 02/03/09
100 02 Juan Otto 2 Contado 40 2 Lápiz 1 30

0101 5102
5102 03/03/10
5102 10 Ana Vega 3 Cheque 60 3 Regla 4 10

1 Goma 4,5 10
Aquí ya está la tabla Factura sin filas dupli-
2 Lápiz 1,5 10
cadas.
PK Resaltamos con colores diferentes
cada registro para poder seguir viendo la
Ahora estableceremos
vinculación con la tablalaDetalle
PK de Factura,
Factura. esta será una combinación
irrepetible de valores que nos puedan garantizar Clic unicidad (único)
Esta combinación de columnas que destacamos … da esa condición
de unicidad, entonces será la PK de Factura.
Continuar
Clic

Cátedra Gestión de Datos
33
Normalización – 1FN
Relacionado las relaciones
Factura Detalle Factura
PK Número Id Id Nombre Precio
Precio
Sucur Factura artículo
artículo artículo
artículo unitario
unitario cantidad
cantidad
Número Id nombre Id 01 100 1 1 Goma
Goma 2,52,5 10 10
Sucur Factura Fecha cliente cliente pago forma pago total
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 01 100 2 2 Lápiz
Lápiz 1 1 30 30

02 100 02/03/09 02 Juan Otto 2 Contado 40 02 100 3 2 Regla


Regla 4 4 10 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 01 5102 1 1 Goma


Goma 4,54,5 10 10

01 5102 2 2 Lápiz
Lápiz 1,51,5 10 10

PK definida la PK de Factura ya podemos


Al tener
establecer la FK en Detalle Factura FK

La FK en Detalle Factura tiene que ser una estructura del mismo tipo
que la PK de Factura
Continuar

Clic
… Cátedra Gestión de Datos
34
Normalización – 1FN
FK establecida, redundancia controlada
Factura Detalle Factura
PK Número Id Nombre Precio
Sucur Factura artículo artículo unitario cantidad
Número Id nombre Id 01 100 1 Goma 2,5 10
Sucur Factura Fecha cliente cliente pago forma pago total
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 01 100 2 Lápiz 1 30

02 100 02/03/09 02 Juan Otto 2 Contado 40 02 100 3


2 Regla 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 01 5102 1 Goma 4,5 10

01 5102 2 Lápiz 1,5 10

FK

Ya tenemos establecida la relación entre ambas


relaciones (dejaron de ser tablas). Lo único que falta es
Continuar
definir la PK de Detalle Factura

Cátedra Gestión de Datos


35
Normalización – 1FN
PK en Detalle Factura
Factura Detalle Factura
PK
Número Id Id Nombre Precio
Número Id Nombre Precio
Sucur
Sucur Factura artículo artículo unitario cantidad
Id nombre Sucur Factura artículo artículo unitario cantidad
Número Id 01 01 100100 1 1 Goma 2,5 10
Sucur Factura Fecha cliente cliente pago forma pago total 01 100 1 Goma 2,5 10
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 01 01 100100 2 Lápiz 1 30
01 100 22 Lápiz 1 30
02 100 02/03/09 02 Juan Otto 2 Contado 40 02 02 100100 3 3 Regla 4 10
02 100 2 Regla 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 01 01 5102


5102 1 Goma 4,5 10
01 5102 11 Goma 4,5 10

01 5102 2 Lápiz
Debemos establecer una combinación 01 01 5102 5102 2 2 Lápiz 1,51,5 10 10

irrepetible de valores de atributos que FK


permita identificar
La combinación en forma
resaltada tiene características
inequívoca
de unicidad.cada
Estatupla
será de
la la
PKrelación Detalle
de Detalle Factura
Factura.

Continuar
Clic

Cátedra Gestión de Datos
36
Normalización – 1FN
PK en Detalle Factura establecida
Factura Detalle Factura
PK PK
Número Id nombre Id
Sucur Factura Fecha cliente cliente pago forma pago total Número Id Nombre Precio
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 Sucur Factura artículo artículo unitario cantidad
01 100 1 Goma 2,5 10
02 100 02/03/09 02 Juan Otto 2 Contado 40
01 100 2 Lápiz 1 30
01 5102 03/03/10 10 Ana Vega 3 Cheque 60
02 100 3 Regla 4 10

01 5102 1 Goma 4,5 10

01 5102 2 Lápiz 1,5 10

FK

Continuar

Cátedra Gestión de Datos


37
Normalización – 1FN
Definición de modelo en 1FN
Factura Detalle Factura
Sucursal Sucursal
PK FK
Número Factura PK Número Factura
Fecha Id Artículo
Id.Cliente Nombre Artículo
Nombre Cliente Precio unitario
Id Pago Cantidad
Forma Pago
Total

Continuar

Cátedra Gestión de Datos


38
Normalización – 2FN
Definición
Una relación se encuentra en segunda forma normal, si y solo si
primero esta en primera forma normal y además todos los
atributos no claves dependen por completo de la clave
primaria.

Es fundamental entender que no se puede alcanzar la 2FN si


alguna relación del modelo no esta en 1FN.
Cuando se refiere a, “todos los atributos no claves depende por
completo de la clave primaria”, es importante entender que
la expresión “atributos no clave” esta expresado en el mas
amplio espectro. Entonces los atributos tiene que no
pertenecer ni a la clave primaria, ni a ninguna clave
candidata que pueda existir.

Continuar

Cátedra Gestión de Datos


39
Normalización – 2FN
Al expresar “atributos no claves” equivale a decir atributos no
primarios.
Los atributos no claves deben depender por completo de la PK.
Esto no se cumple cuando hay atributos no claves que
dependen de una parte de la clave, esta clave entonces
indudablemente debe ser compuesta.
Si la clave fuese simple no hay posibilidad de encontrar esta
situación.

Continuar

Cátedra Gestión de Datos


40
Normalización – 2FN
Dependencia de una parte de la PK
Factura Detalle Factura
PK
PK
Número Id nombre Id
Sucur Factura Fecha cliente cliente pago forma pago total
Número Id Id Nombre Precio
Precio
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55 Sucur
Sucur Factura
Factura artículo
artículo artículo
artículo unitario
unitario cantidad
cantidad
01 01 100
100 1 1 Goma
Goma 2,52,5 10 10
02 100 02/03/09 02 Juan Otto 2 Contado 40
01 01 100
100 2 2 Lápiz
Lápiz 1 1 30 30
01 5102 03/03/10 10 Ana Vega 3 Cheque 60
02 02 100
100 3 2 Regla
Regla 4 4 10 10

Debemos encontrar un atributo que 01 01 5102


5102 1 1 Goma
Goma 4,54,5 10 10

dependa de una parte de PK y no de la 01 01 5102 5102 2 2 Lápiz


Lápiz 1,51,5 10 10
PK completa.
FK
Observe el atributo Nombre Artículo
de
Parala quebrar
relaciónese
Detalle Factura.
fuerte EsteClic entre los
dependencias
atributo … con el Id Artículo.
atributostiene una fuerte
destacados, dependencia
se debe descomponer la relación Clic Continuar
Pues
sacandoal cambiar el código
los atributos que del artículode
dependen necesariamente
Id Artículo a …
debe cambiar el nombre.
otra relación. Cátedra Gestión de Datos
41
Normalización – 2FN
Supliendo DF x Integridad Referencial
Artículo Detalle Factura
Para
Lo ello,
que se la nueva
debe relación
realizar,Ides
debe
PK despejar
Nombre Precio PK
PK
tener
los los mismo
atributos queatributos
dependenque se
funcio-
artículo artículo unitario
3 Regla 4
encuentran resaltados en
nalmente de Id Artículo artículoIdla relación
a unaartículo
nueva
Nombre Precio Número IdId
Número Nombre Precio
Precio
artículo
Precio
unitario
1 Goma unitario
4,5 Sucur Factura
Sucur Factura artículo
artículo unitario
artículo cantidad
unitario cantidad
Detalle Factura.
relación que las contenga.3 Regla 4 01
01
100
100 1
1 Goma
Goma
2,5
2,52,5
10
10
2 Lápiz 1,5
01 100 Lápiz 1
1 Goma 4,5 01 100 22 Lápiz
1 1
30 30

2 Lápiz 1,5 02
02 100
100 33 Regla
Regla
4 4
10 4 10

Clic 01
01
5102
5102 1
1 Goma
Goma
4,5
4,54,5
10
10

… 01
01
5102
5102 2
2 Lápiz
Lápiz
1,5
1,51,5
10 10

Observe
Ahora debequeretirar
el precio
los sigue
atributos
estando
de laen FK
FK FK
Detalle
relaciónFactura,
Detalle Factura
es por que
queeste
causan
atributo
representa
que la 2FN
Observe queel
nolavalor
se cumpla.
enforánea
clave el momento
Y declararen
que vincula
la
que
PK realizó
DetalleenFactura
la relación
la compra.
con Artículo
Artículo ya se encuentra
Clic Clic… Continuar

declarada. Esto hace que ambas tablas …mantenga


una relación denominada Integridad referencial.
Cátedra Gestión de Datos 42
Normalización – 2FN
Las relaciones hasta este momento
Factura Detalle Factura
PK PK
Id nombre Número Id Precio
Número
Sucur Factura artículo unitario cantidad
Sucur Factura Fecha cliente cliente Id pago forma pago total
01 100 1 2,5 10
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55
01 100 2 1 30
02 100 02/03/09 02 Juan Otto 2 Contado 40
02 100 3 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 01 5102 1 4,5 10

01 5102 2 1,5 10

Artículo FK FK
PK
Id Nombre Precio
artículo artículo unitario
3 Regla 4
1 Goma 4,5
Continuar
2 Lápiz 1,5

Cátedra Gestión de Datos


43
Normalización – 2FN
Definición de modelo en 2FN
Factura Detalle Factura Artículo
Sucursal Sucursal PK Id Artículo
PK FK
Número Factura PK Número Factura Nombre Artículo
Fecha Id Artículo FK Precio Unitario
Id.Cliente Precio unitario
Nombre Cliente Cantidad
Id Pago
Forma Pago
Total

Continuar

Cátedra Gestión de Datos


44
Normalización – 3FN
Definición
Una relación se encuentra en tercera forma normal, sí y solo sí
se encuentra en 2FN, si ningún subconjunto de atributos no
primarios tiene dependencia entre sí y luego dependen
transitivamente de la clave primaria.

Atributos no primarios: Se refiere a atributos no claves y que no


pertenecen a ninguna combinación de claves candidatas
posibles.
La dependencia transitiva es cuando dos atributos no primarios,
por ende no pertenecen a ningún tipo de claves, tiene una
dependencia funcional entre si mas fuerte que la que se
genera con la PK de la relación. Entonces dependen entre si
un del otro y luego transitivamente dependen de la PK.

Continuar

Cátedra Gestión de Datos


45
Normalización – 3FN
Esta es nuestra estructura hasta ahora
Factura Detalle Factura
PK PK
Id nombre Número Id Precio
Número
Sucur Factura artículo unitario cantidad
Sucur Factura Fecha cliente cliente Id pago forma pago total
01 100 1 2,5 10
01 100 01/03/08 01 José Paz 1 Cuenta Corr 55
01 100 2 1 30
02 100 02/03/09 02 Juan Otto 2 Contado 40
02 100 3 4 10

01 5102 03/03/10 10 Ana Vega 3 Cheque 60 01 5102 1 4,5 10

01 5102 2 1,5 10

Tenemos
Esta que observar
situación dos o más
solo se presenta en la FK FK
atributosFactura,
relación no claves (no los
entre primarios) que
atributos Artículo
tengan
Id clienteuna dependencia
y Nombre funcional
cliente entre
por un lado
PK
si Id
e mas fuerte
pago que la
y forma quepor
pago posee con la PK
otro. Id Nombre Precio
de la relación.
Ambos atributos dependen uno del otro, 3 Reglaartículo artículo unitario
4
y no forman parte de ninguna clave 1 Goma 4,5 Continuar
2 Lápiz 1,5

Clic
Cátedra Gestión de Datos
46
Normalización – 3FN
Visualizando el conflicto para 3FN
Factura Cliente Forma Pago
PK IdPK nombre PK
cliente cliente Id pago forma pago
Id 01 José
nombre
Paz 1 Cuenta Corr
Número Id Id nombre
nombre
cliente cliente Id pago forma pago
Sucur Factura Fecha cliente
cliente cliente
Idcliente Id
pago totalId pago
pago forma
formapago
pago total
01 02 Juan
JoséOtto
Paz 1 2 Contado
Cuenta Corr
01
01 100
100 01/03/08
01/03/08 01 01 José
01 1 Paz
José Paz 55 1 1 Cuenta
CuentaCorr
Corr 55

02 10 Ana
Juan Otto
Vega 2 Contado
3 Cheque
02 100 02/03/09 02 02 Juan
2 Otto
Juan Otto 40 2 2 Contado
Contado 40

10 Ana Vega 3 Cheque


01
01 5102
5102 03/03/10
03/03/10 10
10 10 Ana3Vega
Ana Vega 60 3 3 Cheque
Cheque 60

FK FK

Estos
Se otros
deben
dos dos también
desagregar
atributos tiene
de esta
tiene la misma
DF relación
entre si. los
situación
atributos
YDeclare entre
laque
luego dependen ellos.
PK causan
de las que
ennuevas
formanorelaciones
se alcance
transitiva dela
3FN. Clic
PK.Para
para
la poderello se debenlas
establecer crear dos relaciones
FK desde la
en dondeque
relación se colocan
estamoslos juegos de atributos …
analizando.
Ahora
que debe
tiene DF.eliminar las columnas nombre cliente
Como sigue.
y forma pago, también debe establecer las FK para Continuar

que la información quede integrada.Clic…

Cátedra Gestión de Datos 47


Normalización – 3FN
Las Relaciones finales
Factura Detalle Factura Cliente
PK PK PK
Id nombre
Número Id Precio
Número Id cliente cliente
Sucur Factura artículo unitario cantidad
Sucur Factura Fecha cliente Id pago total 01 José Paz
01 100 1 2,5 10
01 100 01/03/08 01 1 55
01 100 2 1 30 02 Juan Otto
02 100 02/03/09 02 2 40 02 100 3 4 10 10 Ana Vega
01 5102 03/03/10 10 3 60 01 5102 1 4,5 10
01 5102 2 1,5 10
FK FK
FK FK
Forma Pago
Artículo PK
Id pago forma pago
PK
1 Cuenta Corr
Id Nombre Precio
artículo artículo unitario 2 Contado
3 Regla 4 3 Cheque
1 Goma 4,5
Continuar
2 Lápiz 1,5

Cátedra Gestión de Datos


48
Normalización – 3FN
Definición de modelo en 3FN
Factura Detalle Factura Artículo
Sucursal Sucursal PK Id Artículo
PK FK
Número Factura PK Número Factura Nombre Artículo
Fecha Id Artículo FK Precio Unitario
Id Cliente FK Precio unitario
Id Pago FK Cantidad
Total

Cliente Forma Pago


PK Id cliente PK Id pago
Nombre cliente Forma pago

Cátedra Gestión de Datos


49

También podría gustarte