Freigeben über


Structured Query Language (SQL) (Structured Query Language, SQL)

Ein typisches DBMS ermöglicht Benutzern das Speichern, Zugreifen und Ändern von Daten auf eine organisierte, effiziente Weise. Ursprünglich waren die Benutzer von DBMSs Programmierer. Der Zugriff auf die gespeicherten Daten erforderte das Schreiben eines Programms in einer Programmiersprache wie COBOL. Während diese Programme häufig geschrieben wurden, um einem nicht technischen Benutzer eine freundliche Benutzeroberfläche zu präsentieren, erforderte der Zugriff auf die Daten selbst die Dienste eines sachkundigen Programmierers. Der zufällige Zugriff auf die Daten war nicht praktisch.

Die Benutzer waren mit dieser Situation nicht ganz zufrieden. Während sie auf Daten zugreifen konnten, musste häufig ein DBMS-Programmierer überzeugen, spezielle Software zu schreiben. Wenn z. B. eine Vertriebsabteilung den Gesamtumsatz im vorigen Monat von jedem ihrer Vertriebsmitarbeiter sehen wollte und diese Informationen nach der Länge der Dienstleistung jedes Verkäufers im Unternehmen sortiert haben wollte, gab es zwei Möglichkeiten: Entweder ist bereits ein Programm vorhanden, auf das genau auf diese Weise auf die Informationen zugegriffen werden konnte, oder die Abteilung musste einen Programmierer bitten, ein solches Programm zu schreiben. In vielen Fällen war dies mehr Arbeit als es wert war, und es war immer eine teure Lösung für einmalige oder Ad-hoc-Anfragen. Da immer mehr Benutzer einen einfachen Zugriff wollten, wuchs dieses Problem größer und größer.

Benutzer können auf Ad-hoc-Basis auf Daten zugreifen, die ihnen eine Sprache geben müssen, in der sie ihre Anforderungen ausdrücken können. Eine einzelne Anforderung an eine Datenbank wird als Abfrage definiert; eine solche Sprache wird als Abfragesprache bezeichnet. Viele Abfragesprachen wurden zu diesem Zweck entwickelt, aber einer davon wurde zum beliebtesten: strukturierte Abfragesprache, erfunden bei IBM in den 1970er Jahren. Es ist häufiger bekannt durch sein Akronym, SQL und wird sowohl als "ess-cue-ell" als auch als "sequel" ausgesprochen. SQL wurde 1986 zu einem ANSI-Standard und 1987 zu einem ISO-Standard; sie wird heute in vielen Datenbankverwaltungssystemen verwendet.

Obwohl SQL die Ad-hoc-Anforderungen der Benutzer gelöst hat, ging die Notwendigkeit des Datenzugriffs durch Computerprogramme nicht weg. In der Tat war der meiste Datenbankzugriff immer noch programmgesteuert, in Form regelmäßig geplanter Berichte und statistischer Analysen, Dateneingabeprogramme wie z. B. dateneingabeprogramme und Datenmanipulationsprogramme wie solche, die zum Abgleichen von Konten und zum Generieren von Arbeitsaufträgen verwendet wurden.

Diese Programme verwenden auch SQL, wobei eine der folgenden drei Techniken verwendet wird:

  • Eingebettetes SQL, in dem SQL-Anweisungen in eine Hostsprache wie C oder COBOL eingebettet sind.

  • SQL-Module, in denen SQL-Anweisungen auf dem DBMS kompiliert und von einer Hostsprache aufgerufen werden.

  • Schnittstelle auf Aufrufebene oder CLI, die aus Funktionen besteht, die aufgerufen werden, um SQL-Anweisungen an das DBMS zu übergeben und Ergebnisse aus dem DBMS abzurufen.

Hinweis

Es ist ein historischer Unfall, dass die Bezeichnungsschnittstelle auf Aufrufebene anstelle der Anwendungsprogrammierschnittstelle (API), einem anderen Begriff für dasselbe verwendet wird. In der Datenbankwelt wird DIE API verwendet, um SQL selbst zu beschreiben: SQL ist die API für ein DBMS.

Von diesen Optionen ist embedded SQL am häufigsten verwendet, obwohl die meisten haupt-DBMSs proprietäre CLIs unterstützen.

In diesem Abschnitt werden die folgenden Themen behandelt: