domingo, 15 de abril de 2012

Normalización de la 1FN hasta la 4FN

El siguiente ejemplo ha sido extraído de una práctica calificada tomada en el ciclo 2010-2 del curso Base de Datos.

Hospedajes Rurales:
La Dirección de Turismo de la Región Lima desea guardar información sobre los alojamientos rurales que existen en su territorio. Para ello decide crear una base de datos que recoja las siguientes consideraciones:

· Un alojamiento rural se identifica con código, tiene un nombre y una dirección.

· En cada alojamiento trabajan una serie de personas que se identifican con un código de empleado, único en todo el sistema. Se requiere conocer además su nombre completo, dirección y DNI. Aunque en un alojamiento trabajen varias personas, cada persona solamente puede trabajar en un alojamiento.

· Los alojamientos se alquilan por habitaciones, y se desea conocer cuántas habitaciones componen cada alojamiento, de qué tipo (individuales, dobles, triples) es cada una, si posee baño propio y su precio.

· Algunos de estos alojamientos organizan actividades multiaventura para sus huéspedes (caminatas, ciclismo de montaña, canotaje, etc.). Estas actividades se identifican con un código único. Es de interés saber el nombre de la actividad, la descripción y el nivel de dificultad, el cual es propio de la actividad (es decir, la dificultad no depende del alojamiento que la organice).

· Estas actividades se realizan uno o más días a la semana en cada alojamiento. Por ejemplo, en el alojamiento L005 hay canotaje los miércoles, sábado y domingo; en el alojamiento L042 hay canotaje martes, sábado y domingo, y ciclismo de montaña los lunes, miércoles y viernes.

· Los alojamientos registran a sus huéspedes asignándoles un código de identificación (único en cada alojamiento), y registrando su nombre completo y su nacionalidad. Se debe conocer además todas las ocasiones en que se hospedó cada huésped, guardando la información la habitación que ocupó y del período de hospedaje en términos de la fecha de llegada y de salida del alojamiento. Esto es muy importante puesto que hay personas que regresan muchas veces al mismo alojamiento, en sus vacaciones o aprovechando fines de semana largos.



Solución:

Paso 1:


Hallando los determinantes:

Determinantes: (C_Actividad, C_Alojamiento, C_Empleado, C_Habitacion, C_Huesped, D_IniHospedaje)


Atributo en DMV no soportado por el conjunto de determinantes: N_DiaSemana

(C_Empleado) determina C_Alojamiento

(C_Alojamiento, C_Huesped, D_IniHospedaje) determinan C_Habitacion



>> PK: (C_Actividad, C_Empleado, C_Huesped, D_IniHospedaje, N_DiaSemana)

R: (C_Alojamiento, C_Actividad, C_Empleado, C_Habitacion, C_Huesped, #_Telefono, $_Habitacion, C_DNIEmpleado, D_FinHospedaje, D_IniHospedaje, F_Baño, N_Actividad, N_Alojamiento, N_DiaSemana, N_Dificultad, N_Empleado, N_Huesped, N_Nacionalidad, N_TipoHabitacion, T_Actividad, T_DirecAlojamiento, T_DirecEmpleado) 

Paso #2 - Trabajamos las DMV:
Actividad en Alojamiento: (C_Alojamiento, C_Actividad, N_DiaSemana)


Paso #3 - Armar relaciones donde haya DFC:

Actividad: (C_Actividad, N_Actividad, N_Dificultad, T_Actividad)

Empleado: (C_Empleado, C_Alojamiento, C_DNIEmpleado, N_Empleado, T_DirecEmpleado, N_Alojamiento, #_Telefono, T_DirecAlojamiento)

Huésped: (C_Alojamiento, C_Huesped, N_Huesped, N_Nacionalidad)

Hospedaje: (C_Alojamiento, C_Huesped, D_IniHospedaje, D_FinHospedaje, C_Habitacion)

Habitación: (C_Alojamiento, C_Habitacion, $_Habitacion, N_TipoHabitacion, F_Baño)



Paso #4 – Despejar las DT que hubiera:

Empleado (1:( (C_Empleado, C_Alojamiento, C_DNIEmpleado, N_Empleado, T_DirecEmpleado)

Alojamiento: (C_Alojamiento, N_Alojamiento, #_Telefono, T_DirecAlojamiento)


Conjunto Solución: {Actividad en Alojamiento, Actividad, Empleado (1), Alojamiento, Huésped, Hospedaje, Habitación}

Explique detalladamente que resuelve la cuarta forma normal (4FN)

Una relación estará en cuarta forma normal si y además de estar en 3FN, es FNBC (Forma normal de Boyce/Codd) y no contiene Dependencias MultiValor (DMV).

Antes de nada, comenzaré definiendo que una tabla estará en FNBC si y sólo si está en 3FN y los únicos determinantes son claves candidatas.

Además, se dice que será DMV si:
Se dice que un atributo RY es DMV de un atributo RX si un rango específico de valores Y está determinado por un valor específico de X.
En conclusión es una relación de MUCHOS A MUCHOS.
Ejm 1:


Como vemos:
C_Alumno posee muchos deportes y C_Alumno posee muchos cursos.
Entonces estamos ante una relación de muchos a muchos, es decir DMV.

Aplicamos la 4FN para separar la Tabla creando 2 nuevas:

Alumno_X_Deporte


Alumno_X_Curso



De este modo vemos resuelto el problema con el empleo de estas 2 tablas, como vemos la dependencia multivalor desapareció dando paso a 2 relaciones.

Para fines informativos: los ejemplos 2,3,4 se basan en la estructura del primero por ello sólo colgaré las imágenes de las tablas.

Ejm2:


Si un parto lo pueden atender una o mas enfermeras y uno o más médicos.

C_Bebe ->> Médico
C_Bebe ->> Enfermera

Creamos dos tablas:
Bebe_X_Medico


Bebe_X_Enfermero


Ejm 3:



N_Restaurante ->> N_Plato
N_Restaurante ->>T_Lugar_Envio

Restaurante_X_Plato


Restaurante_X_Lugar


Ejm4:


N_Tienda ->> N_Marca
N_Tienda ->> N_Sede

Tienda_X_Marca


Tienda_X_Sede



Gráficamente, la 4FN falla cuando no está aplicada es decir cuando se presentan casos de DMV o simplemente la FNBC está mal aplicada.

Esos gráficos se encuentran incluidos en los 4 ejemplos anteriores en las primeras imágenes de cada ejemplo exáctamente. Vemos que poseen DMV lo cual provoca redundancia en la modelación.

Explique detalladamente que resuelve la tercera forma normal (3FN)

La tercera forma normal (3FN) es cuando se cumple la 2FN y además ningún atributo que no es clave primaria está en Dependencia Funcional (DF) con algún otro atributo que no es clave primaria.


La tercera forma normal (3FN) resuelve:
  • La Dependencia Funcional Transitiva (DFT). 

Ejemplos: En estos ejemplos se muestra la aplicación de la 1FN, 2FN y sobretodo de la 3FN.

1. Alumnos: (DNI, Nombre, Apellido1, Cod_Provincia)

Provincia: (Cod_Provincia, Provincia)









2. Personal: (cod_p , nombre,cod_fac) 

Facultad: (cod_fac , nomb_facultad)

3.


4. La tabla Ganadores del torneo se dividió en dos, ya que se podía observar la dependencia
transitiva entre dos atributos no claves, pero al dividirlo ya se disipo la DFT.




Fallas de la tercera forma normal:

La principal falla o defecto de la tercera forma normal es cuando se presenta la dependencia de multivalor que es la existencia de dos o más relaciones independientes muchos a muchos causa redundancia en la información, y como también cuando se presenta que algún determinante no es clave candidata.
Ejemplos de las fallas de la 3FN:

Ejemplo 1:




Esta relación tiene dos claves sobrepuestas (Nivel, Cargo) y (Nivel, Nombre), pero como también el determinante de Cargo es Nombre pero este atributo Nombre no es una clave candidata.

Explique detalladamente que resuelve la segunda forma normal (2FN)

Una relación esta en 2FN si cumple con la 1FN y ademas todos los atributos que no son clave primaria, estan en dependencia funcional completa con la clave primaria.

La segunda forma normal (2FN) resuelve:
. La dependencia que deben tener los atributos que no son clave primaria, es decir, que cada uno de estos atributos debe tener dependencia funcional completa con la clave primaria.

Ejemplos:







Por otro lado, las fallas que presenta la 2FN son:
. Problemas de almacenamiento que son causados por la Dependencia Transitiva (DT)


Como se ve en la figura la tabla Factura, se ve que Nombre_cliente, Direccion_cliente y Poblacion_cliente, dependen funcionalmente de Codigo_cliente, sin embargo Codigo_cliente no es clave primaria, por lo tanto existe una Dependencia Transitiva (DT), aqui es donde falla la 2FN y se procede a normalizar a 3FN.

Diferencia los datos Normalizados en primera forma normal (1FN) y el universo de Datos no Normalizado

La diferencia es que en 1FN, los datos están atomizados, es decir, todos los atributos de cada tupla contienen un solo valor tomado de sus dominios respectivos. También se dice que son valores simples, no hay grupos repetidos.

Ejemplos de 1FN:

Agregar los principales logros y contribución científica (Relacionado con Sistemas, Información,...)

Wiener:
Wiener fue uno de los creadores de la Teoría de la Información, que establece a la información como una estadística que se puede medir. También definió la entropía como la cantidad de información que se puede obtener de un hecho o un suceso. También fue un precursor de la Teoría de Sistemas, a través de su trabajo acerca de la regularización de la retroalimentación (cibernética).

Gibbs: 
Tal vez fue uno de los mas discretos en hacer un avance en la informática, ya que no se desarrolló en esa área en específico, es más, su contribución fue el avance de la física vectorial, lo que ayudó después a entender muchos conceptos abstractos de la informática, también contribuyó con la conservación de la información mediante sus avances en termodinámica.

Maxwell:
James Clerk Maxwell desarrollo la teoría electromagnética clásica, sus contribuciones son de la misma magnitud que las de Newton o las de Einstein ya que sin el muchas cosas no serian como son. Introdujo el concepto de onda electromagnética y sus ecuaciones están presentes en todos los libros de magnetismo.

Albert Einstein: 
La teoría de la relatividad o reletividad general es una teoría del campo gravitatorio publicada por Albert Einstein en 1915 y 1916.

San Agustín:
San Agustín se relaciona con Sistemas e información gracias a su concepción del mal. Para él el mal es una probabilidad, una carencia de perfección ya que según el todo lo que Dios creo es bueno. Esto se relaciona con la entropía y la cibernética ya que esta es la posibilidad que algo ocurra.

Sócrates: 
Creó la mayéutica, que indica que en base a sucesos particulares, es posible crear una regla general. Esto le ayudo a resolver muchos problemas. No solo aprendía de las cosas que hacía, sino que todo lo analizaba y podía aprender mucho más de las cosas simples.


Platón: 
Platón usó la palabra "cibernautica" en La Republica con el significado de "arte de dirigir a los hombres" o "arte de gobernar". Este es un termino genérico muy antiguo pero aun se puede encontrar en muchas áreas de la ciencia, ya sea: Sistemas adaptativos, inteligencia artificial, Teoría de Sistemas, entre otras.

¿Cómo relaciona Wiener la introducción del concepto de probabilidad con la concepción de San Agustín del Mal?

San Agustin Llega a la conclusión de que el mal no es una sustancia, pero no por esto es inexistente. Con la definición del mal como privación aporta al cristianismo y a la filosofía una gran riqueza. Esta definición representa el conocimiento más delicado del problema del mal, sea en el plano metafísico o en el teológico. Reconoce en el mal toda su extensión y dominio, pero, al mismo tiempo, pone al desnudo su miseria ontológica demostrando que el mal en sí no puede subsistir y que, por ello, necesita del bien. El mal existe, pero sin sustancia.

Esto puede relacionarse con Wiener y con la probabilidad, ya que debido a las distintas posibilidades en las que un hecho se puede desarrollar, la perfección es muy difícil de lograr.Entonces podemos afirmar que para Wiener la probabilidad es la carencia de perfección, en otras palabras el "Mal".

¿Cómo interpretaría Wiener la información de Einstein que dice ¨Dios no juega a los dados¨?


En 1964 Norbert Wiener escribe el libro Dios y Golem S.A, el título de esta obra habla por sí solo. En él trata continuamente sobre la relación entre las máquinas y los temas religiosos. A continuación un extracto de su obra:
“En consecuencia, reexaminar nuestras ideas acerca de esas materias, con base en los últimos desarrollos de la teoría y la técnica práctica, resulta afín a un estudio detenido de las relaciones entre la ciencia y la religión”
En la conclusión del libro, se traslada la ética hacia la política, alejándola rotundamente de la religión. Este libro causó mucha controversia por lo señalado sobre Albert Einstein: Dios no juega a los dados con el universo. Con esto se refería de forma metafórica a que siempre existen sistemas o reglas que rigen en el mundo material, solo que algunas aún sido descubiertas.

¿Cuál es la metáfora usada por Wiener entre información y energía?

La metáfora que Wierner usa es: “La información es información, no es materia ni energía”. De esta manera Wiener buscó relacionar y comparar los términos materia, energía e información. Él afirmaba que a medida que pasa el tiempo, la materia y energía se van degradando. Es así como también la información se va degradando a medida que va circulando.

¿Cómo se define el concepto de entropía y qué relación guarda con el de información?

Segùn la termodinámica, mecánica estadística y teoría de la información, Entriopía es un concepto.Este se concibe como una “medida del desorden” o la “peculiaridad de ciertas combinaciones”. La Entropía puede ser considerada como una medida de la incertidumbre y de la información necesaria para, en cualquier proceso, poder acotar, reducir o eliminar la incertidumbre. 

La Entropía también es entendida como la cantidad de información promedio que contienen los símbolos usados. Los símbolos con menor probabilidad son los que aportan mayor información; por ejemplo, si se considera como sistema de símbolos a las palabras en un texto, palabras frecuentes como “que”, “el”, “a” aportan poca información. Mientras que palabras menos frecuentes como “corren”, “niño”, “perro” aportan más información. Si de un texto dado borramos un “que”, seguramente no afectará a la comprensión y se sobreentenderá, no siendo así si borramos la palabra “niño” del mismo texto original. Cuando todos los símbolos son igualmente probables (distribución de probabilidad plana), todos aportan información relevante y la entropía es máxima. Estos términos se pueden relacionar claramente con los conceptos básicos de base de datos, ya que al principio se pueden apreciar datos crudos o desordenado que al principio es difícil de entender pero luego de pasar por un proceso se puede mantener un orden establecido.

¿Qué relación hay entre Información, Organización y Probabilidad?


Antes de responder a la pregunta, definiremos:

Información.- Es un conjunto de datos que han pasado por un proceso de organización, esta información entrega un mensaje que aumenta el conocimiento de la persona o sistema que lo recibe.

Organización.- Es un grupo de actividades coordinadas destinadas a alcanzar uno o varios objetivos específicos.

Probabilidad.- Mide con qué frecuencia se tiene uno o varios resultados al llevar a cabo una actividad o experimento en particular.

Con la definición que hemos proporcionado podemos ver que todas las definiciones aquí descritas tienen un vínculo. Para que funcione coordinadamente las actividades dentro una organización es necesaria la correcta información entre todas las actividades, esta información, además, ayuda a la toma de decisiones para desarrollar estas mismas actividades que llevaran a la organización a alcanzar su objetivo. Es aquí donde la probabilidad entra a colación; ya que ayuda a sacar conclusiones sobre la probabilidad de sucesos con la información pertinente; lo cual, ayudara a una mejor toma de decisiones.

En síntesis, analizar la probabilidad de sucesos manejando la información pertinente, ayuda a una mejor toma de decisiones; las cuales ayudara a que las actividades de la organización se realicen de la manera adecuada para alcanzar sus objetivos.