Effektive Verwendung berechneter Felder in SQL-Datenbanken

Advertisement

Berechnete Felder sind ein wichtiges Werkzeug im Datenmanagement, um Daten effektiver zu bearbeiten und darzustellen. Dieses Tool ermöglicht es Benutzern, Berechnungen direkt in SQL-Abfragen durchzuführen und die gewünschten Ergebnisse zu erzielen, ohne die Daten in der Tabelle zu ändern. Durch die Verwendung von berechneten Feldern können Benutzer Zeit und Ressourcen sparen und die Effizienz in der Datenverarbeitung steigern.

Advertisement

Berechnete Felder sind Spalten, die nicht physisch in einer Datenbanktabelle vorhanden sind, aber dynamisch erstellt werden, wenn eine Abfrage ausgeführt wird. Auf diese Weise können Benutzer mathematische Operationen oder Zeichenfolgenmanipulationen an vorhandenen Daten durchführen und neue Werte aus vorhandenen Spalten generieren.

Zum Beispiel können wir ein berechnetes Feld verwenden, um den Gesamtpreis mehrerer Artikel zu berechnen, indem wir die Anzahl der Artikel mit dem Preis pro Artikel multiplizieren und die Ergebnisse in einer einzigen Abfrage anzeigen.

Advertisement

Bei den in der Tabelle gespeicherten Daten handelt es sich um statische Informationen, die sich nur ändern, wenn eine manuelle Aktualisierung erfolgt. Im Gegensatz dazu sind die Berechnungsergebnisse aus berechneten Feldern dynamisch und können sich bei jeder Ausführung einer Abfrage ändern. Das bedeutet, dass berechnete Felder den neuesten Wert basierend auf den aktuellen Bedingungen bereitstellen können, ohne die ursprünglichen Daten der Tabelle zu ändern.

Advertisement

Wenn wir beispielsweise Spalten für Preis und Menge haben, können wir berechnete Felder verwenden, um den Gesamtpreis direkt bei der Abfrage zu berechnen, anstatt den Gesamtpreis als separate Spalten in der Tabelle zu speichern.

Vorteile der Verwendung von berechneten Feldern

Verbessern Sie die Effizienz der Datenerfassung.

Berechnete Felder ermöglichen es Benutzern, verarbeitete Daten direkt aus der Datenbank abzurufen, ohne dass eine zusätzliche Verarbeitung auf der Clientseite erforderlich ist. Dies beschleunigt die Reaktion von Anwendungen und reduziert die Netzwerklast, da nur die erforderlichen Daten gesendet werden.

Die Effizienz der Datenverarbeitung auf dem Server

Datenbankmanagementsysteme (DBMS) sind darauf ausgelegt, Daten schnell und effizient zu verarbeiten. Bei berechneten Feldern werden alle Berechnungen auf dem Server durchgeführt, was in der Regel schneller ist, als wenn sie auf dem Client durchgeführt würden. Außerdem wird die Verwendung von Clientressourcen wie CPU und Arbeitsspeicher reduziert, wodurch die Gesamtleistung der Anwendung verbessert wird.

Reduzieren Sie den Verarbeitungsaufwand beim Kunden.

Bei berechneten Feldern kann ein Großteil der Verarbeitung, die normalerweise von einer Clientanwendung ausgeführt wird, auf den Datenbankserver verschoben werden. Das bedeutet, dass die Anwendung nach dem Abrufen aus der Datenbank keine Berechnungen durchführen oder das Datenformat ändern muss, was Zeit spart und die Komplexität des Codes reduziert.

Vereinfachen Sie Abfragen für bestimmte Berichte oder Anforderungen.

Berechnete Felder ermöglichen es Benutzern, komplexe Abfragen zu vereinfachen, um sie leichter zu verstehen und zu verwalten. Anstatt beispielsweise mehrere separate Spalten zu verwenden und Berechnungen in der App durchzuführen, kann der Benutzer eine einzelne Abfrage mit einem berechneten Feld erstellen, das das gewünschte Endergebnis liefert. Dies verbessert nicht nur die Lesbarkeit von Abfragen, sondern erleichtert auch das Erstellen von Berichten oder das Analysieren von Daten.

Erstellen von berechneten Feldern in SQL

Berechnete Felder werden durch Hinzufügen einer Formel oder Funktion im Befehl SELECT erstellt. Bei dieser Formel kann es sich um das Zusammenführen von Text, die Berechnung von Zahlen oder eine andere Datenverarbeitung handeln. Die Ergebnisspalten dieser Berechnung werden nicht in der Tabelle gespeichert, sondern automatisch erstellt, wenn die Abfrage ausgeführt wird.

String-Merge mit Concat()

Eine häufige Verwendung von berechneten Feldern besteht darin, Zeichenfolgen aus mehreren Spalten zu einer Spalte zu kombinieren. Die Funktion Concat() in SQL wird verwendet, um zwei oder mehr Zeichenfolgen zu einer einzigen Zeichenkette zu kombinieren.

Die Funktion Concat() ermöglicht es uns, die Werte mehrerer Spalten zu kombinieren. Darüber hinaus können wir Aliase mit US-Schlüsselwörtern verwenden, um die berechneten Spalten zu benennen und sie zugänglicher und verständlicher zu machen.

Code-Beispiele

Hier sehen Sie ein Beispiel für eine SQL-Abfrage, die Concat() verwendet, um den Namen des Anbieters und das Land des Anbieters in einer einzigen neuen Spalte mit dem Namen vend_title zu kombinieren:

SELECT Concat(vend_name, ' (', vend_country, ')') AS vend_title
FROM vendors
ORDER BY vend_name;

Analyse von Codebeispielen

Concat(): In diesem Beispiel kombiniert die Funktion Concat() drei Elemente:

  • Der Name des Kreditors aus der Spalte vend_name.
  • Zeichenketten in Form von Leerzeichen und öffnenden Klammern ‚ (‚.
  • Ländername aus vend_country Spalte.
  • Kappenklammern ‚)‘.

Alias: Mit AS vend_title geben wir dem kombinierten Ergebnis einen Namen, damit das Ergebnis in der Client-Anwendung als vend_title referenziert werden kann.

Output: Das Ergebnis dieser Abfrage führt zu einer neuen Spalte, die die Kombination aus Lieferantenname und Land im gewünschten Format enthält, z. B.:

+----------------------+
| vend_title           |
+----------------------+
| ACME (USA)          |
| Anvils R Us (USA)   |
| Furball Inc. (USA)  |
| Jet Set (England)    |
| Jouets Et Ours (France) |
| LT Supplies (USA)    |
+----------------------+

Entfernen von Leerzeichen mit der Funktion trim()

Bei der Datenverwaltung stoßen wir häufig auf unerwünschte Abstandsprobleme bei Zeichenfolgenwerten. Um dieses Problem zu lösen, bietet SQL mehrere Trimmfunktionen, nämlich RTrim(), LTrim() und Trim(). Diese Funktionen sind sehr nützlich, um die Daten zu bereinigen, bevor mit dem weiteren Prozess fortgefahren wird.

Funktionen RTrim(), LTrim() und Trim()

  • RTrim(): Entfernt alle Leerzeichen auf der rechten Seite der Zeichenfolge.
  • LTrim(): Entfernt alle Leerzeichen auf der linken Seite der Zeichenfolge.
  • Trim(): Entfernt alle Leerzeichen auf beiden Seiten der Zeichenfolge.

Diese drei Funktionen tragen dazu bei, dass die aus der Datenbank abgerufenen Daten sauber und einsatzbereit sind, insbesondere beim Ausführen von Zeichenfolgenverknüpfungen oder -berechnungen.

Anwendungsfälle für die Datenbereinigung

Hier ist ein Beispiel für eine SQL-Abfrage, die die Funktion RTrim() verwendet, um unerwünschte Leerzeichen zu entfernen, bevor Anbieternamen und Anbieterländer kombiniert werden:

SELECT Concat(RTrim(vend_name), '(',RTrim(vend_country), ')   AS vend_title
FROM vendors
ORDER BY vend_name;

Analyse von Codebeispielen

Concat(RTrim(vend_name), ‚(‚, RTrim(vend_country), ‚)‘): In dieser Abfrage verwenden wir RTrim() in den Feldern vend_name und vend_country, um sicherzustellen, dass am Ende des Anbieter- oder Ländernamens keine zusätzlichen Leerzeichen stehen. Dies ist wichtig, um ein ordentliches und professionelles Ausgabeformat zu erhalten.

Alias: Mit AS vend_title geben wir diesem kombinierten Ergebnis einen Namen, damit es in der Client-Anwendung leicht referenziert werden kann.

Output: Das Ergebnis dieser Abfrage führt zu einer neuen Spalte mit dem Namen vend_title, die eine Kombination aus Anbietername und Land ohne zusätzliche Leerzeichen enthält, z. B.:

+----------------------+
| vend_title           |
+----------------------+
| ACME (USA)          |
| Anvils R Us (USA)   |
| Furball Inc. (USA)  |
| Jet Set (England)    |
| Jouets Et Ours (France) |
| LT Supplies (USA)    |
+----------------------+

Mathematische Berechnungen mit berechneten Feldern durchführen

In SQL können wir verschiedene mathematische Berechnungen mit einfachen Operatoren durchführen. Hier sind die am häufigsten verwendeten Operatoren:

  • +: Summieren
  • : Reduktion
  • \*: Multiplikation
  • /: Vertrieb

Mit diesen Operatoren können wir verschiedene Arten von Berechnungen für die aus der Tabelle abgerufenen Daten durchführen. Wir können auch Klammern verwenden, um die Reihenfolge der Operationen in der Berechnung festzulegen.

Beispiel für einen Berechnungscode

Hier sehen Sie ein Beispiel für eine SQL-Abfrage, die eine mathematische Berechnung durchführt, um den Gesamtpreis eines Artikels in einer Bestellung zu berechnen:

SELECT prod_id, quantity, item_price, quantity * item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005;

Analyse von Codebeispielen

prod_id, quantity, item_price: Diese Spalten stammen aus der Tabelle der Bestellartikel, die Informationen über das Produkt, die bestellte Menge und den Preis pro Einheit enthält.

quantity *  item_price AS expanded_price: Hier führen wir die Berechnung durch, indem wir die Menge mit item_price multiplizieren (Preis pro Einheit). Das Ergebnis dieser Berechnung wird als Alias expanded_price bezeichnet, der als neue Spalte in den Abfrageergebnissen angezeigt wird.

WHERE order_num = 20005: Diese Bedingung stellt sicher, dass nur Artikel aus dem Auftrag mit der Nummer 20005 kommissioniert werden.

Ausgabe

Das Ergebnis dieser Abfrage generiert eine Tabelle mit den folgenden Informationen:

+---------+----------+------------+---------------+
| prod_id | quantity | item_price | expanded_price|
+---------+----------+------------+---------------+
| ANV01   | 10       | 5.99       | 59.90         |
| ANV02   | 3        | 9.99       | 29.97         |
| TNT2    | 5        | 10.00      | 50.00         |
| FB      | 1        | 10.00      | 10.00         |
+---------+----------+------------+---------------+

In dieser Ausgabe wird in der Spalte expanded_price der Gesamtpreis für jeden Artikel basierend auf der bestellten Menge angezeigt.

Neueste Artikel