1.8. SQL - also die System-Query-Language - die Sprache der Datenbanktechnik history menue Letztmalig dran rumgefummelt: 24.01.18 20:22:41
Verschiedene Datenbankmanagementsysteme realisieren bereits heute Funktionen erwarteter späterer SQL-Standards, d. h. solcher nach SQL89. Andererseits fehlen auch in einigen namhaften DBMS noch Funktionen, die von SQL89 vorgeschrieben sind.
Entsprechend den aktuellen Erfordernissen der Praxis gibt es SQL in folgenden Formen:
  • Interactive SQL (ISQL),
  • BatchSQL (BSQL),
  • EmbeddedSQL (ESQL).

Die einzelnen Statements (Anweisungsfolgen) werden in der Regel wie folgt dargestellt: Name des Statements, Bedeutung, Syntax, Beschreibung, Beschränkungen, Hinweise, Beispiele.
Grundsätzlich kann festgestellt werden, dass die optimistischen Termine aus den Jahren 1989/1990 für die folgenden Jahre nicht durchweg eingehalten werden konnten, was in der Schwierigkeit der Problematik zu suchen ist. U. a. sind folgende Fragen zu beantworten: Was ist von dem theoretisch Fundierten für die Praxis allgemein relevant? Was lässt sich von den aktuellen Forderungen heute effektiv oder überhaupt implementieren? Und alle Fragen müssen bei unterschiedlicher Interessenlage konkurrierender Entwicklerfirmen einheitlich beantwortet werden!
Date Boyce und Codd, sind die bedeutensten Theoretiker auf dem Gebiet der relationalen Datenbanken und SQL89 steht zwischenzeitlich schlechthin für Datenbanksysteme.

1. Geschichte der SQL
2. Entstehung von SQL
3. Relationale Datenbanken - Objektrelationale Datenbanken
4. Datenbankorganisation
5. Erweiterter Begriffkatalog der Datenbanktechnik
6. Verwandte Themen

Datenbanken

Logo für die System-Query-Language

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Quellen:

Standard-System-Query-Language

mengentheoretischen Grundlagen der SQL

Database-JOINING


1. Entstehung von SQL history menue scroll up
SQL—Strukturierte Abfragesprache für Datenbanken Quelle Dr. Wilfried Grafik, Berlin „SQL-strukturierte Abfragesprache für Datenbanken“; Mikroprozessortechnik; © Verlag Technik Berlin 1992; S. 22 ff.
SQL ist eine standardisierte Sprache für das Erstellen und Bearbeiten (relationaler) Datenbanken. Der Beitrag untersucht Ursprung, Wesen, Ziel und Entwicklungsperspektiven von SQL (Structured Query Language). Die wichtigsten Sprachkonstrukte werden in ihrer Syntax und an Beispielen erläutert. Natürlich hat jeder implementierte Standard seine Besonderheiten. Auch dBase IV unterstützt in Anfängen die Verwendung von SQL.

Von ALPHA zu SQL

1970 veröffentlichte E.F. Codd /1/, ein Mitarbeiter von IBM, sein relationales Datenmodell. Dieses Datenmodell sollte durch seine theoretische Grundlage einige Nachteile der anderen beiden Datenmodelle, des hierarchischen und des Netzwerk-Datenmodells, beseitigen. Zum einen ging es um eine konsequentere Trennung von logischer und physischer Ebene einer Datenbank und zum anderen um die Entwicklung einer Datenbanksprache, die das "Was" und nicht das "Wie" in den Vordergrund stellt. Mit anderen Worten: Es ging nicht so sehr um die Formulierung von Algorithmen, sondern um eine deskriptive Notation von Datenbeziehungen und Anfragen. Auf dem Gebiet der höheren Programmiersprachen lagen Erfahrungen in der Formulierung von Algorithmen vor. Eine Entwicklung im evolutionären Sinne führte zu Erweiterungen von Sprachen der dritten Generation für die dauerhafte (persistente) Datenhaltung und schließlich zu Datenmanipulationssprachen, beispielsweise DL/1 (DL-data language) im hierarchischen Datenverwaltungssystem IMS von IBM. (Man beachte die Ähnlichkeit in der Namensgebung zu PUI, programming language, von IBM). zu viele Angaben in diesen Spra-chen beschrieben, wie ein Datensatz aufgebaut ist, wie er gespeichert wird, wie seine Verbindung zu Sätzen anderer Typen ist, wie Indexstrukturen organisiert sind usw. Diese Angaben haben mit dem logischen Schema einer Datenbank nur wenig zu tun. Allerdings, und das muß man diesen Kalten DBMSS lassen, wird dadurch die Verarbeitungsgeschwindigkeit wesentlich gesteigert (DBMS - database Management System). Standardisie-rungsbestrebungen gab es auch für das Netzwerk-Datenmodell, die letztlich in CODASYL-Vorschlägen (CODASYL - conference on data Systems languages) der DBTG(databasetaskgroup)von 1971 bis 1978 zusammengefaSt sind. Um die Semantik klarer zu fassen, ging das Bemü-hen dahin, eine möglichst deskriptive Sprache zu finden, also das Swasi zu modellieren und die konkrete Implementation auf der physischen Ebene weitgehend dem Datenbankverwaltungssystem zu überlassen.
Nach der mathematischen Formulierung des relationalen Modells, der Beschreibung der gültigen Operationen in der Relationenalgebra und der Formulierung des gleichen Sachverhalts innerhalb anderer mathematischer Theorien (Relationen-Tupel-Kalkül, Prädikatenkalkül), wurde eine Sprache benötigt, die die mathematischen Sachverhalte wiedergibt, leicht erlernbar und verständlich und auf dem Rechner realisierbar ist. Den ersten Versuch einer Relationenkalkül-Sprache für den rechentechnischen Gebrauch nannte Codd 1971 ALPHA. In ALPHA wird versucht, durch Umsetzung des Prädikatenkalküls der ersten Stufe (PK1) Anfragen und Restriktionen (Sonstrains) für die Attribute zu formulieren. Die eigentlichen Lese- und Schreiboperationen treten hinter den PK1 Konstrukten zurück. ALPHA war aber noch zu unhandlich. Im nächsten Schritt wurde versucht, eine abbildungsorientierte Sprache zu definieren, die zu penetrante mathematische Notationen, wie die Quantoren, für den Nicht-Mathematiker günstiger formuliert. Es entstand 1976 die Sprache SEQUEL, die später zu SQL wurde.

Standard-Sprache-Datenmodell

SQL wurde also primär für relationale DBMS entworfen. Der erste Versuch einer ernsthaften Implementation wurde von IBM im DBMS System R unternommen. System R stellt mehr einen Prototyp dar, da ernsthafte Anwendungen im kommerziellen Bereich in der Literatur kaum zitiert werden. Aus dem System R entstanden zwei wesentliche relationale Datenbankverwaltungssysteme, DB2 von IBM für große Mainframes und Oracle von der Firma Oraele GmbH. So verwundert die in Oracle ausgewiesene Kompatibilität zu DB2 auch nicht. Selbstverständlich gibt es weitere bedeutende relationale DBMS (Informix, Sybase, Ingres, DDB4, ...), die hier weder alle erwähnt noch besprochen werden sollen.
Entscheidend ist, dass es, eingeleitet durch das American National Standard Institute (ANSI), gelang, einen internationalen Standard für SQL bei der International Standard Organisation (ISO) im Jahr 1986 festzuschreiben (ISO 9075). Dieser SQL-Standard wurde 1987 durch ein Addendum ISO 9075 ergänzt, das Erweiterungen hinsichtlich der Integritätssicherung (Integrity Enhancements) beschreibt /2/. Bedeutend ist ferner, dass die meisten Hersteller großer DBMS diesen Standard als Kern ihrer Datenbanksprache implementiert haben. Dadurch wird der Standard mit Leben erfüllt. Der Wettlauf zwischen der Standardisierung, ihrer praktischen Berücksichtigung in Implementationen und den aktuellen Anforderungen der Anwender ist damit keineswegs entschieden. Ein SQL2-Standard ist bei der ISO seit 1986 in Entwicklung. Er sollte 1990 fertiggestellt sein. Schon vor der Fertigstellung zeigen sich aber zumindest zwei Nachteile:

  1. Er ist zu umfangreich und schwer verständlich und
  2. er genügt nicht den aktuellen Anforderungen moderner Anwendungen.

Kennern der Softwareszene drängt sich in diesem Zusammenhang die Erinnerung an das Schicksal des Pascal-Standards auf, der durch Turbo-Pascal aufgeweicht wurde. Auf dem Gebiet der Datenbanken ist die Notwendigkeit eines Standards nach meiner Auffassung noch dringlicher. Denken wir nur an den Datenaustausch zwischen Datenbanken, an die kooperative Arbeit unterschiedlicher Datenbanken in einem Netz usw. (vgl. dazu 13). Bezieht sich eine Anfrage gleichzeitig auf mehrere Datenbanken, so kann diese Anfrage nur in einer Sprache formuliert sein und muss von allen angesprochenen Datenbanken verstanden werden. Hier liegt sicher ein erheblicher Qualitätsunterschied zur Portabilität von Quellprogrammen, etwa in Pascal oder C. Hersteller und Nutzer sind gleichermaßen gezwungen, einen Standard zu formulieren und ihn einzuhalten. Welche Stellung hat SQL, als Sprache für das relationale Datenmodell (RDM), im Verhältnis zu anderen Datenmodellen? Drei Dinge sind zu berücksichtigen:

  1. Die Stellung zum DBMS-unabhängigen Entity-Relationship-Modell (ER-Modell).
  2. Das Verhältnis zu den anderen Standard-Datenmodellen, dem hierarchischen Datenmodell (HDM), repräsentiert durch das IMS, und dem Netzwerkdatenmodell (auch Codasyl-Modell genannt), repräsentiert durch UDS von Siemens.
  3. Die Einpassung in weiterentwickelte Datenmodelle, die mehr Semantik widerspiegeln (semantische Datenmodelle). Repräsentanten sind das NFNF oder NF2 (non first normal form) und das Molekül-Atom-Datenmodell (MAD).

Ein Datenbankentwurf nach dem ER-Modell lässt sich relativ leicht ins relationale Modell überführen. CASE-Toolsfürdiesen Schritt sind im Angebot.
Für die Kooperation mit IMS- oder UDS-Datenbanken hat man ebenfalls die SQL-Schnittstelle gewählt, das heißt, es gibt Shells, die eine SQL-Anfrage an diese Datenbanken gestatten. Beispiele dafür find UDS-D (UDS/SQL) und IMS/DB2.
Das Bestreben, mehr Semantik in die frühen Phasen des Datenbankentwurfs zu bringen und in der Datenbanksprache deskriptiv zu formulieren, führte zu Erweiterungen des relationalen Datenmodells. Xn SQL wurden Erweiterungen vorgenommen, die zwar nicht konform zum geplanten SQL2-Standard, aber dringend erforderlich sind. Forschungsimplementationen sind in der Erprobung. Als Prototyp eines DBMS, das ein NF2-Modell favorisiert, ist AIM-P (advanced Information management-Prototype) von IBM zu nennen /5/.
Natürlich gibt es sehr viele offene Probleme in der Konstruktion von Datenbanksprachen für die Verwaltung komplexer oder multimedialer Objekte. Eine noch bessere hierarchische Trennung der Konstrukte sowie die Anreicherung durch Elemente der Wissensverarbeitung (regelbasiert) scheint der Weg in die richtige Richtung zu sein. Existierende Softwarepakete zur Verwaltung komplexer Objekte zeigen, dass eine bildliche Anfragesprache reichere Formulierungsmöglichkeiten bietet. Sie entspricht mehr den Bedürfnis-sen des Endnutzers. Der Nachteil besteht allerdings darin, dass sie für die Formulierung in Programmen, also für den Batch-Betrieb, nicht geeignet ist.
Nach der Beleuchtung des Umfelds von SQL wenden wir uns nun der Sprache direkt zu. Jede Datenbanksprache lässt sich in zwei große Gruppen von Sprachkonstrukten unterteilen: die Datenmanipulationssprache (DML) und die Datendefinitionssprache (DDL). Feinere Unterteilungen sind aus der Literatur bekannt, werden aber in der Praxis kaum verwendet. So spricht man gelegentlich von einer Constraint Definition Language (CDL), einer Event Definition Language (EDL), einer Data Control Language (DCL) usw.

Die Datenmanipulationssprache

Wir verschieben zunächst die Definition von Relationen auf einen späteren Abschnitt und beschäftigen uns mit der zentralen Anweisung der DML von SQL: der SELECT-Anweisung. Sie hat, stark vereinfacht, die Grundstruktur

SELECT ...
FROM ...
WHERE . . .

Als Ergebnis der Abarbeitung einer SE-LECT-Anweisung entsteht wieder eine Relation. Damit liefern Projektion, Selektion und Join wieder Relationen, so dass die relationale Algebra bezüglich dieser Operationen abgeschlossen ist.
Bis auf Feinheiten folgen nach dem Schlüsselwort SELECT Angaben über die Projektion, das heißt, es werden die Attribute (Spalten) der Ergebnisrelation festgelegt (<auswahlliste>). Die aufgeführten Attributbezeichner können dabei aus verschiedenen Relationen oder Views kommen. Nach FROM folgt eine Aufzählung der Relationen oder Views (<tabellenreferenz>), auf die die SELECT-Anweisung angewendet wird. Schließlich dient die WHERE-Klausel zur Angabe einer Selektionsbedingung (<suchbedingung>).


2. Entstehung von SQL history menue scroll up

Das American National Standard Institute (ANSI) bildete Ende der 70er Jahre eine Gruppe zur Entwicklung eines Standards für relationale Datenbanksprachen. Am Anfang standen Untersuchungen der bis dahin voneinander isoliert entwickelten und implementierten Sprachen von DBMS mit dem Ziel, gemeinsame Funktionen zu erkennen, die sich einer Vereinheitlichung besonders anboten. Die Arbeit verlief zunächst analytisch, wurde aber bald zunehmend von theoretischen Vorstellungen getragen.
1981 begann die Entwicklung des Standards auf der Grundlage einer Datenbanksprache, die durch die Fa. IBM im System/R bereits implementiert worden war.
Seit 1982 wurden die Standardisierungsbestrebungen durch die International Standards Organisation (ISO) (Westeuropa) und verschiedene nationale Standardisierungsorganisationen, die mit der ISO assoziiert waren, übernommen.
Es entstand die ISO-Gruppe für Database Languages, um den ANSI-Standard zu analysieren und als Grundlage für die Entwicklung eines ISO-Standards zu nutzen.
ISO und ANSI veröffentlichten 1986 gemeinsam den ersten Standard für SQL, heute im allgemeinen SQL86 genannt.
Im Standard SQL86 wurden grundlegende Sprachkonstrukte zur Datendefinition und -manipulation definiert. Aufgrund der bis dahin sehr differenzierten Datenbanksprachen umfasste dieser Standard nur die wichtigsten Funktionen, zu denen einheitliche Auffassung zu erzielen war.
Interessant sind die Angaben von 1989 zu vergleichbaren DBMS

  • DB2 (IBM) Rel. 3
  • INFORMIX V 2.10
  • INGRES V 5.0,
  • ORACLE V 5.1,
  • SQL/DS Rel. 3
  • SYBASE V 3.4

Erstaunlich ist, dass zur damaligen Zeit wichtige Forderungen des Standards bezüglich der Integritätssicherung nicht erfüllt wurden.:

  • TABLE: Spalte NOT NULL bei allen genannten DBMS möglich;
  • INDEX UNIAUE mit Ausnahme von INGRES möglich Damit war die Möglichkeit gegeben, einen Primärschlüssel wenigstens indirekt nutzergesteuert zu erzeugen. Bei keinem der genannten DBMS war es jedoch möglich, eine Spalte als PRIMARY KEY bzw. FOREIGN KEY2 direkt zu definieren. (Das DBMS MIMER in der Version 5.1 erfüllte dagegen diese Funktionen bereits 1988!)
  • den UNION-Operator (sowie auch die Operatoren INTERSECT und MINUS) zur Verbindung von mehreren Select-Abfragen in einem einzigen Statement gab es nur bei ORACLE
Das American National Standard Institute (ANSI) bildete Ende der 70er Jahre eine Gruppe zur Entwicklung eines Standards für relationale Datenbanksprachen. Am Anfang standen Untersuchungen der bis dahin voneinander isoliert entwickelten und implementierten Sprachen von DBMS mit dem Ziel, gemeinsame Funktionen zu erkennen, die sich einer Vereinheitlichung besonders anboten. Die Arbeit verlief zunächst analytisch, wurde aber bald zunehmend von theoretischen Vorstellungen getragen.
1981 begann die Entwicklung des Standards auf der Grundlage einer Datenbanksprache, die durch die Fa. IBM im System/R bereits implementiert worden war.
Seit 1982 wurden die Standardisierungsbestrebungen durch die International Standards Organization (ISO) (Westeuropa) und verschiedene nationale Standardisierungsorganisationen, die mit der ISO assoziiert waren, übernommen.
Es entstand die ISO-Gruppe für Database Languages, um den ANSI-Standard zu analysieren und als Grundlage für die Entwicklung eines ISO-Standards zu nutzen.
ISO und ANSI veröffentlichten 1986 gemeinsam den ersten Standard für SQL, heute im allgemeinen SQL86 genannt.
Im Standard SQL86 wurden grundlegende Sprachkonstrukte zur Datendefinition und -manipulation definiert. Aufgrund der bis dahin sehr differenzierten Datenbanksprachen umfasste dieser Standard nur die wichtigsten Funktionen, zu denen einheitliche Auffassung zu erzielen war.
1989 wurde eine Weiterentwicklung des SQL86-Standards unter dem Namen SQL89 veröffentlicht, die als wichtigste Erweiterung umfassendere Daten- und Referenzintegritätsdeklarationen beinhaltete. Die danach noch vorhandenen Unzulänglichkeiten sollen mit SQL2 und SQL3 beseitigt werden. 1990 wurde erwartet, dass der Standard SQL2 im Jahre 1992 publiziert werden könnte. Der Standard SQL3 sollte nicht vor 1995 veröffentlichungsreif sein. Bis heute können diese Termine kaum als erfüllbar angesehen werden
Der SQL2-Standard ist heute, auch nur teilweise, bei wenigen DBMS implementiert. Vorabausgaben von SQL2 sind unter den Bezeichnungen Entry SQL2 und Intermediate SQL2 bekannt geworden. Der volle Standard heißt z. Z. Full SQL2.
Interessant sind die benötigten Druckseiten der Standards bzw. deren Entwürfe: SQL86 umfasst etwa 100 Seiten, SQL89 etwa 115 Seiten; für SQL2 und SQL3 werden bis zu 700 Seiten erwartet. Diese Explosion, die nicht nur auf den Seitenumfang bezogen ist, dürfte Anlass dafür sein, über das Machbare, Implementierbare und vom Nutzer Anwendbare nachzudenken. Durch die Parallelentwicklung des Sprachstandards durch ANSI (USA) und ISO (Europa) ergeben sich geringfügige Unterschiede, die jedoch nicht grundsätzlicher Natur und für die praktische Arbeit ohne Bedeutung sind. Im übrigen sind die meisten heute kommerziell vertriebenen DBMS Entwicklungen aus den USA, für die der ANSI-Standard Grundlage ist. Zusammenfassend können die Erweiterungen und geplanten Erweiterungen wie folgt zusammengefasst werden:

Standard SQL86 formulierte die grundsätzlichen Forderungen an die Datendefinition und Datenmanipulation.

Standard SQL89 forderte als wesentliche Funktionen die Unterstützung der Integrität: - Sicherheit/Zugriffsschutz
GRANT-Statements View-Einrichtung
- Integrität
NOT NULL PRIMARY KEY
CHECK FOREIGN KEY UNIAUE REFERENCE - Recovery/Concurrency Transaktionen-Management
COMMIT WORK ROLLBACK WORK 3. In späteren Standards (z. B. SQL2) wird erwartet, daß folgende Eigenschaften und Funktionen festgeschrieben werden:
- Wirtssprachen für ESQL und die Modulsprache COBOL, FORTRAN, PASCAL, PL/1 und neu: ADA und C
1 Die Erläuterung erfolgt teilweise in den Heften 1 und 2 dieser Reihe; im Zusammenhang mit SQL wird auf die folgenden Abschnitte dieses Heftes verwiesen.
Datenhaltung - Datenpflege: Gesamtheit der Maßnahmen, um einen Datenbestand aktuell zu halten
Entitytyp Entitytyp (Tabellenname): Eine Entität stellt einen Themenkreis dar, welcher Elemente mit gleichen Merkmalen umfasst. Bsp. Personen, Kurse, Ersatzteile etc.
Entitymenge (Datensätze): Die Entitätsmenge beinhaltet alle zu den Merkmalen einer Entität gehörenden Werte. Sie entspricht allen gespeicherten Datensätzen einer Tabelle.
Tupel: ein Datensatz bzw. eine einzelne Zeile in der Tabelle; enthält alle auf ein Objekt bezogenen Feldwerte bzw. Merkmalsausprägungen
Attribut:
  • einzelne Spalte in der Tabelle (Feld von einem bestimmten Datenfeldtyp) einschließlich seinem Namen
  • das Attribut entspricht einem Merkmal eines Tupels und beschreibt somit eine spezifische Eigenschaft einer Entitätsmenge. Bsp. Name, Adresse, Alter etc.
Attributwert: (Wert, Datum): Dies ist ein Datenwert, welcher das zugehörige Attribut eines Tupels beschreibt. Bsp: Attribut = Name; Attributwert = Müller. Vielfach wird anstatt des Wortes „Wert“ der Begriff „Datum“ verwendet. Datum und Wert sind Synonyme, haben aber mit dem Kalenderdatum nichts zu tun.
Domäne: Menge der verschiedenen Feldwerte eines Attributs (praktisch der Wertevorrat für das Feld)
Schlüsselfeld: dient der eindeutigen Identifikation eines Tupels in einer Relation und der Herstellung von Beziehungen zwischen verschiedenen Relationen
Konsistenz: ist die Widerspruchsfreiheit der Datenhaltung
NULLWERTE: Wenn ein Attribut eines Tupels einen Nullwert enthält, so bedeutet dies, dass dieses Attribut keinen Attributwert besitzt und somit keine Information beinhaltet. Der Nullwert darf nicht mit der Zahl Null verwechselt werden. Die Zahl Null stellt eine Information dar, der Nullwert jedoch nicht.
Die vollständige Spezifikation in der klassischen Programmierung verlangt eine „abgeschlossene Welt“ (Closed World Assumption). Das stellt die Voraussetzung für das Aristotelische Zweiwertigkeitsprinzip (wahr oder falsch) dar und gestattet die Verwendung der Boolschen Logik.
In der Datenbankpraxis wird jedoch (mindestens) ein dritter Zustand benötigt: Ich weiß nicht.
Er wird als NULL-Wert (NULL value) bezeichnet und darf nicht mit dem Neutralen Element „0“ der Addition in der Arithmetik verwechselt werden: NULL ist ein Status, kein Wert
Die NULL-Werte erlauben, die abgeschlossene Welt zu „öffnen“ (Open Wold Assumption), bzw. durch Prädikate, wie sonstige, keine Angaben, unbekannt, noch nicht bekannt, kann der Wertebereich eines Attributes so erweitert werden, dass nun wieder mit einer abgeschlossenen Welt gearbeitet werden kann. Die Verwendung von NULL-Werten macht eine mehrwertige Logik (J. LUKASIEWICS) erforderlich. Die klassischen Wahrheitstafeln für AND, OR und NOT erhalten dann folgendes Aussehen (wobei der NULL-Wert durch „?“ repräsentiert wird):

 

AND

T

F

?

T

T

F

?

F

F

F

F

?

?

F

?

AND-Logik mit NULL-Werten

OR

T

F

?

T

T

T

T

F

T

F

?

?

T

?

?

OR-Logik mit NULL-Werten

NOT

 

T

F

F

T

?

?

NOT-Logik mit NULL-Werten

Die Auswirkung der NULL-Werte sei am Beispiel der Berechnung des durchschnittlichen Monatseinkommen (AVG (averange)) illustriert:

Name Bruttogehalt
Meier 2079 €
Schulze 3492 €
Karstens 2992 €
Weihnachtsmann ?
Hiepler 2356 €

Bruttoverdiensttabelle mit NULL-Werten - das Durchschnittsgehalt ermittelt sich Summe : 4 und nicht Summe : 5


3. Realationale Datenbanken history menue scroll up
Eine Relation ist eine Beziehung nicht nur in Datenbankgefügen, sondern auch als philosophische Kategoerie. Es werden zu einem Zeitpunkt immer genau zwei  Objektgruppen zueinander in Beziehung gesetzt. Objektgruppen sind hier zwei Mengen von Elementen der uns umgebenden Welt mit gemeinsamen (nicht notwendigerweise gleichen) Eigenschaften, also zum Beispiel SCHUELER, AUTO, FILM, MASCHINE, GEMUESE, BUCH usw.
Relation eine Tabelle, in der in zweidimensionaler Anordnung die Datenelemente erfasst sind, wobei: 
  • Bestandsrelation: bildet eine Objektklasse mit identischen Merkmalen (Feldern) ab
  • Beziehungsrelation: schafft eine Beziehung zwischen zwei verschiedenen Bestandsrelationen
relationale Datenbank  eine aus verschiedenen Relationen (Bestands- und ggf. Beziehungsrelationen) aufgebaute Datenbank
Integrität beschreibt die Unversehrtheit der Datenhaltung nach Maßnahmen der Datenpflege
Konsistenz Widerspruchsfreiheit
Anomalie "Ungereimtheit", welche sich erst durch die Nutzung der Datenbasis eingeschlichen haben ...
Index: ist der aktuelle Verweis auf Datensätze (auch Tupel oder Entities genannt) - es sind nicht die Tupel selbst!
Schlüssel schafft Übergangsmöglichkeiten zwischen den Entitytyps eines Diskurses

4. Datenbankorganisation history menue scroll up
 
Hierarchische Datenbanken: Beim hierarchischen Modell werden die Daten in einer streng hierachischen Ordnung angelegt (Baumstruktur). Das hierarchische Modell wird aus einer Hierarchie von Entitätstypen (Datensätzen) aufgebaut, die mit einem Vaterentitätstyp auf einer höheren Ebene und einen oder mehreren abhängigen Entitätstypen (Datensätzen) auf einer niedrigeren Ebene verbunden ist. Zwischen einer Vaterentität kann es direkte Beziehungen zu verschiedenen Sohnentitäten geben.
Netzwerkmodell von Datenbanken: eine aus verschiedenen Relationen (Bestands- und ggf. Beziehungsrelationen) aufgebaute Datenbank
Objektorientierte Datenbanken Menge der verschiedenen Feldwerte eines Attributs (praktisch der Wertevorrat für das Feld)

5. Erweiterter Begriffskatalog der Datenbanktechnik history menue scroll up
 
3GL  Third Generation Language
4GL  Fourth Generation Language
BLOB Binary Large Objects
C Programmiersprache C
CASE Computer Aided Software Engeneering
DBMS   Data Bank Management System
DDL Data Desription Language
DML Data Manipulation Language
ESQL Embedded SQL
FTP File Trannsfer Protocol
LAN Local Area Network
MMD Multimedia Datenbank
QL Query Language
RID Record Identifier
SQL Structured Qury Language Query Language

6. Verwandte Themen history menue scroll up
Da schon einmal feststeht, dass Datenbanken das Non plus Ultra der Informatik sind, und dies sowohl von der theoretischen als auch praktischen Seite gilt, gibt's nun hier die Verwandtschaften und somit auch das Basiswissen zu Datenbanken auf Abiturniveau schlechthin.
Bereich Datenbanken-Grund- und Aufbauwissen

Database Management-Systems

Daten

Datensicherheit und Datenpiraterie

Datenschatten

Zahlensysteme

Anforderungen an DBMS

richtige oder falschen Datenbasen

Datenbanken-Entwurf

mengentheoretischen Grundlagen der SQL

Bereich Begriffswelt der Informatik

Informationsbegriff

Nachrichten

Wissen

Systembegriff

Modellbegriff

Simulation

Denken und Sprache

Zahlen, Daten und Datentypen

Gegenläufigkeit und Verklemmung

Pattern-Matching

   
Bereich Kryptologie

Grundlagen der Kryptologie

Allgemeines zur Verschlüsselung

Steganografie

CÄSAR-Chiffre

Vigenère-Chiffre

der Babbage bzw. Kasiski-Test

Angriff auf den ENIGMA-Chiffre: Projekt ULTRA- oder Shark

   


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost im November 1995

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus (das haben wir schon den Salat - und von dem weiß ich!) nicht mehr teilzunehemn ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)