Você está na página 1de 37

Normalizacin

Diseo de esquemas relacionales


Relaciones libres de anomalas
Ejemplos de descomposicin
Descomposicin sin prdida

Dependencia funcional
Ejemplos bsicos

Formas normales (anomalas)


1. Forma normal(1NF)
2. Forma normal(2NF)
3. Forma normal(3NF)

Gua para normalizar 3NF


Otras formas normales
Comparacin con otros modelos
Modelos de datos
1

Primera Forma Normal (1FN)


Nombre

Antig

Direcciones

Ciudad

reg 1

TASA

25 aos

Reforma 23 Puebla

reg 2

MESA

15 aos

Juarez 15

Cholula

reg 3

GISA

20 aos

Sur 322

Puebla

Entidad en 1FN
En el producto
cartesiano todos los
dominios tienen
valores atmicos

Nombre
tupla 1
tupla 2
tupla 3
tupla 4
tupla 5
tupla 6
tupla 7
tupla 8
tupla 9

TASA
TASA
TASA
TASA
MESA
MESA
TASA
GISA
GISA

Producto
clavos
tornillos
tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

Antig
25 aos
25 aos
25 aos
25 aos
15 aos
15 aos
20 aos
20 aos
20 aos

Direcciones
Reforma 23
Reforma 23
Reforma 23
Reforma 23
Juarez 15
Juarez 15
Sur 322
Sur 322
Sur 322

No esta normalizada
ya que no existen
relaciones atmicas
entre los dominios.
Anomala
De qu tamao es
un registro?

Ciudad
Puebla
Puebla
Puebla
Puebla
Cholula
Cholula
Puebla
Puebla
Puebla

Producto
clavos
tornillos
tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

Cant
400
200
100
50
30
20
20
2 50
40

Segunda Forma Normal (2FN)


Sin embargo la 1FN tiene problemas cuando los atributos tienen
dependencia de varias llaves o dominios independiente.
Nombre
tupla 1
tupla 2
tupla 3
tupla 4
tupla 5
tupla 6
tupla 7
tupla 8
tupla 9

TASA
TASA
TASA
TASA
MESA
MESA
TASA
GISA
GISA

Antig

Direcciones

Ciudad

Producto

Anomala

Cant

23 Puebla
clavos
400
QuReforma
pasa
cuando
Reforma
23 Puebla
tornillos dejo
200 de

25 aos
25 aos
25 aos
25 aos
15 aos
15 aos
20 aos
20 aos
20 aos

Reforma 23
Reforma 23
Juarez 15
Juarez 15
Sur 322
Sur 322
Sur 322

Puebla
Puebla
Cholula
Cholula
Puebla
Puebla
Puebla

tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

comprarle a TASA ?

100
50
30
20
20
50
40

Ent 1

Entidades en 2FN
Las entidades estn en 1FN y
adems cada dominio o atributo
depende de un sola llave:
Ent 1 Nombre
==> Ant, Dir,Cd
Ent 2 Nombre, Producto
==> Cant

tupla 1
tupla 2
tupla 3

Nombre
TASA
MESA
GISA
Ent 2
tupla 1
tupla 2
tupla 3
tupla 4
tupla 5
tupla 6
tupla 7
tupla 8
tupla 9

Antig
25 aos
15 aos
20 aos
Nombre
TASA
TASA
TASA
TASA
MESA
MESA
TASA
GISA
GISA

Direcciones Ciudad
Reforma 23 Puebla
Juarez 15
Cholula
Sur 322
Puebla
Producto
clavos
tornillos
tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

Cant
400
200
100
50
30
20
20
503
40

Tercera Forma Normal (3FN)


Sin embargo la 2FN tiene problemas cuando uno de los atributos tienen
dependencia transitiva de los dominios o atributos
Anomala
Ent 1
tupla 1
tupla 2
tupla 3

Nombre
Direcciones
Ciudad
Qu Antig
pasa cuando
TASA
TASA
MESA
GISA

ser Reforma
mi proveedor?
25de
aos
23 Puebla
15 aos Juarez 15
Cholula
20 aos Sur 322
Puebla

Entidades en 3FN
Las entidades estn en 2FN y
adems cada dominio o atributo
depende NO transitivamente de
un sola llave:
Ent 1 Nombre
==> Ant, Direcciones
Ent 3 Direcciones
==> Ciudad

Ent 1

Nombre

tupla 1
tupla 2
tupla 3

TASA
MESA
GISA

Ent 3
tupla 1
tupla 2
tupla 3

Antig
25 aos
15 aos
20 aos

Direcciones
Reforma 23
Juarez 15
Sur 322

Direcciones
Reforma 23
Juarez 15
Sur 322

Ciudad
Puebla
Cholula
Puebla

Normalizacin: Redundancia controlada


La normalizacin genera ms entidades, sin embargo esta
redundancia aparente esta controlada por el manejador
de BD, siendo ajena para el usuario.

Entidadesnormalizadas
Ent 1

Por otro lado el tamao de los archivos tiende a reducirse.

tupla 1
tupla 2
tupla 3

Ent 2

Entidadsinnormalizar
Nombre

Antig

Direcciones

Ciudad

reg 1

TASA

25 aos

Reforma 23 Puebla

reg 2

MESA

15 aos

Juarez 15

Cholula

reg 3

GISA

20 aos

Sur 322

Puebla

Producto
clavos
tornillos
tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

tupla 1
tupla 2
tupla 3
tupla 4
tupla 5
tupla 6
tupla 7
tupla 8
tupla 9
Ent 3
tupla 1
tupla 2
tupla 3

Nombre

Antig

TASA
MESA
GISA

25 aos
15 aos
20 aos

Nombre

Producto

TASA
TASA
TASA
TASA
MESA
MESA
TASA
GISA
GISA

Direcciones
Reforma 23
Juarez 15
Sur 322

Cant

clavos
tornillos
tuercas
tachuelas
tuercas
tachuelas
clavos
tornillos
tuercas

Direcciones
Reforma 23
Juarez 15
Sur 322

400
200
100
50
30
20
20
50
40

Ciudad
Puebla
Cholula
Puebla

Normalizacin Ulterior
La normalizacin puede ser continuada mas all de la 3FN, existen argumentos acadmicos interesantes para la existencia de
BCFN Forma Normal de Boyce y Codd
Las entidades estn en 3FN y adems todo dominio independiente es una llave candidato: Ent={A,B,C,D} y las depencias
son A==> BCD y D==>A
aqui A y D son llaves
4FN Cuarta Forma Normal
Las entidades estn en BCFN y adems no se tienen dependencias multievaluadas
5FN Quinta Forma Normal
D/KFN Forma Normal de Dominio y Llave

Para los propsitos de una operacin administrativa


la 3FN es suficientemente poderosa.
:

La empresa YAVAS empresa dedicada a la fabricacin


de herrajes para muebles de diversos tipos, ha
llamado al experto para que sistematice su operacin
de pedidos. He aqu un registro de la entrevista:

E
n
t
r
e
v
i
s

Gerente -- Mire ingeniero queremos que nos ponga un sistema

moderno con todas las ventajas de la computacin, dgame que


mquina comprar y que sistema de base de datos a usar.
Ingeniero -- Con calma hombre, primero necesito conocer su realidad
informacional, esto es sus reportes, sus formatos de entrada, en fin
las relaciones del sistema de pedidos.
Gerente -- Mire yo no soy experto en la materia, precisamente por eso
lo llame a UD. Esta compaa dedicada a la manufactura de
herrajes, que son los chunches que se le ponen a los muebles para
armarlos hoy en da (no clavos pues), para hacerlos modulares. El
xito que hemos tenido es que nos piden diversos herrajes para
diversos muebles. As por ejemplo un mueble lleva distintos
herrajes, con una cantidad especfica de cada herraje por cada
mueble. Los mismos herrajes se usan en diversos muebles pero en
cantidades distintas.
7

Gerente -- Adems por cada orden de compra llevamos informacin de la

E
n
t
r
e
v
i
s

direccin de envo, el nombre del cliente y la cantidad y tipo de herrajes


de cada mueble en cuestin. Guardamos tambin el precio del artculo
(herraje) por lnea de detalle y la fecha de la orden de compra con su
numero de folio. Conocemos tambin la informacin de cada mueble en
trminos de los tipos y nmeros de herrajes que requieren para usarse en
pedidos futuros.

Gerente -- Como los herrajes se adquieran de distintas plantas necesitamos

conocer el nombre de la planta que lo manufactura y la cantidad en


inventario del mismo. Ciertamente cada planta nos entrega diversos
herrajes. Por cada herraje conocemos su tipo, calidad y descripcin; por
cada cliente, sus direcciones. Los descuentos los manejamos nicamente
por volumen de compra de cada artculo en cada orden.....

Ingeniero -- Muy bien djeme trabajar un rato con esta informacin y le


propongo una esquema de sistematizacin

Gua de Normalizacin
1. Defina los Dominios ( Atomice lo mnimo necesario )
2. Defina los Formatos ( Defina formatos comunes )
3. Escriba todas las suposiciones semnticas iniciales
4. Obtenga la Tabla de Dependencias (conectando todos los dominios)
5.Determine las dependencias funcionales ( sentido de la fecha,
dominios independientes conjuntos )
6. Elimine las dependencias transitivas
7. Partiendo de la Tabla de Dependencias obtenga: las entidades mnimas
necesarias, tomando cada dominio(s) independiente para entablar a
la entidad.
8. Complete la lista de suposiciones semnticas
9. Presente los resultados: Dominios, Entidades, Suposiciones
10. Obtenga aprobacin firmada de la definicin en caso necesario efecte
las modificaciones requeridas (un buen diseo debe no contener ms
de 100 dominios y 40 entidades por sistema )
9

D
o
m
i
n
i
o
s

1. Mueble:
Integer
Ejemplo : 32
2. Descripcin Mueble: String ( 40 ) Ejemplo : "Librero Grande"
3. Direccin:
String ( 40 ) Ejemplo : "Jurez 34, Toluca, Mx."
4. Herraje:
Integer
Ejemplo : 45
5. Nmero:
Integer
Ejemplo : 12
6. Descripcin Herraje: String ( 40 ) Ejemplo :"horquilla mediana
7. Calidad:
String ( 10 ) Ejemplo : "cromo"
8. Folio:
Integer
Ejemplo : 1234
9. Fecha:
Date long
Ejemplo : 12/12/1997
10. Lnea Detalle: Integer
Ejemplo : 13
11. Cantidad: Integer
Ejemplo : 80
12. Planta:
Integer
Ejemplo : 12
13. Inventario: Integer
Ejemplo : 439
14. Descripcin Planta: String (30) Ejemplo : "automatizada grande"
15. Volumen: Integer
Ejemplo : 500
16. % de Descuento:
Integer Ejemplo : 25
17. Precio:
Real
Ejemplo : $ 0.50
10

Realidad Informacional

11

E
n
t
i
d
a
d
e
s

1. Muebles :
2. Direcciones :
3. Ensambles :
4. Herrajes :
5. Ordenes :
6. Detalles :
7. Inventarios :
8. Plantas :
9. Descuentos :

( Mueble, Descripcin Mueble )


( Direccin, Cliente )
( Herraje, Mueble, Nmero )
( Herraje, Descripcin Herraje, Calidad, Precio )
( Folio, Direccin, Fecha )
( Folio, Lnea Detalle, Cantidad, Herraje )
( Planta, Herraje, Inventario )
( Planta, Descripcin Planta )
( Herraje, Volumen, % Descuento )

Suposiciones

En cada se planta se producen diversos herrajes


Herrajes iguales se producen en plantas distintas
El descuento depende del volumen y del herraje
El cliente tiene distintas direcciones de envo
Un mismo herraje se utiliza en varios muebles
Muebles distintos usan herrajes similares
En una orden de compra puede tener varias lneas de detalle

12

Ejercicios de Normalizacin (1)


La empresa ADELANTE tiene una estructura jerrquica en su
operacin, adems esta convencida de la necesidad de cambiar sus
sistemas de informacin a una base de datos relacional, que les de
todas las flexibilidades y ventajas de que tanto habla un conferenciante
un tanto loco llamado F.J. Codd y su ayudante C.J. Date. La
informacin con la que cuenta es la siguiente:
Por cada departamento tiene un nmero individual, cada departamento
es manejado por un jefe ( y solo uno ). Cada departamento tiene un
presupuesto asignado, as como los proyectos que maneja. Por cada
proyecto se tiene la informacin de los empleados que trabajan en el
proyecto y el presupuesto del proyecto. Igualmente las oficinas
asignadas a cada departamento y los telfonos de cada oficina. Por
cada empleado, la empresa conoce en que proyecto esta laborando y a
que departamento pertenece, as como su telfono y su historia
salarial, consistente en los salarios y puestos que ha desempeado en
la empresa en diferentes fechas. Finalmente la empresa conoce el
tamao de cada oficina.
Podra UD. plantear un esquema de bases de datos relacional para esta informacin?
13

Ejercicios de Normalizacin (2)


Habiendo resuelto su base de datos de personal, ahora la empresa
ADELANTE desea reestructurar su sistema de ordenes y pedidos.
Actualmente maneja la siguiente informacin:
Por cada cliente maneja su limite de crdito, su balance y las
direcciones del mismo. Por cada orden de compra, el nmero
del orden, la fecha, la direccin de envo. Por cada lnea de
detalle en la orden de compra maneja igualmente la cantidad de
producto y el nmero del producto. Por cada producto la
descripcin del mismo y las plantas donde se produce y por
cada planta los productos que produce y el nivel de inventario
de cada producto.
14
Podra UD. plantear un esquema de bases de datos relacional para esta informacin?

Conversin entre Modelos


de Relacional

a Entidad - Relacin

15

Elementos del modelo


Entidad - Relacin

Elementos
Rectngulo
Representa entidades bsicas
Doble Rectngulo
Representa entidades dbiles que
no tienen llaves primarias
Diamante
identificador de relaciones
Elipse
Atributos de la entidad, si esta subrayado es llave primaria
Lnea
Ligas
16

Modelo Entidad - Relacin


Introduce el enfoque de Orientado a Objetos al
definir tipos de datos que encapsulen a una entidad
completa como un nuevo objeto
Permite analizar partes de una Base de Datos de
mayor dimensin (muchos dominios) a nivel entidades
sin tener que estudiar todos los dominios especfico que
se vuelven atributos de las mismas.
17

6. Integridad y seguridad:
Directorio de Datos
Lasbitcorasmodelanyregistranlosprocesosquese
efectandentrodelabasededatos

Se logra por medio de almacenar los datos asociados con la ejecucin de los
comandos del SQL de la base de datos (altas bajas cambios, perdidas) .
18
ContienenelQUE,QUIEN,COMO,DONDEyCUANDOdelaBD

BITACORAS:
QUE, QUIEN, COMO, DONDE y CUANDO

Bitcora de Usuarios:
Usuario, Password, depto, sistema, archivos, terminal, permisos

Bitcora de Archivos:
Password, Dueo, sistema que los usan, dominos, formatos, ubicacin,
usuarios

Catlogo de Sistemas:
Depto, sistema, archivos, terminal, programas, responsable

Bitcora de Errores:
Tipo, programa, descripcin, hora, lugar, usuario, fecha, archivo, sistema

Bitcora de Uso:
Fecha, Usuario, Sistema, Permiso, Terminal, Registro, tipo de a,cceso
Imagen Vieja, Imagen Nueva

ManualesdelSistema:

Sistema, depto, archivos, procedimiento de uso, nivel de


sistematizacin/automatizacin
19

Normalizacin del Directorio


Ejemplo de las dependencias funcionales
de la bitcora de uso

20

Uso de la Bitcora

Ante estas
actualizaciones en las
Entidades TAM y ABC
la bitcora refleja la
siguiente actividad

21

Recuperacin

22

Arranque en Fro
1
2
3
4
5
6

Determinacin de la Entidad (Archivo) perdido


Cargado del ltimo respaldo
Ordenamiento de la bitcora segn el archivo
perdido
Lectura de Imgenes nuevas de cada registro de la
entidad en cuestin
Lectura de Imgenes viejas de la bitcora y
corroboracin con la imagen en el respaldo
Actualizacin correspondiente de ms antiguo a ms
reciente
23

Respaldos
1
2
3
4
5

Respaldar la base de datos BD cuando se llene la


bitcora de uso
Respaldar la bitcora de uso y limpiarla la copia
actual
Se deben mantener copias de la BD y la bitcora en el
sitio
Es recomendable tener una copia adicional en un
lugar ajeno fsicamente de la instalacin
El tamao de la bitcora es funcin del nmero de
actualizaciones que tenga la base de datos
24

Arranque en Caliente
1
2
3
4
5

Determinacin del ltimo punto estable


Lectura de imgenes viejas de los archivos
modificados en el perodo de inestabilidad del
proceso usando la bitcora de uso
Lectura de imgenes nuevas de la bitcora y
corroboracin con la imagen en el archivo
Desactualizacin de los archivos por medio del
reemplazo de imgenes viejas por nuevas
Aviso a los usuarios para que repitan las
actualizaciones efectuadas durante el perodo de
inestabilidad
25

Camino al cambio de las TI


SER == > Existencia de Carencias
Sistema catico, dependiente y limitado

Querer Ser == > Convencimiento


Unificacin y Confianza

Saber Ser == > Compromiso


Preparacin, Seleccin, Capacitacin

Poder Ser == > Costo


Inversin Adecuada en tecnologa

DEBER SER == > Crecimiento e Innovacin


Libertad, Eficiencia, Confiabilidad e Independencia
26

Estrategias en Base de Datos


Para convencer
Simulaciones en Hoja de Clculo
Para unificar y generar confianza
Llevar a Base de Datos las aplicaciones
nuevas
Para promover la cooperacin
Primero llevar a Base de Datos los procesos
externos
27

7. Lenguajes para BD:


lgebra y clculo relacional

El LDD es el Lenguaje de Definicin de los Datos


El LMD es el Lenguaje de Manipulacin de los Datos
Existen dos grandes clases de lenguajes de consulta y acceso
relacional:
Basados en lgebra relacional
El prototipo de esta clase es el denominado
SQL (Structured Query Language)
Select PROV.PROV#
From PROV
Where PROV.CIUDAD = Puebla
Basados en el clculo de predicados.
El prototipo de esta tipo de lenguajes es el PROLOG
28

Ejemplos de SQL
Asumiendo la existencia
de los siguientes archivos (entidades)
Muebles :
( Mueble, Descripcin Mueble )
Direcciones : ( Direccin, Cliente )
Ensambles : ( Herraje, Mueble, Nmero )
Herrajes :
( Herraje, Descripcin Herraje, Calidad, Precio )

Ordenes : ( Folio, Direccin, Fecha )


Detalles :
( Folio, Lnea Detalle, Cantidad, Herraje )
Inventarios :
( Planta, Herraje, Inventario )
Plantas : ( Planta, Descripcin Planta )
Descuentos :
( Herraje, Volumen, % Descuento )
29

Solucin del SQL

30

Ejemplos de SQL (2)


Asumiendo la existencia de los siguientes archivos (entidades)

31

Solucin del SQL (2)

32

Ejemplo Numrico
Seobtienenlassiguientestuplas

Asumiendoestosdatos
enlasentidades

33

8. Manejo de Transacciones
Transacciones, Serializacin
Enfoques de solucin
Protocolo de bloque en dos fases
Transacciones
Consistencia
Estado de transacciones
Diagrama de estado en una transaccin
Recuperacin de falla

34

Criterios en una Transaccin


En su diseo
Correctitud
Una transaccin debe mantener la consistencia de la BD
Atomicidad
Una transaccin debe manejarse como un objeto atmico, esto es
no puede ejecutarse un pedazo del mismo nicamente, o se
completa toda o no se completa

En su ejecucin
Activa: SI se encuentra en proceso de ejecucin

Activa: SI se encuentra en proceso de ejecucin


Parcialmente Comprometida: se ha ejecutado parte de ella
(es estado temporal)

Fallida: NO puede ser completada (requiere ser terminada)


Terminada: Se efecta un ROLLBACK para deshacer el
proceso
Comprometida: Se efecta un COMMIT para completarla
35

Ejemplo de transaccin

36

Bibliografa
Date C. J. Data Base Systems

37

Você também pode gostar