|  |  |   Übungen mit Foreign Keys mit InnoDB Tabellen in MysqlFolgende Tabellen werden für die Übungen benötigt: 
 
 # Tabellenstruktur für Tabelle `autor`
 
 CREATE TABLE `autor` (
 `id` int(10)  NOT NULL ,
 `name` varchar(128) NOT NULL default '',
 PRIMARY KEY  (`id`),
 KEY `NAME` (`name`)
 ) TYPE=InnoDB;
 
 # Tabellenstruktur für Tabelle `buch`
 
 CREATE TABLE `buch` (
 `id` int(10)  NOT NULL,
 `autor_id` int(10)  NOT NULL ,
 `titel` varchar(128) NOT NULL default '',
 PRIMARY KEY  (`id`),
 KEY `TITEL` (`titel`),
 INDEX idx_autor_id (autor_id),
 FOREIGN KEY (autor_id) REFERENCES autor(id)
 ON DELETE CASCADE
 ) TYPE=InnoDB
 ;
 
 
 CREATE TABLE `buch2` (
 `id` int(10)  NOT NULL,
 `autor_id` int(10)  ,
 `titel` varchar(128) NOT NULL default '',
 PRIMARY KEY  (`id`),
 KEY `TITEL` (`titel`),
 INDEX idx_autor_id (autor_id),
 FOREIGN KEY (autor_id) REFERENCES autor(id)
 ON DELETE SET NULL
 ) TYPE=InnoDB
 ;
 
 CREATE TABLE `buch3` (
 `id` int(10)  NOT NULL,
 `autor_id` int(10)  NOT NULL,
 `titel` varchar(128) NOT NULL default '',
 PRIMARY KEY  (`id`),
 KEY `TITEL` (`titel`),
 INDEX idx_autor_id (autor_id),
 FOREIGN KEY (autor_id) REFERENCES autor(id)
 ON DELETE RESTRICT
 ) TYPE=InnoDB
 ;
 
 # Daten
 
 INSERT INTO `autor` VALUES (1002, 'Friedrich Schiller');
 INSERT INTO `autor` VALUES (1000, 'Heinrich Heine');
 INSERT INTO `autor` VALUES (1001, 'Hermann Hesse');
 INSERT INTO `autor` VALUES (1003, 'Martin Walser');
 
 
 INSERT INTO `buch` VALUES ('10001', '1001','Vom Winde verweht');
 INSERT INTO `buch` VALUES ('10002', '1002','Das Leben ist schön');
 INSERT INTO `buch` VALUES ('10003', '1002','Der Held der DB');
 INSERT INTO `buch` VALUES ('10004', '1003','Nie wieder SQL');
 
Analyse der Unterschiede
 
Beim Löschen von Autoren in den verschiedenen Tabellen: 
Modifizieren der Tabellen 
Foreign Key mit Update Definitionen versehen:
 
    ON UPDATE CASCADEON UPDATE SET NULLON UPDATE NO ACTIONON UPDATE RESTRICT 
Das Verhalten beim Werte einfügen 
 
    Weitere Werte einfügenUpdate auf bestehende Werte (Buch & Autor!) 
Weitere Tabelle mit FK anlegen 
 
    Tabelle Verlag anlegen (mit FK im Create)Tabelle Auflage anlegen   (FK mit ALTER )   |  |