En la mayoría de casos la simplifican diciendo que todos los atributos deben ser atómicos, y no multivaluados. Esto es cierto en tanto en cuanto el resto de reglas son implícitas de los sistemas de gestión de bases de datos. Pero las reglas completas son las siguientes:
- No hay orden de arriba-a-abajo en las filas, es decir, el orden de las tuplas no importa para la información.
- No hay orden de izquierda-a-derecha en las columnas, es decir, el orden de las columntas no importa para la información.
- No hay filas duplicadas.
- Cada atributo tiene un único dominio aplicable y un único valor de dicho dominio, y aun más allá, la solución a esto no es crear nuevos atributos para contemplar posibles valores de la multivaluación.
Vamos a explicarlo de manera sencilla. Supongamos una entidad “Persona” que contiene una clave primaria, nombre, apellido y teléfono. Pero claro, una persona puede tener múltiples teléfonos de contacto, así que podríamos pensar en utilizar el campo teléfono para meter varios separados por comas, por ejemplo. Esto sería incorrecto, por ejemplo:
También se nos podría ocurrir poner varias columnas Telefono1, Telefono2,… pero esto solamente cubriría parte de las posibilidades, y además tendríamos columnas muy repletas de nulos, con muchos huecos:
La solución correcta, para cumplir la 1NF, es crear una tabla nueva para los teléfonos, relacionada con la tabla Persona por su clave primaria:
No hay comentarios:
Publicar un comentario