Relationale Algebra in Datenbanken: Operationen, Beispiele

Inhaltsverzeichnis:

Relationale Algebra in Datenbanken: Operationen, Beispiele
Relationale Algebra in Datenbanken: Operationen, Beispiele
Anonim

Im Allgemeinen sind Datenbanksysteme mit einer Abfragesprache ausgestattet, die ihren Benutzern beim Abfragen von Instanzen helfen kann. Es gibt zwei solcher Arten - relationale Algebra und relationale Kalküle. Die erste ist eine prozedurale Abfragesprache, die Beziehungsinstanzen als Eingabe verwendet und Beispielbeziehungen als Ausgabe ausgibt. Verwendet dafür unäre oder binäre Kalküle. Relationale Algebra wird rekursiv ausgeführt und Zwischenergebnisse werden als Relationen behandelt.

Relationale Algebra
Relationale Algebra

Kartesisches Produkt (Χ)

Kombiniert Informationen aus zwei verschiedenen Beziehungen zu einer.

Notation – r Χ s, wobei r und s Verhältnisse sind und ihre Ausgabe definiert wird als

r Χ s={qt | q ∈ r und t ∈ s}.

Schlussfolgerung. Legt eine Beziehung fest, die alle Bücher und Artikel anzeigt, die mit dem Tutorial geschrieben wurden.

Operation umbenennen (ρ).

Die Relation der relationalen Algebra sind die Ergebnisse, aber ohne Namen. Mit der Umbenennungsoperation können Sie den Ausgabewert ändern, der durch den kleinen griechischen Buchstaben ρ.

gekennzeichnet ist.

Bezeichnung – ρ x (E), wobei das Ergebnis des Ausdrucks E mit dem Namen gespeichert wirdx.

Zusätzliche Operationen:

  • Kreuzung setzen;
  • Aufgabe;
  • natürliche Verbindung.

Relationalrechnung

Dies ist eine nicht prozedurale Abfragesprache, was bedeutet, dass sie Ihnen sagt, was zu tun ist, aber nicht erklärt, wie Sie es implementieren. Der relationale Kalkül existiert in zwei Formen:

  • Korrelationskalkül eines Tupels;
  • Variablenbereiche filtern.

Notation - T/State: Gibt alle T-Tupel zurück, die eine Bedingung erfüllen. Ergebnis. Gibt Tupel mit einem Namen zurück. TRC kann quantifiziert werden. Sie können existentielle (∃) und universelle Quantoren (∀) verwenden. Fazit. Die obige Abfrage liefert das gleiche Ergebnis wie die vorherige.

Domänenrelationales Kalkül DRC

Die Filtervariable verwendet die Attributdomäne anstelle von Tupel-Ganzzahlwerten (wie in der oben erwähnten TRC).

Notation – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a)}, wobei a1, a2 Attribute sind und P Formeln bezeichnet, die mit internen Werten erstellt wurden.

Schlussfolgerung. Legt den Artikel, die Seite und das Thema aus der Relation TutorialsPoint fest, wobei das Thema die Datenbank ist.

Wie TRC kann auch DRC mit Existenz- und Universalquantoren geschrieben werden. DRC enthält auch relationale Algebra-Operatoren. Die Stärke des Ausdrucks von Berechnung, Kalkül und Korrelation von Beziehungen zwischen Punkten ist äquivalent.

relationalDatenmodell der relationalen Algebra
relationalDatenmodell der relationalen Algebra

Variationen und Schemata des relationalen Kalküls und der Algebra

Das ER-Modell bietet, wenn es in Diagrammen konzeptualisiert wird, einen guten Überblick über wesentliche Zusammenhänge, die leichter zu verstehen sind. Schematische Darstellungen können auf ein relationales Schema abgebildet werden, d.h. sie können gemeinsam erstellt werden. Es ist nicht möglich, alle ER-Einschränkungen in ein relationales Modell zu importieren, aber eine ungefähre Struktur kann generiert werden. Es stehen mehrere Prozesse und Algorithmen zur Verfügung, um Diagramme in dieses System zu konvertieren. Einige von ihnen sind automatisiert, während andere manuell erstellt werden. ER-Diagramme bestehen hauptsächlich aus den folgenden Kriterien:

  • Entität und ihre Attribute;
  • link, der eine Assoziation zwischen den obigen Werten darstellt.

Der Vergleich von Objekten und Relationen erfolgt auf unterschiedliche Weise und in unterschiedlichen Schemata. Beispielsweise ist eine Entität ein reales Objekt mit einigen Attributen. Der Matching-Prozess, der Algorithmus ist wie folgt:

  • für jedes Objekt eine Tabelle erstellen;
  • Attribute sollen Tabellenfelder mit entsprechenden Datentypen werden;
  • Primärschlüssel deklarieren.

Eine Beziehung ist eine Verbindung zwischen Entitäten. Der Kompilierungsprozess ist wie folgt:

  • Tabelle für Beziehungen erstellen;
  • Primärschlüssel aller beteiligten Entitäten als Tabellenfelder mit entsprechenden Datentypen hinzufügen;
  • wenn die Beziehung ein Attribut hat, setze jedes Attribut als Tabellenfeld;
  • kombiniere den Primärschlüssel, der alles ausmachtder Rest für teilnehmende Objekte;
  • alle Fremdschlüsselbeschränkungen angeben.

Die Darstellung schwacher Mengen und hierarchischer Objekte erfolgt nach einem bestimmten System. Zunächst ist es notwendig, die wesentlichen Grundlagen und Definitionen dieser Werte zu verstehen. Ein schwacher Feature-Satz ist einer, dem kein Primärschlüssel zugeordnet ist. Der Anzeigeprozess ist wie folgt:

  • eine Tabelle für eine schwache Menge von Objekten erstellen;
  • Alle Attribute als Feld zum Schema hinzufügen;
  • Primärschlüssel zur Identifizierung angeben;
  • alle Fremdschlüsselbeschränkungen setzen.

Die Anzeige von hierarchischen Objekten, die auf einer Spezialisierung oder Verallgemeinerung der Sprache der relationalen Algebra basieren, erfolgt in Form von sequentiellen Entitäten. Der Algorithmus lautet wie folgt:

  • erstelle Tabellen für alle Objekte der höheren und niedrigeren Ebene;
  • Primärschlüssel hinzufügen;
  • implementiere auf niedriger Ebene alle anderen Attribute von Objekten niedrigerer Ebene;
  • Primärschlüssel der Tabelle deklarieren;
  • Fremdschlüsselbeschränkungen festlegen.
Operationen der relationalen Algebra
Operationen der relationalen Algebra

Vorhandene Möglichkeiten zum Beschreiben, Speichern, Ändern von Informationen

SQL ist eine Programmiersprache für relationale Datenbanken. Es wird über Algebra und Korrelationsrechnung von Tupeln entwickelt. SQL wird als Paket mit allen wichtigen DBMS-Distributionen geliefert. Enthält sowohl Daten als auch Sprachen, um sie zu manipulieren. Durch die Verwendung von SQL-Datendefinitionseigenschaften der relationalen Algebra können Sie das Datenbankschema entwerfen und ändern,während die Verw altungs- und Anpassungseigenschaften sowie Datenänderungen es Ihnen ermöglichen, im System installierte Informationen zu speichern und abzurufen. Verwendet den folgenden Befehlssatz, um Struktur und System zu definieren:

  • erstellt neue Datenbanken, Tabellen und Ansichten aus einem DBMS.
  • löst Befehle aus.
  • ändert das Datenbankschema.
  • dieser Befehl fügt einem String-Objekt ein Attribut hinzu.

SQL ist mit einer Data Manipulation Language (DML) ausgestattet. Es modifiziert die Datenbankinstanz, indem es Informationen einfügt, aktualisiert und löscht. DML ist für die Änderung aller Daten verantwortlich. SQL enthält den folgenden Befehlssatz im DML-Abschnitt:

  1. SELECT ist einer der grundlegenden Abfragebefehle. Sie ist analog zur Projektionsoperation der relationalen Algebra. Es wählt Attribute basierend auf der in der WHERE-Klausel beschriebenen Bedingung aus.
  2. FROM - Dieser Abschnitt nimmt einen Namen als Argument, aus dem die Attribute ausgewählt/projiziert werden sollen. Falls mehr als ein Name angegeben ist, entspricht dieser Artikel dem kartesischen Produkt.
  3. WHERE - Dieser Abschnitt spezifiziert das Prädikat oder die Bedingungen, die erfüllt sein müssen, um das projizierte Attribut zu qualifizieren.

Es gibt auch Befehle:

  • einfügen;
  • Werte ändern;
  • löschen.
Relationale Algebra in Datenbanken
Relationale Algebra in Datenbanken

Relationale Algebra-Abfragen erstellen

Beim Erstellen einer Suche besteht die Aufgabe darin, eine Struktur von Operationen zu finden, die zur korrekten Ausgabe führt. Die Grundoperationen der relationalen Algebra sind einfachOperationen mit einer oder zwei Relationen als Operanden. Die kombinierten Effekte der Sequenz bestimmen das Endergebnis. Da das System der relationalen Algebra in Datenbanken recht einfach ist, können viele Zwischenergebnisse erh alten werden, bevor die endgültige Ausgabe erreicht wird. Sie werden auch als Operanden verwendet, die neue empfangene Daten erzeugen.

Für die meisten Operatoren spielt die Reihenfolge der Abfragen und ihrer Ausführung keine Rolle, was bedeutet, dass die gleiche Ausgabe durch Formen und Kombinieren von Zwischendaten auf unterschiedliche Weise erreicht werden kann. In der Praxis sind Datenbanksuchen ziemlich einfach. Das System zum Ausführen von Operationen und Zwischenergebnissen wird vom Abfrageoptimierer bestimmt. Wenn Sie Fragen und Anforderungen formulieren, müssen Sie

zuerst auswählen, welche Beziehungen notwendig sind, um eine Antwort zu erh alten, und dann Operationen und Zwischenergebnisse spezifizieren. Die Struktur einer relationalen Algebra-Abfrage in einer Ergebnisdatenbank kann als Diagramm dargestellt werden. Anforderungsoptimierer versuchen, die Ausführung so effizient wie möglich zu organisieren. In der Praxis bedeutet dies meist, dass sie versuchen, Zwischenergebnisse so schnell wie möglich zu minimieren. Gängige Beispiele für relationale Algebra helfen dabei.

Beispiel 1.

Informationsbedarf: Informationen zu Fahrzeugen des Modelljahres 1996, bei denen bei der Inspektion für 1999 Mängel festgestellt wurden.

Zunächst werden Informationen zu den Autos angezeigt, um die Werte aller Attribute der Beziehung zu verstehen. Informationen über Inspektionen werden in der Tabelle "Inspektion" gespeichert und falls erkanntStörungen werden in der Tabelle „Problem“erfasst. Daher werden diese drei Tabellen benötigt, um die erforderlichen Informationen zu erh alten.

Nur 1996er Autos sind interessant. Die Modellpalette des Fahrzeugs wird als Wert des eingestellten Attributs in der Zeile der Fahrzeuginformationstabelle dargestellt. Das erste Zwischenergebnis besteht aus Tupeln, die die Varianten von 1996 darstellen.

Es werden also nur Zeilen benötigt, die diesen Zeitraum abdecken. Sie müssen eine Auswahl verwenden, um sie zu extrahieren. Jetzt gibt es Autos und Inspektionen, die erforderlich waren. Die Zeichenfolgen werden dann unter Verwendung der Verkettungsoperation verkettet. Sie müssen durch eine gemeinsame Registernummer verbunden werden, da es sich um die einzige gemeinsame Sp alte handelt, wird eine natürliche Verbindung verwendet.

Um herauszufinden, ob es während der Prüfungen Probleme gab, müssen Sie der Prüfung Problemzeilen zuordnen. Nachdem Sie Kontrollreihen mit Autos verbunden haben, können Sie dieses Ergebnis mit der Fehlertabelle verbinden. Die Zugehörigkeit muss auf der Grundlage der gemeinsamen Registrierungsnummer und des verifizierten Datums erfolgen. Dies sind die einzigen gemeinsamen Sp alten in den Tabellen, daher wird ein natürlicher Join verwendet.

Relationale Algebra ist eine Sprache
Relationale Algebra ist eine Sprache

Berechnungsmöglichkeiten ohne Zwischenergebnisse

Beispiel 2.

Erforderliche Informationen: Name des Fahrers für das Modelljahr 1995 oder ältere Fahrzeuge, die für 2000 nicht getestet wurden. Der Name steht in der Tabelle „Treiber“. Strafverfolgungsbehörden sind in der Tabelle "Inspektion und Autos in einem Kantinenwagen" beschrieben. SoDaher werden diese drei Tabellen benötigt. Zuerst müssen Sie die Autos herausfinden, die für das Jahr 2000 nicht inspiziert wurden. Es ist nicht möglich, dieses Problem nur mit den in der Tabelle aufgeführten Inspektionen zu lösen, da sie Daten zu den durchgeführten Inspektionen enthält und nicht zu denen, die nicht durchgeführt wurden. Dieses Problem wird gelöst, indem nach ergänzenden Autos gesucht wird, die vor dem Jahr 2000 überprüft wurden. Tatsächlich werden nur ihre Registrierungsnummern benötigt.

Neben den obigen gibt es noch weitere Beispiele, die zeigen, wie man Informationen ändert oder findet. Abfragevarianten können durch spezielle Operationen optimiert werden. Um das Suchen und Finden von Daten so einfach und unkompliziert wie möglich zu gest alten, gibt es ein relationales Kalkülmodell.

Wo Informationen gesichert und geschützt sind

Das relationale Datenmodell der relationalen Algebra wird in Dateiformaten gespeichert, die Datensätze enth alten. Auf der physischen Ebene sind die eigentlichen Informationen in einem elektromagnetischen Format auf einem Gerät fixiert. Diese Speichergeräte können in drei Kategorien eingeteilt werden:

  1. Primär. Diese Kategorie umfasst Speicher, auf den die CPU direkt zugreifen kann. Register, schneller Speicher (Cache) und Hauptspeicher (RAM) sind für die Zentrale direkt zugänglich, da sie sich alle auf dem Motherboard bzw. Chipsatz befinden. Dieser Speicher ist normalerweise sehr klein, ultraschnell und instabil. Zur Aufrechterh altung des Zustands ist eine konstante Stromversorgung erforderlich. Wenn es fehlschlägt, gehen alle seine Daten verloren.
  2. Sekundär. Wird verwendet, um Informationen für die Zukunft zu speichernverwenden oder sichern. Umfasst Speichergeräte, die nicht Teil des Prozessorchipsatzes oder der Hauptplatine sind, wie z. B. Magnetplatten, optische Platten (DVDs, CDs usw.), Festplatten, Flash-Laufwerke und Magnetbänder.
  3. Tertiär. Wird verwendet, um große Datenmengen zu speichern. Da sich solche Speichergeräte außerhalb des Computersystems befinden, sind sie hinsichtlich der Geschwindigkeit am langsamsten. Diese Speichergeräte werden hauptsächlich verwendet, um das gesamte System zu sichern. Optische Platten und Magnetbänder werden häufig als Tertiärspeicher verwendet.

Spezielle Operationen der relationalen Algebra sind wichtig für die Abfrageeffizienz.

Speicherstruktur

Das Computersystem hat eine wohldefinierte Speicherhierarchie. Die CPU hat direkten Zugriff auf das Hauptsystem sowie eingebaute Register. Die Zugriffszeit auf den Hauptspeicher ist offensichtlich geringer als die Prozessorgeschwindigkeit. Um diese Diskrepanz zu minimieren, wird ein Cache eingeführt. Der Cache bietet die schnellsten Zugriffszeiten und enthält die Daten, auf die am häufigsten von der CPU zugegriffen wird.

Der Speicher mit dem schnellsten Zugriff ist der teuerste. Große Speichergeräte bieten wenig Geschwindigkeit und sind billiger, aber sie können im Vergleich zu einem Prozessorregister oder -cache riesige Datenmengen speichern.

Magnet- und Festplattenlaufwerke sind die am häufigsten verwendeten sekundären Speichergeräte in heutigen Computersystemen. Sie werden magnetisch genanntMetall Basis. Diese Scheiben werden senkrecht auf die Spindel aufgesetzt. Der Schreib-/Lesekopf bewegt sich dazwischen und dient dazu, einen solchen Fleck darunter zu magnetisieren oder zu entfernen. Es kann als 0 (Null) oder 1 (Eins) erkannt werden.

Festplatten werden für eine effiziente Datenspeicherung in einer klar definierten Reihenfolge formatiert. Es hat viele konzentrische Kreise, die Pfade genannt werden. Jede Spur ist weiter in Sektoren unterteilt, die typischerweise 512 Datenbytes speichern.

SQL relationale Algebra
SQL relationale Algebra

Dateioperationen

Operationen auf dem Sprachsystem der relationalen Algebra und seiner Datenbank können grob in zwei Kategorien eingeteilt werden:

  • update;
  • Suche.

Die erste Kategorie ändert Datenwerte durch Einfügen, Löschen oder Aktualisieren. Andererseits bearbeiten Suchoperationen keine Informationen, sondern extrahieren sie nach einer optionalen bedingten Filterung. Bei beiden Arten von Operationen spielt die Selektion eine bedeutende Rolle. Zusätzlich zum Erstellen und Löschen einer Datei können mehrere Operationen mit ihr durchgeführt werden:

  1. Open - existiert in einem von zwei Lese- oder Schreibmodi. Im ersten Fall erlaubt das Betriebssystem niemandem, die Daten zu ändern. Mit anderen Worten, die Daten werden nur gelesen. Im Lesemodus geöffnete Dateien können von mehreren Objekten gemeinsam genutzt werden. Im Schreibmodus können Sie die Daten ändern. Dateien können gelesen, aber nicht geteilt werden.
  2. Schließen ist aus Sicht des Betriebssystems die wichtigste Operation, da sie alle Sperren entfernt(im freigegebenen Modus), speichert Daten (falls geändert) auf sekundären Medien und gibt alle Puffer und Handler frei, die der Datei zugeordnet sind.
  3. Indizierung ist eine Informationsstrukturmethode zum effizienten Extrahieren von Datensätzen aus den Dateien eines Systems, basierend auf einigen Attributen, in denen das System implementiert wurde. Basierend auf Attributen definiert.

Indizierung kann von folgender Art sein:

  1. Primary ist in der bestellten Datendatei definiert. Die Informationsdatei ist im Schlüsselfeld organisiert.
  2. Sekundärindex, der aus einem Feld generiert wird, das ein Kandidatenschlüssel ist und einen eindeutigen Wert in jedem Datensatz oder keinen Schlüssel mit doppelten Werten hat.
  3. Clustering wird in einer geordneten Datendatei in einem Nicht-Schlüsselfeld definiert.
Relationale Algebra Relationales Kalkül
Relationale Algebra Relationales Kalkül

Ein Datenbankverw altungssystem oder DBMS bezieht sich auf eine Technologie zum Speichern und Abrufen von Benutzerinformationen mit maximaler Effizienz zusammen mit geeigneten Sicherheitsmaßnahmen. Eine nähere Untersuchung dieses Problems führt zu dem Schluss, dass die relationale Algebra eine Sprache von Operatoren ist, die Relationen als Argumente nehmen und sie als Ergebnis zurückgeben.

Empfohlen: