Pregunta

Este es solo un ejemplo que he creado. Supongamos que esta es la relación que tengo:

0nf Coche (Carid Pk, (Tiraid, Tire_Colour, Tire_puntured), seguro) Donde TireID, Tire_Colour, Tire_punted es parte de un grupo repetido.

Un automóvil se considerará seguro si todos sus llantas no están perforados.

sería la siguiente dependencia funcional correcta:

CardID, Tiraid, Tire_punted -> {SAFE}

Si tuviera que seguir normalizando y descompone la relación en tablas separadas ¿Cómo mostraría la dependencia de seguro a través de las tablas?

Sample Data
------------
CarID   |  TireID  |   Tire_Colour   |   Tire_Punctured   |   Safe   |  
   1          23             black              false            true  
   1          11             blue               false            true  
   1          29             black              false            true  
   1           1             black              false            true  

   2           4             red                false            false  
   2          34             purple             false            false  
   2          24             black              true             false  
   2          64             black              false            false  

¿Fue útil?

Solución

La teoría de la normalización clásica puede aplicarse a este escenario solo si considera que la parte (Tireid, Tire_Colour, Tire_punted) de su esquema que denota una solo * atributo / columna , y ese atributo / columna en sí se realiza en los valores * relacionados (/ tabla) * . Atributos de relación calidad-precio, RVA's para corta, en la teoría moderna.

En ese caso, tiene las dos FD's Carid -> YourRVA y YourRVA -> Seguro.

El primero expresa el hecho de que sabiendo de qué automóvil estamos hablando nos permite saber qué se involucra el conjunto de neumáticos (y su estado), y el segundo expresa el hecho de que el estado de los neumáticos determina (todo por sí mismo. ) Si el automóvil es seguro o no.

Si "desenvuelve" este diseño (*) en uno más tradicional (reemplazando el atributo RVA con los atributos escalares que contiene), luego el FD de YourRVA -> Safe Safe simplemente no es expresable, porque obviamente no se le expresa. existe más tiempo. La especificación de dichas reglas en tales diseños está más allá del alcance de, y no se puede hacer con, dependencias funcionales.

(*) Y Si desea implementar esto en un sistema SQL, se le verá obligado a hacerlo porque los sistemas SQL (y quizás incluso el idioma de SQL en sí) normalmente no admiten las Mesas base de RVA.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top