Primera forma normal
La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación1 y está libre de "grupos repetitivos".2
Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy notablemente, la 1FN, tal y como es definida por algunos autores excluye "atributos relación-valor" (tablas dentro de tablas) siguiendo el precedente establecido por (E.F. Codd) (algunos de esos autores son: Ramez Elmasri y Shamkant B. Navathe3 ). Por otro lado, según lo definido por otros autores, la 1FN sí los permite (por ejemplo como la define Chris Date).

Las tablas 1FN como representaciones de relaciones
Según la definición de Date de la 1FN, una tabla está en 1FN si y solo si es "isomorfa a alguna relación", lo que significa, específicamente, que satisface las siguientes cinco condiciones:
- 1. No hay orden de arriba-a-abajo en las filas.
- 2. No hay orden de izquierda-a-derecha en las columnas.
- 3. No hay filas duplicadas.
- 4. Cada intersección de fila-y-columna contiene exactamente un valor del dominio aplicable (y nada más).
- 5. Todas las columnas son regulares [es decir, las filas no tienen componentes como IDs de fila, IDs de objeto, o timestamps ocultos].
- —Chris Date, "What First Normal Form Really Means", pp. 127-84
Ejemplo 1: Dominios y valores[editar]
Suponga que un diseñador principiante desea guardar los nombres y los números telefónicos de los clientes. Procede a definir una tabla de cliente como la que sigue:
ID Cliente | Nombre | Apellido | Teléfono |
---|---|---|---|
123 | Rachel | Ingram | 555-861-2025 |
456 | James | Wright | 555-403-1659 |
789 | Cesar | Dure | 555-808-9633 |
En este punto, el diseñador se da cuenta que un requerimiento es guardar múltiples números telefónicos para algunos clientes. Razona que la manera más simple de hacer esto es permitir que el campo "Teléfono" contenga más de un valor en cualquier registro dado:
ID Cliente | Nombre | Apellido | Teléfono |
---|---|---|---|
123 | Rachel | Ingram | 555-861-2025 |
456 | James | Wright | 555-403-1659 555-776-4100 |
789 | Cesar | Dure | 555-808-9633 |
No hay comentarios.:
Publicar un comentario