Normalizar Bases De Datos

Páginas: 23 (5700 palabras) Publicado: 2 de junio de 2012
Relación = tabla o archivo
▪ Tupla = registro, fila o renglón
▪ Atributo = campo o columna
▪ Clave = llave o código de identificación
▪ Clave Candidata = superclave mínima
▪ Clave Primaria = clave candidata elegida
▪ Clave Ajena = clave externa o clave foránea

¿Qué es normalización?


Normalización es un proceso que clasifica relaciones, objetos, formas de relación y demáselementos en grupos, en base a las características que cada uno posee.

Normalización de bases de datos

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Las bases de datos relacionales se normalizan para:

▪ Evitar la redundancia de los datos.
▪ Evitar problemasde actualización de los datos en las tablas.
▪ Proteger la integridad de los datos.
El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.[1]

Ejemplo:
Digamos que queremos crear una tabla con la información de usuarios, y los datos a guardar son el nombre, la empresa, la dirección de la empresa y algun e-mail, o bien URL .
Primer nivel de Formalización/Normalización.(F/N)

1. Eliminar los grupos repetitivos de la tablas individuales.
2. Crear una tabla separada por cada grupo de datos relacionados.
3. Identificar cada grupo de datos relacionados con una clave primaria.



Formalización CERO
|Usuarios |
|Nombre|empresa |direccion_empresa |url1 |url2 |
|Joe |ABC |1 Work Lane |abc.com |xyz.com |
|Jill |XYZ |1 Job Street |abc.com |xyz.com |


¿ Ves queestamos rompiendo la primera regla cuando repetimos los campos url1 y url2 ?
¿ Y que pasa con la tercera regla, la clave primaria ?  La regla tres básicamente significa que tenemos que poner campo tipo contador autoincrementable para cada registro. De otra forma, ¿ Qué pasaria si tuvieramos dos usuarios llamados Joe y queremos diferenciarlos.
Una vez que aplicaramos el primer nivel de F/N nosencontrariamos con la siguiente tabla:
|Usuarios |
|userId |nombre |Empresa |direccion_empresa |url |
|1 |Joe |ABC |1 Work Lane|abc.com |
|1 |Joe |ABC |1 Work Lane |xyz.com |
|2 |Jill |XYZ |1 Job Street |abc.com |
|2 |Jill |XYZ |1 Job Street|xyz.com |

Hemos solucionado el problema de la limitación del campo url. Pero sin embargo vemos otros problemas....Cada vez que introducimos un nuevo registro en la tabla usuarios, tenemos que duplicar el nombre de la empresa y del usuario. No sólo nuestra BD crecerá muchísimo, sino que será muy facil que la BD se corrompa  si escribimos mal alguno de los datosredundantes.
Segundo nivel de F/N
1. Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros.
2. Relacionar estas tablas mediante una clave externa.
Hemos separado el campo url en otra tabla, de forma que podemos añadir más en el futuro si tener que duplicar los demás datos. Tambien vamos a  usar nuestra clave primaria para relacionar estos campos:




|Usuarios...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Base De Datos Normalizadas
  • BASE DE DATOS , base de datos
  • Bases de datos y usuarios de bases de datos
  • Que es una base de datos y tipos de base de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS