Databases Reference
In-Depth Information
programmen gibt es unzählige Möglichkeiten. Die ganze Welt der Client-Server-
Entwicklungswerkzeuge steht hier parat. Datenbankhersteller bieten teilweise
selbst Programmiersprachen oder Programmgeneratoren an (ORACLE*FORMS,
JDeveloper, Centura SQL-Windows, Microsoft Visual Basic etc.), die wiederum
teilweise nur mit den eigenen, teilweise auch mit fremden Datenbankmaschinen
zusammenarbeiten können. Irgendwo werden aber alle diese Werkzeuge die vom
Benutzer im Bildschirmdialog erfassten Daten mit der Anweisung INSERT INTO in
die Datenbank übertragen, auch wenn der Anwender davon nichts sieht.
Eine Variante der INSERT-Anweisung erlaubt das Übertragen von Daten aus einer
oder mehreren Tabellen, die als Abfrage 1 formuliert sind. Sie folgt der Syntax:
INSERT INTO tabelle [(spaltenliste)]
abfrage
Diese Form wird beispielsweise benötigt, um Kopien (»Snapshots«) von Tabellen
zu erzeugen. Auch bei der Datenübernahme aus anderen Systemen spielt diese
Form des Einfügens eine Rolle. Es kann zweckmäßig sein, beispielsweise erst ein-
mal alle Daten in eine unnormalisierte, temporäre Tabelle zu übernehmen und aus
dieser dann per Abfrage auf die normalisierten Tabellen zu verteilen.
Effekte der Integritätsbedingungen
Wegen der PRIMARY KEY-Klausel bei der Datendefinition wird die nochmalige
Eingabe eines bereits definierten Primärschlüsselwerts durch das DBMS verhin-
dert. Beispiel: 2
INSERT INTO kunde (kunden_nr,status,name,strasse,plz,ort)
VALUES (102,'S','Testkunde','Testweg','22222','Testdorf');
Das Datenbanksystem erzeugt dann eine Fehlermeldung, z. B. » primary key for table
KUNDE is not unique « oder auf Deutsch » Eindeutigkeit des Primärschlüssels verletzt «.
Der Versuch, eine Bestellung mit ungültiger Kundennummer zu erfassen, wie in
INSERT INTO bestellung (bestell_nr, kunden_nr, bestelldatum)
VALUES (399,577,DATE'2000-03-13');
wird ebenfalls zurückgewiesen und vom DBMS mit etwa folgender Meldung quit-
tiert: » no primary key value for foreign key 'fk1_bestellung' in table 'BESTELLUNG' «
oder so ähnlich wie: » kein Primärschlüsselwert in 'BESTELLUNG' passend zu Fremd-
schlüssel 'fk1_bestellung' «.
1
Wir gehen auf die Datenabfrage in den Abschnitten ab 4.5 ausführlich ein.
2
Die in den Befehlen eingesetzten Werte beziehen sich auf unsere Beispieltabellen, die im An-
hang wiedergegeben sind. Es wird dazu geraten, diese Beispieltabellen für die eigenen Übun-
gen zu verwenden, da so unmittelbar ein Vergleich der eigenen Ergebnisse mit den in diesem
Buch dargestellten Lösungen möglich ist.
 
Search WWH ::




Custom Search