Zum Inhalt springen
  • Von: DOAG Online
  • Konferenz + Ausstellung PL/SQL
  • 29.09.2015

Mit Argumenten gegen PL/SQL-Mythen kämpfen

Wenn sich die PL/SQL-Community auf der DOAG Konferenz + Ausstellung trifft, dann geht es ans Eingemachte. In einer öffentlichen Sitzung der Interessensgruppe wird der langjährige PL/SQL-Spezialist und Oracle-Manager Bryn Llewellyn gegen verbreitete PL/SQL-Mythen predigen.

Sie nehmen die Angelegenheit sehr persönlich, oder?

Ja, in der Tat. Diese Mythen beruhen auf einer falschen Argumentation und sind die Ursache einer gewissen Anti-Haltung gegenüber PL/SQL. Deshalb ist es mir so wichtig, diese Märchen aus dem Weg zu räumen.

Würden Sie sich denn als PL/SQL-Anhänger bezeichnen?

Ich bin Anhänger des Produkt-Manager-Mantras. Dieses lautet: „Bitte fragen Sie mich nicht nach den Details einer Lösung, bevor Sie mir eine klare Beschreibung Ihrer Anforderungen genannt haben.“ Lautet die Anforderungen, prozeduralen Code zur Ausgabe von einfachen Statements in die Oracle-Datenbank zu implementieren, wenn eine Applikation diese braucht, um funktional zu sein, dann bin ich ein Anhänger von PL/SQL.

„Fanatiker“ trifft sogar eher zu. Ich glaube nämlich, dass PL/SQL in der Datenbank der einzige Weg der Umsetzung ist. Besonders in Hinblick auf Korrektheit und Performanz. Wenn Sie allerdings eine App für ein Smartphone haben wollen, dann würde ich nicht im Traum daran denken, PL/SQL für die Umsetzung zu empfehlen.

Welchen Mythos möchten Sie unbedingt aus dem Weg schaffen?

Der ungeheuerlichste Mythos wird normalerweise ohne Referenz zu PL/SQL per se verbreitet. Er besagt, dass „Business-Logik“ nicht in die Datenbank gehört. Denn Code in der Datenbank bedeutet, dass keine Änderungen ohne Downtime vorgenommen werden können. Das war vor sechs Jahren noch Realität. Seit Einführung der Datenbank 11g Release 2 ist das Argument ungültig und gehört aus den Köpfen der Menschen entfernt.

Okay, man kann die Business-Logik datenbankseitig implementieren. Aber warum sollte man?

Man kann erst sicherstellen, dass die gehaltenen Daten korrekt sind, wenn die Business-Logik sowie alle Datenregeln datenbankseitig implementiert sind.

Gibt es einen Mythos, den Sie öfter zu hören bekommen?

Man hört oftmals, man finde keine Techniker, die PL/SQL beherrschen. PL/SQL ist eine Ada-basierte Sprache und einfach zu erlernen. Meiner Meinung nach ist „nicht finden“ nur ein Synonym für „nicht gewillt sein, angemessen für Fertigkeiten zu bezahlen“. Die Herausforderung ist nämlich eine ganz andere: Wie erzeugt PL/SQL den SQL-Code, den es erzeugen muss. Diese Designfrage stellt sich ebenso bei der Nutzung clientseitiger Sprachen.

Kollegen erzählen regelmäßig Horrorgeschichten, in denen maschinengenerierte „Frameworks“ unsinnige SQL-Statements vom Client an die Datenbank senden. Doch in der heutigen Welt kann das optimale SQL, welches vom PL/SQL aus der Datenbank ausgegeben wird, nur von Menschen geschrieben werden – nicht von Maschinen.

Warum sollten PL/SQL-Skeptiker Ihren Vortrag besuchen?

Die Behauptungen, die ich hier aufgestellt habe, werde ich in meinem Vortrag durch Argumente belegen. Außerdem möchte ich die Teilnehmer an die Vielzahl von Vorteilen erinnern, die der Einsatz von PL/SQL mit sich bringt – zum Beispiel Dependency Tracking oder die Immunität gegen SQL-Injections.