Beruflich Dokumente
Kultur Dokumente
Introduccin
El diseo tiene como objetivo obtener una serie de esquemas que permitan almacenar informacin, sin redundancia y de fcil acceso. Las formas normales permiten lograr un buen diseo. Para esto se necesita informacin acerca del problema que se est modelando. Parte de esta informacin se encuentra en un diagrama E-R, pero se necesita informacin adicional.
2
Introduccin (Cont. 2)
Problema a modelar Modelo (E)ER
Entidades Atributos
Normalizacin
Propiedades
Modelo Relacional
Relaciones (datos)
Introduccin (Cont. 3)
Introduccin (Cont. 4)
Mundo real Modelado de datos
Diseo conceptual Diseo lgico
Normalizacin
Denormalizacin
Normalizacin
El proceso de normalizacin de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas en el modelo E-R (entidad-relacin).
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos. Evitar problemas de actualizacin de los datos en las tablas. Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relacin, la cual tiene que cumplir con algunas restricciones:
Cada columna debe tener su nombre nico. No puede haber dos renglones iguales. No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo
7
Normalizacin (Cont.)
Las primeras tres reglas de normalizacin son:
1NF (Primera forma normal) - Todos los atributos deben univalorados, debe ser atmicos.
2NF (Segunda forma normal) - Un atributo debe depender de la llave primaria de la entidad en la cual est.
3NF (Tercera forma normal) - No puede haber un atributo que no sea llave primaria dependiendo de otro atributo que tampoco sea llave primaria .
8
Normalizacin (Cont.)
En la literatura se menciona seis reglas de normalizacin las cuales son:
1NF (Primera forma normal) - Remover atributos multivaluados. 2NF (Segunda forma normal) - Remover dependencias parciales 3NF (Tercera forma normal) - Remover dependencias transitivas. (forma normal Boyce-Codd) - Remover anomalas sobrantes que resultan de los mltiples candidatos a llave primaria. 4NF (Cuarta forma normal) - Remover dependencias con multivalores. 5NF (Quinta forma normal) - Remover anomalas que hayan quedado.
PAG. 211
Normalizacin (Cont.)
Las tres primeras reglas de normalizacin son suficientes para resolver la gran mayora de los casos. Existe una cuarta forma normal, llamada tambin Forma normal de Boyce Codd (BCNF) y una quinta forma normal, pero pocas veces se consideran prcticas en un diseo. La omisin de estas reglas puede dar como resultado una tabla que no sea perfecta, pero no debera afectar a su funcionamiento
10
11
Reforma 23 Puebla
reg 2 reg 3
MESA GISA
15 aos 20 aos
Cholula Puebla
Nombre TASA TASA TASA TASA TASA MESA MESA TASA MESA GISA TASA GISA GISA
Antig Antig 25 aos 25 aos aos 25 25 aos aos 25 25 aos aos 25 25 aos aos 15 15 aos aos 15 20 15 aos aos 20 20 aos aos 20 aos 20 aos 20 aos
Dire cciones Ciudad Dire cciones Ciudad Reforma 23 Puebla Reforma23 23 Puebla Puebla Reforma Reforma23 23 Puebla Puebla Reforma Reforma23 23 Puebla Puebla Reforma Reforma Puebla Juarez 15 23 Cholula Juarez15 15 Cholula Cholula Juarez Sur 32215 Puebla Juarez Cholula Sur Puebla Sur322 322 Puebla Sur 322 Puebla Sur 322 Puebla Sur 322 Puebla
12
Sin embargo la 1FN tiene problemas cuando los atributos tienen dependencia de varias llaves o dominios independiente.
Antig Dire cciones Ciudad Producto Cant 25 aos 25aos aos 25 25 aos 25 aos 25aos aos 25 15aos aos 25 15aos aos 15 20aos aos 15 20 20aos aos 20 20aos aos
20 aos Antig
TASA TASA TASA TASA TASA TASA TASA MESA TASA MESA MESA TASA MESA TASA GISA GISA GISA
GISA
Nombre
Reforma 23 Puebla Reforma 23Puebla Puebla Reforma 23 Reforma 23 Puebla Reforma 23 Puebla Reforma 23Puebla Puebla Reforma 23 Juarez 15 Cholula Reforma 23 Puebla Juarez 15 Cholula Cholula Juarez 15 Sur 322 Puebla Juarez 15 Cholula Sur 322 Sur 322 Puebla Puebla Sur 322 Sur 322 Puebla Puebla
Sur 322 Puebla
Dire cciones
Ciudad
clavos tornillos clavos tuercas tornillos tachuelas tuercas tuercas tachuelas tachuelas tuercas clavos tachuelas clavos tornillos tornillos tuercas
tuercas
Producto
Cant
Ent 1
Dire cciones Ciudad Reforma 23 Puebla Juarez 15 Cholula Sur 322 Puebla
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
Ent 2 tupla 1 tupla 2 1 tupla tupla 3 2 tupla tupla 4 3 tupla tupla 5 4 tupla tupla 6 5 tupla tupla 7 6 tupla tupla tupla 8 7 tupla tupla 9 8 tupla 9
Nombre Nombre TASA TASA TASA TASA TASA TASA MESA MESA MESA TASA GISA TASA GISA GISA
Antig Producto 25 aos clavos 25 aos tornillos 25 aos tuercas 25 aos tachuelas 15 aos tuercas 15 aos tachuelas 20 aos 20 aos clavos 20 aos tornillos tuercas
Dire cciones Cant Reforma 23 400 23 Reforma 200 23 Reforma 100 23 Reforma 50 15 Juarez 30 15 Juarez Sur 20 322 Sur 20 322 Sur 322 13 50 40
P P P P C C P P P
14
15
Ejemplos 1
16
Ejemplos 2
17
Ejemplos 3
18
Tarea en clases
En los siguientes ejemplos indicar si no estas normalizados o cuentan con alguna forma normal o estn normalizadas, en caso de no estarlo debern normalizarlas.
19
Ejemplo No.1
EMPLEADOS (nss, nombre, puesto, salario, emails) con nss como clave primaria.
Tabla Empleados
20
Ejemplo No.2
21
Ejemplo No.3
22
Ejemplo No.4
23
Ejemplo No.5
24
Dependencia Funcional
Las dependencias funcionales describen la relacin existente entre atributos de una relacin.
Por ejemplo, si A y B son atributos de la relacin R, B ser funcionalmente dependiente de A o A determina funcionalmente a B (lo que se denota A B) si cada valor de A est asociado con exactamente un valor de B. A y B pueden consistir cada uno de ellos de uno o ms atributos
25
Dependencia funcional
Definicin: Suponga que tiene R = {A1, A2, A3, , An} , R es una relacin y A es un conjunto de atributos. Sea X, Y subconjuntos de A. Notacin DF: X Y Se lee: X determina o implica Y Y depende funcionalmente de X Si y slo si cada valor de X tiene asociado en todo momento un nico valor de Y Donde: X es el determinante Y es el implicado X e Y se les dice Descriptores.
Un determinante es un conjunto del que depende funcionalmente otro conjunto de atributos llamado implicado.
26
27
28
29
31
En trminos menos formales, una tabla est en FNBC si est en 3FN y los nicos determinantes son claves candidatas.
32
FNBC (Cont.)
El problema de la 3FN es que no maneja relaciones que:
Tienen varias claves candidatas, Esas claves candidatas son compuestas, y Las claves candidatas tienen por lo menos un atributo en comn.
Por ello, se define la FNBC para el caso en el que exista ms de una clave candidata, y que se cumplan las condiciones anteriores. La violacin de la Forma Normal de Boyce-Codd es bastante infrecuente
33
FNBC (Cont.)
En el caso en el que no se den dichas condiciones, o bien no exista ms de una clave candidata (solo la clave primaria) la FNBC es completamente equivalente a la 3FN. La FNBC es ms restrictiva que la 3FN ya que solo permite que un atributo no clave dependa funcionalmente de la clave primaria.
34
3FN vs FNBC
La diferencia entre 3FN y FNBC es que para una dependencia funcional A B, 3FN permite que exista esta dependencia en una relacin si B es un atributo de clave candidata y A no es una clave candidata, mientras que FNBC exige que A sea una clave candidata.
35
Cuando esto sucede, puede que sea ms adecuado detenerse en 3FN, que siempre preserva las dependencias.
36
FNBC: Ejemplo 1
Para la relacin
2FN
PRESTAMO( id_socio, nombre_socio, id_libro, fec_prest, editorial, pas ) las claves candidatas son:
(id_socio, id_libro) y (nombre_socio, id_libro)
37
38
39
40
Ejercicio 1
41
Ejercicio 2
42
Ejercicio 3
43