Was sind die praktischen Anwendungen für die relationale Analysis?


7

In meinem Kurs zum Datenbankdesign lernen wir sowohl Relationale Algebra als auch Relationale Berechnung. Ich kann sehen, wo relationale Algebra nützlich sein könnte, da sie eng mit SQL verbunden ist.

Unser Professor sagte, dass Relational Calculus in einigen RDMBS als Alternative zu SQL verwendet wurde, von denen die meisten nicht mehr existieren. Gibt es noch eine praktische Verwendung für Relational Calculus oder ist ein Großteil dieser Theorie?

Antworten:


6

Ich stimme @Erik zu , diese Instrumente sind im Wesentlichen gleichwertig, aber ich werde noch ein paar Ideen zu diesem Thema hinzufügen.

Kontext

Um mehr Kontext bereitzustellen, ist es erforderlich, für beide Begriffe eine maßgebliche Definition zu haben. Hier sind einige Auszüge aus dem relevanten Artikel mit dem Titel " Relationale Vollständigkeit von Datenbanksublanguagen" , der vom Urheber des relationalen Modells, Dr. EF Codd , verfasst und 1972 veröffentlicht wurde:

Relationale Algebra . Der Hauptzweck dieser Algebra besteht darin, eine Sammlung von Operationen für Beziehungen aller Grade (nicht unbedingt binär) bereitzustellen, die zur Auswahl von Daten aus einer relationalen Datenbank geeignet sind.

Beziehungsrechnung . Nachdem wir eine relationale Algebra definiert haben, betrachten wir nun einen angewandten Prädikatenkalkül, der auch bei der Formulierung von Abfragen in jeder Datenbank verwendet werden kann, die aus einer endlichen Sammlung von Beziehungen in einfacher Normalform besteht.

Auf diese Weise kann man sehen, dass sie demselben Zweck dienen, da sie zwei verschiedene mathematische Mittel sind, um eine Gruppe von Operationen auszudrücken, die innerhalb des relationalen Rahmens als gültig angesehen werden.

Vergleich beider Ansätze

In demselben Artikel stellt Codd beide Methoden gegenüber, um einige wichtige Aspekte aufzuzeigen, bei denen sich jede hervorhebt:

Ein Vorteil, der für den algebraischen Ansatz beansprucht werden könnte, ist seine Freiheit von Quantifizierern. Der Kalkül scheint jedoch der Algebra in vier Punkten überlegen zu sein.

  1. Einfache Augmentation
  2. Spielraum für Suchoptimierung
  3. Autorisierungsfähigkeit
  4. Nähe zur natürlichen Sprache

Daher sollten diese Aspekte von Organisationen berücksichtigt werden, die ihre eigenen Sprachen oder Datenbankplattformen aufbauen möchten.

Praktischer Wert

Ich weiß nicht, ob es zeitgemäße, erfolgreich kommerzielle RDBMS gibt, die Abfragesprachen bereitstellen, die ausschließlich auf relationalen Berechnungen basieren , aber ich bin der Meinung, dass ihr praktischer Wert in der Tatsache liegt, dass es eine theoretisch fundierte Alternative für Anbieter bietet , die planen, ein neues gültiges zu entwerfen und zu implementieren relationale Sprache oder erweitern Sie eine bestehende, ohne von bewährten und akzeptierten Praktiken abzuweichen. In dieser Hinsicht kann es nützlich sein, sich den relationalen Kalkül als eine Blaupause vorzustellen , der solche Anbieter folgen können, um eine relationale Sprache zu erstellen.

Da der Markt weitgehend von SQL-Plattformen dominiert wird, Millionen von Benutzern auf der ganzen Welt bereits mit einigen ihrer speziellen Dialekte vertraut sind und Milliarden von Dollar in solche Plattformen investiert werden, wäre es sehr interessant zu bestimmen, ob die Schaffung neuer relationaler Linguagen möglich wäre profitabel, aber wenn ja, könnte die Beziehungsrechnung immer eine wichtige Rolle spielen.

Natürlich können solche Projekte im akademischen Bereich viel praktikabler sein , daher ist dieses Tool praktischer.


Tatsächlich wurde die relationale Vollständigkeit anhand der Tupelrechnung und nicht anhand der Algebra definiert. Zu der Zeit hatte der Tupelkalkül in der Originalarbeit OR, das von UNION implementiert wurde, aber nicht die volle Kraft von UNION bot, so dass es tatsächlich schwächer als die Algebra war. Auch ursprünglich wurden keine leeren Tabellen behandelt! PS SQL selbst ist mehr oder weniger eine Mischung aus Algebra und Domänenrechnung, wobei TC als Spaltenname der impliziten Kreuzverknüpfung eines FROM fungiert.
philipxy

5

https://en.wikipedia.org/wiki/Relational_calculus :

Die relationale Algebra und der relationale Kalkül sind im Wesentlichen logisch äquivalent: Für jeden algebraischen Ausdruck gibt es einen äquivalenten Ausdruck im Kalkül und umgekehrt.

Grundsätzlich handelt es sich um zwei Werkzeuge / Methoden, die effektiv die gleiche Ausgabe erzeugen. Das Lernen des einen kann Einblick in das andere geben, und der zusätzliche Einblick ist der wahre Wert für das Lernen beider .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.