Curso de Administracion de Bases de Datos Relacionales: 02 - Primera forma normal

Hola buenas tardes, la primera forma normal(1FN) nos garantiza una propiedad llamada isomorfismo, si P y Q son registros de una tabla, deberán ser similares por que comparten columnas, estas características permiten que al buscar usando cualquier columna, el resultado nos pueda devolver tanto P como Q, solo P o solo Q, no siempre obtener un único resultado es lo que necesitamos, estas propiedades nos garantizan esa posibilidad y sabemos que utilizando una llave primaria, tenemos la garantía de obtener solo P o Q, se necesitan 5 condiciones para que una tabla esté en 1FN, estas condiciones son:

  1. No debe ser necesario que los registros estén ordenados.
  2. No debe ser necesario que las columnas estén ordenadas.
  3. No deben haber filas duplicadas.
  4. Cada intersección de fila y columna, contiene solo un valor(atomicidad).
  5. No hay registros con columnas especiales(todos deben apegarse a la estructura de la tabla).
Si no se cumple una de las condiciones, podemos afirmar que la tabla no está en 1FN, si una tabla no posee llave primaria viola la condición 3, si cualquier columna contiene datos repetidos, viola la condición 3, si un registro contiene dos datos en una misma columna, viola la condición 4, resulta necesario solucionar estos 5 problemas de nuestras tablas para decir que están en 1FN

Según esto, TODO MAL, así de simple, vayamos acostumbrándonos a que esta es la forma de trabajar, toda tabla estará en violación de la normalización en un primer momento, empezamos a marcar todos los problemas de la tabla, tendremos duplicados en teléfonos, correos y estados, tenemos problemas con los cursos matriculados y los cursos que imparte un profesor, con base a esos problemas necesitamos encontrar una solución a estos campos, mi primera iteración se ve así.

El primer cambio obvio consiste en que necesitamos una tabla para los cursos pero todavía esta incorrecta, necesitamos una tabla que contenga el estado, los otros dos problemas son bastante mas complejos y los resolveremos en la próxima iteración.
Tenemos que la tabla de cursos no posee una clara llave primaria, pero fingiremos que es el ID hasta nuevo aviso por que no es sencillo definir esto bajo la 1FN y todavía no soluciona los problemas del negocio, los teléfonos y correos electrónicos ahora tienen su propia tabla, pero es imposible conectar dos a un mismo usuario, esto entra en violación a una condición del negocio, pero no es un problema de normalización y lo ignoraremos en esta etapa, la próxima entrada será llevar la estructura hasta la segunda forma normal.

Comentarios

Entradas populares de este blog

Hablemos de difamación, parafilias y denuncias bien hechas

Criticamos a pablito: "Atrapado en el cuerpo equivocado"

El fruto de una era: Antiintelectualismo moderno