«

»

Sep 06

Normalización de tablas relacionales: Primera formal Normal (1FN)

Una tabla de BBDD relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Vamos a explicarlo de forma muy sencilla.

La primera forma normal, requiere no tener mas de un dato en la columna.

Si tenemos la siguiente tabla:

Capture

Como vemos que el primer registro tiene 2 teléfonos, por lo que no cumple la 1FN

Lo solucionaríamos:

Capture

Creamos otra tabla donde se va almacenar los teléfonos y haremos una relación de la BBDD principal con esta de teléfonos

También esta primera forma normal no puede tener valores Nulos o campos vacíos.

Vamos con el ejemplo, tenemos la siguiente tabla

Capture

Lo solucionaremos de la siguiente forma

Capture

Como el anterior caso, creamos otra tabla donde se va almacenar los teléfonos y haremos una relación de la BBDD principal con esta de teléfonos. Y como vemos quitamos los valores nulos.

Tener en cuenta que en SQL Server podemos configurar que los campos no admitan los campos nulos.

Capture

Por eso, lo mejor seria que no seleccionaremos el no aceptar valores Null.

Tambien para cumplir la primera forma normal tiene que haber una clave primaria como podeis ver la llave de la tabla anterior.

Bueno, creo que con estos ejemplos queda algo claro.De todas formas si tenéis otros ejemplos u otra forma de explicarlo lo podéis en comentario.

Vamos a por lo siguiente, la segunda formal.

2 comentarios

  1. Eugenio

    Hola que tal?,

    Me surge una duda en la creación de la segunda tabla, esa segunda tabla que contendrá el código y el teléfono llevara una llave compuesta?, porque la información de código es redundante no (debido a que se repiten datos)?

    Se maneja así? o que es lo que pasa?

    1. carlosgilaranz

      La idea es fijarse solo en el campo codigo y no en el telefóno. Si quieres cambia el campo telefono por el campo direccion y funcionaria
      te sirve la expliacaion ????