Als Codd das relationale Modell definierte, definierte er eine Reihe von Operatoren, die auf Beziehungen angewendet werden konnten. Bei der Angabe einer relationalen Algebra, ähnlich wie bei der Angabe einer ganzzahligen Algebra, können wir Symbole anstelle von Beziehungen verwenden, um Abfragen zu lösen. Diese Operatoren unterliegen denselben algebraischen Eigenschaften wie ganzzahlige Algebraoperatoren (+, -, *, /). Infolgedessen können wir bestimmte Gesetze annehmen, die immer für eine Beziehung gelten, jede Beziehung, die diese Operation durchläuft. Zum Beispiel wissen wir in der Ganzzahlalgebra, dass Addition und Multiplikation assoziativ sind , indem wir die Gruppierung von Operanden ändern und nicht das Ergebnis ändern können:
a + (b + c) = (a + b) + c
In ähnlicher Weise wissen wir in der relationalen Algebra, dass die natürliche Verknüpfung assoziativ ist, und wissen daher, dass die Verknüpfung A der Verknüpfung B in beliebiger Reihenfolge ausgeführt werden kann. Diese Eigenschaften und Gesetze ermöglichen es, Abfrageformulierungen neu zu schreiben und garantiert die gleichen Ergebnisse zu erzielen. Das Buch Angewandte Mathematik für Datenbankprofis enthält wichtige Informationen zu den verschiedenen Umschreibregeln, mit denen Sie dieselbe Abfrage auf unterschiedliche Weise präzise formulieren können. In einer perfekten Welt hätte jede Formulierung, die das gleiche Ergebnis liefert, die gleiche Leistung. Ein moderner Optimierer ist zwar eine erstaunliche Software, aber nicht perfekt. Wenn Sie also eine Abfrage auf eine Weise formuliert haben und eine schlechte Leistung erzielen, haben Sie die Fähigkeit, sie auf eine andere Weise zu formulieren und zu kennenes hat die gleiche Semantik. Ein weiterer praktischer Vorteil besteht in der Angabe von Datenbankeinschränkungen. Wenn Sie die relationale Algebra verstehen, können Sie zunächst den einfachsten Weg zur Formulierung der Einschränkung bestimmen. Zweitens können Sie durch die Formulierung der Einschränkung in der formalen Logik sofort jede Unklarheit in der Absicht der Experten für Geschäftsfächer klären, die die Geschäftsregel in losem Englisch formuliert haben, und Fehler vermeiden.
Es war Leonardo da Vinci, der sagte:
Wer das Üben ohne Theorie liebt, ist wie der Seemann, der ohne Ruder und Kompass an Bord geht und nie weiß, wo er werfen darf.
Auf die gleiche Weise kann ein Datenpraktiker, der die Grundlagen der relationalen Theorie nicht versteht, die Technologie nicht so vollständig beherrschen wie mit diesem Verständnis. Einige großartige Referenzen zur relationalen Algebra sind die Einführung in die relationale Algebra von SIRA_PRISE und die SQL- und relationale Theorie von CJ Date . Das Buch von Date zeigt, wie praktisch es ist, relationale Algebra zu verstehen, damit Sie viel genauere SQL-Abfragen schreiben können. SQL hat viele Macken und Fallstricke, und ein fundiertes Verständnis der Funktionsweise im Vergleich zu den ursprünglichen relationalen Algebra-Operatoren hilft wirklich dabei, die Fallstricke zu erkennen und zu vermeiden.
Ich bin der festen Überzeugung, dass Sie als DBA erfolgreich sein können, ohne einen formalen Kurs in relationaler Algebra zu belegen, genauso wie Sie ein erfolgreicher Programmierer sein können, ohne einen formalen Kurs in diskreter Mathematik zu belegen. Die Notwendigkeit , einen Kurs in relationaler Algebra zu belegen, hängt sehr stark von Ihrem Karriereweg / Ihren Zielen ab. Siehe diese Frage zum Programmieren von StackExchange. Das OP wollte einen Master in Algorithmen usw. bekommen. Ich würde sagen, es ist ziemlich offensichtlich, dass er diskrete Mathematik lernen und beherrschen muss. Wenn Ihr Ziel darin besteht, eine Datenbank-Engine zu schreiben oder Teil des Kernteams zu sein, das an einer wichtigen relationalen Datenbank-Engine arbeitet, würde ich dringend empfehlen, relationale Algebra, Statistiken und dergleichen zu beherrschen.
Abgesehen davon helfen Ihnen die Erkenntnisse, die Sie beim Studium der relationalen Algebra gewonnen haben, höchstwahrscheinlich zu verstehen, warum sich Abfragen so verhalten, wie sie sind. Dies ist für die Fehlerbehebung hilfreich, wenn nichts anderes. Das Erforschen und Studieren der formalen Studien zur relationalen Logik wird Ihnen auch auf andere Weise helfen.
Zum Beispiel habe ich nicht viel formales Wissen in der relationalen Theorie, aber ich kann eine anständige Abfrage zusammen hacken und ein anständiges allgemeines Gespür dafür haben, wie man gute Lösungen entwirft. Davon abgesehen habe ich Probleme, wirklich einige hervorragende Antworten von Benutzern wie MDCCL zu erhalten, weil ich der Notation und / oder den Konzepten nicht wirklich vollständig folgen kann. Ich weiß nicht, ob MDCCL eine formelle Ausbildung hat oder nicht, aber ich bin der Meinung, dass eine stärkere theoretische Grundlage mir die Möglichkeit geben würde, auf MDCCL-Niveau zu spielen.
Dies ist nur ein Beispiel, das den tatsächlichen Wert der relationalen Algebra usw. zeigt. Sie muss nicht unbedingt direkt auf SQL angewendet werden, sondern Sie können das Wissen auf einer höheren Ebene verdauen.
MDCCL Ich hoffe, es ist in Ordnung, wenn ich Sie in dieser Antwort anrufe. Wenn Sie in diesem Beitrag nicht erwähnt werden möchten, lassen Sie es mich wissen und ich werde Sie bearbeiten.
quelle