daniel

Páginas: 8 (1941 palabras) Publicado: 27 de mayo de 2013
Diseño de Bases Relacionales
Normalización

Normalización
? Las bases de datos mal diseñadas tienen problemas de:

? Almacenamiento redundante (varias copias de la misma
información)
? Perdidas no deseadas de información al modificar tuplas
? La base entra en un estado no consistente al borrar una tupla
? Imposibilidad de almacenar cierta información
? registro(estudiante_id,estudiante_nombre, curso_id,

curso_nombre)
? En este capítulo veremos una serie de requerimientos que

hemos de hacer a las relaciones para que los dos problemas
señalados arriba no se produzcan

El resumen de este capitulo es: Todos los atributos de una relación
deben ser atómicos y depender unica y totalmente de la clave
primaria.
La Clave Primaria, toda la clave primaria y nada más quela clave
primaria
7.2

Primera Forma Normal
? Un atributo es atómico si sus elementos se pueden considerar

como unidades indivisibles:
? Ejemlos de dominios no atómicos:
? Nombre

(atributo compuestio)

? Teléfonos

(Atributos multivaluados)

? Un esquema R satisface la primera forma normal si los

dominios de todos los atributos son atómicos
? Los valores no atómicoscomplican el almacenamiento y pueden

provocar redundancia:
? Por ejemplo, cuentas bancarias almacenadas con sus propietarios

7.3

Primera Forma Normal (Contd.)
? Respetar la atomicidad y no intentéis soluciones “inteligentes”

? Por ejemplo una cadena de caracteres debe tener un significado
indivisible.
? Supongamos que en la base de datos de la universidad a los
profesores se les asignaidentificadores del tipo: LAN013
? Donde los tres primeros caracteres se refieren al departamento en
el que se encuentran.
? Hacer esto es una idea muy mala puesto que la información se
codifica a nivel de programa y no de base de datos.

7.4

Segunda Forma Normal
? Cada atributo que no sea una clave primaria debe depender

únicamente de esa (de toda la clave primaria)
? Paranormalizar divide la tabla
? Por ejemplo
? registro(estudiante_id, estudiante_nombre, curso_id,
curso_nombre)
? Satisface los requerimiento de 1FN con clave primaria
(estudiante_id, curso_id)
? nombre_estudiante depende de estudiante_id pero no de la pareja
(estudiante_id, curso_id)
? Divídase en tablas tres tablas
? estudiante(estudiante_id, estudiante_nombre)
? asignatura(curso_id,curso_nombre)
? registro(estudiante_id, asignatura_id)

Ahora podemos tener datos de estudiantes que no estan matriculados en
ninguna asignatura, asignaturas que no tienen ningún estudiante y no
necesitamos repetir los datos de estudiante/asignatura para cada registro
7.5

Segunda Forma Normal (cont)
? ASEGURAROS DE NO PERDER INFORMACION AL PARTIR

LA RELACION EN VARIAS TABLAS

7.6

TerceraForma Normal
? Definición de dependencia transitiva: Un atributo depende

transitivamente de la clave primaria si depende de otro atributo
que a su vez depende de la clave
? La tercera forma normal elimina estas dependencias
? Por ejemplo

? pedido(pedido_id, fecha, cliente_id, cliente_nombre)
? satisface 1FN y 2FN con clave primaria pedido_id
? pero cliente_nombre cambia si cambiacliente_id
? Así que debemos dividir la tabla en:
? pedido(pedido_id,

fecha, cliente_id)

? cliente(cliente_id,cliente_nombre)

7.7

Resumen
El proceso de normalización consiste:
1. Comprueba que cada tabla tiene un número fijo de columnas y

las variables son sencillas (atómicas)
2. Identifica la clave primaria
3. Comprueba que todos los atributos (menos la clave primaria)
depende deTODA la clave no de PARTE de ella.
4. Si existe dependencia parcial rompe la relación en varias
subrelaciones.
5. Comprueba que todos los atributos dependen de la clave y no
de otros atributos (dependencias transitivas)
6. Si existe dependencias no relacionadas con la clave primaria
subdivide las tablas
Y ya teneis vuestra base de datos en 3FN

7.8

Normalización
La normalización...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Daniela
  • Daniel
  • Daniela
  • Daniela
  • Daniela
  • Daniel
  • Daniel
  • Daniel

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS