- ad hoc query ist eine temporäre Abfrage, bei welcher das
Abfragestatement, noch die Ausgabe zwischengespeichert wird.
-
Eine Änderungs - Anomalie ist
einfach anhand eines Beispiels zu beschreiben: Es zieht ein Kunde um.
Hierbei müssen mehrere Adressinformationen gleichzeitig geändert werden.
Bei gleichzeitigem lesendem Zugriff auf die Datenbank von mehreren
Kundenbaratern kann es passieren, daß zwar schon die Anschrift geändert
wurde, jedoch noch nicht die Telefonnummer. Ein
Locking-Problem.
-
"anomalie">Eine Anomalie wird gewöhnlich in
Untergrupen aufgeteilt:
Einfüge - Anomalie,
Lösch - Anomalie,
Änderungs - Anomalie. Diese können zu Datenverlusten oder zu groben Fehlern führen.
-
Attribut beschreibt einen Wert, der in jedem Tupel einer
Relation vorkommt. Normalerweise wird hiermit
eine Spalte einer Relation bezeichnet. Ein Attribut ist eine Eigenschaft
einer
Entity. Bei ACCESS wird statt des Begriffes
Attribut auch der Ausdruck
Feld verwendet.
-
base query Siehe
ground query
- BCNFBoyce-Codd Normal Form beschreibt bei einem relationalen
Modell mehrere
Normalformen.
- Boyce-Codd Abhängigkeiten beschreiben einen Teil eines
Schlüssels, der von einem Attribut abhängig ist, welches nicht zu einem
anderen Schlüssel gehört.
- Boyce-Codd Normalform beschreibt den Zustand einer Datenbank
in der dritten Normalform, bei welcher keine Boyce-Codd Abhängigkeiten mehr
enthalten sind.
- candidate key stellt ein oder mehrere Attribute dar, welche
ein Tupel in einer Relation eindeutig abbilden können. Dies ist ein
potentieller Primary Key.
-
commit beschreibt eine Entscheidung, mit einer Änderung in
der Datenbank fortzufahren.
- Errechnetes Attribut beschreibt ein Attribut, welches sich
aus mehreren Werten anderer Attribute errechnet. Diese können in Relationen
gespeichert werden. Sie werden so angelegt, wie sie bei einer Abfrage
gebraucht werden.
- Eine Datenbank ist eine Sammlung aller Entitys
und Attribute. Sie beschreibt die Gesammtheit aller verfügbaren
Informationen.
- Datenbank Manager ist eine Person, die für das Design, die
Konstruktion und Wartung einer Datenbank verantwortlich ist. Darunter kann
man aber auch ein Stück Software verstehen, mit welchem man die Datenbank
administrieren kann.
- Deadlock tritt immer dann auf, wenn zwei oder mehrere
konkurrierende Prozesse nicht beendet werden können, weil diese darauf
warten, daß der jeweils andere Prozeß Resourcen freigibt, die der andere
zum Lesen oder Schreiben gesperrt hat. Bei Datenbanken, deren
Lockmechanismen (ROW/COLUMN/CELL/TABLE LOCKING) zu grob differenziert sind, entstehen
hierdurch oft lange Reaktionszeiten. Häufiger ist allerdings falsche
Programmierung die Ursache.
- Dreiwertigkeit Unter SQL können Werte in einer Tabelle im
Prinzip nicht nur drei Werte annehmen (0 oder irgendein Wert), sondern
auch den Wert NULL, was für Daten nicht vorhanden steht.
- Verteilte Datenbanken sind Datenbanken, deren Inhalte auf
mehrere Computersysteme verteilt sind.
- Domain ist eine Sammlung von allen möglichen Werten eines
Attributes. Diese kann endlich und unendlich sein. In einer Datenbank
existieren Funktionen, die die verschiedenen gespeicherten Werte zählen können.
-
Entity Eine Entity ist ein existierendes
Objekt, eine Beobachtung, eine Transaktion oder Person, über welches
Informationen in einer Datenbank abgelegt werden.
- Entity Relationship (ER) Diagramm Ein solches Diagramm ist
für die Entwurfsphase einer Datenbank unentbehrlich. Aus einem ER - Diagramm
wird das Relationenmodell entwickelt. Wer einmal Matrizen in Mathematik
behandelt hat, dem wird der Begriff Normalisierung einer Matrix
(Normalenform) etwas sagen.
-
Feld ist ein Ausdruck, der von ACCESS als Synonym für ein
Attribut verwendet wird.
- File ist eine (von der Datenbank unabhängig) benannte Datei
auf dem Filesystem, in welcher eine Relation oder eine ganze Datenbank
gespeichert wird.
- Filter ist ein Ausdruck für eine dauernde Abfrage eines
Datenflusses.
- Foreign Key werden eingesetzt, um automatische Abhängigkeiten
zwischen Entitys in mehreren Tabellen zu schaffen. Eine Änderung einer
Entity einer Tabelle wird dann auch automatisch auf andere Tabellen
(Relations) übertragen. Dies führt oft zu diffusen Problemen bei dem
Locking.
-
Erste Normalform
Eine Datenbank befindet sich in der ersten Normalform, wenn es keine
zusammengesetzen Fehler mehr gibt. Hierbei kann es sich um die Trennung von
zusammengehörigen Attributen, wie z.B. Adresse, Postleitzahl, Telefonnummer,
Vorwahl... handeln, als auch um die Trennung von Wiederholfeldern, wie
z.B. einer Auflistung von entliehenen Büchern oder anderen Ereignissen.
- Granularität beschreibt die Größe der kleinsten Einheit, die
unabhängig gelockt werden kann. Eine Datenbank kann Locks
(Lese/Schreibsperren) auf Datenbank/Relation/Tupel/Attribut - Ebene setzen.
Es sind auch Locks von einzelnen Attributen innerhalb eines Tupels erlaubt.
Die Fähigkeiten schwanken je nach Datenbankhersteller.
-
ground query ist eine Abfrage, bei der alle Attribute direkt
aus den Relationen entnommen werden. Es werden hierbei keine Ergebnisse
anderer Abfragen verwendet. Diese wird auch ref id="basequery" name="base
query"> genannt.
-
Hash-TablesHash-Tables sind Zahlen, die sich z.B. aus dem
Namen einer Person, bzw. der Buchstaben errechnet. Hierzu werden die ASCII
Werte addiert, Modulo einer Primzahl, die größer als die Zahl der Einträge
in der Datenbank ist. Diese Hash-Zahl beschreibt zumeist eindeutig den Ort
des Eintrags in der Datenbank. Er ermöglicht das schnelle Auffinden von
Einträgen. Typischerweise beträgt die Größe eines HASH-Table ca. 5-10% der
Datenbank.
- Identität ist eine Relation innerhalb von Attributen
- Ein INDEX ist eine Methode, um Tupel in der Datenbank neu zu ordnen, oder diese in
spezieller Reihenfolge bei der Ausgabe zu ordnen. Indizes werden auch dazu
verwandt, um die Abfrage stark zu beschleunigen. In der Datenbank werden
hierzu intern ref id="hash" name="Hash-Tables"> angelegt.
- Inversion ist ein Index, der die umgekehrte Suche nach
Einträgen in der Datenbank zuläßt.
- Join ist eine Abfrage, welche Daten mehrerer Relationen
verwendet und miteinander verknüpft. Die Relationen müssen zumindest ein
Attribut (auch join- oder linking Attribut genannt) gemeinsam haben.
- Key / Schlüssel ist ein Attribut oder eine Kombination von
Attributen. Eine Kombination ihrer Werte kann dazu verwendet werden, um
Tupel einer Relation zu suchen.
- Locking
ist die Reservierung einer Datenbank, Relation, Tupel
oder auch deren Kombination für einen User. Es gibt Schreib- und Lese Locks.
Diese Verfahren werden benötigt, um Inkonsistenzen der Datenbankinhalte zu
vermeiden, z.B. wenn Clients gleichzeitig versuchen, einen Datensatz zu
lesen, der gerade von anderen Personen aktualisiert wird.
- many-to-many relationship Ein oder mehrere Tupel einer
Relation können durch ein oder mehrere Tupel einer weiteren Relation
verbunden werden, indem man einen gemeinsamen Wert eines sog.
JOIN Attribut einführt. Das bedeutet, daß jeder
Wert des JOIN Attributes viele Male in jeder der Relationen enthalen sein
kann.
-
Negation ist eine Abfrage, die alle Tupel, außer denjenigen,
für die eine bestimmter Wert eines Attributs angegeben wurde, ausgibt.
Solche Abfragen sind oft langwierig, sodaß viele Datenbanken solche Abfragen
nicht unterstützen.
-
Normalform dient dazu, mehrfache Datensätze und
Abhängigkeiten zu vermeiden, den Speicherverbrauch zu reduzieren, und die
Performance der Datenbank zu verbessern. Hier zu gibt es genau definierte
Regeln, die vorschreiben, wie man eine Datenbank in normal form
bringt. Siehe auch Kapitel
Normalformen
- one-to-many relationship Exakt ein Tupel in einer Relation
ist über eine gemeinsames
JOIN Attribut mit mehreren
Tupeln einer anderen Relation verbunden. Das bedeutet, daß jeder Wert der
ersten Relation, aber nicht zwangsläufig auch in der zweiten Relation eindeutig ist.
- one-to-one relationship Exakt ein Tupel in der einen Relation
ist genau einem Tupel in einer anderen Relation zugeordnet. Jeder Wert des
JOIN Attributes ist eindeutig einem Wert in jeder der
beiden Relationen zugeordnet. Dies kann z.B. eine laufende Nummer sein.
(autoincrement)
- Teilweise Abhängigkeit (partial dependancy) ist erfüllt, wenn
ein Wert eines Attributes (ohne Schlüssel) nur von einem Teil des Schlüssels
abhängig ist.
- persistent query ist die Speicherung einer Abfrage für eine
erneute Abfrage. In Internet Suchmaschinen kann man sich vorstellen, daß
Millionen User nach dem Eintrag SEX suchen. Da die Ausgabe stets identisch
ist, wird die Abfrage und das Ergebnis zwischengespeichert.
- Post ist eine Anweisung, Daten zu verändern. Post kann
entweder direkt durchgeführt werden, oder muß solange zurückgestellt werden,
bis alle verwandten Änderungen ebenfalls durchgeführt werden können. Siehe
auch
Commit
-
Primary Key ist ein Schlüssel, der
eindeutig jedes Tupel in einer Relation identifizieren kann. Eine Relation
darf nicht mehr als einen Primary Key besitzen.
- Primary Memory ist zumeist das RAM, in welchem die Daten
abgelegt werden. Unter MySQL gibt es sog. temporäre Tabellen, die die
Abfrage erheblich beschleunigen, da diese im RAM abgelegt werden. Ein Teil
der Selbstoptimierung von MySQL.
- Project ist eine Abfrage, in welcher nur einige der Attribute
der Relation ausgegeben werden.
- QBE Query-By-Example ist eine Art Makrosprache für Abfragen.
- Query ist eine Abfrage in einer eigenen Sprache. Oft wird
hiermit auch die Ausgabe gemeint.
- Query Resolution ist der Prozeß des Sammelns von Daten, die
für die Ausgabe benötigt werden.
- Read Lock ist eine Sperre, die es Clients erlaubt, Daten zu
lesen, jedoch nicht zu schreiben.
- Record ist ein Synonym für ref id="tuple" name="Tupel">
-
recursive query ist eine Abfrage, deren Ausgabe dann als
Eingabe für dieselbe Abfrage verwendet wird.
- Relation
ist die Basis einer
relationalen Datenbank. In ACCESS Sprache wird hiermit eine Tabelle
bezeichnet. Eine Relation enthält normalerweise eine Entität (entity) und
deren Attribute (zugehörige, abhängige Reihen oder Tupel).
Normalerweise wird die Datenbank in einer Art
2 dimensionalem Koordinatensystem abgespeichert, wobei jede Reihe eine
Sammlung von Daten einem
Entity-Set darstellt.
Die Darstellung aller Entitären und Attribute in einer Relation (Tabelle)
wird Universalrelation genannt.
- Reihe (row) ist bei der Datenbank Access der Begriff für ein Tupel in
der ordentlichen SQL Welt.
- safe queryEine Anfrage, bei welcher die Ausgabe endlich
ist....
- schema ist eine Beschreibung einer Datenbank. Es definiert
unter anderem die Relationen, deren Attribute und die Domains der Attribute.
In einigen Datenbanken sind join attributes definiert als Teil des
schema. Ein schema kann auch die Beschreibung einer Relation sein.
- secondary memory ist normalerweise die Harddisk oder
eventuell auch optische Disks.
- Zweite Normalform beschreibt eine Tabelle, in der alle
Attribute vom Primärschlüssel abhängig sind. Für den Fall, daß mit
zusammengesetzten Primärschlüsseln gearbeitet wird (SQL Befehl
INDEX), dann kann ein Attribut von einem Teil des Primärschlüssels
abhängen, jedoch ohne von anderen Teilen abhängig zu sein.
- Sekundärschlüssel (secondary key) ist neben dem
Primärschlüssel ein weitere Schlüssel für eine Relation. Hiermit können auch
Fragen nach anderen Kriterien schnell durchgeführt werden, da die Datenbank
hierfür intern eine weitere ref id="hash" name="HASH-Tabelle"> anlegt.
- Select ist eine Abfrage, in der nur einige Tupel einer
Relation ausgegeben werden.
- SQL = Sequential Query Language
- Stored Procedures stellen eine Art Makro mit
Parameterübergabe dar. Man kann somit neue Befehle erzeugen und diese
entweder automatisch oder durch
Trigger starten
lassen. Es erleichtert die Bedienung für Personen, die sich nur wenig mit
SQL auskennen. Unter MySQL gibt es keine stored
procedures, es ist aber möglich, Scripte auf der Festplatte zu speichern
und diese z.B. Zeitgesteuert ablaufen zu lassen. Siehe Kapitel
Batch Modus. In MySQL kann man aber einfach
eigene Prozeduren in C++ schreiben.
- Tabelle (table) ist in ACCESS ein Synonym für Relation
- Dritte Normalform beschreibt eine Form, bei welcher kein
Attribut von einem Primärschlüssel abhängig ist. Hierzu werden
Abhängigkeiten noch weiter aufgelöst, wobei Tabellen weiter in Untertabellen
zerlegt werden. Oft muß man hierfür mit weiteren, oft numerischen Attributen
arbeiten, um die Abhängigkeiten alle wieder herzustellen. Mathematisch
gesehen entspricht dieses Vorgehen in eine Aufteilung in Untermatritzen,
die Über einenen Vektor miteinander verknüpft sind (Kreuzprodukt).
- Transaktion ist eine Änderung im Datenbestand der Datenbank.
Eine einzige Transaktion vermag direkt oder indirekt über
Foreign Keys Änderungen in mehreren Relationen oder Tabellen
durchführen.
- Transitive Abhängigkeit (tr. dependency) ist dann gegeben,
wenn der Wert eines (nicht-Schlüssel) Attributes abhängig von dem Wert einer
oder mehrerer (nicht-Schlüssel) Attribute ist. Siehe auch
Foreign Key.
-
Trigger starten Prozeduren oder Abläufe
in Abhängigkeit von Zeit, Zellenwert, ..... Bei großen DATA WARE HOUSING
Lösungen werden viele Prozesse über Trigger in Gang gesetzt.
- TupelIn einer Relation wird die Sammlung aller Fakten zu
einer Einheit zusammengefasst. Das bedeutet z.B., daß Name, Adresse,
Postleitzahl...in einer Spalte zusammengefasst werden. In der
Ersten Normalform werden diese Tupel auf
mehrere Rlationen (Tabellen) verteilt.
- two-phase commmit ist eine Strategie, in welcher Eintrage in
die Datenbank oder Änderungen zeitweilig in einer temporären Version der
Datenbank durchgeführt werden. Wird dann festgestellt, daß alle Änderungen
ohne Probleme durchgeführt werden können, werden diese in die echte
Datenbank geschrieben. Unter NOVELL gibt es das sogenannte TTS, welches auf
Datei-Ebene so etwas unterstützt. Bei einem Wechsel auf andere
Betriebssysteme kann dies zu Problemen führen.
-
Universalrelation oder auch Universalschema ist die Darstellung aller Entitäten,
Attribute, u.s.w. ein einer Relation (Tabelle). Diese Darstellung ist
typisch für den ersten Entwurf (Sammlung von Fakten) und die Vorbereitung
für die Normalisierung. Setzt man eine solche Relation tatächlich ein, dann
birt dies die Gefahr, daß bestimmte
Anomalien
auftreten können, die zu logischen Fehlern und Datenverlusten führen können.
- unsafe query ist eine Abfrage, bei der die Ausgabe
möglicherweise unendlich ist. Dies trifft häufig auf
Rekursive Abfragen zu, die
Negation
unterstützen. Diese sollten prinzipiell verboten werden.
- Value ist der interne Wert eines Wertes einer Entity (z.B.
NULL)
- write lock ist eine Sperre, die es dem User, dem die Sperre
zugeteilt wurde, erlaubt, exklusiv in die entsprechenden Datensätze zu schreiben.
Andere User werden solange gesperrt.