SQL vs. PL SQL
SQL (Structured Query Language) ist die Standardsprache zum Schreiben relationaler Datenbanken. SQL ist eine einfache Anweisung, die das Abrufen, Einfügen, Löschen und Aktualisieren von Datensätzen nach Bedarf des Benutzers ermöglicht. Es ist einfach eine datenorientierte Sprache zum Auswählen und Bearbeiten von Datensätzen. PL SQL (Procedural Language/Structured Query Language) ist eine prozedurale Erweiterungssprache für die Dateneingabe und -bearbeitung durch Oracle.
“PL/SQL, Oracles prozedurale Erweiterung von SQL, ist eine fortgeschrittene Programmiersprache der vierten Generation (4GL). Es bietet moderne Funktionen wie Datenkapselung, Überladung, Sammlungstypen, Ausnahmebehandlung und das Verbergen von Informationen. PL/SQL bietet außerdem nahtlosen SQL-Zugriff, enge Integration mit dem Oracle-Server und den Tools, Portabilität und Sicherheit.“
SQL
Structured Query Language (SQL), ausgesprochen als „Sequel“, ist eine Datenbankcomputersprache, die für die Verw altung von Daten in relationalen Datenbankverw altungssystemen (RDBMS) entwickelt wurde und ursprünglich auf relationaler Algebra basiert.
Der grundlegende Umfang von SQL besteht darin, Daten einzufügen und Aktualisierungen, Löschungen, Schemaerstellung, Schemaänderungen und Datenzugriffskontrolle für Datenbanken durchzuführen.
SQL hat Elemente, die wie folgt unterteilt sind:
Queries – Abrufen von Daten basierend auf bestimmten Kriterien. Es gibt nur wenige Schlüsselwörter, die in Abfragen verwendet werden können. (Auswählen, Von, Wo, Haben, Gruppieren nach und Sortieren nach)
zB: SELECTFROM Tabelle1 WHERE Sp alte1 > Bedingung ORDER BY Sp alte2;
Anweisungen – die Transaktionen, Programmablauf, Verbindungen, Sitzungen oder Diagnosen steuern können
Ausdrücke – die entweder erzeugen können;
Skalare Werte
Tabellen bestehend aus Sp alten und Zeilen mit Daten
Prädikate - Geben Sie Bedingungen an, die für SQL Boolean ausgewertet werden können (wahr/falsch/unbekannt)
Klauseln – Bestandteile von Aussagen und Abfragen
PL/SQL
PL/SQL (Procedural Language/Structured Query Language) ist die prozedurale Erweiterungssprache der Oracle Corporation für SQL und die relationale Datenbank von Oracle. PL/SQL unterstützt Variablen, Bedingungen, Schleifen, Arrays, Ausnahmen. PL/SQL-Code-Container können in die Oracle-Datenbanken eingebunden werden. Softwareentwickler können daher PL/SQL-Funktionseinheiten direkt in die Datenbank implantieren.
PL/SQL-Teilprogramme können wie folgt definiert werden:
Anonyme Blöcke
Bildet die Basis einfachsten PL/SQL-Codes
Funktionen
Funktionen sind eine Sammlung von SQL- und PL/SQL-Anweisungen. Funktionen führen eine Aufgabe aus und sollten einen Wert an die aufrufende Umgebung zurückgeben.
Verfahren
Prozeduren ähneln Funktionen. Prozeduren können auch ausgeführt werden, um Arbeit auszuführen. Prozeduren können nicht in einer SQL-Anweisung verwendet werden, können mehrere Werte zurückgeben. Außerdem können Funktionen aus SQL aufgerufen werden, Prozeduren hingegen nicht.
Pakete
Die Verwendung von Paketen ist die Wiederverwendung von Code. Pakete sind Gruppen von theoretisch verknüpften Funktionen, Prozeduren, Variablen, PL/SQL-Tabellen- und Datensatz-TYPE-Anweisungen, Konstanten und Cursorn usw. Pakete bestehen normalerweise aus zwei Teilen, einer Spezifikation und einem Hauptteil
Zwei Vorteile von Paketen sind:
Modularer Ansatz, Kapselung der Geschäftslogik
Mit Paketen können Variablen in Sitzungsebenen deklariert werden
Variablentypen in PL/SQL
Variablen
Numerische Variablen
Zeichenvariablen
Datumsvariablen
Datentypen für bestimmte Sp alten
Unterschied zwischen SQL und PL/SQL
SQL ist eine datenorientierte Sprache zum Auswählen und Bearbeiten von Daten, aber PL SQL ist eine prozedurale Sprache zum Erstellen von Anwendungen.
SQL führt jeweils eine Anweisung aus, während in PL SQL Codeblöcke ausgeführt werden könnten.
SQL ist deklarativ, während PL SQL prozedural ist.
SQL wird zum Schreiben von Abfragen, Data Manipulation Language (DML) und Data Definition Language (DDL) verwendet, während PL SQL zum Schreiben von Programmblöcken, Triggern, Funktionen, Prozeduren und Paketen verwendet wird.
Zusammenfassung:
SQL ist eine strukturierte Abfragesprache. In SQL werden verschiedene Abfragen verwendet, um die Datenbank vereinfacht zu handhaben. PL/SQL ist eine prozedurale Sprache, die verschiedene Arten von Variablen, Funktionen und Prozeduren enthält. SQL ermöglicht es dem Entwickler, einzelne Abfragen auszugeben oder einzelne Einfügungen/Aktualisierungen/Löschungen gleichzeitig auszuführen, während PL/SQL das Schreiben eines vollständigen Programms ermöglicht, um mehrere Auswahlen/Einfügungen/Aktualisierungen/Löschungen gleichzeitig auszuführen. SQL ist eine einfache datenorientierte Sprache, während die Programmiersprache PL/SQL.