Frage

Dies ist nur ein Beispiel, das ich erstellt habe. Angenommen, dies ist die Beziehung, die ich habe:

0nf Auto (Carid Pk, (Tired, yep_colour, yep_punctured), sicher) Wo Tifer, yep_colour, yep_punctured ist Teil einer wiederholten Gruppe.

Ein Auto würde angenommen, wenn alle Reifen nicht punktiert sind.

würde die folgende funktionelle Abhängigkeit korrekt sein:

cardid, fired, yep_puncted -> {Safe}

Wenn ich die Normalisierung fortsetzen würde, und ich zersetzte die Beziehung in separate Tabellen, wie würde ich die Abhängigkeit von Safe über die Tabellen zeigen?

generasacodicetagpre.

War es hilfreich?

Lösung

Die klassische Normalisierungstheorie kann nur für dieses Szenario gelten, wenn Sie den Teil Ihres Schemas (TYNID, TIFE_COLOUR, TIFE_PUTURED) als Teil eines * Single * Attribut / Spalte ansehen , und dass das Attribut / seine Spalte selbst auf * relations-Werte (/ table) * annimmt. REVIERT-bewertete Attribute, RVAs für kurze, in der modernen Theorie.

In diesem Fall haben Sie die beiden FDs Carid -> yourrva und yourrva -> sicher.

der ehemalige drückt die Tatsache aus, dass das Wissen, von dem wir, worüber wir reden, wissen, worüber wir wissen, was ein Satz von Reifen involviert ist (und ihr Zustand), und der zweite drückt die Tatsache aus, dass der Zustand der Reifen (alle von selbst bestimmt) ) Ob das Auto sicher ist oder nicht.

Wenn Sie dieses Design (*) in eine traditionellere Konstruktion auspacken (durch Ersetzen des RVA-Attributs mit den Skalarattributen, die es enthält), ist der IHRERVA -> SAFE FD einfach nicht mehr nicht mehr nicht extrem, denn natürlich yourrva nein Länger existiert. Die Angabe solcher Regeln in solchen Designs ist außerhalb des Umfangs von, und kann nicht mit funktionalen Abhängigkeiten erfolgen.

(*) Und wenn Sie dies in einem SQL-System implementieren sollen, müssen Sie dazu gezwungen werden, dass SQL-Systeme (und vielleicht sogar die SQL-Sprache selbst) in der Regel keine RVAs in Basistabellen unterstützen. .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top