Benutzer-Werkzeuge

Webseiten-Werkzeuge


computer:tutorials:sql:sprachen_kategorien

Dialekte

SQL

Die Structured Query Language (SQL) ist die meist für relationale (und objektrelationale) Datenbanken verwendete Datenbanksprache. Relationale Algebra stellt die theoretische Grundlage der Sprache dar. Aufgrund starker Anlehnung an die englische Umgangssprache fällt die Verwendung jedoch leicht - die Sprache ist leicht zu lernen.

Beispiele

Einige Befehlbeispiele:

INSERT INTO countries(name) values ('Germany');

CREATE TABLE IF NOT EXISTS usergroups(
	usergroup_id int auto_increment primary key,
	name text(30) not null,
	description text(250)
);

PL/SQL

Die Procedual Language/Structured Query Language (PL/SQL) ist eine Datenbanksprache der Firma Oracle. Sie findet in der hauseignen objektrelationalen Oracle Database Verwendung. Neben typischen SQL-Elementen verfügt PL/SQL über eine prozedurale Paradigma, die es unter anderem erlaubt, Funktionen und Ausnahmehandlungen zu definieren. Der Syntax wurde stark an die Programmiersprachen COBOL und Ada angelehnt. Da die hauseigene Datenbank objektrelationaler Natur ist, haben auch einige objektorientierte Elemente Einzug in die Sprache gefunden.

Beispiele

Einige Befehlbeispiele:

INSERT INTO countries(name) values ('Germany');

begin
	delete from usergroups;
        drop trigger usergroups_trigger;
	drop sequence usergroups_seq;
	drop table usergroups;
	commit;
end;
/
CREATE TABLE usergroups(
	usergroup_id int not null constraint pk_usergroups primary key,
	name char(30) not null,
	description char(250)
);
CREATE SEQUENCE usergroups_seq
start with 1
increment by 1
nomaxvalue;
CREATE TRIGGER usergroups_trigger
before insert on usergroups
for each row
begin
select usergroups_seq.nextval into :new.usergroup_id from dual;
end;
/

PL/pgSQL

Die Procedural Language/PostgreSQL Structured Query Language (PL/pgSQL) ist die prozedurale Datenbanksprache von PostgreSQL. Ähnlich wie PL/SQL (von Oracle) ist die Sprache sehr stark an Ada angelehnt. PL/pgSQL bietet neben herkömmlicher SQL-Elemente auch unter anderem:

  • Variablen
  • Bedingungen
  • Funktionen
  • Schleifen
  • Ausnahmebehandlungen

Beispiele

Einige Befehlbeispiele:

INSERT INTO countries(name) values ('Germany');

DROP TABLE IF EXISTS payments;
CREATE TABLE usergroups(
	usergroup_id bigserial primary key,
	name text not null,
	description text
);

Allgemeingültige Kategorien

In jedem SQL-Dialekt gibt es eine Teilmenge an SQL-Befehlen, die in den folgenden drei Kategorien zusammengefasst werden. Der Begriff „Language“ ist hier für Anfänger irreführend, da oft fälschlicherweise eine eigene Sprache vermutet wird.

DDL (Data Definition Language)

Die Befehle der DDL dienen zur Definition von Datenbanken, Tabellen und weiteren Elementen.

Befehle, die der DDL zuzuordnen sind:

  • CREATE [TABLE|VIEW|INDEX]
  • ALTER [TABLE|VIEW|INDEX]
  • DROP [TABLE|VIEW|INDEX]

DML (Data Manipulation Language)

Die Befehle der DML dienen zum Abfragen, Modifizieren, Speichern und Löschen von Datenbankinhalten.

Befehle, die der DML zuzuordnen sind:

  • SELECT
  • UPDATE
  • INSERT
  • DELETE
  • TRUNCATE

DROP gehört nicht in diese Kategorie, da mittels DROP Tabellen- und Datenbank-Konstrukte und nicht deren Inhalte gelöscht werden

DCL (Data Control Language)

Die Befehle der DCL dienen zur Rechteverwaltung. So können Benutzer verwaltet, Rechte erteilt und entzogen werden.

Befehle, die der DCL zuzuordnen sind:

  • CREATE USER
  • ALTER USER
  • DROP USER
  • GRANT
  • REVOKE
computer/tutorials/sql/sprachen_kategorien.txt · Zuletzt geändert: 2013/05/13 07:43 von christian