close

SQL-92

Zur Navigation gehen Zur Suche gehen

SQL-92  ist die dritte Version der Abfragesprache für SQL - Datenbanken . Im Gegensatz zum SQL-89- Standard war die dritte Version eine sehr bedeutende Aktualisierung der Sprache. Abgesehen von einigen kleineren Inkonsistenzen ist der SQL-89-Standard fast vollständig kompatibel mit dem SQL-92-Standard.

Geschichte

Der erste internationale SQL-Sprachstandard wurde 1989 verabschiedet (er erhielt die entsprechende Bezeichnung SQL/89), und die überwiegende Mehrheit der DBMS kündigte Anfang der 90er Jahre Unterstützung für diesen Standard an. Dieser Standard hat jedoch Mängel, nämlich: Der Standard legt viele wichtige Eigenschaften der Sprache fest, wie sie in der Implementierung definiert oder davon abhängig sind. Dies hat viel Spielraum für Abweichungen zwischen verschiedenen Implementierungen von SQL geschaffen. Zweitens werden einige praktische Aspekte der Sprache im SQL/89-Standard überhaupt nicht erwähnt. Dazu gehören vor allem die Regeln zur Einbettung der SQL-Sprache in die Programmiersprache C und das sogenannte dynamische SQL. Infolgedessen implementierten DBMS-Anbieter ihre eigenen Mechanismen, die untereinander kaum kompatibel waren. Dies führte zu einer Situation, in der sich herausstellte, dass der Code eines DBMS, das dem SQL/89-Standard entspricht, nicht auf ein anderes DBMS portierbar war, das ebenfalls dem SQL/89-Standard [1] entspricht .

Um die Mängel des SQL/89-Standards zu beseitigen, wurde Ende 1992 ein neuer internationaler Standard für die SQL-Sprache (SQL/92) verabschiedet. Es stellte sich auch als nicht fehlerfrei heraus, war aber immer noch deutlich genauer und vollständiger als SQL/89. SQL/92 gleicht nicht nur die Mängel von SQL/89 aus, sondern enthält auch viele neue Features.

Hauptunterschiede zu SQL/89

Im neuen Standard wurde es möglich, den Datentyp von Zeichenfolgen variabler Länge zu verwenden (d. h. bei der Angabe einer Spalte wird die maximal zulässige Größe der gespeicherten Zeichenfolge in Zeichen angegeben, in Wirklichkeit werden aber genau so viele Zeichen gespeichert in der Datenbank, wie sie der Benutzer eingegeben hat), Datentypen von Bitfolgen konstanter und variabler Länge (wie sie tatsächlich in der Datenbank gespeichert werden, ist im Standard nicht definiert), standardisierte Datentypen für die Arbeit mit Datum und Uhrzeit: DATE (date ), TIME (Zeit) und INTERVAL (Zeitintervall) [2] .

Beim Erstellen eines Datenbankschemas (das später geändert werden kann) können Sie die Merkmale des nationalen Zeichensatzes definieren, einschließlich Kollationsregeln, und die Zeichensätze, die sowohl in gespeicherten Textzeichenfolgen als auch in Identifikatoren verwendet werden, können definiert werden [2] .

Der neue Standard führt die Möglichkeit ein, gespeicherte und anzeigbare Tabellen zu erstellen und Zugriffsrechte mithilfe der Operatoren ( CREATE TABLE, CREATE VIEW, GRANT, REVOKE) jederzeit in jeder Transaktion außerhalb einer Schemadefinitionsanweisung festzulegen oder zu entfernen. Es gab Tabellenzerstörungsoperatoren ( DROP TABLEund DROP VIEW), die auch innerhalb jeder Transaktion ausgeführt werden können (wenn Sie die entsprechenden Berechtigungen haben). Außerdem wurde erstmals ein Operator definiert ALTER TABLE, mit dem Sie die Eigenschaften einer zuvor erstellten Tabelle dynamisch ändern (insbesondere neue Spalten hinzufügen) [2] .

Liste der Neuerungen

  • SQL-Agent
  • Neue Datentypen: DATE, TIME, TIMESTAMP, INTERVAL, string type BIT, string type VARCHARund strings NATIONAL CHARACTER.
  • Unterstützung für zusätzliche Zeichensätze zusätzlich zu denen, die zur Darstellung von SQL - Abfragen erforderlich sind.
  • Neue skalare Operationen wie Zeichenfolgenverkettung, Datums- und Uhrzeitberechnung, Bedingungsunterstützung.
  • Neue Set-Operationen, zB , UNION JOIN, NATURAL JOINSet-Differenzprüfung, Set-Schnittpunkt.
  • Unterstützung für das Ändern von Schemadefinitionen durch die Verwendung von ALTERund DROP.
  • Native Unterstützung für die Sprachen C , Ada und MUMPS .
  • Neue Möglichkeiten für Benutzerrechte.
  • Neue Funktionalität zur Prüfung der Datenintegrität, wie z. B. CHECK-limit .
  • Neue Schemadefinitionen für "Information".
  • Dynamische Ausführung von Abfragen (im Gegensatz zu vorgefertigten).
  • Verbesserte Unterstützung für Remote-Datenbankzugriff.
  • Temporäre Tabellen.
  • Transaktionsisolationsstufen .
  • Neue On-the-Fly-Konvertierungsoperationen für Datentypen mit dem CAST.
  • Dynamische Cursor.
  • Abwärts- und Zukunftskompatibilität mit anderen SQL-Standards.
  • Schnittstelle auf Anrufebene

Notizen

Links