Introducción de la 4.ª y 5.ª forma normal en DBMS

Requisito previo: dependencia funcional , normalización de la base de datos , formas normales 
Si dos o más relaciones independientes se mantienen en una sola relación o podemos decir que la dependencia multivalor ocurre cuando la presencia de una o más filas en una tabla implica la presencia de una o más filas en esa misma mesa. Dicho de otra manera, dos atributos (o columnas) en una tabla son independientes entre sí, pero ambos dependen de un tercer atributo. Una dependencia multivaluada siempre requiere al menos tres atributos porque consta de al menos dos atributos que dependen de un tercero. 

Para una dependencia A -> B, si para un solo valor de A, existe un valor múltiple de B, entonces la tabla puede tener una dependencia de varios valores. La tabla debe tener al menos 3 atributos y B y C deben ser independientes para la dependencia multivaluada A ->> B. Por ejemplo, 

Persona Móvil Comida_Me gusta
Mahesh 9893/9424 hamburguesa/pizza
Ramesh 9191 Pizza
Person->-> mobile,
Person ->-> food_likes 

Esto se lee como «persona multideterminada móvil» y «persona multideterminada food_likes». 

Tenga en cuenta que una dependencia funcional es un caso especial de dependencia multivaluada. En una dependencia funcional X -> Y, cada x determina exactamente una y, nunca más de una. 

Cuarta forma normal (4NF):

La cuarta forma normal (4NF) es un nivel de normalización de la base de datos en el que no hay dependencias multivaluadas no triviales que no sean una clave candidata. Se basa en las primeras tres formas normales (1NF, 2NF y 3NF) y la forma normal de Boyce-Codd (BCNF). Establece que, además de una base de datos que cumpla con los requisitos de BCNF, no debe contener más de una dependencia multivaluada. 

Propiedades: una relación R está en 4NF si y solo si se cumplen las siguientes condiciones: 
 

  1. Debe estar en la forma normal de Boyce-Codd (BCNF).
  2. la tabla no debe tener ninguna dependencia de varios valores.

Una tabla con una dependencia multivaluada viola el estándar de normalización de la Cuarta Forma Normal (4NK) porque crea redundancias innecesarias y puede contribuir a la inconsistencia de los datos. Para llevar esto a 4NF, es necesario dividir esta información en dos tablas. 

Ejemplo: considere la tabla de la base de datos de una clase que tiene dos relaciones: R1 contiene la identificación del estudiante (SID) y el nombre del estudiante (SNAME) y R2 contiene la identificación del curso (CID) y el nombre del curso (CNAME). 

Tabla: R1 (SID, SNAME) 

S.I.D. NOMBRE DE
S1 A
S2 B

Tabla: R2 (CID, CNAME) 
 

CID CNOMBRE
C1 C
C2 D

Cuando se realiza un producto cruzado, se generan dependencias multivaluadas: 

Tabla – R1 X R2 

S.I.D. NOMBRE DE CID CNOMBRE
S1 A C1 C
S1 A C2 D
S2 B C1 C
S2 B C2 D

Las dependencias multivaluadas (MVD) son: 
 

 SID->->CID; SID->->CNAME; SNAME->->CNAME

Dependencia conjunta: la descomposición conjunta es una generalización adicional de las dependencias multivaluadas. Si la unión de R1 y R2 sobre C es igual a la relación R entonces podemos decir que 
existe una dependencia de unión (JD), donde R1 y R2 son la descomposición R1(A, B, C) y R2(C, D) de unas relaciones dadas R (A, B, C, D). Alternativamente, R1 y R2 son una descomposición sin pérdidas de R. Se dice que A JD ⋈ {R1, R2, …, Rn} mantiene una relación R si R1, R2, ….., Rn es una descomposición sin pérdidas. El *(A, B, C, D), (C, D) será un JD de R si el atributo join de join es igual a 
la relación R. Aquí, *(R1, R2, R3) se usa para indicar esa relación R1, R2, R3 y así sucesivamente son una JD de R. 

Sea R un esquema de relación R1, R2, R3……..Rn sea la descomposición de R. Se dice que r( R ) satisface la dependencia de unión si y solo si 

Ejemplo – 

Mesa – R1 

Compañía Producto
C1 memoria USB
C1 micrófono
C2 altavoz
C2 altavoz
Company->->Product 

Tabla – R2 

Agente Compañía
Un hombre C1
Un hombre C2
mohán C1
Agent->->Company 

Mesa – R3 

Agente Producto
Un hombre memoria USB
Un hombre micrófono
Un hombre altavoz
mohán altavoz
Agent->->Product 

Tabla – R1⋈R2⋈R3 

Compañía Producto Agente
C1 memoria USB Un hombre
C1 micrófono Un hombre
C2 altavoz altavoz
C1 altavoz Un hombre
Agent->->Product 

Quinta Forma Normal / Forma Normal Proyectada (5NF):

Una relación R está en 5NF si y solo si cada dependencia de unión en R está implícita en las claves candidatas de R. Una relación descompuesta en dos relaciones debe tener la propiedad de unión sin pérdidas, lo que garantiza que no se generen tuplas espurias o adicionales, cuando las relaciones se reencuentran a través de una unión natural. 

Propiedades: una relación R está en 5FN si y solo si cumple las siguientes condiciones: 
 

  1. R debería estar ya en 4NF. 
     
  2. No se puede descomponer más sin pérdida (dependencia de unión)

Ejemplo: considere el esquema anterior, con un caso como «si una empresa fabrica un producto y un agente es un agente para esa empresa, entonces siempre vende ese producto para la empresa». Bajo estas circunstancias, la tabla ACP se muestra como: 

Mesa – ACP 

Agente Compañía Producto
A1 PQR Nuez
A1 PQR Tornillo
A1 XYZ Nuez
A1 XYZ Tornillo
A2 PQR Nuez

La relación ACP se descompone nuevamente en 3 relaciones. Ahora, la unión natural de las tres relaciones se mostrará como: 

Mesa – R1 

Agente Compañía
A1 PQR
A1 XYZ
A2 PQR

Tabla – R2 
 

Agente Producto
A1 Nuez
A1 Tornillo
A2 Nuez

Mesa – R3 
 

Compañía Producto
PQR Nuez
PQR Tornillo
XYZ Nuez
XYZ Tornillo

El resultado de la combinación natural de R1 y R3 sobre ‘Compañía’ y luego la combinación natural de R13 y R2 sobre ‘Agente’ y ‘Producto’ será la tabla ACP

Por lo tanto, en este ejemplo, se eliminan todas las redundancias y la descomposición de ACP es una descomposición conjunta sin pérdidas. Por lo tanto, la relación está en 5NF ya que no viola la propiedad de unión sin pérdidas .
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *