copyright (c)  2003   useGroup
PHP

Jochen Stärk
PHP-Tutorial
Was ist SQL?

nach untenDefinition
nach untenVorteile
nach untenNachteile

Definition

nach obenDefinition 

SQL (structured query language) wurde in den 1970er bei IBM entwickelt und ist eine Datenbankabfragesprache. Jede Abfrage (und jeder Eintrag, jedes Löschen) einer "seriösen" Datenbank geschieht über SQL oder ist zumindest mit SQL auch möglich. Der Sprachumfang von SQL ist gewaltig, einer der Gründe, warum es offensichtlich keine Konkurrenz zu diesem Standart gibt. SQL-Abfragen werden als String einer Funktion von PHP übergeben, die diese dann an die Datenbank weiterleitet und ausführen lässt.


Vorteile

nach obenVorteile 

SQL bietet die Möglichkeit, Tabellen zu erstellen und zu löschen, Spalten hinzuzufügen und wegzunehmen, Einträge vorzunehmen und zu löschen, zu suchen, sortieren und kombinieren. Ausserdem ist das der einzig anerkannte und auf unterschiedliche Datenbanktypen anwendbare Weg.


Nachteile

nach obenNachteile 

Obwohl SQL als ANSI-Standart vorliegt, haben viele Entwickler Ihre eigenen Datentypen in Ihrer Datenbank über SQL ansprechbar gemacht. Einige Datentypen und Schlüsselwörter funktionieren nur auf einigen Datenbanken und SQL bietet auch nur die Abfrage, den Verbindungsaufbau muss die Programmiersprache wieder selbst leisten. Da sich die Optionen beim Verbindungsaufbau schon bei vielen Datenbanken unterscheiden muss eigentlich jede Datenbankanwendungen auf eine andere Datenbank erst portiert werden (was zugegebenermaßen schnell erledigt ist).

Außerdem ist SQL langsam - mit ODBC geht dann die Geschwindigkeit endgültig den Bach 'runter. Zumindest bei kleinen Datenmengen: Oft kostet der Verbindungsaufbau wertvolle Zehntelsekunden, teilweise genausoviel Zeit, die notwendig ist, um 10000 Datensätze auszulesen. Trotzdem ist SQL schon deshalb langsam (in Programmiererausdrücken: von der Geschwindigkeit eher Visual Basic als Pascal), weil die Statements als Text übergeben werden und mühsam geparst werden müssen. Komisch eigentlich, wäre eine etwas binärerer Sprache schneller und leichter zu realisieren gewesen.


copyright (c)  2003   useGroup