/* einfuegen.sql Buch S. 161 - 163 */ INSERT INTO publikation (p_titel, p_untertitel, p_abstract, p_datum, hat_k) VALUES ('Objektorientierte und objektrelationale Datenbanken', 'Ein Kompass für die Praxis', 'Datenbanken sind eine der Basistechnologien im Computing, zunehmend unter Einbeziehung der Objekttechnologie.', '01-08-2000', TRUE ); /* Die Sequenz publikation_p_id_seq erzeugt beim Einfügen in die Tabelle publikation einen neuen Wert für p_id, auf den die INSERT-Kommandos zum Einfügen der Kapitel mit currval ('publikation_p_i d_seq') zugreifen und als Referenz auf die Publikation in die Tabelle schreiben. */ INSERT INTO kapitel (k_titel, k_nr, hat_uk, fk_p_id) VALUES ('Der Weg zur Objektorientierung bei Datenbanksystemen', 1, TRUE, currval('publikation_p_id_seq') ); /* Jetzt folgt ein Eintrag eines Unterkapitels mit der aktuellen k_id. */ INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (1, 'Zum Einsatz von Datenbanksystemen', currval('kapitel_k_id_seq') ); /* Mit der aktuellen ID des Unterkapitels wird der Text eingetragen. */ INSERT INTO ptext (inhalt, k_id, uk_id, fk_p_id) VALUES ('Beim Aufbau und beim Betrieb von Informationssystemen bedient man sich sinnvollerweise sogenannter Datenbanksysteme zum Verarbeiten und Verwalten von Datenbeständen.', currval('kapitel_k_id_seq'), currval('ukapitel_uk_id_seq'), currval('publikation_p_id_seq') ); /* Es folgt das nächste Unterkapitel und der Text dazu. */ INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (2, 'Was sind Objekte', currval('kapitel_k_id_seq') ); INSERT INTO ptext (inhalt, k_id, uk_id, fk_p_id) VALUES ('Objekte sind Grundbausteine, aus welchen objektorientierte Anwendungssysteme aufgebaut sind. Jedes Objekt ist eine eigenständige Einheit, die über Daten \(Attributwerte des Objekts\) und Verhalten \(Methoden oder Operationen des Objekts\) verfügt.', currval('kapitel_k_id_seq'), currval('ukapitel_uk_id_seq'), currval('publikation_p_id_seq') ); /* Weiter geht es mit dem nächsten Kapitel und seinen Inhalten. */ INSERT INTO kapitel (k_titel, k_nr, hat_uk, fk_p_id) VALUES ('Objektorientierte Modellierung', '1', TRUE, currval('publikation_p_id_seq') ); INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (1, 'Elemente des Objektmodells', currval('kapitel_k_id_seq') ); /* Nachdem die Kapitel und Unterkapitel eingetragen sind, werden die Daten des ersten Autors in die Tabelle member eingetragen. Dadurch wird eine neue memberID generiert, die zum Eintrag dieses Autors in die Tabelle autor benötigt wird. */ INSERT INTO member(m_vorname, m_name, m_email) VALUES('Andreas', 'Meier','n.a'); INSERT INTO autor (fk_p_id,fk_m_id) VALUES ( currval('publikation_p_id_seq'), currval('member_m_id_seq') ); /* Dasselbe geschieht für den zweiten Autor. */ INSERT INTO member(m_vorname, m_name, m_email) VALUES('Thomas', 'Wüst', 'n.a'); INSERT INTO autor (fk_p_id,fk_m_id) VALUES (currval('publikation_p_id_seq'), currval('member_m_id_seq') ); /* Nun folgen noch etwaige neue Einträge im Katalog sowie die Einträge in der Tabelle pub_katalog, in der die Publikationen den Themenbereichen zugeordnet werden. */ insert into t_katalog (t_bereich, t_inhalt) values ('Informatik', 'Beschreibung zum Thema Informatik'); insert into t_katalog (t_bereich, t_inhalt) values ('Datenbanken', 'Beschreibung zum Thema Datenbanken'); insert into t_katalog (t_bereich, t_inhalt) values ('OOP', 'Beschreibung zum Thema OOP'); INSERT INTO pub_katalog (fk_p_id, fk_t_bereich) VALUES (currval('publikation_p_id_seq'), 'Informatik'); INSERT INTO pub_katalog (fk_p_id, fk_t_bereich) VALUES (currval('publikation_p_id_seq'), 'Datenbanken'); INSERT INTO pub_katalog (fk_p_id, fk_t_bereich) VALUES (currval('publikation_p_id_seq'), 'OOP'); /* Ende der Datei einfuegen.sql */