logo informatico sin limites

¿Quieres apoyarnos? Con nuestro Código: "VIVESINLIMITES" tendrás 2 MESES GRATIS en el plan mensual del Hosting SERED QUIERO APOYARTE!

La 5FN proyección unión, es una forma normal bastante particular.

De todas las que hemos visto, esta es la menos usada y solamente se aplica en casos muy concretos.

¿Que debería conocer antes de ver esta forma?

Características de la 5FN

  • La tabla tiene que estar en 4FN.
  • Toda las dependencias de unión ( Join en SQL ) están implicadas por claves candidatas.

¿Que se necesita para estar en 5FN?

Esta forma es principalmente usada para tablas con muchas columnas, o que puedan generar alguna redundancia o incoherencia de información con las uniones.

Se divide en dos partes: Proyección y unión.

Proyección es cuando separo los datos que me gustaría tener a mi disposición.

Y unión es cuando con un join, realizo la consulta a otras tablas con la clave candidata y puedo obtener la información sin redundancia de las tablas seleccionadas.

Ejemplos 5FN

Tengo un grupo de tiendas que venden artículos electrónicos, en la cual me interesa obtener el nombre de la tienda, las marcas disponibles en las tienda y los productos que tienen.

TiendasMarcasProductos
El señor de la tiendaLogytekMouse
El señor de la tiendaLogytekTeclado
El señor de la tiendaLogytekAudífonos
Tienda 2RyzerMouse
Tienda 2RyzerTeclado
Tienda 2RyzerAudífonos
Tabla: Tiendas.

Claves primarias: ( Tiendas + Marcas + Productos)

Dependencias Funcionales:

  • Tiendas -> Tiendas
  • Marcas -> Marcas
  • Productos -> Productos

Analizando la clave primaria y las dependencias, podemos determinar que cumple todas las formas (1fn, 2fn, 3fn, BCfn, 4fn).

Imaginemos que aplicamos una condición a nuestra tabla, “ las tiendas tienen ciertas marcas y ciertos productos en su almacén, por ejemplo si el señor de la tienda vende artículos marca Logyteky de Ryzer, y ademas tiene mouse disponibles, suponiendo que ambas marcas produzcan mouse. El señor de la tienda debe ofrecer mouse tanto de logitech como de ryzer.”

En ese caso podemos optimizar nuestra base de datos creando nuevas tablas, pero tomando en cuenta que el separar las tablas no puede generar incosistencia de datos (es decir que la informacion que obtengo separando las tablas no sean menor a la original).

Nuestras proyecciones podría ser:

  • Tiendas – Marcas : Todas las marcas disponibles en las tiendas.
  • Tiendas – Productos: Todos los productos disponibles en las tiendas.
  • Productos – Marcas: Los productos que tiene cada marcas
TiendasMarcas
El señor de la tiendaLogytek
Tienda 2Ryzer
Tiendas – Marcas
TiendasProductos
El señor de la tiendaMouse
El señor de la tiendaTeclado
El señor de la tiendaAudífonos
Tienda 2Mouse
Tienda 2Teclado
Tienda 2Audífonos
Tiendas – Productos
MarcasProductos
LogytekMouse
LogytekTeclado
LogytekAudífonos
RyzerMouse
RyzerTeclado
RyzerAudífonos
Productos – Marcas

Parece que ahora tenemos que agregar mas información que antes, pero realmente no…

Vamos agregar que el señor de la tienda vende mouse, teclados y audifonos Ryzer para estar igual que en la otra sucursal.

En la antigua composición quedaría así:

TiendasMarcasProductos
El señor de la tiendaLogytekMouse
El señor de la tiendaLogytekTeclado
El señor de la tiendaLogytekAudífonos
Tienda 2RyzerMouse
Tienda 2RyzerTeclado
Tienda 2RyzerAudífonos
El señor de la tiendaRyzerMouse
El señor de la tiendaRyzerTeclado
El señor de la tiendaRyzerAudífonos
Tabla: Antigua

Mientras que en la nueva, agregamos menos información a una sola tabla.

Porque ya tenemos los demás datos.

TiendasMarcas
El señor de la tiendaLogytek
Tienda 2Ryzer
El señor de la tiendaRyzer
Tabla: Nueva

A largo plazo estas tablas tendrá una eficiente gestión de recursos y podrá acceder de forma sencilla con las consultas join que necesitemos.

Ejercicio de 4FN

¿Puede generar problemas con 4Fn?

  • A -> B
  • A -> C

Dime en comentarios en este vídeo de Youtube tu opinión, Sigue bajando para ver las respuestas.

Respuestas del ejercicios

No. la dependencia que tenemos en el ejercicio luce así ( -> ) mientras que una dependencia que cumpla con las características para ser multivaluadas luciría así ( ->> ).

Si acertaste déjame este emoji ☀️ en respuesta a tu comentario de Youtube del vídeo de arriba.

Y si no acertaste déjame este emoji ☘️, y dime porque tomaste esa decisión.

( Si no te salen los emoji déjame tu comentario igual diciendo si acertaste o no)

Ademas te felicito si vienes de Youtube ❤️, porque demuestra que eres una persona curiosa y que quiere mejorar.

El regalo no solamente es el ejercicio… Sino también la información extra que compartí en este post que en el vídeo no la menciono.

Los que navegan mas profundo, son los que descubren tesoros mas valiosos.

Anterior capitulo

Cuarta Forma Normal

Siguiente capitulo

Curso de base de datos

Esta web utiliza cookies. Puedes ver nuestra política de cookies, si continuas navegando estás aceptándola.