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:
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.
- No debe ser necesario que los registros estén ordenados.
- No debe ser necesario que las columnas estén ordenadas.
- No deben haber filas duplicadas.
- Cada intersección de fila y columna, contiene solo un valor(atomicidad).
- No hay registros con columnas especiales(todos deben apegarse a la estructura de la tabla).
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í.
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
Publicar un comentario
Comente usted aquí